react-day-picker 9.0.7 → 9.0.8
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/dist/cjs/useCalendar.js +14 -25
- package/dist/cjs/useCalendar.js.map +1 -1
- package/dist/esm/useCalendar.js +14 -25
- package/dist/esm/useCalendar.js.map +1 -1
- package/package.json +1 -1
- package/src/useCalendar.ts +15 -37
package/dist/cjs/useCalendar.js
CHANGED
|
@@ -13,35 +13,24 @@ const getPreviousMonth_js_1 = require("./helpers/getPreviousMonth.js");
|
|
|
13
13
|
const getWeeks_js_1 = require("./helpers/getWeeks.js");
|
|
14
14
|
/** @private */
|
|
15
15
|
function useCalendar(props, dateLib) {
|
|
16
|
-
const { fromYear, toYear, startMonth, endMonth, today, numberOfMonths, month, defaultMonth } = props;
|
|
17
16
|
const [navStart, navEnd] = (0, getNavMonth_js_1.getNavMonths)(props, dateLib);
|
|
18
17
|
const { startOfMonth, endOfMonth } = dateLib;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const initialMonth = (0, getInitialMonth_js_1.getInitialMonth)(props, dateLib);
|
|
19
|
+
const [firstMonth, setFirstMonth] = (0, react_1.useState)(initialMonth);
|
|
20
|
+
// Update the displayed month if `month` changes
|
|
22
21
|
(0, react_1.useEffect)(() => {
|
|
23
|
-
const initialDisplayMonth = (0, getInitialMonth_js_1.getInitialMonth)(
|
|
24
|
-
fromYear,
|
|
25
|
-
toYear,
|
|
26
|
-
startMonth,
|
|
27
|
-
endMonth,
|
|
28
|
-
month,
|
|
29
|
-
defaultMonth,
|
|
30
|
-
today,
|
|
31
|
-
numberOfMonths
|
|
32
|
-
}, dateLib);
|
|
22
|
+
const initialDisplayMonth = (0, getInitialMonth_js_1.getInitialMonth)(props, dateLib);
|
|
33
23
|
setFirstMonth(initialDisplayMonth);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
]);
|
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
+
}, [props.month]);
|
|
26
|
+
// Update the displayed month if start/end month changes
|
|
27
|
+
(0, react_1.useEffect)(() => {
|
|
28
|
+
// TOFIX: this effect should do nothing if the current firstMonth is between
|
|
29
|
+
// startMonth and endMonth
|
|
30
|
+
const initialDisplayMonth = (0, getInitialMonth_js_1.getInitialMonth)(props, dateLib);
|
|
31
|
+
setFirstMonth(initialDisplayMonth);
|
|
32
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
|
+
}, [props.startMonth, props.endMonth]);
|
|
45
34
|
/** The months displayed in the calendar. */
|
|
46
35
|
const displayMonths = (0, getDisplayMonths_js_1.getDisplayMonths)(firstMonth, navEnd, props, dateLib);
|
|
47
36
|
/** The dates displayed in the calendar. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../src/useCalendar.ts"],"names":[],"mappings":";;AAmEA,
|
|
1
|
+
{"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../src/useCalendar.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/useCalendar.js
CHANGED
|
@@ -10,35 +10,24 @@ import { getPreviousMonth } from "./helpers/getPreviousMonth.js";
|
|
|
10
10
|
import { getWeeks } from "./helpers/getWeeks.js";
|
|
11
11
|
/** @private */
|
|
12
12
|
export function useCalendar(props, dateLib) {
|
|
13
|
-
const { fromYear, toYear, startMonth, endMonth, today, numberOfMonths, month, defaultMonth } = props;
|
|
14
13
|
const [navStart, navEnd] = getNavMonths(props, dateLib);
|
|
15
14
|
const { startOfMonth, endOfMonth } = dateLib;
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const initialMonth = getInitialMonth(props, dateLib);
|
|
16
|
+
const [firstMonth, setFirstMonth] = useState(initialMonth);
|
|
17
|
+
// Update the displayed month if `month` changes
|
|
19
18
|
useEffect(() => {
|
|
20
|
-
const initialDisplayMonth = getInitialMonth(
|
|
21
|
-
fromYear,
|
|
22
|
-
toYear,
|
|
23
|
-
startMonth,
|
|
24
|
-
endMonth,
|
|
25
|
-
month,
|
|
26
|
-
defaultMonth,
|
|
27
|
-
today,
|
|
28
|
-
numberOfMonths
|
|
29
|
-
}, dateLib);
|
|
19
|
+
const initialDisplayMonth = getInitialMonth(props, dateLib);
|
|
30
20
|
setFirstMonth(initialDisplayMonth);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
]);
|
|
21
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22
|
+
}, [props.month]);
|
|
23
|
+
// Update the displayed month if start/end month changes
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
// TOFIX: this effect should do nothing if the current firstMonth is between
|
|
26
|
+
// startMonth and endMonth
|
|
27
|
+
const initialDisplayMonth = getInitialMonth(props, dateLib);
|
|
28
|
+
setFirstMonth(initialDisplayMonth);
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
}, [props.startMonth, props.endMonth]);
|
|
42
31
|
/** The months displayed in the calendar. */
|
|
43
32
|
const displayMonths = getDisplayMonths(firstMonth, navEnd, props, dateLib);
|
|
44
33
|
/** The dates displayed in the calendar. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../src/useCalendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAO5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAmDjD,eAAe;AACf,MAAM,UAAU,WAAW,CACzB,KAmBC,EACD,OAAgB;IAEhB,MAAM,
|
|
1
|
+
{"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../src/useCalendar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/useCalendar.ts
CHANGED
|
@@ -88,51 +88,29 @@ export function useCalendar(
|
|
|
88
88
|
>,
|
|
89
89
|
dateLib: DateLib
|
|
90
90
|
): Calendar {
|
|
91
|
-
const {
|
|
92
|
-
fromYear,
|
|
93
|
-
toYear,
|
|
94
|
-
startMonth,
|
|
95
|
-
endMonth,
|
|
96
|
-
today,
|
|
97
|
-
numberOfMonths,
|
|
98
|
-
month,
|
|
99
|
-
defaultMonth
|
|
100
|
-
} = props;
|
|
101
91
|
const [navStart, navEnd] = getNavMonths(props, dateLib);
|
|
102
92
|
|
|
103
93
|
const { startOfMonth, endOfMonth } = dateLib;
|
|
104
94
|
|
|
105
|
-
const
|
|
95
|
+
const initialMonth = getInitialMonth(props, dateLib);
|
|
106
96
|
|
|
107
|
-
|
|
108
|
-
const [firstMonth, setFirstMonth] = useState(initialDisplayMonth);
|
|
97
|
+
const [firstMonth, setFirstMonth] = useState(initialMonth);
|
|
109
98
|
|
|
99
|
+
// Update the displayed month if `month` changes
|
|
110
100
|
useEffect(() => {
|
|
111
|
-
const initialDisplayMonth = getInitialMonth(
|
|
112
|
-
{
|
|
113
|
-
fromYear,
|
|
114
|
-
toYear,
|
|
115
|
-
startMonth,
|
|
116
|
-
endMonth,
|
|
117
|
-
month,
|
|
118
|
-
defaultMonth,
|
|
119
|
-
today,
|
|
120
|
-
numberOfMonths
|
|
121
|
-
},
|
|
122
|
-
dateLib
|
|
123
|
-
);
|
|
101
|
+
const initialDisplayMonth = getInitialMonth(props, dateLib);
|
|
124
102
|
setFirstMonth(initialDisplayMonth);
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
]);
|
|
103
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
104
|
+
}, [props.month]);
|
|
105
|
+
|
|
106
|
+
// Update the displayed month if start/end month changes
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
// TOFIX: this effect should do nothing if the current firstMonth is between
|
|
109
|
+
// startMonth and endMonth
|
|
110
|
+
const initialDisplayMonth = getInitialMonth(props, dateLib);
|
|
111
|
+
setFirstMonth(initialDisplayMonth);
|
|
112
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
113
|
+
}, [props.startMonth, props.endMonth]);
|
|
136
114
|
|
|
137
115
|
/** The months displayed in the calendar. */
|
|
138
116
|
const displayMonths = getDisplayMonths(firstMonth, navEnd, props, dateLib);
|