ng-mo-date-picker 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,150 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class HijriConverterService {
4
+ gregorianToHijri(date: Date): {
5
+ year: number;
6
+ month: number;
7
+ day: number;
8
+ };
9
+ hijriToGregorian(year: number, month: number, day: number): Date;
10
+ getMonthName(month: number): string;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HijriConverterService, never>;
12
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<HijriConverterService>;
13
+ }
14
+
15
+ interface DatePickerOutput {
16
+ gregorianDate: Date;
17
+ gregorianFormatted: string;
18
+ hijriDate: {
19
+ year: number;
20
+ month: number;
21
+ monthName: string;
22
+ day: number;
23
+ };
24
+ hijriFormatted: string;
25
+ calendarType: 'gregorian' | 'hijri';
26
+ locale: 'ar' | 'en';
27
+ }
28
+
29
+ declare class NgMoDatePicker {
30
+ calendarType: _angular_core.InputSignal<"gregorian" | "hijri">;
31
+ locale: _angular_core.InputSignal<"ar" | "en">;
32
+ showIcon: _angular_core.InputSignal<boolean>;
33
+ customIcon: _angular_core.InputSignal<string>;
34
+ inputClass: _angular_core.InputSignal<string>;
35
+ calendarClass: _angular_core.InputSignal<string>;
36
+ disabled: _angular_core.InputSignal<boolean>;
37
+ readonly: _angular_core.InputSignal<boolean>;
38
+ placeholder: _angular_core.InputSignal<string | undefined>;
39
+ name: _angular_core.InputSignal<string | undefined>;
40
+ id: _angular_core.InputSignal<string | undefined>;
41
+ dateChange: _angular_core.OutputEmitterRef<DatePickerOutput | null>;
42
+ calendarToggle: _angular_core.OutputEmitterRef<boolean>;
43
+ private hijriService;
44
+ internalCalendarType: _angular_core.WritableSignal<"gregorian" | "hijri">;
45
+ selectedDate: _angular_core.WritableSignal<Date | null>;
46
+ isOpen: _angular_core.WritableSignal<boolean>;
47
+ currentMonth: _angular_core.WritableSignal<number>;
48
+ currentYear: _angular_core.WritableSignal<number>;
49
+ currentHijriMonth: _angular_core.WritableSignal<number>;
50
+ currentHijriYear: _angular_core.WritableSignal<number>;
51
+ days: _angular_core.WritableSignal<{
52
+ date: Date | null;
53
+ day: number | null;
54
+ isEmpty: boolean;
55
+ }[]>;
56
+ translations: _angular_core.Signal<{
57
+ readonly gregorianMonths: readonly ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
58
+ readonly hijriMonths: readonly ["محرم", "صفر", "ربيع الأول", "ربيع الآخر", "جمادى الأولى", "جمادى الآخرة", "رجب", "شعبان", "رمضان", "شوال", "ذو القعدة", "ذو الحجة"];
59
+ readonly days: readonly ["ح", "ن", "ث", "ر", "خ", "ج", "س"];
60
+ readonly today: "اليوم";
61
+ readonly clear: "مسح";
62
+ readonly gregorian: "ميلادي";
63
+ readonly hijri: "هجري";
64
+ readonly placeholder: "اختر تاريخ";
65
+ } | {
66
+ readonly gregorianMonths: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
67
+ readonly hijriMonths: readonly ["Muharram", "Safar", "Rabi al-Awwal", "Rabi al-Thani", "Jumada al-Awwal", "Jumada al-Thani", "Rajab", "Shaban", "Ramadan", "Shawwal", "Dhu al-Qadah", "Dhu al-Hijjah"];
68
+ readonly days: readonly ["S", "M", "T", "W", "T", "F", "S"];
69
+ readonly today: "Today";
70
+ readonly clear: "Clear";
71
+ readonly gregorian: "Gregorian";
72
+ readonly hijri: "Hijri";
73
+ readonly placeholder: "Select date";
74
+ }>;
75
+ daysShortNames: _angular_core.Signal<readonly ["ح", "ن", "ث", "ر", "خ", "ج", "س"] | readonly ["S", "M", "T", "W", "T", "F", "S"]>;
76
+ monthName: _angular_core.Signal<"محرم" | "صفر" | "ربيع الأول" | "ربيع الآخر" | "جمادى الأولى" | "جمادى الآخرة" | "رجب" | "شعبان" | "رمضان" | "شوال" | "ذو القعدة" | "ذو الحجة" | "يناير" | "فبراير" | "مارس" | "أبريل" | "مايو" | "يونيو" | "يوليو" | "أغسطس" | "سبتمبر" | "أكتوبر" | "نوفمبر" | "ديسمبر" | "January" | "February" | "March" | "April" | "May" | "June" | "July" | "August" | "September" | "October" | "November" | "December" | "Muharram" | "Safar" | "Rabi al-Awwal" | "Rabi al-Thani" | "Jumada al-Awwal" | "Jumada al-Thani" | "Rajab" | "Shaban" | "Ramadan" | "Shawwal" | "Dhu al-Qadah" | "Dhu al-Hijjah">;
77
+ currentYearDisplay: _angular_core.Signal<number>;
78
+ formattedDate: _angular_core.Signal<string>;
79
+ placeholderText: _angular_core.Signal<string>;
80
+ wrapperCssClasses: _angular_core.Signal<{
81
+ 'mo-datepicker-wrapper': boolean;
82
+ rtl: boolean;
83
+ ltr: boolean;
84
+ }>;
85
+ inputCssClasses: _angular_core.Signal<{
86
+ [x: string]: boolean;
87
+ 'mo-input': boolean;
88
+ rtl: boolean;
89
+ ltr: boolean;
90
+ }>;
91
+ iconBtnCssClasses: _angular_core.Signal<{
92
+ 'mo-icon-btn': boolean;
93
+ rtl: boolean;
94
+ ltr: boolean;
95
+ }>;
96
+ calendarCssClasses: _angular_core.Signal<{
97
+ [x: string]: boolean;
98
+ 'mo-calendar': boolean;
99
+ rtl: boolean;
100
+ ltr: boolean;
101
+ }>;
102
+ private selectedDateTimestamp;
103
+ private readonly todayTimestamp;
104
+ private onChange;
105
+ private onTouched;
106
+ writeValue(value: Date | null): void;
107
+ registerOnChange(fn: any): void;
108
+ registerOnTouched(fn: any): void;
109
+ constructor();
110
+ generateCalendar(): void;
111
+ private generateGregorianCalendar;
112
+ private generateHijriCalendar;
113
+ previousMonth(): void;
114
+ nextMonth(): void;
115
+ selectDate(day: {
116
+ date: Date | null;
117
+ day: number | null;
118
+ isEmpty: boolean;
119
+ }): void;
120
+ selectToday(): void;
121
+ clearDate(): void;
122
+ toggleCalendar(): void;
123
+ setCalendarType(type: 'gregorian' | 'hijri'): void;
124
+ onClickOutside(): void;
125
+ isSelected(day: {
126
+ date: Date | null;
127
+ day: number | null;
128
+ isEmpty: boolean;
129
+ }): boolean;
130
+ isToday(day: {
131
+ date: Date | null;
132
+ day: number | null;
133
+ isEmpty: boolean;
134
+ }): boolean;
135
+ private formatGregorianDate;
136
+ private formatHijriDate;
137
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgMoDatePicker, never>;
138
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgMoDatePicker, "ng-mo-date-picker", never, { "calendarType": { "alias": "calendarType"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "customIcon": { "alias": "customIcon"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; "calendarClass": { "alias": "calendarClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; "calendarToggle": "calendarToggle"; }, never, never, true, never>;
139
+ }
140
+
141
+ declare class ClickOutside {
142
+ clickOutside: _angular_core.OutputEmitterRef<void>;
143
+ private elementRef;
144
+ onClick(event: MouseEvent): void;
145
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClickOutside, never>;
146
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClickOutside, "[moClickOutside]", never, {}, { "clickOutside": "clickOutside"; }, never, never, true, never>;
147
+ }
148
+
149
+ export { ClickOutside, HijriConverterService, NgMoDatePicker };
150
+ export type { DatePickerOutput };