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.
@@ -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 initialDisplayMonth = (0, getInitialMonth_js_1.getInitialMonth)(props, dateLib);
20
- // The first month displayed in the calendar
21
- const [firstMonth, setFirstMonth] = (0, react_1.useState)(initialDisplayMonth);
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
- dateLib,
36
- defaultMonth,
37
- endMonth,
38
- fromYear,
39
- month,
40
- numberOfMonths,
41
- startMonth,
42
- toYear,
43
- today
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":"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"}
1
+ {"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../src/useCalendar.ts"],"names":[],"mappings":"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"}
@@ -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 initialDisplayMonth = getInitialMonth(props, dateLib);
17
- // The first month displayed in the calendar
18
- const [firstMonth, setFirstMonth] = useState(initialDisplayMonth);
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
- dateLib,
33
- defaultMonth,
34
- endMonth,
35
- fromYear,
36
- month,
37
- numberOfMonths,
38
- startMonth,
39
- toYear,
40
- today
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":"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"}
1
+ {"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../src/useCalendar.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-day-picker",
3
- "version": "9.0.7",
3
+ "version": "9.0.8",
4
4
  "description": "Customizable Date Picker for React",
5
5
  "author": "Giampaolo Bellavite <io@gpbl.dev>",
6
6
  "homepage": "https://daypicker.dev",
@@ -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 initialDisplayMonth = getInitialMonth(props, dateLib);
95
+ const initialMonth = getInitialMonth(props, dateLib);
106
96
 
107
- // The first month displayed in the calendar
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
- dateLib,
127
- defaultMonth,
128
- endMonth,
129
- fromYear,
130
- month,
131
- numberOfMonths,
132
- startMonth,
133
- toYear,
134
- today
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);