@uxf/datepicker 1.2.0 → 10.0.0-beta.35
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 +1 -1
- package/contexts/date-picker-context.js +18 -19
- package/contexts/date-range-picker-context.d.ts +1 -1
- package/contexts/date-range-picker-context.js +21 -21
- package/contexts/time-picker-context.d.ts +1 -1
- package/contexts/time-picker-context.js +9 -10
- package/hooks/use-date-picker-navigation.js +32 -36
- package/hooks/use-date-picker-navigation.test.js +37 -46
- package/hooks/use-date-picker.d.ts +1 -1
- package/hooks/use-date-picker.js +66 -86
- package/hooks/use-date-picker.test.js +25 -32
- package/hooks/use-date-range-picker.d.ts +2 -1
- package/hooks/use-date-range-picker.js +94 -112
- package/hooks/use-date-range-picker.test.js +39 -50
- package/hooks/use-day.d.ts +3 -1
- package/hooks/use-day.js +13 -14
- package/hooks/use-day.test.js +44 -44
- package/hooks/use-decade.js +11 -15
- package/hooks/use-decade.test.js +13 -18
- package/hooks/use-hour.js +6 -8
- package/hooks/use-hour.test.js +26 -31
- package/hooks/use-hours.d.ts +1 -1
- package/hooks/use-hours.js +7 -11
- package/hooks/use-hours.test.js +8 -11
- package/hooks/use-minute.js +6 -8
- package/hooks/use-minute.test.js +26 -31
- package/hooks/use-minutes.d.ts +1 -1
- package/hooks/use-minutes.js +7 -11
- package/hooks/use-minutes.test.js +8 -11
- package/hooks/use-month.js +12 -14
- package/hooks/use-month.test.js +17 -22
- package/hooks/use-time-picker.d.ts +2 -2
- package/hooks/use-time-picker.js +43 -61
- package/hooks/use-time-picker.test.js +31 -40
- package/hooks/use-year.js +8 -10
- package/hooks/use-year.test.js +13 -18
- package/package.json +5 -21
- package/utils/can-select-range.js +9 -11
- package/utils/can-select-range.test.js +10 -11
- package/utils/dayjs-en.js +8 -5
- package/utils/get-current-year-month-and-date.js +2 -3
- package/utils/get-current-year-month-and-date.test.js +4 -5
- package/utils/get-date-month-and-year.js +6 -7
- package/utils/get-date-month-and-year.test.js +2 -3
- package/utils/get-days.d.ts +1 -1
- package/utils/get-days.js +20 -47
- package/utils/get-days.test.js +6 -7
- package/utils/get-each.js +3 -5
- package/utils/get-each.test.js +6 -7
- package/utils/get-initial-months.js +7 -8
- package/utils/get-initial-months.test.js +5 -6
- package/utils/get-months.d.ts +1 -1
- package/utils/get-months.js +8 -10
- package/utils/get-months.test.js +5 -6
- package/utils/get-next-active-month.js +5 -6
- package/utils/get-next-active-month.test.js +8 -9
- package/utils/get-weekday-labels.js +6 -8
- package/utils/get-weekday-labels.test.js +8 -9
- package/utils/get-years.d.ts +1 -1
- package/utils/get-years.js +5 -7
- package/utils/get-years.test.js +5 -6
- package/utils/is-browser.js +0 -1
- package/utils/is-date-blocked.js +5 -7
- package/utils/is-date-blocked.test.js +3 -4
- package/utils/is-date-hovered.js +6 -8
- package/utils/is-date-hovered.test.js +9 -10
- package/utils/is-date-inside-range.d.ts +1 -0
- package/utils/is-date-inside-range.js +11 -0
- package/utils/is-date-selected.test.js +10 -11
- package/utils/is-end-date.js +1 -2
- package/utils/is-end-date.test.js +2 -3
- package/utils/is-first-or-last-selected-date.js +1 -2
- package/utils/is-first-or-last-selected-date.test.js +2 -3
- package/utils/is-in-unavailable-dates.js +3 -5
- package/utils/is-in-unavailable-dates.test.js +2 -3
- package/utils/is-start-date.js +1 -2
- package/utils/is-start-date.test.js +2 -3
- package/utils/types.d.ts +1 -1
- package/utils/types.js +0 -1
- package/utils/is-date-selected.d.ts +0 -1
- package/utils/is-date-selected.js +0 -12
package/hooks/use-day.test.js
CHANGED
|
@@ -3,58 +3,58 @@ 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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
beforeAll(
|
|
12
|
-
jest.useFakeTimers(
|
|
6
|
+
const react_hooks_1 = require("@testing-library/react-hooks");
|
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const use_day_1 = require("./use-day");
|
|
10
|
+
const e = { preventDefault: () => undefined, key: undefined };
|
|
11
|
+
beforeAll(() => {
|
|
12
|
+
jest.useFakeTimers();
|
|
13
13
|
jest.setSystemTime(new Date("2021-09-06"));
|
|
14
14
|
});
|
|
15
|
-
test("useDay",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}).result;
|
|
15
|
+
test("useDay", () => {
|
|
16
|
+
const { result } = (0, react_hooks_1.renderHook)(() => (0, use_day_1.useDay)({
|
|
17
|
+
date: new Date("2021-09-05"),
|
|
18
|
+
isDateBlocked: () => false,
|
|
19
|
+
focusedDate: null,
|
|
20
|
+
onDateFocus: () => undefined,
|
|
21
|
+
isDateFocused: () => false,
|
|
22
|
+
isDateHovered: () => false,
|
|
23
|
+
isDateSelected: () => false,
|
|
24
|
+
isDateInsideRange: () => false,
|
|
25
|
+
onDateHover: () => undefined,
|
|
26
|
+
onDateSelect: () => undefined,
|
|
27
|
+
}));
|
|
29
28
|
expect(result.current.tabIndex).toBe(0);
|
|
30
29
|
expect(result.current.disabledDate).toBe(false);
|
|
31
30
|
expect(result.current.isHovered).toBe(false);
|
|
32
31
|
expect(result.current.isToday).toBe(false);
|
|
33
32
|
expect(result.current.isSelected).toBe(false);
|
|
33
|
+
expect(result.current.isInsideRange).toBe(false);
|
|
34
34
|
expect(result.current.isWithinHoverRange).toBe(false);
|
|
35
35
|
});
|
|
36
|
-
test("actions",
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
})
|
|
36
|
+
test("actions", () => {
|
|
37
|
+
let hoveredDate = null;
|
|
38
|
+
let selectedDate = null;
|
|
39
|
+
let focusedDate = null;
|
|
40
|
+
const insideRangeDate = null;
|
|
41
|
+
const { result: ref } = (0, react_hooks_1.renderHook)(() => (0, react_1.useRef)(null));
|
|
42
|
+
const { result, rerender } = (0, react_hooks_1.renderHook)(() => (0, use_day_1.useDay)({
|
|
43
|
+
date: new Date("2021-09-05"),
|
|
44
|
+
isDateBlocked: () => false,
|
|
45
|
+
focusedDate: null,
|
|
46
|
+
onDateFocus: (date) => (focusedDate = date),
|
|
47
|
+
isDateFocused: (date) => (0, dayjs_1.default)(date).isSame(focusedDate, "day"),
|
|
48
|
+
isDateHovered: (date) => (0, dayjs_1.default)(date).isSame(hoveredDate, "day"),
|
|
49
|
+
isDateSelected: (date) => (0, dayjs_1.default)(date).isSame(selectedDate, "day"),
|
|
50
|
+
isDateInsideRange: (date) => (0, dayjs_1.default)(date).isSame(insideRangeDate, "day"),
|
|
51
|
+
onDateHover: (date) => (hoveredDate = date),
|
|
52
|
+
onDateSelect: (date) => (selectedDate = date),
|
|
53
|
+
dayRef: ref.current,
|
|
54
|
+
}));
|
|
55
55
|
// hover
|
|
56
56
|
expect(result.current.isHovered).toBe(false);
|
|
57
|
-
(0, react_hooks_1.act)(
|
|
57
|
+
(0, react_hooks_1.act)(() => {
|
|
58
58
|
result.current.onMouseEnter();
|
|
59
59
|
rerender();
|
|
60
60
|
});
|
|
@@ -62,15 +62,16 @@ test("actions", function () {
|
|
|
62
62
|
expect(result.current.tabIndex).toBe(0);
|
|
63
63
|
// select
|
|
64
64
|
expect(result.current.isSelected).toBe(false);
|
|
65
|
-
(0, react_hooks_1.act)(
|
|
65
|
+
(0, react_hooks_1.act)(() => {
|
|
66
66
|
if (result.current.onClick) {
|
|
67
67
|
result.current.onClick();
|
|
68
68
|
}
|
|
69
69
|
rerender();
|
|
70
70
|
});
|
|
71
71
|
expect(result.current.isSelected).toBe(true);
|
|
72
|
+
expect(result.current.isInsideRange).toBe(false);
|
|
72
73
|
// keyDown
|
|
73
|
-
(0, react_hooks_1.act)(
|
|
74
|
+
(0, react_hooks_1.act)(() => {
|
|
74
75
|
e.key = "ArrowRight";
|
|
75
76
|
result.current.onKeyDown(e);
|
|
76
77
|
e.key = "ArrowLeft";
|
|
@@ -85,4 +86,3 @@ test("actions", function () {
|
|
|
85
86
|
});
|
|
86
87
|
expect(result.current.isHovered).toBe(true);
|
|
87
88
|
});
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRheS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZS1kYXkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUErRDtBQUMvRCxnREFBMEI7QUFDMUIsK0JBQThDO0FBQzlDLHFDQUFtQztBQUVuQyxJQUFNLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUEyQyxDQUFDO0FBRXZHLFNBQVMsQ0FBQztJQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUNILElBQUEsTUFBTSxHQUFLLElBQUEsd0JBQVUsRUFBQztRQUMxQixPQUFBLElBQUEsZ0JBQU0sRUFBQztZQUNILElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDNUIsYUFBYSxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztZQUMxQixXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO1lBQzVCLGFBQWEsRUFBRSxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUs7WUFDMUIsYUFBYSxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztZQUMxQixjQUFjLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO1lBQzNCLFdBQVcsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7WUFDNUIsWUFBWSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztTQUNoQyxDQUFDO0lBVkYsQ0FVRSxDQUNMLE9BWmEsQ0FZWjtJQUVGLE1BQU0sQ0FBQyxNQUFN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
|
package/hooks/use-decade.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useDecade = exports.decadeLabelFormatFn = exports.yearLabelFormatFn = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const get_years_1 = require("../utils/get-years");
|
|
6
|
+
const dayjs_en_1 = require("../utils/dayjs-en");
|
|
7
|
+
const yearLabelFormatFn = (date) => (0, dayjs_en_1.dayjsEn)(date).format("YYYY");
|
|
8
8
|
exports.yearLabelFormatFn = yearLabelFormatFn;
|
|
9
|
-
|
|
10
|
-
return "".concat((0, dayjs_en_1.dayjsEn)(start).format("YYYY"), " \u2013 ").concat((0, dayjs_en_1.dayjsEn)(end).format("YYYY"));
|
|
11
|
-
};
|
|
9
|
+
const decadeLabelFormatFn = (start, end) => `${(0, dayjs_en_1.dayjsEn)(start).format("YYYY")} \u2013 ${(0, dayjs_en_1.dayjsEn)(end).format("YYYY")}`;
|
|
12
10
|
exports.decadeLabelFormatFn = decadeLabelFormatFn;
|
|
13
|
-
function useDecade(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var years = (0, react_1.useMemo)(function () { return (0, get_years_1.getYears)({ startYear: startYear, endYear: endYear, yearLabelFormat: yearLabelFormat }); }, [endYear, startYear, yearLabelFormat]);
|
|
11
|
+
function useDecade({ yearLabelFormat = exports.yearLabelFormatFn, decadeLabelFormat = exports.decadeLabelFormatFn, year, }) {
|
|
12
|
+
const currentYear = new Date(year, 0);
|
|
13
|
+
const startYear = (0, dayjs_en_1.dayjsEn)(currentYear).subtract(4, "years").startOf("year").toDate();
|
|
14
|
+
const endYear = (0, dayjs_en_1.dayjsEn)(currentYear).add(4, "years").endOf("year").toDate();
|
|
15
|
+
const years = (0, react_1.useMemo)(() => (0, get_years_1.getYears)({ startYear, endYear, yearLabelFormat }), [endYear, startYear, yearLabelFormat]);
|
|
19
16
|
return {
|
|
20
|
-
years
|
|
17
|
+
years,
|
|
21
18
|
decadeLabel: decadeLabelFormat(startYear, endYear),
|
|
22
19
|
};
|
|
23
20
|
}
|
|
24
21
|
exports.useDecade = useDecade;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRlY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2UtZGVjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFnQztBQUNoQyxnREFBNEQ7QUFDNUQsOENBQTRDO0FBRXJDLElBQU0saUJBQWlCLEdBQUcsVUFBQyxJQUFVLElBQUssT0FBQSxJQUFBLGtCQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUE1QixDQUE0QixDQUFDO0FBQWpFLFFBQUEsaUJBQWlCLHFCQUFnRDtBQUN2RSxJQUFNLG1CQUFtQixHQUFHLFVBQUMsS0FBVyxFQUFFLEdBQVM7SUFDdEQsT0FBQSxVQUFHLElBQUEsa0JBQU8sRUFBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFXLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUU7QUFBeEUsQ0FBd0UsQ0FBQztBQURoRSxRQUFBLG1CQUFtQix1QkFDNkM7QUFhN0UsU0FBZ0IsU0FBUyxDQUFDLEVBSVQ7UUFIYix1QkFBbUMsRUFBbkMsZUFBZSxtQkFBRyx5QkFBaUIsS0FBQSxFQUNuQyx5QkFBdUMsRUFBdkMsaUJBQWlCLG1CQUFHLDJCQUFtQixLQUFBLEVBQ3ZDLElBQUksVUFBQTtJQUVKLElBQU0sV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxJQUFNLFNBQVMsR0FBRyxJQUFBLGtCQUFPLEVBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckYsSUFBTSxPQUFPLEdBQUcsSUFBQSxrQkFBTyxFQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVFLElBQU0sS0FBSyxHQUFHLElBQUEsZUFBTyxFQUNqQixjQUFNLE9BQUEsSUFBQSxvQkFBUSxFQUFDLEVBQUUsU0FBUyxXQUFBLEVBQUUsT0FBTyxTQUFBLEVBQUUsZUFBZSxpQkFBQSxFQUFFLENBQUMsRUFBakQsQ0FBaUQsRUFDdkQsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUN4QyxDQUFDO0lBRUYsT0FBTztRQUNILEtBQUssT0FBQTtRQUNMLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO0tBQ3JELENBQUM7QUFDTixDQUFDO0FBakJELDhCQWlCQyJ9
|
package/hooks/use-decade.test.js
CHANGED
|
@@ -3,15 +3,13 @@ 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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
test("useDecade",
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
});
|
|
14
|
-
}).result;
|
|
6
|
+
const react_hooks_1 = require("@testing-library/react-hooks");
|
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
+
const use_decade_1 = require("./use-decade");
|
|
9
|
+
test("useDecade", () => {
|
|
10
|
+
const { result } = (0, react_hooks_1.renderHook)(() => (0, use_decade_1.useDecade)({
|
|
11
|
+
year: 2021,
|
|
12
|
+
}));
|
|
15
13
|
expect(result.current.decadeLabel).toBe("2017 – 2025");
|
|
16
14
|
expect(result.current.years).toStrictEqual([
|
|
17
15
|
{ date: new Date("2017-01-01"), yearLabel: "2017" },
|
|
@@ -25,14 +23,12 @@ test("useDecade", function () {
|
|
|
25
23
|
{ date: new Date("2025-01-01"), yearLabel: "2025" },
|
|
26
24
|
]);
|
|
27
25
|
});
|
|
28
|
-
test("useDecade with custom formats",
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
}).result;
|
|
26
|
+
test("useDecade with custom formats", () => {
|
|
27
|
+
const { result } = (0, react_hooks_1.renderHook)(() => (0, use_decade_1.useDecade)({
|
|
28
|
+
year: 2021,
|
|
29
|
+
decadeLabelFormat: (start, end) => `${(0, dayjs_1.default)(start).format("YY")} - ${(0, dayjs_1.default)(end).format("YY")}`,
|
|
30
|
+
yearLabelFormat: (date) => (0, dayjs_1.default)(date).format("YY"),
|
|
31
|
+
}));
|
|
36
32
|
expect(result.current.decadeLabel).toBe("17 - 25");
|
|
37
33
|
expect(result.current.years).toStrictEqual([
|
|
38
34
|
{ date: new Date("2017-01-01"), yearLabel: "17" },
|
|
@@ -46,4 +42,3 @@ test("useDecade with custom formats", function () {
|
|
|
46
42
|
{ date: new Date("2025-01-01"), yearLabel: "25" },
|
|
47
43
|
]);
|
|
48
44
|
});
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRlY2FkZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZS1kZWNhZGUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUEwRDtBQUMxRCxnREFBMEI7QUFDMUIsMkNBQXlDO0FBRXpDLElBQUksQ0FBQyxXQUFXLEVBQUU7SUFDTixJQUFBLE1BQU0sR0FBSyxJQUFBLHdCQUFVLEVBQUM7UUFDMUIsT0FBQSxJQUFBLHNCQUFTLEVBQUM7WUFDTixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFGRixDQUVFLENBQ0wsT0FKYSxDQUlaO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUN2QyxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ25ELEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7UUFDbkQsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtRQUNuRCxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ25ELEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7UUFDbkQsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtRQUNuRCxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1FBQ25ELEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7UUFDbkQsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtLQUN0RCxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQywrQkFBK0IsRUFBRTtJQUMxQixJQUFBLE1BQU0sR0FBSyxJQUFBLHdCQUFVLEVBQUM7UUFDMUIsT0FBQSxJQUFBLHNCQUFTLEVBQUM7WUFDTixJQUFJLEVBQUUsSUFBSTtZQUNWLGlCQUFpQixFQUFFLFVBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSyxPQUFBLFVBQUcsSUFBQSxlQUFLLEVBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBTSxJQUFBLGVBQUssRUFBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUUsRUFBM0QsQ0FBMkQ7WUFDOUYsZUFBZSxFQUFFLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBQSxlQUFLLEVBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUF4QixDQUF3QjtTQUNwRCxDQUFDO0lBSkYsQ0FJRSxDQUNMLE9BTmEsQ0FNWjtJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDdkMsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtRQUNqRCxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO1FBQ2pELEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7UUFDakQsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtRQUNqRCxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO1FBQ2pELEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7UUFDakQsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtRQUNqRCxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO1FBQ2pELEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7S0FDcEQsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMifQ==
|
package/hooks/use-hour.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useHour = void 0;
|
|
4
|
-
|
|
5
|
-
function useHour(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(0, react_1.useEffect)(function () {
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useHour({ hour, hourRef, focusedHour, isHourFocused, isHourSelected, onHourFocus, onHourSelect, }) {
|
|
6
|
+
const onClick = (0, react_1.useCallback)(() => onHourSelect(hour), [hour, onHourSelect]);
|
|
7
|
+
(0, react_1.useEffect)(() => {
|
|
9
8
|
if (hourRef && hourRef.current && isHourFocused(hour)) {
|
|
10
9
|
hourRef.current.focus();
|
|
11
10
|
}
|
|
12
11
|
}, [hourRef, hour, isHourFocused]);
|
|
13
|
-
|
|
12
|
+
const onKeyDown = (0, react_1.useCallback)((e) => {
|
|
14
13
|
if (["ArrowRight", "ArrowLeft", "ArrowUp", "ArrowDown"].includes(e.key)) {
|
|
15
14
|
e.preventDefault();
|
|
16
15
|
switch (e.key) {
|
|
@@ -32,9 +31,8 @@ function useHour(_a) {
|
|
|
32
31
|
return {
|
|
33
32
|
isSelected: isHourSelected(hour),
|
|
34
33
|
onClick: onClick,
|
|
35
|
-
onKeyDown
|
|
34
|
+
onKeyDown,
|
|
36
35
|
tabIndex: focusedHour === null || isHourFocused(hour) ? 0 : -1,
|
|
37
36
|
};
|
|
38
37
|
}
|
|
39
38
|
exports.useHour = useHour;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWhvdXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlLWhvdXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQXlFO0FBbUJ6RSxTQUFnQixPQUFPLENBQUMsRUFRVDtRQVBYLElBQUksVUFBQSxFQUNKLE9BQU8sYUFBQSxFQUNQLFdBQVcsaUJBQUEsRUFDWCxhQUFhLG1CQUFBLEVBQ2IsY0FBYyxvQkFBQSxFQUNkLFdBQVcsaUJBQUEsRUFDWCxZQUFZLGtCQUFBO0lBRVosSUFBTSxPQUFPLEdBQUcsSUFBQSxtQkFBVyxFQUFDLGNBQU0sT0FBQSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQWxCLENBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUU1RSxJQUFBLGlCQUFTLEVBQUM7UUFDTixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBRW5DLElBQU0sU0FBUyxHQUFHLElBQUEsbUJBQVcsRUFDekIsVUFBQyxDQUE2QjtRQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFO2dCQUNYLEtBQUssWUFBWTtvQkFDYixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN0QixNQUFNO2dCQUNWLEtBQUssV0FBVztvQkFDWixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN0QixNQUFNO2dCQUNWLEtBQUssU0FBUztvQkFDVixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN0QixNQUFNO2dCQUNWLEtBQUssV0FBVztvQkFDWixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN0QixNQUFNO2FBQ2I7U0FDSjtJQUNMLENBQUMsRUFDRCxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FDdEIsQ0FBQztJQUVGLE9BQU87UUFDSCxVQUFVLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNoQyxPQUFPLEVBQUUsT0FBTztRQUNoQixTQUFTLFdBQUE7UUFDVCxRQUFRLEVBQUUsV0FBVyxLQUFLLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pFLENBQUM7QUFDTixDQUFDO0FBOUNELDBCQThDQyJ9
|
package/hooks/use-hour.test.js
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
test("useHour",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
16
|
-
}).result;
|
|
3
|
+
const react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const use_hour_1 = require("./use-hour");
|
|
6
|
+
test("useHour", () => {
|
|
7
|
+
const { result } = (0, react_hooks_1.renderHook)(() => (0, use_hour_1.useHour)({
|
|
8
|
+
hour: 5,
|
|
9
|
+
focusedHour: null,
|
|
10
|
+
isHourFocused: () => false,
|
|
11
|
+
isHourSelected: () => false,
|
|
12
|
+
onHourFocus: () => undefined,
|
|
13
|
+
onHourSelect: () => undefined,
|
|
14
|
+
}));
|
|
17
15
|
expect(result.current.tabIndex).toBe(0);
|
|
18
16
|
expect(result.current.isSelected).toBe(false);
|
|
19
17
|
});
|
|
20
|
-
test("actions",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
}), result = _a.result, rerender = _a.rerender;
|
|
18
|
+
test("actions", () => {
|
|
19
|
+
let selectedHour = null;
|
|
20
|
+
let focusedHour = null;
|
|
21
|
+
const { result: ref } = (0, react_hooks_1.renderHook)(() => (0, react_1.useRef)(null));
|
|
22
|
+
const { result, rerender } = (0, react_hooks_1.renderHook)(() => (0, use_hour_1.useHour)({
|
|
23
|
+
hour: 30,
|
|
24
|
+
focusedHour: null,
|
|
25
|
+
isHourFocused: (hour) => focusedHour === hour,
|
|
26
|
+
isHourSelected: (hour) => selectedHour === hour,
|
|
27
|
+
onHourFocus: (hour) => (focusedHour = hour),
|
|
28
|
+
onHourSelect: (hour) => (selectedHour = hour),
|
|
29
|
+
hourRef: ref.current,
|
|
30
|
+
}));
|
|
35
31
|
expect(result.current.tabIndex).toBe(0);
|
|
36
32
|
// select
|
|
37
33
|
expect(result.current.isSelected).toBe(false);
|
|
38
|
-
(0, react_hooks_1.act)(
|
|
34
|
+
(0, react_hooks_1.act)(() => {
|
|
39
35
|
if (result.current.onClick) {
|
|
40
36
|
result.current.onClick();
|
|
41
37
|
}
|
|
@@ -43,4 +39,3 @@ test("actions", function () {
|
|
|
43
39
|
});
|
|
44
40
|
expect(result.current.isSelected).toBe(true);
|
|
45
41
|
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWhvdXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2UtaG91ci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNERBQStEO0FBQy9ELCtCQUErQjtBQUMvQix1Q0FBcUM7QUFFckMsSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUNKLElBQUEsTUFBTSxHQUFLLElBQUEsd0JBQVUsRUFBQztRQUMxQixPQUFBLElBQUEsa0JBQU8sRUFBQztZQUNKLElBQUksRUFBRSxDQUFDO1lBQ1AsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztZQUMxQixjQUFjLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO1lBQzNCLFdBQVcsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7WUFDNUIsWUFBWSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztTQUNoQyxDQUFDO0lBUEYsQ0FPRSxDQUNMLE9BVGEsQ0FTWjtJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQ1osSUFBSSxZQUFZLEdBQWtCLElBQUksQ0FBQztJQUN2QyxJQUFJLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBRTlCLElBQVEsR0FBRyxHQUFLLElBQUEsd0JBQVUsRUFBQyxjQUFNLE9BQUEsSUFBQSxjQUFNLEVBQWMsSUFBSSxDQUFDLEVBQXpCLENBQXlCLENBQUMsT0FBaEQsQ0FBaUQ7SUFFOUQsSUFBQSxLQUF1QixJQUFBLHdCQUFVLEVBQUM7UUFDcEMsT0FBQSxJQUFBLGtCQUFPLEVBQUM7WUFDSixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLFdBQVcsS0FBSyxJQUFJLEVBQXBCLENBQW9CO1lBQzNDLGNBQWMsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLFlBQVksS0FBSyxJQUFJLEVBQXJCLENBQXFCO1lBQzdDLFdBQVcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFwQixDQUFvQjtZQUN6QyxZQUFZLEVBQUUsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBckIsQ0FBcUI7WUFDM0MsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1NBQ3ZCLENBQUM7SUFSRixDQVFFLENBQ0wsRUFWTyxNQUFNLFlBQUEsRUFBRSxRQUFRLGNBVXZCLENBQUM7SUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEMsU0FBUztJQUNULE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFBLGlCQUFHLEVBQUM7UUFDQSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDNUI7UUFDRCxRQUFRLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQyxDQUFDIn0=
|
package/hooks/use-hours.d.ts
CHANGED
package/hooks/use-hours.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useHours = exports.labelFormatFn = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const labelFormatFn = (hour) => hour.toString().padStart(2, "0");
|
|
6
6
|
exports.labelFormatFn = labelFormatFn;
|
|
7
|
-
function useHours(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
.fill(0)
|
|
12
|
-
.map(function (_, i) { return ({ value: i, label: labelFormat(i) }); });
|
|
13
|
-
}, [labelFormat]);
|
|
7
|
+
function useHours({ labelFormat = exports.labelFormatFn }) {
|
|
8
|
+
const hours = (0, react_1.useMemo)(() => Array(24)
|
|
9
|
+
.fill(0)
|
|
10
|
+
.map((_, i) => ({ value: i, label: labelFormat(i) })), [labelFormat]);
|
|
14
11
|
return {
|
|
15
|
-
hours
|
|
12
|
+
hours,
|
|
16
13
|
};
|
|
17
14
|
}
|
|
18
15
|
exports.useHours = useHours;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWhvdXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZS1ob3Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBZ0M7QUFFekIsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFZLElBQUssT0FBQSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBaEMsQ0FBZ0MsQ0FBQztBQUFuRSxRQUFBLGFBQWEsaUJBQXNEO0FBZWhGLFNBQWdCLFFBQVEsQ0FBQyxFQUE4QztRQUE1QyxtQkFBMkIsRUFBM0IsV0FBVyxtQkFBRyxxQkFBYSxLQUFBO0lBQ2xELElBQU0sS0FBSyxHQUFHLElBQUEsZUFBTyxFQUNqQjtRQUNJLE9BQUEsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNKLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDUCxHQUFHLENBQUMsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQXJDLENBQXFDLENBQUM7SUFGekQsQ0FFeUQsRUFDN0QsQ0FBQyxXQUFXLENBQUMsQ0FDaEIsQ0FBQztJQUVGLE9BQU87UUFDSCxLQUFLLE9BQUE7S0FDUixDQUFDO0FBQ04sQ0FBQztBQVpELDRCQVlDIn0=
|
package/hooks/use-hours.test.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
test("useHours",
|
|
6
|
-
|
|
3
|
+
const react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
const use_hours_1 = require("./use-hours");
|
|
5
|
+
test("useHours", () => {
|
|
6
|
+
const { result } = (0, react_hooks_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 },
|
|
@@ -31,12 +31,10 @@ test("useHours", function () {
|
|
|
31
31
|
{ label: "23", value: 23 },
|
|
32
32
|
]);
|
|
33
33
|
});
|
|
34
|
-
test("useMinutes with custom format",
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
39
|
-
}).result;
|
|
34
|
+
test("useMinutes with custom format", () => {
|
|
35
|
+
const { result } = (0, react_hooks_1.renderHook)(() => (0, use_hours_1.useHours)({
|
|
36
|
+
labelFormat: (hour) => "--" + hour + "--",
|
|
37
|
+
}));
|
|
40
38
|
expect(result.current.hours).toStrictEqual([
|
|
41
39
|
{ label: "--0--", value: 0 },
|
|
42
40
|
{ label: "--1--", value: 1 },
|
|
@@ -64,4 +62,3 @@ test("useMinutes with custom format", function () {
|
|
|
64
62
|
{ label: "--23--", value: 23 },
|
|
65
63
|
]);
|
|
66
64
|
});
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWhvdXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlLWhvdXJzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0REFBMEQ7QUFDMUQseUNBQXVDO0FBRXZDLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDTCxJQUFBLE1BQU0sR0FBSyxJQUFBLHdCQUFVLEVBQUMsY0FBTSxPQUFBLElBQUEsb0JBQVEsRUFBQyxFQUFFLENBQUMsRUFBWixDQUFZLENBQUMsT0FBbkMsQ0FBb0M7SUFFbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0tBQzdCLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLCtCQUErQixFQUFFO0lBQzFCLElBQUEsTUFBTSxHQUFLLElBQUEsd0JBQVUsRUFBQztRQUMxQixPQUFBLElBQUEsb0JBQVEsRUFBQztZQUNMLFdBQVcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFsQixDQUFrQjtTQUMxQyxDQUFDO0lBRkYsQ0FFRSxDQUNMLE9BSmEsQ0FJWjtJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUN2QyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtLQUNqQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9
|
package/hooks/use-minute.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMinute = void 0;
|
|
4
|
-
|
|
5
|
-
function useMinute(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(0, react_1.useEffect)(function () {
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useMinute({ minute, minuteRef, focusedMinute, isMinuteFocused, isMinuteSelected, onMinuteFocus, onMinuteSelect, }) {
|
|
6
|
+
const onClick = (0, react_1.useCallback)(() => onMinuteSelect(minute), [minute, onMinuteSelect]);
|
|
7
|
+
(0, react_1.useEffect)(() => {
|
|
9
8
|
if (minuteRef && minuteRef.current && isMinuteFocused(minute)) {
|
|
10
9
|
minuteRef.current.focus();
|
|
11
10
|
}
|
|
12
11
|
}, [minuteRef, minute, isMinuteFocused]);
|
|
13
|
-
|
|
12
|
+
const onKeyDown = (0, react_1.useCallback)((e) => {
|
|
14
13
|
if (["ArrowRight", "ArrowLeft", "ArrowUp", "ArrowDown"].includes(e.key)) {
|
|
15
14
|
e.preventDefault();
|
|
16
15
|
switch (e.key) {
|
|
@@ -32,9 +31,8 @@ function useMinute(_a) {
|
|
|
32
31
|
return {
|
|
33
32
|
isSelected: isMinuteSelected(minute),
|
|
34
33
|
onClick: onClick,
|
|
35
|
-
onKeyDown
|
|
34
|
+
onKeyDown,
|
|
36
35
|
tabIndex: focusedMinute === null || isMinuteFocused(minute) ? 0 : -1,
|
|
37
36
|
};
|
|
38
37
|
}
|
|
39
38
|
exports.useMinute = useMinute;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1pbnV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2UtbWludXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUF5RTtBQW1CekUsU0FBZ0IsU0FBUyxDQUFDLEVBUVQ7UUFQYixNQUFNLFlBQUEsRUFDTixTQUFTLGVBQUEsRUFDVCxhQUFhLG1CQUFBLEVBQ2IsZUFBZSxxQkFBQSxFQUNmLGdCQUFnQixzQkFBQSxFQUNoQixhQUFhLG1CQUFBLEVBQ2IsY0FBYyxvQkFBQTtJQUVkLElBQU0sT0FBTyxHQUFHLElBQUEsbUJBQVcsRUFBQyxjQUFNLE9BQUEsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUF0QixDQUFzQixFQUFFLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFFcEYsSUFBQSxpQkFBUyxFQUFDO1FBQ04sSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFNLFNBQVMsR0FBRyxJQUFBLG1CQUFXLEVBQ3pCLFVBQUMsQ0FBNkI7UUFDMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxLQUFLLFlBQVk7b0JBQ2IsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDMUIsTUFBTTtnQkFDVixLQUFLLFdBQVc7b0JBQ1osYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDMUIsTUFBTTtnQkFDVixLQUFLLFNBQVM7b0JBQ1YsYUFBYSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDM0IsTUFBTTtnQkFDVixLQUFLLFdBQVc7b0JBQ1osYUFBYSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDM0IsTUFBTTthQUNiO1NBQ0o7SUFDTCxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQzFCLENBQUM7SUFFRixPQUFPO1FBQ0gsVUFBVSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNwQyxPQUFPLEVBQUUsT0FBTztRQUNoQixTQUFTLFdBQUE7UUFDVCxRQUFRLEVBQUUsYUFBYSxLQUFLLElBQUksSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZFLENBQUM7QUFDTixDQUFDO0FBOUNELDhCQThDQyJ9
|
package/hooks/use-minute.test.js
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
test("useMinute",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
16
|
-
}).result;
|
|
3
|
+
const react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const use_minute_1 = require("./use-minute");
|
|
6
|
+
test("useMinute", () => {
|
|
7
|
+
const { result } = (0, react_hooks_1.renderHook)(() => (0, use_minute_1.useMinute)({
|
|
8
|
+
minute: 30,
|
|
9
|
+
focusedMinute: null,
|
|
10
|
+
isMinuteFocused: () => false,
|
|
11
|
+
isMinuteSelected: () => false,
|
|
12
|
+
onMinuteFocus: () => undefined,
|
|
13
|
+
onMinuteSelect: () => undefined,
|
|
14
|
+
}));
|
|
17
15
|
expect(result.current.tabIndex).toBe(0);
|
|
18
16
|
expect(result.current.isSelected).toBe(false);
|
|
19
17
|
});
|
|
20
|
-
test("actions",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
}), result = _a.result, rerender = _a.rerender;
|
|
18
|
+
test("actions", () => {
|
|
19
|
+
let selectedMinute = null;
|
|
20
|
+
let focusedMinute = null;
|
|
21
|
+
const { result: ref } = (0, react_hooks_1.renderHook)(() => (0, react_1.useRef)(null));
|
|
22
|
+
const { result, rerender } = (0, react_hooks_1.renderHook)(() => (0, use_minute_1.useMinute)({
|
|
23
|
+
minute: 30,
|
|
24
|
+
focusedMinute: null,
|
|
25
|
+
isMinuteFocused: (minute) => focusedMinute === minute,
|
|
26
|
+
isMinuteSelected: (minute) => selectedMinute === minute,
|
|
27
|
+
onMinuteFocus: (minute) => (focusedMinute = minute),
|
|
28
|
+
onMinuteSelect: (minute) => (selectedMinute = minute),
|
|
29
|
+
minuteRef: ref.current,
|
|
30
|
+
}));
|
|
35
31
|
expect(result.current.tabIndex).toBe(0);
|
|
36
32
|
// select
|
|
37
33
|
expect(result.current.isSelected).toBe(false);
|
|
38
|
-
(0, react_hooks_1.act)(
|
|
34
|
+
(0, react_hooks_1.act)(() => {
|
|
39
35
|
if (result.current.onClick) {
|
|
40
36
|
result.current.onClick();
|
|
41
37
|
}
|
|
@@ -43,4 +39,3 @@ test("actions", function () {
|
|
|
43
39
|
});
|
|
44
40
|
expect(result.current.isSelected).toBe(true);
|
|
45
41
|
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1pbnV0ZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZS1taW51dGUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDREQUErRDtBQUMvRCwrQkFBK0I7QUFDL0IsMkNBQXlDO0FBRXpDLElBQUksQ0FBQyxXQUFXLEVBQUU7SUFDTixJQUFBLE1BQU0sR0FBSyxJQUFBLHdCQUFVLEVBQUM7UUFDMUIsT0FBQSxJQUFBLHNCQUFTLEVBQUM7WUFDTixNQUFNLEVBQUUsRUFBRTtZQUNWLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGVBQWUsRUFBRSxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUs7WUFDNUIsZ0JBQWdCLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO1lBQzdCLGFBQWEsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7WUFDOUIsY0FBYyxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztTQUNsQyxDQUFDO0lBUEYsQ0FPRSxDQUNMLE9BVGEsQ0FTWjtJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQ1osSUFBSSxjQUFjLEdBQWtCLElBQUksQ0FBQztJQUN6QyxJQUFJLGFBQWEsR0FBa0IsSUFBSSxDQUFDO0lBRWhDLElBQVEsR0FBRyxHQUFLLElBQUEsd0JBQVUsRUFBQyxjQUFNLE9BQUEsSUFBQSxjQUFNLEVBQWMsSUFBSSxDQUFDLEVBQXpCLENBQXlCLENBQUMsT0FBaEQsQ0FBaUQ7SUFFOUQsSUFBQSxLQUF1QixJQUFBLHdCQUFVLEVBQUM7UUFDcEMsT0FBQSxJQUFBLHNCQUFTLEVBQUM7WUFDTixNQUFNLEVBQUUsRUFBRTtZQUNWLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGVBQWUsRUFBRSxVQUFBLE1BQU0sSUFBSSxPQUFBLGFBQWEsS0FBSyxNQUFNLEVBQXhCLENBQXdCO1lBQ25ELGdCQUFnQixFQUFFLFVBQUEsTUFBTSxJQUFJLE9BQUEsY0FBYyxLQUFLLE1BQU0sRUFBekIsQ0FBeUI7WUFDckQsYUFBYSxFQUFFLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLEVBQXhCLENBQXdCO1lBQ2pELGNBQWMsRUFBRSxVQUFBLE1BQU0sSUFBSSxPQUFBLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxFQUF6QixDQUF5QjtZQUNuRCxTQUFTLEVBQUUsR0FBRyxDQUFDLE9BQU87U0FDekIsQ0FBQztJQVJGLENBUUUsQ0FDTCxFQVZPLE1BQU0sWUFBQSxFQUFFLFFBQVEsY0FVdkIsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV4QyxTQUFTO0lBQ1QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLElBQUEsaUJBQUcsRUFBQztRQUNBLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtRQUNELFFBQVEsRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMifQ==
|
package/hooks/use-minutes.d.ts
CHANGED
package/hooks/use-minutes.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMinutes = exports.labelFormatFn = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const labelFormatFn = (hour) => hour.toString().padStart(2, "0");
|
|
6
6
|
exports.labelFormatFn = labelFormatFn;
|
|
7
|
-
function useMinutes(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
.fill(0)
|
|
12
|
-
.map(function (_, i) { return ({ value: i * 5, label: labelFormat(i * 5) }); });
|
|
13
|
-
}, [labelFormat]);
|
|
7
|
+
function useMinutes({ labelFormat = exports.labelFormatFn }) {
|
|
8
|
+
const minutes = (0, react_1.useMemo)(() => Array(12)
|
|
9
|
+
.fill(0)
|
|
10
|
+
.map((_, i) => ({ value: i * 5, label: labelFormat(i * 5) })), [labelFormat]);
|
|
14
11
|
return {
|
|
15
|
-
minutes
|
|
12
|
+
minutes,
|
|
16
13
|
};
|
|
17
14
|
}
|
|
18
15
|
exports.useMinutes = useMinutes;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1pbnV0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlLW1pbnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQWdDO0FBRXpCLElBQU0sYUFBYSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQWhDLENBQWdDLENBQUM7QUFBbkUsUUFBQSxhQUFhLGlCQUFzRDtBQWVoRixTQUFnQixVQUFVLENBQUMsRUFBZ0Q7UUFBOUMsbUJBQTJCLEVBQTNCLFdBQVcsbUJBQUcscUJBQWEsS0FBQTtJQUNwRCxJQUFNLE9BQU8sR0FBRyxJQUFBLGVBQU8sRUFDbkI7UUFDSSxPQUFBLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDSixJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ1AsR0FBRyxDQUFDLFVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQTdDLENBQTZDLENBQUM7SUFGakUsQ0FFaUUsRUFDckUsQ0FBQyxXQUFXLENBQUMsQ0FDaEIsQ0FBQztJQUVGLE9BQU87UUFDSCxPQUFPLFNBQUE7S0FDVixDQUFDO0FBQ04sQ0FBQztBQVpELGdDQVlDIn0=
|