UNPKG

react-day-picker

Version:

Customizable Date Picker for React

53 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNavMonths = getNavMonths; /** * Returns the start and end months for calendar navigation. * * @param props The DayPicker props, including navigation and layout options. * @param dateLib The date library to use for date manipulation. * @returns A tuple containing the start and end months for navigation. */ function getNavMonths(props, dateLib) { let { startMonth, endMonth } = props; const { startOfYear, startOfDay, startOfMonth, endOfMonth, addYears, endOfYear, newDate, today } = dateLib; // Handle deprecated code const { fromYear, toYear, fromMonth, toMonth } = props; if (!startMonth && fromMonth) { startMonth = fromMonth; } if (!startMonth && fromYear) { startMonth = dateLib.newDate(fromYear, 0, 1); } if (!endMonth && toMonth) { endMonth = toMonth; } if (!endMonth && toYear) { endMonth = newDate(toYear, 11, 31); } const hasYearDropdown = props.captionLayout === "dropdown" || props.captionLayout === "dropdown-years"; if (startMonth) { startMonth = startOfMonth(startMonth); } else if (fromYear) { startMonth = newDate(fromYear, 0, 1); } else if (!startMonth && hasYearDropdown) { startMonth = startOfYear(addYears(props.today ?? today(), -100)); } if (endMonth) { endMonth = endOfMonth(endMonth); } else if (toYear) { endMonth = newDate(toYear, 11, 31); } else if (!endMonth && hasYearDropdown) { endMonth = endOfYear(props.today ?? today()); } return [ startMonth ? startOfDay(startMonth) : startMonth, endMonth ? startOfDay(endMonth) : endMonth ]; } //# sourceMappingURL=getNavMonth.js.map