@cbinsights/fds
Version:
Form: A design system by CB Insights
34 lines (33 loc) • 1.5 kB
TypeScript
import { Modifier } from 'react-day-picker';
import { DateFormat } from '.';
/**
* Returns a range of years to show in date picker. The range will expand to include
* the selected date, if a date has been selected.
*
* @param {Number} currentYear YYYY
* @param {Number} pastYears number of prior years in range
* @param {Number} futureYears number of future years in range
* @param {Date} minDate lower bound of selectable dates
* @param {Date} maxDate upper bound of selectable dates
* @param {Date} selectedDate currently selected date from DateInput
* @returns {Object} { startYear: YYYY, endYear: YYYY }
*/
export declare const getYearRange: (currentYear: number, pastYears: number, futureYears: number, minDate?: Date | null | undefined, maxDate?: Date | null | undefined, selectedDate?: Date | undefined) => {
startYear: number;
endYear: number;
};
export declare const getDisabledDays: (minDate?: Date | undefined, maxDate?: Date | undefined) => Modifier | undefined;
/**
* Checks user-entered date strings for validity and completeness.
*
* dayjs eagerly parses dates (starting with a single number!), so
* we must wait for a user to finish typing something that looks like
* a full date.
*
* We use patterns that accept a date string with or without a leading zero.
*
* @param {String} inputValue
* @param {String} dateFormat (MDY/DMY/YMD)
* @returns {Boolean}
*/
export declare const isValidUserDate: (inputValue: string, dateFormat: DateFormat) => boolean;