File size: 4,558 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
import type { Granularity, Matcher } from './types.js';
import { CalendarDateTime, ZonedDateTime, type DateValue } from '@internationalized/date';
type GetDefaultDateProps = {
defaultValue?: DateValue | DateValue[] | undefined;
defaultPlaceholder?: DateValue | undefined;
granularity?: Granularity;
};
/**
* A helper function used throughout the various date builders
* to generate a default `DateValue` using the `defaultValue`,
* `defaultPlaceholder`, and `granularity` props.
*
* It's important to match the `DateValue` type being used
* elsewhere in the builder, so they behave according to the
* behavior the user expects based on the props they've provided.
*
*/
export declare function getDefaultDate(props?: GetDefaultDateProps): DateValue;
/**
* Given a date string and a reference `DateValue` object, parse the
* string to the same type as the reference object.
*
* Useful for parsing strings from data attributes, which are always
* strings, to the same type being used by the date component.
*/
export declare function parseStringToDateValue(dateStr: string, referenceVal: DateValue): DateValue;
/**
* Given a `DateValue` object, convert it to a native `Date` object.
* If a timezone is provided, the date will be converted to that timezone.
* If no timezone is provided, the date will be converted to the local timezone.
*/
export declare function toDate(dateValue: DateValue, tz?: string): Date;
export declare function isCalendarDateTime(dateValue: DateValue): dateValue is CalendarDateTime;
export declare function isZonedDateTime(dateValue: DateValue): dateValue is ZonedDateTime;
export declare function hasTime(dateValue: DateValue): boolean;
/**
* Given a date, return the number of days in the month.
*/
export declare function getDaysInMonth(date: Date | DateValue): number;
/**
* Determine if a date is before the reference date.
* @param dateToCompare - is this date before the `referenceDate`
* @param referenceDate - is the `dateToCompare` before this date
*
* @see {@link isBeforeOrSame} for inclusive
*/
export declare function isBefore(dateToCompare: DateValue, referenceDate: DateValue): boolean;
/**
* Determine if a date is after the reference date.
* @param dateToCompare - is this date after the `referenceDate`
* @param referenceDate - is the `dateToCompare` after this date
*
* @see {@link isAfterOrSame} for inclusive
*/
export declare function isAfter(dateToCompare: DateValue, referenceDate: DateValue): boolean;
/**
* Determine if a date is before or the same as the reference date.
*
* @param dateToCompare - the date to compare
* @param referenceDate - the reference date to make the comparison against
*
* @see {@link isBefore} for non-inclusive
*/
export declare function isBeforeOrSame(dateToCompare: DateValue, referenceDate: DateValue): boolean;
/**
* Determine if a date is after or the same as the reference date.
*
* @param dateToCompare - is this date after or the same as the `referenceDate`
* @param referenceDate - is the `dateToCompare` after or the same as this date
*
* @see {@link isAfter} for non-inclusive
*/
export declare function isAfterOrSame(dateToCompare: DateValue, referenceDate: DateValue): boolean;
/**
* Determine if a date is inclusively between a start and end reference date.
*
* @param date - is this date inclusively between the `start` and `end` dates
* @param start - the start reference date to make the comparison against
* @param end - the end reference date to make the comparison against
*
* @see {@link isBetween} for non-inclusive
*/
export declare function isBetweenInclusive(date: DateValue, start: DateValue, end: DateValue): boolean;
/**
* Determine if a date is between a start and end reference date.
*
* @param date - is this date between the `start` and `end` dates
* @param start - the start reference date to make the comparison against
* @param end - the end reference date to make the comparison against
*
* @see {@link isBetweenInclusive} for inclusive
*/
export declare function isBetween(date: DateValue, start: DateValue, end: DateValue): boolean;
export declare function getLastFirstDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T;
export declare function getNextLastDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T;
export declare function areAllDaysBetweenValid(start: DateValue, end: DateValue, isUnavailable: Matcher | undefined, isDisabled: Matcher | undefined): boolean;
export {};
|