app-datepicker
Version:
Google Material Design based date picker built with lit
40 lines • 1.85 kB
TypeScript
import type { Calendar, CalendarInit, CalendarWeekday } from 'nodemod/dist/calendar/typings.js';
import type { ElementMixinProperties } from '../mixins/typings.js';
import type { CustomEventDetail, DatePickerProperties, Formatters, SupportedKey } from '../typings.js';
import type { OmitKey } from '../utility-typings.js';
export interface DateValidatorResult {
date: Date;
isValid: boolean;
}
export type MaybeDate = Date | null | number | string;
export interface MultiCalendars extends Omit<Calendar, 'calendar'> {
calendars: Pick<Calendar, 'calendar' | 'key'>[];
weekdays: CalendarWeekday[];
}
export interface SlotDatePickerInit extends OmitKey<DatePickerProperties, keyof ElementMixinProperties> {
onDatePickerDateUpdated(event: CustomEvent<CustomEventDetail['date-updated']['detail']>): Promise<void> | void;
onDatePickerFirstUpdated(event: CustomEvent<CustomEventDetail['first-updated']['detail']>): Promise<void> | void;
}
export interface ToMultiCalendarsInit extends Pick<Formatters, 'dayFormat' | 'fullDateFormat' | 'longWeekdayFormat' | 'narrowWeekdayFormat'>, Partial<Pick<DatePickerProperties, 'firstDayOfWeek' | 'showWeekNumber' | 'weekLabel' | 'weekNumberType'>>, Pick<DatePickerProperties, 'locale'>, Pick<CalendarInit, 'disabledDates' | 'disabledDays' | 'max' | 'min'> {
count?: number;
currentDate: CalendarInit['date'];
}
export interface ToNextSelectableDateInit {
date: Date;
disabledDatesSet: Set<number>;
disabledDaysSet: Set<number>;
key: SupportedKey;
maxTime: number;
minTime: number;
}
export interface ToNextSelectedDateInit {
currentDate: Date;
date: Date;
disabledDatesSet: Set<number>;
disabledDaysSet: Set<number>;
hasAltKey: boolean;
key: SupportedKey;
maxTime: number;
minTime: number;
}
//# sourceMappingURL=typings.d.ts.map