UNPKG

@webilix/ngx-calendar-m3

Version:

Jalali calendar components for Angular and Material 3

370 lines (357 loc) 13.3 kB
import * as i0 from '@angular/core'; import { OnInit, OnChanges, EventEmitter, SimpleChanges } from '@angular/core'; import { JalaliDateTimeCalendar, JalaliDateTimePeriod } from '@webilix/jalali-date-time'; import { ActivatedRoute, Router } from '@angular/router'; import { NgxHelperContainerService } from '@webilix/ngx-helper-m3'; type NgxCalendar = 'DATE' | 'WEEK' | 'MONTH' | 'YEAR' | 'PERIOD'; interface INgxCalendar { readonly calendar: NgxCalendar; readonly period: { readonly from: Date; readonly to: Date; }; readonly title: string; } interface INgxCalendarMoment { readonly moment: Date; readonly title: string; readonly jalali: string; } interface INgxCalendarDate { readonly date: Date; readonly title: string; readonly jalali: string; } interface INgxCalendarWeek { readonly period: { readonly from: Date; readonly to: Date; }; readonly title: string; } interface INgxCalendarMonth { readonly period: { readonly from: Date; readonly to: Date; }; readonly title: string; readonly jalali: string; } interface INgxCalendarYear { readonly period: { readonly from: Date; readonly to: Date; }; readonly year: number; } declare class NgxCalendarDateComponent implements OnInit, OnChanges { private className; value?: Date; minDate?: 'NOW' | Date; maxDate?: 'NOW' | Date; onChange: EventEmitter<INgxCalendarDate>; view: 'CALENDAR' | 'MONTH'; values: { today: string; selected: string; minDate: string; maxDate: string; }; calendar: JalaliDateTimeCalendar; year: number; years: number[]; seasons: { title: string; month: string; }[][]; private jalali; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; formatDate(date: Date): string; initValues(): void; changeMonth(change: number): void; setDate(value: string): void; toggleView(): void; changeYear(year?: number): void; setMonth(month: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarDateComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarDateComponent, "ngx-calendar-date", never, { "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>; } declare class NgxCalendarMomentComponent implements OnInit, OnChanges { private className; value?: Date; minDate?: 'NOW' | Date; maxDate?: 'NOW' | Date; onChange: EventEmitter<INgxCalendarMoment>; canSubmit: boolean; dateString: string; hour: string; hours: string[]; minute: string; minutes: string[]; private jalali; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; formatDate(date: Date): string; getMinMax(): { minDate: Date | undefined; maxDate: Date | undefined; }; initValues(): void; updateValue(): void; setDate(date: INgxCalendarDate): void; checkHour(hour: string): boolean; setHour(hour: string): void; checkMinute(minute: string): boolean; setMinute(minute: string): void; onSubmit(): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarMomentComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarMomentComponent, "ngx-calendar-moment", never, { "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>; } declare class NgxCalendarWeekComponent implements OnInit, OnChanges { private className; value?: Date | { from: Date; to: Date; }; minDate?: 'NOW' | Date; maxDate?: 'NOW' | Date; onChange: EventEmitter<INgxCalendarWeek>; view: 'CALENDAR' | 'MONTH'; values: { today: string; selected: string; minDate: string; maxDate: string; }; calendar: JalaliDateTimeCalendar; year: number; years: number[]; seasons: { title: string; month: string; }[][]; private jalali; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; formatDate(date: Date): string; initValues(): void; changeMonth(change: number): void; setDate(value: string): void; toggleView(): void; changeYear(year?: number): void; setMonth(month: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarWeekComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarWeekComponent, "ngx-calendar-week", never, { "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>; } declare class NgxCalendarMonthComponent implements OnInit, OnChanges { private className; value?: Date | { from: Date; to: Date; }; minDate?: 'NOW' | Date; maxDate?: 'NOW' | Date; onChange: EventEmitter<INgxCalendarMonth>; values: { today: string; selected: string; minDate: string; maxDate: string; }; year: number; years: number[]; seasons: { title: string; month: string; }[][]; private jalali; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; initValues(): void; changeYear(year?: number): void; setMonth(value: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarMonthComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarMonthComponent, "ngx-calendar-month", never, { "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>; } declare class NgxCalendarYearComponent implements OnInit, OnChanges { private className; value?: Date | { from: Date; to: Date; }; minDate?: 'NOW' | Date; maxDate?: 'NOW' | Date; onChange: EventEmitter<INgxCalendarYear>; values: { today: string; selected: string; minDate: string; maxDate: string; }; years: number[]; private jalali; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; initValues(): void; changeYear(year: number): void; setYear(value: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarYearComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarYearComponent, "ngx-calendar-year", never, { "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>; } interface IContainer { readonly value?: { readonly from: Date; readonly to: Date; }; readonly minDate?: 'NOW' | Date; readonly maxDate?: 'NOW' | Date; } interface ICalendar { readonly title: string; readonly value: Date; readonly minDate: 'NOW' | Date; readonly maxDate: 'NOW' | Date; } interface ICalendarMoment extends ICalendar { } interface ICalendarDate extends ICalendar { } interface ICalendarWeek extends Omit<ICalendar, 'value'> { readonly value: Date | { readonly from: Date; readonly to: Date; }; } interface ICalendarMonth extends Omit<ICalendar, 'value'> { readonly value: Date | { readonly from: Date; readonly to: Date; }; } interface ICalendarYear extends Omit<ICalendar, 'value'> { readonly value: Date | { readonly from: Date; readonly to: Date; }; } declare class NgxCalendarClass<R> { private readonly calendar; private readonly container; private readonly ngxHelperContainerService; private readonly title?; constructor(calendar: NgxCalendar | 'MOMENT', container: IContainer, ngxHelperContainerService: NgxHelperContainerService, title?: string | undefined); private getTitle; dialog(onResponse: (response: R) => void): void; dialog(onResponse: (response: R) => void, onDismiss: () => void): void; bottomSheet(onResponse: (response: R) => void): void; bottomSheet(onResponse: (response: R) => void, onDismiss: () => void): void; } declare class NgxCalendarService { private readonly ngxHelperContainerService; constructor(ngxHelperContainerService: NgxHelperContainerService); getDate(): NgxCalendarClass<INgxCalendarDate>; getDate(options: Partial<ICalendarDate>): NgxCalendarClass<INgxCalendarDate>; getMoment(): NgxCalendarClass<INgxCalendarMoment>; getMoment(options: Partial<ICalendarMoment>): NgxCalendarClass<INgxCalendarMoment>; getWeek(): NgxCalendarClass<INgxCalendarWeek>; getWeek(options: Partial<ICalendarWeek>): NgxCalendarClass<INgxCalendarWeek>; getMonth(): NgxCalendarClass<INgxCalendarMonth>; getMonth(options: Partial<ICalendarMonth>): NgxCalendarClass<INgxCalendarMonth>; getYear(): NgxCalendarClass<INgxCalendarYear>; getYear(options: Partial<ICalendarYear>): NgxCalendarClass<INgxCalendarYear>; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NgxCalendarService>; } declare class NgxCalendarComponent implements OnInit { private readonly activatedRoute; private readonly router; private readonly ngxCalendarService; private className; cssWidth: string; cssHeight: string; calendars: NgxCalendar[]; minDate?: 'NOW' | Date; maxDate?: 'NOW' | Date; width?: string; height: string; route: string[]; container: 'DIALOG' | 'BOTTONSHEET'; onChanged: EventEmitter<INgxCalendar>; calendar: NgxCalendar; calendarTitle: string; periodTitle: string | [string, string]; from: Date; to: Date; previous: { active: boolean; date: Date; }; next: { active: boolean; date: Date; }; private jalali; list: NgxCalendar[]; calendarsList: { [key in NgxCalendar]: { title: string; icon: string; method: (v: number, d?: Date, t?: string) => JalaliDateTimePeriod; }; }; constructor(activatedRoute: ActivatedRoute, router: Router, ngxCalendarService: NgxCalendarService); ngOnInit(): void; getMinMax(): { minDate: Date | undefined; maxDate: Date | undefined; }; updateView(): void; setCalendar(calendar: NgxCalendar, from?: Date, to?: Date): void; setPrevious(): void; setNext(): void; getDate(): void; getWeek(): void; getMonth(): void; getYear(): void; getPeriodFrom(): void; getPeriodTo(): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarComponent, "ngx-calendar", never, { "calendars": { "alias": "calendars"; "required": true; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "route": { "alias": "route"; "required": false; }; "container": { "alias": "container"; "required": false; }; }, { "onChanged": "onChanged"; }, never, never, true, never>; } interface INgxCalendarDay { readonly day: string; readonly title: string; } declare class NgxCalendarDayComponent implements OnInit { private readonly activatedRoute; private readonly router; private className; cssWidth: string; cssHeight: string; width?: string; height: string; route: string[]; onChanged: EventEmitter<INgxCalendarDay>; day: string; title: string; view?: 'MONTH' | 'DAY'; selected?: { month: number; title: string; }; months: string[][]; days: (number | null)[][]; private jalali; constructor(activatedRoute: ActivatedRoute, router: Router); ngOnInit(): void; updateView(): void; setPrevious(): void; setNext(): void; setMonth(month: number): void; setDay(day: number | null): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarDayComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarDayComponent, "ngx-calendar-day", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "route": { "alias": "route"; "required": false; }; }, { "onChanged": "onChanged"; }, never, never, true, never>; } export { NgxCalendarComponent, NgxCalendarDateComponent, NgxCalendarDayComponent, NgxCalendarMomentComponent, NgxCalendarMonthComponent, NgxCalendarService, NgxCalendarWeekComponent, NgxCalendarYearComponent }; export type { INgxCalendar, INgxCalendarDate, INgxCalendarDay, INgxCalendarMoment, INgxCalendarMonth, INgxCalendarWeek, INgxCalendarYear, NgxCalendar };