UNPKG

reka-ui

Version:

Vue port for Radix UI Primitives.

234 lines (232 loc) 10.1 kB
import { DateRange } from "./index3.cjs"; import { CalendarDateTime, DateValue, DateValue as DateValue$1, DayOfWeek, ZonedDateTime } from "@internationalized/date"; //#region src/date/types.d.ts type Matcher = (date: DateValue$1) => boolean; type Grid<T> = { /** * A `DateValue` used to represent the month. Since days * from the previous and next months may be included in the * calendar grid, we need a source of truth for the value * the grid is representing. */ value: DateValue$1; /** * An array of arrays representing the weeks in the calendar. * Each sub-array represents a week, and contains the dates for each * day in that week. This structure is useful for rendering the calendar * grid using a table, where each row represents a week and each cell * represents a day. */ rows: T[][]; /** * An array of all the dates in the current month, including dates from * the previous and next months that are used to fill out the calendar grid. * This array is useful for rendering the calendar grid in a customizable way, * as it provides all the dates that should be displayed in the grid in a flat * array. */ cells: T[]; }; //# sourceMappingURL=types.d.ts.map //#endregion //#region src/date/calendar.d.ts type WeekDayFormat = 'narrow' | 'short' | 'long'; type WeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6; type CreateSelectProps = { /** * The date object representing the date (usually the first day of the month/year). */ dateObj: DateValue; }; type CreateMonthProps = { /** * The date object representing the month's date (usually the first day of the month). */ dateObj: DateValue; /** * The day of the week to start the calendar on (0 for Sunday, 1 for Monday, etc.). */ weekStartsOn: WeekStartsOn; /** * Whether to always render 6 weeks in the calendar, even if the month doesn't * span 6 weeks. */ fixedWeeks: boolean; /** * The locale to use when creating the calendar month. */ locale: string; }; /** * Retrieves an array of date values representing the days between * the provided start and end dates. */ declare function getDaysBetween(start: DateValue, end: DateValue): DateValue[]; declare function createMonth(props: CreateMonthProps): Grid<DateValue>; type SetMonthProps = CreateMonthProps & { numberOfMonths: number | undefined; currentMonths?: Grid<DateValue>[]; }; type SetYearProps = CreateSelectProps & { numberOfMonths?: number; pagedNavigation?: boolean; }; type SetDecadeProps = CreateSelectProps & { startIndex?: number; endIndex: number; }; declare function startOfDecade(dateObj: DateValue): DateValue; declare function endOfDecade(dateObj: DateValue): DateValue; declare function createDecade(props: SetDecadeProps): DateValue[]; declare function createYear(props: SetYearProps): DateValue[]; declare function createMonths(props: SetMonthProps): Grid<DateValue>[]; /** * Creates a 3x4 grid of months for a given year. */ declare function createMonthGrid(props: CreateSelectProps): Grid<DateValue>; /** * Creates a 3x4 grid of years (decade-aligned). * The grid starts from the decade that contains the given date. */ declare function createYearGrid(props: CreateSelectProps & { yearsPerPage?: number; decadeAligned?: boolean; }): Grid<DateValue>; declare function createYearRange({ start, end }: DateRange): DateValue[]; declare function createDateRange({ start, end }: DateRange): DateValue[]; /** * It's better to use `getWeekStart` from `@internationalized/date`, * but sadly it is not yet exported from the package. * And the `Intl.Locale` API is not supported well enough yet. */ declare function getWeekStartsOn(locale: string): WeekStartsOn; /** * Returns the locale-specific week number */ declare function getWeekNumber(date: DateValue, locale?: string, firstDayOfWeek?: DayOfWeek): number; //#endregion //#region src/date/comparators.d.ts /** * 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. */ 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. */ declare function toDate(dateValue: DateValue, tz?: string): Date; declare function isCalendarDateTime(dateValue: DateValue): dateValue is CalendarDateTime; declare function isZonedDateTime(dateValue: DateValue): dateValue is ZonedDateTime; declare function hasTime(dateValue: DateValue): dateValue is CalendarDateTime | ZonedDateTime; /** * Given a date, return the number of days in the month. */ 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 */ 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 */ 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 */ 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 */ 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 */ 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 */ declare function isBetween(date: DateValue, start: DateValue, end: DateValue): boolean; declare function getLastFirstDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T; declare function getNextLastDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T; /** * Check if two dates are in the same year and month. */ declare function isSameYearMonth(a: DateValue, b: DateValue): boolean; /** * Check if two dates are in the same year. */ declare function isSameYear(a: DateValue, b: DateValue): boolean; declare function areAllDaysBetweenValid(start: DateValue, end: DateValue, isUnavailable: Matcher | undefined, isDisabled: Matcher | undefined, isHighlightable?: Matcher | undefined): boolean; /** * Compare two dates by year and month only (ignoring day). */ declare function compareYearMonth(a: DateValue, b: DateValue): number; /** * Check if a date's month is between start and end (inclusive), comparing year+month only. */ declare function isMonthBetweenInclusive(date: DateValue, start: DateValue, end: DateValue): boolean; /** * Check if a date's year is between start and end (inclusive), comparing year only. */ declare function isYearBetweenInclusive(date: DateValue, start: DateValue, end: DateValue): boolean; /** * Get the number of months between two dates (inclusive). */ declare function getMonthsBetween(start: DateValue, end: DateValue): number; /** * Get the number of years between two dates (inclusive). */ declare function getYearsBetween(start: DateValue, end: DateValue): number; /** * Check if all months between start and end are valid (not unavailable/disabled). */ declare function areAllMonthsBetweenValid(start: DateValue, end: DateValue, isUnavailable: Matcher | undefined, isDisabled: Matcher | undefined): boolean; /** * Check if all years between start and end are valid (not unavailable/disabled). */ declare function areAllYearsBetweenValid(start: DateValue, end: DateValue, isUnavailable: Matcher | undefined, isDisabled: Matcher | undefined): boolean; //# sourceMappingURL=comparators.d.ts.map //#endregion export { CreateMonthProps, CreateSelectProps, DateValue$1 as DateValue, Grid, Matcher, WeekDayFormat, WeekStartsOn, areAllDaysBetweenValid, areAllMonthsBetweenValid, areAllYearsBetweenValid, compareYearMonth, createDateRange, createDecade, createMonth, createMonthGrid, createMonths, createYear, createYearGrid, createYearRange, endOfDecade, getDaysBetween, getDaysInMonth, getLastFirstDayOfWeek, getMonthsBetween, getNextLastDayOfWeek, getWeekNumber, getWeekStartsOn, getYearsBetween, hasTime, isAfter, isAfterOrSame, isBefore, isBeforeOrSame, isBetween, isBetweenInclusive, isCalendarDateTime, isMonthBetweenInclusive, isSameYear, isSameYearMonth, isYearBetweenInclusive, isZonedDateTime, parseStringToDateValue, startOfDecade, toDate }; //# sourceMappingURL=index2.d.cts.map