UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

147 lines (146 loc) 3.81 kB
import { DateLocaleData } from '../components/calcite-date-picker/utils'; export interface HoverRange { focused: "end" | "start"; start: Date; end: Date; } /** * Check if date is within a min and max * * @param date * @param min * @param max */ export declare function inRange(date: Date, min?: Date | string, max?: Date | string): boolean; /** * Ensures date is within range, * returns min or max if out of bounds * * @param date * @param min * @param max */ export declare function dateFromRange(date?: any, min?: Date | string, max?: Date | string): Date | null; /** * Parse an iso8601 string (YYYY-mm-dd) into a valid date. * TODO: handle time when time of day UI is added * * @param iso8601 * @param isEndDate */ export declare function dateFromISO(iso8601: string | Date, isEndDate?: boolean): Date | null; /** * Parse a localized date string into a valid Date. * return false if date is invalid, or out of range * * @param value * @param localeData */ export declare function dateFromLocalizedString(value: string, localeData: DateLocaleData): Date; export declare function parseCalendarYear(year: number, localeData: DateLocaleData): number; export declare function formatCalendarYear(year: number, localeData: DateLocaleData): number; /** * Retrieve day, month, and year strings from a localized string * * @param string * @param localeData */ export declare function datePartsFromLocalizedString(string: string, localeData: DateLocaleData): { day: string; month: string; year: string; }; /** * Return the date portion in local time of a Date object in ISO 8601 format (YYYY-MM-DD) * * @param date */ export declare function dateToISO(date?: Date): string; /** * Retrieve day, month, and year strings from a ISO string (YYYY-mm-dd) * * @param string * @param isoDate */ export declare function datePartsFromISO(isoDate: string): { day: string; month: string; year: string; }; /** * Check if two dates are the same day, month, year * * @param d1 * @param d2 */ export declare function sameDate(d1: Date, d2: Date): boolean; /** * Get a date one month in the past * * @param date */ export declare function prevMonth(date: Date): Date; /** * Get active date in a given month. * * @param date * @param month */ export declare function getDateInMonth(date: Date, month: number): Date; /** * Get First Valid date in a month. * * @param date * @param min * @param max */ export declare function getFirstValidDateInMonth(date: Date, min: Date, max: Date): Date; /** * Get a date one month in the future * * @param date */ export declare function nextMonth(date: Date): Date; /** * Parse numeric units for day, month, and year from a localized string * month starts at 0 (can pass to date constructor) * can return values as number or string * * @param string * @param localeData */ export declare function parseDateString(string: string, localeData: DateLocaleData): { day: number; month: number; year: number; }; type unitOrderSignifier = "m" | "d" | "y"; /** * Based on the unitOrder string, find order of month, day, and year for locale * * @param unitOrder */ export declare function getOrder(unitOrder: string): unitOrderSignifier[]; /** * Get number of days between two dates * * @param date1 * @param date2 */ export declare function getDaysDiff(date1: Date, date2: Date): number; /** * Set time of the day to the end. * * @param {Date} date Date. * @returns {Date} Date with time set to end of day . */ export declare function setEndOfDay(date: Date): Date; /** * Returns true if two dates have same month and year. * * @param date1 * @param date2 * @returns {boolean} */ export declare function hasSameMonthAndYear(date1: Date, date2: Date): boolean; export {};