react-day-picker
Advanced tools
Comparing version 9.0.6 to 9.0.7
@@ -40,2 +40,3 @@ "use strict"; | ||
const defaultLabels = __importStar(require("./labels/index.js")); | ||
const locales_js_1 = require("./lib/locales.js"); | ||
const useCalendar_js_1 = require("./useCalendar.js"); | ||
@@ -55,3 +56,3 @@ const useDayPicker_js_1 = require("./useDayPicker.js"); | ||
function DayPicker(props) { | ||
const { components, formatters, labels, dateLib, classNames } = (0, react_1.useMemo)(() => ({ | ||
const { components, formatters, labels, dateLib, locale, classNames } = (0, react_1.useMemo)(() => ({ | ||
dateLib: (0, getDateLib_js_1.getDateLib)(props.dateLib), | ||
@@ -61,2 +62,3 @@ components: (0, getComponents_js_1.getComponents)(props.components), | ||
labels: { ...defaultLabels, ...props.labels }, | ||
locale: { ...locales_js_1.enUS, ...props.locale }, | ||
classNames: { ...(0, getDefaultClassNames_js_1.getDefaultClassNames)(), ...props.classNames } | ||
@@ -68,5 +70,6 @@ }), [ | ||
props.formatters, | ||
props.labels | ||
props.labels, | ||
props.locale | ||
]); | ||
const { captionLayout, firstWeekContainsDate, locale, mode, onDayBlur, onDayClick, onDayFocus, onDayKeyDown, onDayMouseEnter, onDayMouseLeave, onNextClick, onPrevClick, showWeekNumber, styles, useAdditionalDayOfYearTokens, useAdditionalWeekYearTokens, weekStartsOn } = props; | ||
const { captionLayout, firstWeekContainsDate, mode, onDayBlur, onDayClick, onDayFocus, onDayKeyDown, onDayMouseEnter, onDayMouseLeave, onNextClick, onPrevClick, showWeekNumber, styles, useAdditionalDayOfYearTokens, useAdditionalWeekYearTokens, weekStartsOn } = props; | ||
const formatOptions = { | ||
@@ -73,0 +76,0 @@ locale, |
@@ -12,1 +12,2 @@ export * from "./DayPicker.js"; | ||
export * from "./useDayPicker.js"; | ||
export { enUS as defaultLocale } from "./lib/locales.js"; |
@@ -17,2 +17,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.defaultLocale = void 0; | ||
__exportStar(require("./DayPicker.js"), exports); | ||
@@ -29,2 +30,4 @@ __exportStar(require("./types/index.js"), exports); | ||
__exportStar(require("./useDayPicker.js"), exports); | ||
var locales_js_1 = require("./lib/locales.js"); | ||
Object.defineProperty(exports, "defaultLocale", { enumerable: true, get: function () { return locales_js_1.enUS; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -11,9 +11,3 @@ "use strict"; | ||
const [selected, setSelected] = react_1.default.useState(initiallySelected); | ||
const { isSameDay, Date } = dateLib; | ||
// Update the selected date if the required flag is set. | ||
react_1.default.useEffect(() => { | ||
if (required && selected === undefined) { | ||
setSelected([new Date()]); | ||
} | ||
}, [required, selected, Date, mode]); | ||
const { isSameDay } = dateLib; | ||
// Update the selected date if the selected value from props changes. | ||
@@ -20,0 +14,0 @@ react_1.default.useEffect(() => { |
@@ -11,10 +11,4 @@ "use strict"; | ||
function useRange(props, dateLib) { | ||
const { mode, disabled, excludeDisabled, selected: initiallySelected, required, onSelect } = props; | ||
const { disabled, excludeDisabled, selected: initiallySelected, required, onSelect } = props; | ||
const [selected, setSelected] = react_1.default.useState(initiallySelected); | ||
// Update the selected date if the required flag is set. | ||
react_1.default.useEffect(() => { | ||
if (required && selected === undefined) { | ||
setSelected({ from: undefined, to: undefined }); | ||
} | ||
}, [required, selected, mode]); | ||
// Update the selected date if the `selected` prop changes. | ||
@@ -21,0 +15,0 @@ react_1.default.useEffect(() => { |
@@ -9,11 +9,5 @@ "use strict"; | ||
function useSingle(props, dateLib) { | ||
const { selected: initiallySelected, required, onSelect, mode } = props; | ||
const { selected: initiallySelected, required, onSelect } = props; | ||
const [selected, setSelected] = react_1.default.useState(initiallySelected); | ||
const { isSameDay, Date, startOfDay } = dateLib; | ||
// Update the selected date if the required flag is set. | ||
react_1.default.useEffect(() => { | ||
if (required && selected === undefined) { | ||
setSelected(startOfDay(new Date())); | ||
} | ||
}, [required, selected, Date, startOfDay, mode]); | ||
const { isSameDay } = dateLib; | ||
// Update the selected date if the `selected` value changes. | ||
@@ -20,0 +14,0 @@ react_1.default.useEffect(() => { |
@@ -15,4 +15,7 @@ import React from "react"; | ||
/** | ||
* Props used for customization of the calendar, localization, and event | ||
* handling. | ||
* Props for customizing the calendar, handling localization, and managing | ||
* events. These exclude the selection mode props. | ||
* | ||
* @group DayPicker | ||
* @see https://daypicker.dev/api/interfaces/PropsBase | ||
*/ | ||
@@ -311,8 +314,13 @@ export interface PropsBase { | ||
/** | ||
* The date-fns locale object used to localize dates. | ||
* The locale object used to localize dates. Pass a locale from `date-fns` to | ||
* localize the calendar. | ||
* | ||
* @defaultValue en-US | ||
* @example | ||
* import { es } from "date-fns/locale"; | ||
* <DayPicker locale={es} /> | ||
* | ||
* @defaultValue enUS - The English locale default of `date-fns`. | ||
* @see https://daypicker.dev/docs/localization | ||
*/ | ||
locale?: Locale | undefined; | ||
locale?: Partial<Locale> | undefined; | ||
/** | ||
@@ -441,3 +449,3 @@ * The index of the first day of the week (0 - Sunday). Overrides the locale's | ||
/** The selected date. */ | ||
selected: Date; | ||
selected: Date | undefined; | ||
/** Event handler when a day is selected. */ | ||
@@ -468,3 +476,3 @@ onSelect?: (selected: Date, triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void | undefined; | ||
/** The selected dates. */ | ||
selected: Date[]; | ||
selected: Date[] | undefined; | ||
/** Event handler when days are selected. */ | ||
@@ -510,3 +518,3 @@ onSelect?: (selected: Date[], triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void; | ||
/** The selected range. */ | ||
selected: DateRange; | ||
selected: DateRange | undefined; | ||
/** Event handler when a range is selected. */ | ||
@@ -513,0 +521,0 @@ onSelect?: (selected: DateRange, triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void; |
@@ -48,2 +48,2 @@ import type { CalendarWeek, CalendarDay, CalendarMonth } from "./classes/index.js"; | ||
/** @private */ | ||
export declare function useCalendar(props: DayPickerProps, dateLib: DateLib): Calendar; | ||
export declare function useCalendar(props: Pick<DayPickerProps, "captionLayout" | "endMonth" | "startMonth" | "today" | "fixedWeeks" | "ISOWeek" | "weekStartsOn" | "numberOfMonths" | "disableNavigation" | "onMonthChange" | "month" | "defaultMonth" | "fromMonth" | "fromYear" | "toMonth" | "toYear">, dateLib: DateLib): Calendar; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.useCalendar = useCalendar; | ||
const react_1 = require("react"); | ||
const getDates_js_1 = require("./helpers/getDates.js"); | ||
@@ -13,5 +14,5 @@ const getDays_js_1 = require("./helpers/getDays.js"); | ||
const getWeeks_js_1 = require("./helpers/getWeeks.js"); | ||
const useControlledValue_js_1 = require("./helpers/useControlledValue.js"); | ||
/** @private */ | ||
function useCalendar(props, dateLib) { | ||
const { fromYear, toYear, startMonth, endMonth, today, numberOfMonths, month, defaultMonth } = props; | ||
const [navStart, navEnd] = (0, getNavMonth_js_1.getNavMonths)(props, dateLib); | ||
@@ -21,3 +22,26 @@ const { startOfMonth, endOfMonth } = dateLib; | ||
// The first month displayed in the calendar | ||
const [firstMonth, setFirstMonth] = (0, useControlledValue_js_1.useControlledValue)(initialDisplayMonth, props.month ? startOfMonth(props.month) : undefined); | ||
const [firstMonth, setFirstMonth] = (0, react_1.useState)(initialDisplayMonth); | ||
(0, react_1.useEffect)(() => { | ||
const initialDisplayMonth = (0, getInitialMonth_js_1.getInitialMonth)({ | ||
fromYear, | ||
toYear, | ||
startMonth, | ||
endMonth, | ||
month, | ||
defaultMonth, | ||
today, | ||
numberOfMonths | ||
}, dateLib); | ||
setFirstMonth(initialDisplayMonth); | ||
}, [ | ||
dateLib, | ||
defaultMonth, | ||
endMonth, | ||
fromYear, | ||
month, | ||
numberOfMonths, | ||
startMonth, | ||
toYear, | ||
today | ||
]); | ||
/** The months displayed in the calendar. */ | ||
@@ -24,0 +48,0 @@ const displayMonths = (0, getDisplayMonths_js_1.getDisplayMonths)(firstMonth, navEnd, props, dateLib); |
@@ -6,2 +6,3 @@ import { CalendarDay } from "./classes/CalendarDay.js"; | ||
import { Modifiers } from "./types/shared.js"; | ||
/** @private */ | ||
export declare const dayPickerContext: import("react").Context<DayPickerContext<DayPickerProps> | undefined>; | ||
@@ -8,0 +9,0 @@ export type DayPickerContext<T extends DayPickerProps> = { |
@@ -6,3 +6,3 @@ "use strict"; | ||
const react_1 = require("react"); | ||
// Create a context with a default value | ||
/** @private */ | ||
exports.dayPickerContext = (0, react_1.createContext)(undefined); | ||
@@ -9,0 +9,0 @@ /** |
@@ -14,2 +14,3 @@ import React, { useCallback, useMemo } from "react"; | ||
import * as defaultLabels from "./labels/index.js"; | ||
import { enUS } from "./lib/locales.js"; | ||
import { useCalendar } from "./useCalendar.js"; | ||
@@ -29,3 +30,3 @@ import { dayPickerContext } from "./useDayPicker.js"; | ||
export function DayPicker(props) { | ||
const { components, formatters, labels, dateLib, classNames } = useMemo(() => ({ | ||
const { components, formatters, labels, dateLib, locale, classNames } = useMemo(() => ({ | ||
dateLib: getDateLib(props.dateLib), | ||
@@ -35,2 +36,3 @@ components: getComponents(props.components), | ||
labels: { ...defaultLabels, ...props.labels }, | ||
locale: { ...enUS, ...props.locale }, | ||
classNames: { ...getDefaultClassNames(), ...props.classNames } | ||
@@ -42,5 +44,6 @@ }), [ | ||
props.formatters, | ||
props.labels | ||
props.labels, | ||
props.locale | ||
]); | ||
const { captionLayout, firstWeekContainsDate, locale, mode, onDayBlur, onDayClick, onDayFocus, onDayKeyDown, onDayMouseEnter, onDayMouseLeave, onNextClick, onPrevClick, showWeekNumber, styles, useAdditionalDayOfYearTokens, useAdditionalWeekYearTokens, weekStartsOn } = props; | ||
const { captionLayout, firstWeekContainsDate, mode, onDayBlur, onDayClick, onDayFocus, onDayKeyDown, onDayMouseEnter, onDayMouseLeave, onNextClick, onPrevClick, showWeekNumber, styles, useAdditionalDayOfYearTokens, useAdditionalWeekYearTokens, weekStartsOn } = props; | ||
const formatOptions = { | ||
@@ -47,0 +50,0 @@ locale, |
@@ -12,1 +12,2 @@ export * from "./DayPicker.js"; | ||
export * from "./useDayPicker.js"; | ||
export { enUS as defaultLocale } from "./lib/locales.js"; |
@@ -12,2 +12,3 @@ export * from "./DayPicker.js"; | ||
export * from "./useDayPicker.js"; | ||
export { enUS as defaultLocale } from "./lib/locales.js"; | ||
//# sourceMappingURL=index.js.map |
@@ -5,9 +5,3 @@ import React from "react"; | ||
const [selected, setSelected] = React.useState(initiallySelected); | ||
const { isSameDay, Date } = dateLib; | ||
// Update the selected date if the required flag is set. | ||
React.useEffect(() => { | ||
if (required && selected === undefined) { | ||
setSelected([new Date()]); | ||
} | ||
}, [required, selected, Date, mode]); | ||
const { isSameDay } = dateLib; | ||
// Update the selected date if the selected value from props changes. | ||
@@ -14,0 +8,0 @@ React.useEffect(() => { |
@@ -5,10 +5,4 @@ import React from "react"; | ||
export function useRange(props, dateLib) { | ||
const { mode, disabled, excludeDisabled, selected: initiallySelected, required, onSelect } = props; | ||
const { disabled, excludeDisabled, selected: initiallySelected, required, onSelect } = props; | ||
const [selected, setSelected] = React.useState(initiallySelected); | ||
// Update the selected date if the required flag is set. | ||
React.useEffect(() => { | ||
if (required && selected === undefined) { | ||
setSelected({ from: undefined, to: undefined }); | ||
} | ||
}, [required, selected, mode]); | ||
// Update the selected date if the `selected` prop changes. | ||
@@ -15,0 +9,0 @@ React.useEffect(() => { |
import React from "react"; | ||
export function useSingle(props, dateLib) { | ||
const { selected: initiallySelected, required, onSelect, mode } = props; | ||
const { selected: initiallySelected, required, onSelect } = props; | ||
const [selected, setSelected] = React.useState(initiallySelected); | ||
const { isSameDay, Date, startOfDay } = dateLib; | ||
// Update the selected date if the required flag is set. | ||
React.useEffect(() => { | ||
if (required && selected === undefined) { | ||
setSelected(startOfDay(new Date())); | ||
} | ||
}, [required, selected, Date, startOfDay, mode]); | ||
const { isSameDay } = dateLib; | ||
// Update the selected date if the `selected` value changes. | ||
@@ -13,0 +7,0 @@ React.useEffect(() => { |
@@ -15,4 +15,7 @@ import React from "react"; | ||
/** | ||
* Props used for customization of the calendar, localization, and event | ||
* handling. | ||
* Props for customizing the calendar, handling localization, and managing | ||
* events. These exclude the selection mode props. | ||
* | ||
* @group DayPicker | ||
* @see https://daypicker.dev/api/interfaces/PropsBase | ||
*/ | ||
@@ -311,8 +314,13 @@ export interface PropsBase { | ||
/** | ||
* The date-fns locale object used to localize dates. | ||
* The locale object used to localize dates. Pass a locale from `date-fns` to | ||
* localize the calendar. | ||
* | ||
* @defaultValue en-US | ||
* @example | ||
* import { es } from "date-fns/locale"; | ||
* <DayPicker locale={es} /> | ||
* | ||
* @defaultValue enUS - The English locale default of `date-fns`. | ||
* @see https://daypicker.dev/docs/localization | ||
*/ | ||
locale?: Locale | undefined; | ||
locale?: Partial<Locale> | undefined; | ||
/** | ||
@@ -441,3 +449,3 @@ * The index of the first day of the week (0 - Sunday). Overrides the locale's | ||
/** The selected date. */ | ||
selected: Date; | ||
selected: Date | undefined; | ||
/** Event handler when a day is selected. */ | ||
@@ -468,3 +476,3 @@ onSelect?: (selected: Date, triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void | undefined; | ||
/** The selected dates. */ | ||
selected: Date[]; | ||
selected: Date[] | undefined; | ||
/** Event handler when days are selected. */ | ||
@@ -510,3 +518,3 @@ onSelect?: (selected: Date[], triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void; | ||
/** The selected range. */ | ||
selected: DateRange; | ||
selected: DateRange | undefined; | ||
/** Event handler when a range is selected. */ | ||
@@ -513,0 +521,0 @@ onSelect?: (selected: DateRange, triggerDate: Date, modifiers: Modifiers, e: React.MouseEvent | React.KeyboardEvent) => void; |
@@ -48,2 +48,2 @@ import type { CalendarWeek, CalendarDay, CalendarMonth } from "./classes/index.js"; | ||
/** @private */ | ||
export declare function useCalendar(props: DayPickerProps, dateLib: DateLib): Calendar; | ||
export declare function useCalendar(props: Pick<DayPickerProps, "captionLayout" | "endMonth" | "startMonth" | "today" | "fixedWeeks" | "ISOWeek" | "weekStartsOn" | "numberOfMonths" | "disableNavigation" | "onMonthChange" | "month" | "defaultMonth" | "fromMonth" | "fromYear" | "toMonth" | "toYear">, dateLib: DateLib): Calendar; |
@@ -0,1 +1,2 @@ | ||
import { useEffect, useState } from "react"; | ||
import { getDates } from "./helpers/getDates.js"; | ||
@@ -10,5 +11,5 @@ import { getDays } from "./helpers/getDays.js"; | ||
import { getWeeks } from "./helpers/getWeeks.js"; | ||
import { useControlledValue } from "./helpers/useControlledValue.js"; | ||
/** @private */ | ||
export function useCalendar(props, dateLib) { | ||
const { fromYear, toYear, startMonth, endMonth, today, numberOfMonths, month, defaultMonth } = props; | ||
const [navStart, navEnd] = getNavMonths(props, dateLib); | ||
@@ -18,3 +19,26 @@ const { startOfMonth, endOfMonth } = dateLib; | ||
// The first month displayed in the calendar | ||
const [firstMonth, setFirstMonth] = useControlledValue(initialDisplayMonth, props.month ? startOfMonth(props.month) : undefined); | ||
const [firstMonth, setFirstMonth] = useState(initialDisplayMonth); | ||
useEffect(() => { | ||
const initialDisplayMonth = getInitialMonth({ | ||
fromYear, | ||
toYear, | ||
startMonth, | ||
endMonth, | ||
month, | ||
defaultMonth, | ||
today, | ||
numberOfMonths | ||
}, dateLib); | ||
setFirstMonth(initialDisplayMonth); | ||
}, [ | ||
dateLib, | ||
defaultMonth, | ||
endMonth, | ||
fromYear, | ||
month, | ||
numberOfMonths, | ||
startMonth, | ||
toYear, | ||
today | ||
]); | ||
/** The months displayed in the calendar. */ | ||
@@ -21,0 +45,0 @@ const displayMonths = getDisplayMonths(firstMonth, navEnd, props, dateLib); |
@@ -6,2 +6,3 @@ import { CalendarDay } from "./classes/CalendarDay.js"; | ||
import { Modifiers } from "./types/shared.js"; | ||
/** @private */ | ||
export declare const dayPickerContext: import("react").Context<DayPickerContext<DayPickerProps> | undefined>; | ||
@@ -8,0 +9,0 @@ export type DayPickerContext<T extends DayPickerProps> = { |
import { createContext, useContext } from "react"; | ||
// Create a context with a default value | ||
/** @private */ | ||
export const dayPickerContext = createContext(undefined); | ||
@@ -4,0 +4,0 @@ /** |
{ | ||
"name": "react-day-picker", | ||
"version": "9.0.6", | ||
"version": "9.0.7", | ||
"description": "Customizable Date Picker for React", | ||
@@ -144,3 +144,3 @@ "author": "Giampaolo Bellavite <io@gpbl.dev>", | ||
"@types/jest": "^29.5.12", | ||
"@types/node": "^22.0.0", | ||
"@types/node": "^22.1.0", | ||
"@types/react": "^18.3.3", | ||
@@ -156,3 +156,3 @@ "@types/react-dom": "^18.3.0", | ||
"eslint-plugin-import": "^2.29.1", | ||
"eslint-plugin-jest": "^28.6.0", | ||
"eslint-plugin-jest": "^28.7.0", | ||
"eslint-plugin-prettier": "^5.2.1", | ||
@@ -171,3 +171,3 @@ "eslint-plugin-react": "^7.35.0", | ||
"react-dom": "^18.3.1", | ||
"ts-jest": "^29.2.3", | ||
"ts-jest": "^29.2.4", | ||
"ts-node": "^10.9.2", | ||
@@ -174,0 +174,0 @@ "tslib": "^2.6.3", |
@@ -16,1 +16,3 @@ export * from "./DayPicker.js"; | ||
export * from "./useDayPicker.js"; | ||
export { enUS as defaultLocale } from "./lib/locales.js"; |
@@ -40,4 +40,7 @@ import React from "react"; | ||
/** | ||
* Props used for customization of the calendar, localization, and event | ||
* handling. | ||
* Props for customizing the calendar, handling localization, and managing | ||
* events. These exclude the selection mode props. | ||
* | ||
* @group DayPicker | ||
* @see https://daypicker.dev/api/interfaces/PropsBase | ||
*/ | ||
@@ -339,8 +342,13 @@ export interface PropsBase { | ||
/** | ||
* The date-fns locale object used to localize dates. | ||
* The locale object used to localize dates. Pass a locale from `date-fns` to | ||
* localize the calendar. | ||
* | ||
* @defaultValue en-US | ||
* @example | ||
* import { es } from "date-fns/locale"; | ||
* <DayPicker locale={es} /> | ||
* | ||
* @defaultValue enUS - The English locale default of `date-fns`. | ||
* @see https://daypicker.dev/docs/localization | ||
*/ | ||
locale?: Locale | undefined; | ||
locale?: Partial<Locale> | undefined; | ||
/** | ||
@@ -475,3 +483,3 @@ * The index of the first day of the week (0 - Sunday). Overrides the locale's | ||
/** The selected date. */ | ||
selected: Date; | ||
selected: Date | undefined; | ||
/** Event handler when a day is selected. */ | ||
@@ -512,3 +520,3 @@ onSelect?: ( | ||
/** The selected dates. */ | ||
selected: Date[]; | ||
selected: Date[] | undefined; | ||
/** Event handler when days are selected. */ | ||
@@ -564,3 +572,3 @@ onSelect?: ( | ||
/** The selected range. */ | ||
selected: DateRange; | ||
selected: DateRange | undefined; | ||
/** Event handler when a range is selected. */ | ||
@@ -567,0 +575,0 @@ onSelect?: ( |
@@ -0,1 +1,3 @@ | ||
import { useEffect, useState } from "react"; | ||
import type { | ||
@@ -15,3 +17,2 @@ CalendarWeek, | ||
import { getWeeks } from "./helpers/getWeeks.js"; | ||
import { useControlledValue } from "./helpers/useControlledValue.js"; | ||
import type { DayPickerProps } from "./types/props.js"; | ||
@@ -68,3 +69,35 @@ import type { DateLib } from "./types/shared.js"; | ||
/** @private */ | ||
export function useCalendar(props: DayPickerProps, dateLib: DateLib): Calendar { | ||
export function useCalendar( | ||
props: Pick< | ||
DayPickerProps, | ||
| "captionLayout" | ||
| "endMonth" | ||
| "startMonth" | ||
| "today" | ||
| "fixedWeeks" | ||
| "ISOWeek" | ||
| "weekStartsOn" | ||
| "numberOfMonths" | ||
| "disableNavigation" | ||
| "onMonthChange" | ||
| "month" | ||
| "defaultMonth" | ||
// Deprecated: | ||
| "fromMonth" | ||
| "fromYear" | ||
| "toMonth" | ||
| "toYear" | ||
>, | ||
dateLib: DateLib | ||
): Calendar { | ||
const { | ||
fromYear, | ||
toYear, | ||
startMonth, | ||
endMonth, | ||
today, | ||
numberOfMonths, | ||
month, | ||
defaultMonth | ||
} = props; | ||
const [navStart, navEnd] = getNavMonths(props, dateLib); | ||
@@ -77,7 +110,31 @@ | ||
// The first month displayed in the calendar | ||
const [firstMonth, setFirstMonth] = useControlledValue( | ||
initialDisplayMonth, | ||
props.month ? startOfMonth(props.month) : undefined | ||
); | ||
const [firstMonth, setFirstMonth] = useState(initialDisplayMonth); | ||
useEffect(() => { | ||
const initialDisplayMonth = getInitialMonth( | ||
{ | ||
fromYear, | ||
toYear, | ||
startMonth, | ||
endMonth, | ||
month, | ||
defaultMonth, | ||
today, | ||
numberOfMonths | ||
}, | ||
dateLib | ||
); | ||
setFirstMonth(initialDisplayMonth); | ||
}, [ | ||
dateLib, | ||
defaultMonth, | ||
endMonth, | ||
fromYear, | ||
month, | ||
numberOfMonths, | ||
startMonth, | ||
toYear, | ||
today | ||
]); | ||
/** The months displayed in the calendar. */ | ||
@@ -84,0 +141,0 @@ const displayMonths = getDisplayMonths(firstMonth, navEnd, props, dateLib); |
@@ -9,3 +9,3 @@ import { createContext, useContext } from "react"; | ||
// Create a context with a default value | ||
/** @private */ | ||
export const dayPickerContext = createContext< | ||
@@ -12,0 +12,0 @@ DayPickerContext<DayPickerProps> | undefined |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1025326
20038