@qeydar/datepicker
Version:
A comprehensive Date and Time Picker for Angular with Jalali calendar support
133 lines (132 loc) • 6 kB
TypeScript
import { InjectionToken, Provider } from '@angular/core';
import { CalendarType } from './utils/types';
import * as i0 from "@angular/core";
export interface DateAdapter<D> {
today(): D;
parse(value: any, formatString: string): D | null;
format(date: D, formatString: string): string;
addDays(date: D, amount: number): D;
addMonths(date: D, amount: number): D;
addYears(date: D, amount: number): D;
addHours(date: D, amount: number): D;
getYear(date: D): number | null;
getMonth(date: D): number | null;
getDate(date: D): number | null;
getDayOfWeek(date: D): number;
getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
getDateNames(): string[];
getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
getFirstDayOfWeek(): number;
getNumDaysInMonth(date: D): number;
clone(date: D): D;
createDate(year: number, month: number, date: number): D;
isSameDay(date1: D, date2: D): boolean;
isSameMonth(date1: D, date2: D): boolean;
isSameYear(date1: D, date2: D): boolean;
isAfter(date1: D, date2: D): boolean;
isBefore(date1: D, date2: D): boolean;
isEqual(date1: D, date2: D): boolean;
startOfMonth(date: D): D;
endOfMonth(date: D): D;
startOfWeek(date: D): D;
isValidFormat(dateString: string, formatString: string): boolean;
max(dates: D[]): D;
setYear(date: D, year: number): D;
startOfDay(date: D): D;
getHours(date: D): number | null;
getMinutes(date: D): number | null;
getSeconds(date: D): number | null;
setHours(date: D, hours: number): D;
setMinutes(date: D, minutes: number): D;
setSeconds(date: D, seconds: number): D;
getDaysInMonth(date: D): number;
addMinutes(date: D, amount: number): D;
}
export declare const DATE_ADAPTER: InjectionToken<DateAdapter<Date>>;
export declare function provideDateAdapter(calendarType: CalendarType): Provider;
export declare class JalaliDateAdapter implements DateAdapter<Date> {
today(): Date;
parse(value: any, formatString: string): Date | null;
format(date: Date, formatString: string): string;
addDays(date: Date, amount: number): Date;
addMonths(date: Date, amount: number): Date;
addYears(date: Date, amount: number): Date;
addHours(date: Date, amount: number): Date;
getYear(date: Date): number | null;
getMonth(date: Date): number | null;
getDate(date: Date): number | null;
getDayOfWeek(date: Date): number;
getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
getDateNames(): string[];
getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
getFirstDayOfWeek(): number;
getNumDaysInMonth(date: Date): number;
clone(date: Date): Date;
createDate(year: number, month: number, date: number): Date;
isSameDay(date1: Date, date2: Date): boolean;
isSameMonth(date1: Date, date2: Date): boolean;
isSameYear(date1: Date, date2: Date): boolean;
isAfter(date1: Date, date2: Date): boolean;
isBefore(date1: Date, date2: Date): boolean;
isEqual(date1: Date, date2: Date): boolean;
startOfMonth(date: Date): Date;
endOfMonth(date: Date): Date;
startOfWeek(date: Date): Date;
isValidFormat(dateString: string, formatString: string): boolean;
max(dates: Date[]): Date;
setYear(date: Date, year: number): Date;
startOfDay(date: Date): Date;
getHours(date: Date): number | null;
getMinutes(date: Date): number | null;
getSeconds(date: Date): number | null;
setHours(date: Date, hours: number): Date;
setMinutes(date: Date, minutes: number): Date;
setSeconds(date: Date, seconds: number): Date;
getDaysInMonth(date: Date): number;
addMinutes(date: Date, amount: number): Date;
static ɵfac: i0.ɵɵFactoryDeclaration<JalaliDateAdapter, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<JalaliDateAdapter>;
}
export declare class GregorianDateAdapter implements DateAdapter<Date> {
today(): Date;
parse(value: any, formatString: string): Date | null;
format(date: Date, formatString: string): string;
addDays(date: Date, amount: number): Date;
addMonths(date: Date, amount: number): Date;
addYears(date: Date, amount: number): Date;
addHours(date: Date, amount: number): Date;
getYear(date: Date): number;
getMonth(date: Date): number;
getDate(date: Date): number;
getDayOfWeek(date: Date): number;
getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
getDateNames(): string[];
getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
getFirstDayOfWeek(): number;
getNumDaysInMonth(date: Date): number;
clone(date: Date): Date;
createDate(year: number, month: number, date: number): Date;
isSameDay(date1: Date, date2: Date): boolean;
isSameMonth(date1: Date, date2: Date): boolean;
isSameYear(date1: Date, date2: Date): boolean;
isAfter(date1: Date, date2: Date): boolean;
isBefore(date1: Date, date2: Date): boolean;
isEqual(date1: Date, date2: Date): boolean;
startOfMonth(date: Date): Date;
endOfMonth(date: Date): Date;
startOfWeek(date: Date): Date;
isValidFormat(dateString: string, formatString: string): boolean;
max(dates: Date[]): Date;
setYear(date: Date, year: number): Date;
startOfDay(date: Date): Date;
getHours(date: Date): number | null;
getMinutes(date: Date): number | null;
getSeconds(date: Date): number | null;
setHours(date: Date, hours: number): Date;
setMinutes(date: Date, minutes: number): Date;
setSeconds(date: Date, seconds: number): Date;
getDaysInMonth(date: Date): number;
addMinutes(date: Date, amount: number): Date;
static ɵfac: i0.ɵɵFactoryDeclaration<GregorianDateAdapter, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<GregorianDateAdapter>;
}