UNPKG

vue-persian-calendar-datepicker

Version:

A Vue 3 Persian calendar and datepicker with official Iranian holidays, Jalali, Hijri, and Gregorian date support.

183 lines (182 loc) 5.36 kB
interface CalendarDay { day: number; display: string; title: string; isToday: boolean; isSelected: boolean; isFriday: boolean; isHoliday: boolean; isDisabled: boolean; weekDay: number; events?: { persianEvents: string[]; hijriEvents: string[]; }; } interface ColorScheme { background?: string; text?: string; navButton?: string; navButtonHover?: string; dayNameBg?: string; dayNameText?: string; dayBg?: string; dayText?: string; dayHover?: string; todayBg?: string; todayText?: string; selectedBg?: string; selectedText?: string; fridayBg?: string; fridayText?: string; infoBg?: string; infoText?: string; border?: string; disabledOpacity?: number; } interface Props { from?: number[]; to?: number[]; showInfo?: boolean; showEvents?: boolean; fontFamily?: string; defaultDate?: number[] | string | null; showOccasions?: boolean; theme?: 'light' | 'dark' | 'auto'; lightColors?: ColorScheme; darkColors?: ColorScheme; } declare function __VLS_template(): { attrs: Partial<{}>; slots: { header?(_: { selectedDay: number[]; persianMonthName: (month: number) => string; handleNextYear: () => void; handlePrevYear: () => void; handleNextMonth: () => void; handlePrevMonth: () => void; }): any; 'year-selector'?(_: { year: number; handleNextYear: () => void; handlePrevYear: () => void; }): any; 'next-year-icon'?(_: {}): any; 'year-display'?(_: { year: number; }): any; 'prev-year-icon'?(_: {}): any; 'month-selector'?(_: { month: number; monthName: string; handleNextMonth: () => void; handlePrevMonth: () => void; }): any; 'next-month-icon'?(_: {}): any; 'month-display'?(_: { month: number; monthName: string; }): any; 'prev-month-icon'?(_: {}): any; 'day-names'?(_: { dayNames: string[]; }): any; 'day-name'?(_: { day: string; index: number; }): any; 'calendar-grid'?(_: { calendarDays: CalendarDay[]; selectDay: (day: CalendarDay) => void; getDayClasses: (day: CalendarDay) => { 'calendar-day': boolean; today: boolean; selected: boolean; friday: boolean; holiday: boolean; disabled: boolean; 'has-event': boolean | undefined; }; }): any; 'day-cell'?(_: { day: CalendarDay; index: number; }): any; 'day-info'?(_: { persianInfo: string; hijriInfo: string; gregorianInfo: string; selectedDay: number[]; }): any; 'persian-info'?(_: { info: string; }): any; 'hijri-info'?(_: { info: string; }): any; 'gregorian-info'?(_: { info: string; }): any; events?(_: { events: { persianEvents: string[]; hijriEvents: string[]; officialWorldEvents: string[]; unofficialWorldEvents: string[]; }; }): any; 'persian-events'?(_: { events: string[]; }): any; 'persian-event'?(_: { event: string; index: number; }): any; 'hijri-events'?(_: { events: string[]; }): any; 'hijri-event'?(_: { event: string; index: number; }): any; footer?(_: { selectedDay: number[]; currentEvents: { persianEvents: string[]; hijriEvents: string[]; officialWorldEvents: string[]; unofficialWorldEvents: string[]; }; }): any; }; refs: {}; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType<typeof __VLS_template>; declare const __VLS_component: import('vue').DefineComponent<Props, { setDate: (date: number[] | string | null) => void; setDateFromGregorian: (gregorianDate: number[] | string) => void; getSelectedDate: () => number[]; goToToday: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { "select-date": (date: any) => any; "update-today": () => any; }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{ "onSelect-date"?: ((date: any) => any) | undefined; "onUpdate-today"?: (() => any) | undefined; }>, { showInfo: boolean; showEvents: boolean; fontFamily: string; defaultDate: number[] | string | null; showOccasions: boolean; theme: "light" | "dark" | "auto"; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };