ngx-kit 5.0.0 → 6.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.
- package/README.md +3 -2
- package/angle-selector/README.md +34 -0
- package/box-shadow/README.md +33 -0
- package/color-picker/README.md +52 -0
- package/data-table/README.md +120 -0
- package/date-picker/README.md +74 -0
- package/dialog/README.md +94 -169
- package/drawer-menu/README.md +76 -0
- package/dropzone/README.md +59 -0
- package/fesm2022/ngx-kit-angle-selector.mjs +2 -2
- package/fesm2022/ngx-kit-angle-selector.mjs.map +1 -1
- package/fesm2022/ngx-kit-box-shadow.mjs +28 -27
- package/fesm2022/ngx-kit-box-shadow.mjs.map +1 -1
- package/fesm2022/ngx-kit-color-picker.mjs +173 -43
- package/fesm2022/ngx-kit-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-data-table.mjs +9 -2
- package/fesm2022/ngx-kit-data-table.mjs.map +1 -1
- package/fesm2022/ngx-kit-date-picker.mjs +120 -86
- package/fesm2022/ngx-kit-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-dialog.mjs +38 -7
- package/fesm2022/ngx-kit-dialog.mjs.map +1 -1
- package/fesm2022/ngx-kit-drawer-menu.mjs +190 -0
- package/fesm2022/ngx-kit-drawer-menu.mjs.map +1 -0
- package/fesm2022/ngx-kit-dropzone.mjs +272 -0
- package/fesm2022/ngx-kit-dropzone.mjs.map +1 -0
- package/fesm2022/ngx-kit-form-field.mjs +87 -0
- package/fesm2022/ngx-kit-form-field.mjs.map +1 -0
- package/fesm2022/ngx-kit-gallery.mjs +419 -0
- package/fesm2022/ngx-kit-gallery.mjs.map +1 -0
- package/fesm2022/ngx-kit-gradient-picker.mjs +12 -4
- package/fesm2022/ngx-kit-gradient-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-image-editor.mjs +501 -0
- package/fesm2022/ngx-kit-image-editor.mjs.map +1 -0
- package/fesm2022/ngx-kit-menu.mjs +9 -4
- package/fesm2022/ngx-kit-menu.mjs.map +1 -1
- package/fesm2022/ngx-kit-message.mjs +50 -24
- package/fesm2022/ngx-kit-message.mjs.map +1 -1
- package/fesm2022/ngx-kit-notify.mjs +1 -4
- package/fesm2022/ngx-kit-notify.mjs.map +1 -1
- package/fesm2022/ngx-kit-shared.mjs +126 -83
- package/fesm2022/ngx-kit-shared.mjs.map +1 -1
- package/fesm2022/ngx-kit-time-picker.mjs +562 -0
- package/fesm2022/ngx-kit-time-picker.mjs.map +1 -0
- package/fesm2022/ngx-kit.mjs.map +1 -1
- package/gallery/README.md +71 -0
- package/gradient-picker/README.md +41 -0
- package/image-editor/README.md +44 -0
- package/menu/README.md +85 -0
- package/message/README.md +70 -0
- package/notify/README.md +56 -0
- package/package.json +25 -1
- package/shared/README.md +117 -0
- package/styles/all.css +27 -0
- package/styles/image-viewer.css +12 -0
- package/types/ngx-kit-box-shadow.d.ts +1 -2
- package/types/ngx-kit-data-table.d.ts +1 -0
- package/types/ngx-kit-date-picker.d.ts +1 -1
- package/types/ngx-kit-dialog.d.ts +1 -0
- package/types/ngx-kit-drawer-menu.d.ts +101 -0
- package/types/ngx-kit-dropzone.d.ts +84 -0
- package/types/ngx-kit-form-field.d.ts +31 -0
- package/types/ngx-kit-gallery.d.ts +168 -0
- package/types/ngx-kit-image-editor.d.ts +175 -0
- package/types/ngx-kit-menu.d.ts +1 -0
- package/types/ngx-kit-message.d.ts +13 -3
- package/types/ngx-kit-notify.d.ts +0 -1
- package/types/ngx-kit-shared.d.ts +44 -13
- package/types/ngx-kit-time-picker.d.ts +150 -0
|
@@ -330,14 +330,15 @@ class GregorianAdapter {
|
|
|
330
330
|
var Jalali;
|
|
331
331
|
(function (Jalali) {
|
|
332
332
|
/*
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
Jalali.breaks = [
|
|
336
|
-
1635, 2060, 2097, 2192, 2262, 2324, 2394,
|
|
333
|
+
Jalaali years starting the 33-year rule.
|
|
334
|
+
*/
|
|
335
|
+
Jalali.breaks = [
|
|
336
|
+
-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394,
|
|
337
|
+
2456, 3178,
|
|
337
338
|
];
|
|
338
339
|
/*
|
|
339
|
-
|
|
340
|
-
|
|
340
|
+
Converts a Gregorian date to Jalaali.
|
|
341
|
+
*/
|
|
341
342
|
function toJalaali(date) {
|
|
342
343
|
// if (Object.prototype.toString.call(date) === '[object Date]') {
|
|
343
344
|
let gd = date.getDate();
|
|
@@ -349,31 +350,29 @@ var Jalali;
|
|
|
349
350
|
}
|
|
350
351
|
Jalali.toJalaali = toJalaali;
|
|
351
352
|
/*
|
|
352
|
-
|
|
353
|
-
|
|
353
|
+
Converts a Jalaali date to Gregorian.
|
|
354
|
+
*/
|
|
354
355
|
function toGregorian(jy, jm, jd) {
|
|
355
356
|
return d2g(j2d(jy, jm, jd));
|
|
356
357
|
}
|
|
357
358
|
Jalali.toGregorian = toGregorian;
|
|
358
359
|
/*
|
|
359
|
-
|
|
360
|
-
|
|
360
|
+
Checks whether a Jalaali date is valid or not.
|
|
361
|
+
*/
|
|
361
362
|
function isValidJalaaliDate(jy, jm, jd) {
|
|
362
|
-
return jy >= -61 && jy <= 3177 &&
|
|
363
|
-
jm >= 1 && jm <= 12 &&
|
|
364
|
-
jd >= 1 && jd <= jalaaliMonthLength(jy, jm);
|
|
363
|
+
return (jy >= -61 && jy <= 3177 && jm >= 1 && jm <= 12 && jd >= 1 && jd <= jalaaliMonthLength(jy, jm));
|
|
365
364
|
}
|
|
366
365
|
Jalali.isValidJalaaliDate = isValidJalaaliDate;
|
|
367
366
|
/*
|
|
368
|
-
|
|
369
|
-
|
|
367
|
+
Is this a leap year or not?
|
|
368
|
+
*/
|
|
370
369
|
function isLeapJalaaliYear(jy) {
|
|
371
370
|
return jalCalLeap(jy) === 0;
|
|
372
371
|
}
|
|
373
372
|
Jalali.isLeapJalaaliYear = isLeapJalaaliYear;
|
|
374
373
|
/*
|
|
375
|
-
|
|
376
|
-
|
|
374
|
+
Number of days in a given month in a Jalaali year.
|
|
375
|
+
*/
|
|
377
376
|
function jalaaliMonthLength(jy, jm) {
|
|
378
377
|
if (jm <= 6)
|
|
379
378
|
return 31;
|
|
@@ -385,11 +384,11 @@ var Jalali;
|
|
|
385
384
|
}
|
|
386
385
|
Jalali.jalaaliMonthLength = jalaaliMonthLength;
|
|
387
386
|
/*
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
387
|
+
This function determines if the Jalaali (Persian) year is
|
|
388
|
+
leap (366-day long) or is the common year (365 days)
|
|
389
|
+
@param jy Jalaali calendar year (-61 to 3177)
|
|
390
|
+
@returns number of years since the last leap year (0 to 4)
|
|
391
|
+
*/
|
|
393
392
|
function jalCalLeap(jy) {
|
|
394
393
|
var bl = Jalali.breaks.length, jp = Jalali.breaks[0], jm, jump = 0, leap, n, i;
|
|
395
394
|
if (jy < jp || jy >= Jalali.breaks[bl - 1])
|
|
@@ -412,19 +411,19 @@ var Jalali;
|
|
|
412
411
|
}
|
|
413
412
|
Jalali.jalCalLeap = jalCalLeap;
|
|
414
413
|
/*
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
414
|
+
This function determines if the Jalaali (Persian) year is
|
|
415
|
+
leap (366-day long) or is the common year (365 days), and
|
|
416
|
+
finds the day in March (Gregorian calendar) of the first
|
|
417
|
+
day of the Jalaali year (jy).
|
|
418
|
+
@param jy Jalaali calendar year (-61 to 3177)
|
|
419
|
+
@param withoutLeap when don't need leap (true or false) default is false
|
|
420
|
+
@return
|
|
421
|
+
leap: number of years since the last leap year (0 to 4)
|
|
422
|
+
gy: Gregorian year of the beginning of Jalaali year
|
|
423
|
+
march: the March day of Farvardin the 1st (1st day of jy)
|
|
424
|
+
@see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm
|
|
425
|
+
@see: http://www.fourmilab.ch/documents/calendar/
|
|
426
|
+
*/
|
|
428
427
|
function jalCal(jy, withoutLeap) {
|
|
429
428
|
var bl = Jalali.breaks.length, gy = jy + 621, leapJ = -14, jp = Jalali.breaks[0], jm, jump = 0, leap, leapG, march, n, i;
|
|
430
429
|
if (jy < jp || jy >= Jalali.breaks[bl - 1])
|
|
@@ -461,33 +460,33 @@ var Jalali;
|
|
|
461
460
|
return {
|
|
462
461
|
leap: leap,
|
|
463
462
|
gy: gy,
|
|
464
|
-
march: march
|
|
463
|
+
march: march,
|
|
465
464
|
};
|
|
466
465
|
}
|
|
467
466
|
Jalali.jalCal = jalCal;
|
|
468
467
|
/*
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
468
|
+
Converts a date of the Jalaali calendar to the Julian Day number.
|
|
469
|
+
@param jy Jalaali year (1 to 3100)
|
|
470
|
+
@param jm Jalaali month (1 to 12)
|
|
471
|
+
@param jd Jalaali day (1 to 29/31)
|
|
472
|
+
@return Julian Day number
|
|
473
|
+
*/
|
|
475
474
|
function j2d(jy, jm, jd) {
|
|
476
475
|
var r = jalCal(jy, true);
|
|
477
476
|
return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1;
|
|
478
477
|
}
|
|
479
478
|
Jalali.j2d = j2d;
|
|
480
479
|
/*
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
480
|
+
Converts the Julian Day number to a date in the Jalaali calendar.
|
|
481
|
+
@param jdn Julian Day number
|
|
482
|
+
@return
|
|
483
|
+
jy: Jalaali year (1 to 3100)
|
|
484
|
+
jm: Jalaali month (1 to 12)
|
|
485
|
+
jd: Jalaali day (1 to 29/31)
|
|
486
|
+
*/
|
|
488
487
|
function d2j(jdn) {
|
|
489
|
-
var gy = d2g(jdn).gy // Calculate Gregorian year (gy).
|
|
490
|
-
|
|
488
|
+
var gy = d2g(jdn).gy, // Calculate Gregorian year (gy).
|
|
489
|
+
jy = gy - 621, r = jalCal(jy, false), jdn1f = g2d(gy, 3, r.march), jd, jm, k;
|
|
491
490
|
// Find number of days that passed since 1 Farvardin.
|
|
492
491
|
k = jdn - jdn1f;
|
|
493
492
|
if (k >= 0) {
|
|
@@ -498,7 +497,7 @@ var Jalali;
|
|
|
498
497
|
return {
|
|
499
498
|
jy: jy,
|
|
500
499
|
jm: jm,
|
|
501
|
-
jd: jd
|
|
500
|
+
jd: jd,
|
|
502
501
|
};
|
|
503
502
|
}
|
|
504
503
|
else {
|
|
@@ -518,39 +517,40 @@ var Jalali;
|
|
|
518
517
|
return {
|
|
519
518
|
jy: jy,
|
|
520
519
|
jm: jm,
|
|
521
|
-
jd: jd
|
|
520
|
+
jd: jd,
|
|
522
521
|
};
|
|
523
522
|
}
|
|
524
523
|
Jalali.d2j = d2j;
|
|
525
524
|
/*
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
525
|
+
Calculates the Julian Day number from Gregorian or Julian
|
|
526
|
+
calendar dates. This integer number corresponds to the noon of
|
|
527
|
+
the date (i.e. 12 hours of Universal Time).
|
|
528
|
+
The procedure was tested to be good since 1 March, -100100 (of both
|
|
529
|
+
calendars) up to a few million years into the future.
|
|
530
|
+
@param gy Calendar year (years BC numbered 0, -1, -2, ...)
|
|
531
|
+
@param gm Calendar month (1 to 12)
|
|
532
|
+
@param gd Calendar day of the month (1 to 28/29/30/31)
|
|
533
|
+
@return Julian Day number
|
|
534
|
+
*/
|
|
536
535
|
function g2d(gy, gm, gd) {
|
|
537
|
-
var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4)
|
|
538
|
-
|
|
539
|
-
|
|
536
|
+
var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) +
|
|
537
|
+
div(153 * mod(gm + 9, 12) + 2, 5) +
|
|
538
|
+
gd -
|
|
539
|
+
34840408;
|
|
540
540
|
d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;
|
|
541
541
|
return d;
|
|
542
542
|
}
|
|
543
543
|
Jalali.g2d = g2d;
|
|
544
544
|
/*
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
545
|
+
Calculates Gregorian and Julian calendar dates from the Julian Day number
|
|
546
|
+
(jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both
|
|
547
|
+
calendars) to some millions years ahead of the present.
|
|
548
|
+
@param jdn Julian Day number
|
|
549
|
+
@return
|
|
550
|
+
gy: Calendar year (years BC numbered 0, -1, -2, ...)
|
|
551
|
+
gm: Calendar month (1 to 12)
|
|
552
|
+
gd: Calendar day of the month M (1 to 28/29/30/31)
|
|
553
|
+
*/
|
|
554
554
|
function d2g(jdn) {
|
|
555
555
|
var j, i, gd, gm, gy;
|
|
556
556
|
j = 4 * jdn + 139361631;
|
|
@@ -562,7 +562,7 @@ var Jalali;
|
|
|
562
562
|
return {
|
|
563
563
|
gy: gy,
|
|
564
564
|
gm: gm,
|
|
565
|
-
gd: gd
|
|
565
|
+
gd: gd,
|
|
566
566
|
};
|
|
567
567
|
}
|
|
568
568
|
Jalali.d2g = d2g;
|
|
@@ -579,7 +579,7 @@ var Jalali;
|
|
|
579
579
|
var endDayDifference = 6 + startDayDifference;
|
|
580
580
|
return {
|
|
581
581
|
saturday: d2j(j2d(jy, jm, jd + startDayDifference)),
|
|
582
|
-
friday: d2j(j2d(jy, jm, jd + endDayDifference))
|
|
582
|
+
friday: d2j(j2d(jy, jm, jd + endDayDifference)),
|
|
583
583
|
};
|
|
584
584
|
}
|
|
585
585
|
Jalali.jalaaliWeek = jalaaliWeek;
|
|
@@ -600,8 +600,8 @@ var Jalali;
|
|
|
600
600
|
}
|
|
601
601
|
Jalali.jalaaliToDateObject = jalaaliToDateObject;
|
|
602
602
|
/*
|
|
603
|
-
|
|
604
|
-
|
|
603
|
+
Utility helper functions.
|
|
604
|
+
*/
|
|
605
605
|
function div(a, b) {
|
|
606
606
|
return ~~(a / b);
|
|
607
607
|
}
|
|
@@ -684,7 +684,7 @@ class JalaliAdapter {
|
|
|
684
684
|
30,
|
|
685
685
|
30,
|
|
686
686
|
30,
|
|
687
|
-
(year
|
|
687
|
+
Jalali.isLeapJalaaliYear(year) ? 30 : 29,
|
|
688
688
|
];
|
|
689
689
|
return monthLengths[month];
|
|
690
690
|
}
|
|
@@ -717,7 +717,7 @@ class JalaliAdapter {
|
|
|
717
717
|
30,
|
|
718
718
|
30,
|
|
719
719
|
30,
|
|
720
|
-
(year
|
|
720
|
+
Jalali.isLeapJalaaliYear(year) ? 30 : 29,
|
|
721
721
|
];
|
|
722
722
|
return monthLengths[month];
|
|
723
723
|
}
|
|
@@ -856,7 +856,21 @@ var HijriConverter;
|
|
|
856
856
|
* از آن)، پس جستجوی «آخرین day1 در همان روز یا قبلتر» همیشه
|
|
857
857
|
* دقیقاً day1 همان ماه هدف را پیدا میکند.
|
|
858
858
|
*/
|
|
859
|
+
// نتیجهی firstDayOfMonth فقط تابعی از (year, month) هست و در طول عمر
|
|
860
|
+
// صفحه هیچوقت عوض نمیشه، پس کشکردنش کاملاً امنه. اهمیتش اینجاست که
|
|
861
|
+
// renderCalendar (در ngx-date-picker-base.component) برای هر سلولِ روزِ
|
|
862
|
+
// نمایشدادهشده در گرید ماه (~۳۰ تا ۴۲ تا) یکبار adapter.getDate() صدا
|
|
863
|
+
// میزنه، و هرکدوم به toGregorian() → firstDayOfMonth() ختم میشه — یعنی
|
|
864
|
+
// بدون کش، این جستوجوی نسبتاً سنگین (که خودش میتونه تا حدود ۱۲۰۰ بار
|
|
865
|
+
// تکرار داخلی و هر بار تا ۳۵ فراخوانی Intl.DateTimeFormat داشته باشه) به
|
|
866
|
+
// ازای هر بار رندر یک ماه، دهها بار برای همون (year, month) تکرار میشد —
|
|
867
|
+
// مخصوصاً وقتی کاربر به سالهای دور از «امروز» ناوبری میکنه، محسوس کند بود.
|
|
868
|
+
const firstDayOfMonthCache = new Map();
|
|
859
869
|
function firstDayOfMonth(year, month) {
|
|
870
|
+
const cacheKey = `${year}-${month}`;
|
|
871
|
+
const cached = firstDayOfMonthCache.get(cacheKey);
|
|
872
|
+
if (cached)
|
|
873
|
+
return new Date(cached);
|
|
860
874
|
let anchorDate = firstOfMonthAtOrBefore(new Date());
|
|
861
875
|
let h = parse(anchorDate);
|
|
862
876
|
// سقف ایمنی برای جلوگیری از لوپ بینهایت (≈ 100 سال هجری)
|
|
@@ -871,6 +885,7 @@ var HijriConverter;
|
|
|
871
885
|
h = parse(anchorDate);
|
|
872
886
|
guard++;
|
|
873
887
|
}
|
|
888
|
+
firstDayOfMonthCache.set(cacheKey, anchorDate);
|
|
874
889
|
return anchorDate;
|
|
875
890
|
}
|
|
876
891
|
HijriConverter.firstDayOfMonth = firstDayOfMonth;
|
|
@@ -1149,7 +1164,18 @@ var ChineseConverter;
|
|
|
1149
1164
|
* برای همین، اگر یک قدم هیچ پیشرفتی نداشت (anchor عوض نشد)،
|
|
1150
1165
|
* قدم را بزرگتر میکنیم تا از روی ماه کبیسهی احتمالی بپرد.
|
|
1151
1166
|
*/
|
|
1167
|
+
// نتیجهی firstDayOfMonth فقط تابعی از (year, month) هست، پس کشکردنش
|
|
1168
|
+
// امنه. دلیل اهمیتش دقیقاً مثل نسخهی هجریه: renderCalendar برای هر
|
|
1169
|
+
// سلولِ روزِ گرید ماه یکبار adapter.getDate() صدا میزنه که به
|
|
1170
|
+
// toGregorian() → firstDayOfMonth() ختم میشه؛ بدون کش، این جستوجوی
|
|
1171
|
+
// نسبتاً سنگین (که با وجود ماههای کبیسه میتونه چند برابر هجری هم سنگینتر
|
|
1172
|
+
// باشه) به ازای هر رندر ماه، دهها بار برای همون (year, month) تکرار میشد.
|
|
1173
|
+
const firstDayOfMonthCache = new Map();
|
|
1152
1174
|
function firstDayOfMonth(year, month) {
|
|
1175
|
+
const cacheKey = `${year}-${month}`;
|
|
1176
|
+
const cached = firstDayOfMonthCache.get(cacheKey);
|
|
1177
|
+
if (cached)
|
|
1178
|
+
return new Date(cached);
|
|
1153
1179
|
let anchorDate = firstOfMonthAtOrBefore(new Date());
|
|
1154
1180
|
let c = parse(anchorDate);
|
|
1155
1181
|
// سقف ایمنی برای جلوگیری از لوپ بینهایت (≈ 100 سال چینی)
|
|
@@ -1172,6 +1198,7 @@ var ChineseConverter;
|
|
|
1172
1198
|
c = parse(anchorDate);
|
|
1173
1199
|
guard++;
|
|
1174
1200
|
}
|
|
1201
|
+
firstDayOfMonthCache.set(cacheKey, anchorDate);
|
|
1175
1202
|
return anchorDate;
|
|
1176
1203
|
}
|
|
1177
1204
|
ChineseConverter.firstDayOfMonth = firstDayOfMonth;
|
|
@@ -1191,7 +1218,12 @@ var ChineseConverter;
|
|
|
1191
1218
|
* `Date.getDate()` میلادی، چون آن مقدار به اشتباه طول ماه را
|
|
1192
1219
|
* بر اساس تقویم میلادی محاسبه میکرد.
|
|
1193
1220
|
*/
|
|
1221
|
+
const daysInMonthCache = new Map();
|
|
1194
1222
|
function daysInMonth(year, month) {
|
|
1223
|
+
const cacheKey = `${year}-${month}`;
|
|
1224
|
+
const cached = daysInMonthCache.get(cacheKey);
|
|
1225
|
+
if (cached !== undefined)
|
|
1226
|
+
return cached;
|
|
1195
1227
|
const first = firstDayOfMonth(year, month);
|
|
1196
1228
|
for (let i = 1; i <= 31; i++) {
|
|
1197
1229
|
const test = new Date(first);
|
|
@@ -1200,7 +1232,9 @@ var ChineseConverter;
|
|
|
1200
1232
|
if (c.year !== year || c.month !== month || c.isLeapMonth) {
|
|
1201
1233
|
const last = new Date(test);
|
|
1202
1234
|
last.setDate(last.getDate() - 1);
|
|
1203
|
-
|
|
1235
|
+
const result = parse(last).day;
|
|
1236
|
+
daysInMonthCache.set(cacheKey, result);
|
|
1237
|
+
return result;
|
|
1204
1238
|
}
|
|
1205
1239
|
}
|
|
1206
1240
|
return 29; // fallback ایمن
|
|
@@ -1783,7 +1817,7 @@ class NgxInputDatePickerComponent extends NgxDatePickerBase {
|
|
|
1783
1817
|
ev.stopPropagation();
|
|
1784
1818
|
}
|
|
1785
1819
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxInputDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1786
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: NgxInputDatePickerComponent, isStandalone: true, selector: "ngx-
|
|
1820
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: NgxInputDatePickerComponent, isStandalone: true, selector: "ngx-date-picker", inputs: { setTheme: ["theme", "setTheme"], setConfig: ["config", "setConfig"], locale: "locale", setMin: ["min", "setMin"], setMax: ["max", "setMax"], view: "view" }, outputs: { change: "change" }, host: { properties: { "class.dark": "theme==\"dark\"" } }, providers: [
|
|
1787
1821
|
DateAdapterRegistry,
|
|
1788
1822
|
{
|
|
1789
1823
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1795,11 +1829,11 @@ class NgxInputDatePickerComponent extends NgxDatePickerBase {
|
|
|
1795
1829
|
useExisting: forwardRef(() => NgxInputDatePickerComponent),
|
|
1796
1830
|
multi: true,
|
|
1797
1831
|
},
|
|
1798
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"wrapper\"\n #datepickerWrapper\n [style.width.px]=\"wrapperWidth\"\n (click)=\"stopPagination($event)\">\n <div class=\"header\">\n {{ calendarHeader }}\n </div>\n <div class=\"sub-header\">\n <div class=\"icons\">\n <span id=\"prev\" class=\"material-symbols-rounded\" (click)=\"previous()\">\n <ng-template\n [ngTemplateOutlet]=\"\n config.previousButtonTemplate || defaultPreviousBTNTemplate\n \"></ng-template>\n </span>\n </div>\n <span class=\"current-date\">\n <span (click)=\"changeView('year')\">\n {{ currYear }}\n <ng-template\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\n </span>\n <span (click)=\"changeView('month')\">\n {{ displayMonth }}\n <ng-template\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\n </span>\n </span>\n <div class=\"icons\">\n <span id=\"next\" class=\"material-symbols-rounded\" (click)=\"next()\">\n <ng-template\n [ngTemplateOutlet]=\"config.nextButtonTemplate || defaultNextBTNTemplate\"></ng-template>\n </span>\n </div>\n </div>\n <div class=\"calendar\">\n @if (view === 'day') {\n <ul class=\"weeks\">\n @for (w of weekDays; track $index) {\n <li [title]=\"w.name\">\n {{ w.min }}\n </li>\n }\n </ul>\n <ul class=\"days\">\n @for (item of viewDays; track $index) {\n <li\n [class.de-active]=\"!item.active\"\n [class.today]=\"item.isToday\"\n [class.selected]=\"item.selected\"\n (click)=\"selectDay($event, item)\">\n {{ item.day }}\n </li>\n }\n </ul>\n } @else if (view === 'month') {\n <ul class=\"months\">\n @for (item of viewMonths; track $index; let i = $index) {\n <li\n [class.de-active]=\"!item.active\"\n [class.today]=\"item.isToday\"\n [class.selected]=\"item.selected\"\n (click)=\"selectMonth($event, item)\">\n {{ i + 1 }}.{{ item.displayMonth }}\n </li>\n }\n </ul>\n } @else if (view === 'year') {\n <ul class=\"years\">\n @for (item of viewYears; track $index) {\n <li\n [class.de-active]=\"!item.active\"\n [class.today]=\"item.isToday\"\n [class.selected]=\"item.selected\"\n (click)=\"selectYear($event, item)\">\n {{ item.year }}\n </li>\n }\n </ul>\n }\n <!-- <pre>\n currYear={{currYear}}\n currMonth={{currMonth}}\n {{selected|json}}\n </pre> -->\n <div class=\"calendar-footer\">\n @if (config.clearButton) {\n <button
|
|
1832
|
+
], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"wrapper\"\r\n #datepickerWrapper\r\n [style.width.px]=\"wrapperWidth\"\r\n (click)=\"stopPagination($event)\">\r\n <div class=\"header\">\r\n {{ calendarHeader }}\r\n </div>\r\n <div class=\"sub-header\">\r\n <div class=\"icons\">\r\n <span id=\"prev\" class=\"material-symbols-rounded\" (click)=\"previous()\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"\r\n config.previousButtonTemplate || defaultPreviousBTNTemplate\r\n \"></ng-template>\r\n </span>\r\n </div>\r\n <span class=\"current-date\">\r\n <span (click)=\"changeView('year')\">\r\n {{ currYear }}\r\n <ng-template\r\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\r\n </span>\r\n <span (click)=\"changeView('month')\">\r\n {{ displayMonth }}\r\n <ng-template\r\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\r\n </span>\r\n </span>\r\n <div class=\"icons\">\r\n <span id=\"next\" class=\"material-symbols-rounded\" (click)=\"next()\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"config.nextButtonTemplate || defaultNextBTNTemplate\"></ng-template>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"calendar\">\r\n @if (view === 'day') {\r\n <ul class=\"weeks\">\r\n @for (w of weekDays; track $index) {\r\n <li [title]=\"w.name\">\r\n {{ w.min }}\r\n </li>\r\n }\r\n </ul>\r\n <ul class=\"days\">\r\n @for (item of viewDays; track $index) {\r\n <li\r\n [class.de-active]=\"!item.active\"\r\n [class.today]=\"item.isToday\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"selectDay($event, item)\">\r\n {{ item.day }}\r\n </li>\r\n }\r\n </ul>\r\n } @else if (view === 'month') {\r\n <ul class=\"months\">\r\n @for (item of viewMonths; track $index; let i = $index) {\r\n <li\r\n [class.de-active]=\"!item.active\"\r\n [class.today]=\"item.isToday\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"selectMonth($event, item)\">\r\n {{ i + 1 }}.{{ item.displayMonth }}\r\n </li>\r\n }\r\n </ul>\r\n } @else if (view === 'year') {\r\n <ul class=\"years\">\r\n @for (item of viewYears; track $index) {\r\n <li\r\n [class.de-active]=\"!item.active\"\r\n [class.today]=\"item.isToday\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"selectYear($event, item)\">\r\n {{ item.year }}\r\n </li>\r\n }\r\n </ul>\r\n }\r\n <!-- <pre>\r\n currYear={{currYear}}\r\n currMonth={{currMonth}}\r\n {{selected|json}}\r\n </pre> -->\r\n <div class=\"calendar-footer\">\r\n @if (config.clearButton) {\r\n <button (click)=\"clear()\">\r\n {{ config.clearButtonText }}\r\n </button>\r\n }\r\n @if (config.todayButton) {\r\n <button (click)=\"gotoToday()\">\r\n {{ config.todayButtonText }}\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultPreviousBTNTemplate>\r\n <svg width=\"15px\" height=\"40px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n class=\"fa-secondary\"\r\n d=\"M224 480c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25l192-192c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l169.4 169.4c12.5 12.5 12.5 32.75 0 45.25C240.4 476.9 232.2 480 224 480z\" />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #defaultNextBTNTemplate>\r\n <svg width=\"15px\" height=\"40px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n class=\"fa-secondary\"\r\n d=\"M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z\" />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #defaultCaretDownIcon>\r\n <svg width=\"10px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n class=\"fa-secondary\"\r\n d=\"M310.6 246.6l-127.1 128C176.4 380.9 168.2 384 160 384s-16.38-3.125-22.63-9.375l-127.1-128C.2244 237.5-2.516 223.7 2.438 211.8S19.07 192 32 192h255.1c12.94 0 24.62 7.781 29.58 19.75S319.8 237.5 310.6 246.6z\" />\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{--ngx-color-bg: #fff;--ngx-color-text: #000;--ngx-border-color: #c0c0c0;--ngx-datepicker-header-bg: #6200ee;--ngx-datepicker-header-text: #fff;--ngx-datepicker-subheader-bg: #e0d5ef;--ngx-datepicker-subheader-text: #272727}:host-context(.dark){--ngx-color-bg: #222;--ngx-color-text: #fff;--ngx-border-color: #c0c0c0;--ngx-datepicker-header-bg: #6200ee;--ngx-datepicker-header-text: #fff;--ngx-datepicker-subheader-bg: #8e819e;--ngx-datepicker-subheader-text: #272727}.wrapper{background:var(--ngx-color-bg);box-shadow:0 15px 40px #0000001f;color:var(--ngx-color-text);border-radius:6px;overflow:hidden}.wrapper .header{display:block;padding:15px 15px 10px;background-color:var(--ngx-datepicker-header-bg);color:var(--ngx-datepicker-header-text);font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.wrapper .sub-header{display:flex;align-items:center;padding:5px 10px;background-color:var(--ngx-datepicker-subheader-bg);color:var(--ngx-datepicker-subheader-text)}.wrapper .sub-header .current-date{font-size:1rem;font-weight:800;flex:auto;display:flex;align-items:center}.wrapper .sub-header .current-date span{flex:auto;text-align:center}.wrapper .sub-header .icons{display:flex}.wrapper .sub-header .icons span{height:38px;width:38px;margin:0 1px;cursor:pointer;color:#878787;text-align:center;line-height:38px;font-size:1.9rem;-webkit-user-select:none;user-select:none;border-radius:50%}.wrapper .sub-header .icons span:hover{background:#f2f2f272}.wrapper .calendar-footer{display:flex;justify-content:space-between;gap:5px}.wrapper .calendar-footer button{outline:none;background:none;color:inherit;border:none;border-radius:4px;padding:8px 15px;box-shadow:none;transition:all .3s}.wrapper .calendar-footer button:not([disabled]):hover{cursor:pointer;background:#816ef175}.calendar{padding:10px}.calendar ul{display:flex;flex-wrap:wrap;list-style:none;text-align:center;padding:0;margin:0}.calendar .days{margin-bottom:20px}.calendar .days li{height:40px;width:40px}.calendar .months{margin-bottom:20px}.calendar .months li{height:40px;width:33%}.calendar .years{margin-bottom:20px}.calendar .years li{height:40px;width:25%}.calendar li{z-index:1;cursor:pointer;position:relative;color:#333;font-size:12px;border-radius:50px;display:flex;align-items:center;justify-content:center;border:1px transparent solid;transition:all .3s;color:inherit}.calendar li:not(.active):hover{background:#dfdfdf68}.calendar li.de-active{opacity:.2}.calendar li.selected{border:1px #1216fa solid}.calendar li.today{background-color:#9b59b6}.calendar .weeks{border-bottom:1px rgba(231,231,231,.3450980392) solid;margin-bottom:10px;padding-bottom:5px}.calendar .weeks li{font-weight:500;cursor:default;flex:auto;flex-wrap:nowrap}.calendar .weeks li:hover{background:none}::ng-deep body[dir=rtl] .wrapper .sub-header .icons #next,::ng-deep body[dir=rtl] .wrapper .sub-header .icons #prev,::ng-deep html[dir=rtl] .wrapper .sub-header .icons #next,::ng-deep html[dir=rtl] .wrapper .sub-header .icons #prev{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
1799
1833
|
}
|
|
1800
1834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxInputDatePickerComponent, decorators: [{
|
|
1801
1835
|
type: Component,
|
|
1802
|
-
args: [{ selector: 'ngx-
|
|
1836
|
+
args: [{ selector: 'ngx-date-picker', imports: [CommonModule], providers: [
|
|
1803
1837
|
DateAdapterRegistry,
|
|
1804
1838
|
{
|
|
1805
1839
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1813,7 +1847,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
|
|
|
1813
1847
|
},
|
|
1814
1848
|
], host: {
|
|
1815
1849
|
'[class.dark]': 'theme=="dark"',
|
|
1816
|
-
}, template: "<div\n class=\"wrapper\"\n #datepickerWrapper\n [style.width.px]=\"wrapperWidth\"\n (click)=\"stopPagination($event)\">\n <div class=\"header\">\n {{ calendarHeader }}\n </div>\n <div class=\"sub-header\">\n <div class=\"icons\">\n <span id=\"prev\" class=\"material-symbols-rounded\" (click)=\"previous()\">\n <ng-template\n [ngTemplateOutlet]=\"\n config.previousButtonTemplate || defaultPreviousBTNTemplate\n \"></ng-template>\n </span>\n </div>\n <span class=\"current-date\">\n <span (click)=\"changeView('year')\">\n {{ currYear }}\n <ng-template\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\n </span>\n <span (click)=\"changeView('month')\">\n {{ displayMonth }}\n <ng-template\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\n </span>\n </span>\n <div class=\"icons\">\n <span id=\"next\" class=\"material-symbols-rounded\" (click)=\"next()\">\n <ng-template\n [ngTemplateOutlet]=\"config.nextButtonTemplate || defaultNextBTNTemplate\"></ng-template>\n </span>\n </div>\n </div>\n <div class=\"calendar\">\n @if (view === 'day') {\n <ul class=\"weeks\">\n @for (w of weekDays; track $index) {\n <li [title]=\"w.name\">\n {{ w.min }}\n </li>\n }\n </ul>\n <ul class=\"days\">\n @for (item of viewDays; track $index) {\n <li\n [class.de-active]=\"!item.active\"\n [class.today]=\"item.isToday\"\n [class.selected]=\"item.selected\"\n (click)=\"selectDay($event, item)\">\n {{ item.day }}\n </li>\n }\n </ul>\n } @else if (view === 'month') {\n <ul class=\"months\">\n @for (item of viewMonths; track $index; let i = $index) {\n <li\n [class.de-active]=\"!item.active\"\n [class.today]=\"item.isToday\"\n [class.selected]=\"item.selected\"\n (click)=\"selectMonth($event, item)\">\n {{ i + 1 }}.{{ item.displayMonth }}\n </li>\n }\n </ul>\n } @else if (view === 'year') {\n <ul class=\"years\">\n @for (item of viewYears; track $index) {\n <li\n [class.de-active]=\"!item.active\"\n [class.today]=\"item.isToday\"\n [class.selected]=\"item.selected\"\n (click)=\"selectYear($event, item)\">\n {{ item.year }}\n </li>\n }\n </ul>\n }\n <!-- <pre>\n currYear={{currYear}}\n currMonth={{currMonth}}\n {{selected|json}}\n </pre> -->\n <div class=\"calendar-footer\">\n @if (config.clearButton) {\n <button
|
|
1850
|
+
}, template: "<div\r\n class=\"wrapper\"\r\n #datepickerWrapper\r\n [style.width.px]=\"wrapperWidth\"\r\n (click)=\"stopPagination($event)\">\r\n <div class=\"header\">\r\n {{ calendarHeader }}\r\n </div>\r\n <div class=\"sub-header\">\r\n <div class=\"icons\">\r\n <span id=\"prev\" class=\"material-symbols-rounded\" (click)=\"previous()\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"\r\n config.previousButtonTemplate || defaultPreviousBTNTemplate\r\n \"></ng-template>\r\n </span>\r\n </div>\r\n <span class=\"current-date\">\r\n <span (click)=\"changeView('year')\">\r\n {{ currYear }}\r\n <ng-template\r\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\r\n </span>\r\n <span (click)=\"changeView('month')\">\r\n {{ displayMonth }}\r\n <ng-template\r\n [ngTemplateOutlet]=\"config.caretDownIconTemplate || defaultCaretDownIcon\"></ng-template>\r\n </span>\r\n </span>\r\n <div class=\"icons\">\r\n <span id=\"next\" class=\"material-symbols-rounded\" (click)=\"next()\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"config.nextButtonTemplate || defaultNextBTNTemplate\"></ng-template>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"calendar\">\r\n @if (view === 'day') {\r\n <ul class=\"weeks\">\r\n @for (w of weekDays; track $index) {\r\n <li [title]=\"w.name\">\r\n {{ w.min }}\r\n </li>\r\n }\r\n </ul>\r\n <ul class=\"days\">\r\n @for (item of viewDays; track $index) {\r\n <li\r\n [class.de-active]=\"!item.active\"\r\n [class.today]=\"item.isToday\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"selectDay($event, item)\">\r\n {{ item.day }}\r\n </li>\r\n }\r\n </ul>\r\n } @else if (view === 'month') {\r\n <ul class=\"months\">\r\n @for (item of viewMonths; track $index; let i = $index) {\r\n <li\r\n [class.de-active]=\"!item.active\"\r\n [class.today]=\"item.isToday\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"selectMonth($event, item)\">\r\n {{ i + 1 }}.{{ item.displayMonth }}\r\n </li>\r\n }\r\n </ul>\r\n } @else if (view === 'year') {\r\n <ul class=\"years\">\r\n @for (item of viewYears; track $index) {\r\n <li\r\n [class.de-active]=\"!item.active\"\r\n [class.today]=\"item.isToday\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"selectYear($event, item)\">\r\n {{ item.year }}\r\n </li>\r\n }\r\n </ul>\r\n }\r\n <!-- <pre>\r\n currYear={{currYear}}\r\n currMonth={{currMonth}}\r\n {{selected|json}}\r\n </pre> -->\r\n <div class=\"calendar-footer\">\r\n @if (config.clearButton) {\r\n <button (click)=\"clear()\">\r\n {{ config.clearButtonText }}\r\n </button>\r\n }\r\n @if (config.todayButton) {\r\n <button (click)=\"gotoToday()\">\r\n {{ config.todayButtonText }}\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultPreviousBTNTemplate>\r\n <svg width=\"15px\" height=\"40px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n class=\"fa-secondary\"\r\n d=\"M224 480c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25l192-192c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l169.4 169.4c12.5 12.5 12.5 32.75 0 45.25C240.4 476.9 232.2 480 224 480z\" />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #defaultNextBTNTemplate>\r\n <svg width=\"15px\" height=\"40px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n class=\"fa-secondary\"\r\n d=\"M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z\" />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #defaultCaretDownIcon>\r\n <svg width=\"10px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n class=\"fa-secondary\"\r\n d=\"M310.6 246.6l-127.1 128C176.4 380.9 168.2 384 160 384s-16.38-3.125-22.63-9.375l-127.1-128C.2244 237.5-2.516 223.7 2.438 211.8S19.07 192 32 192h255.1c12.94 0 24.62 7.781 29.58 19.75S319.8 237.5 310.6 246.6z\" />\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{--ngx-color-bg: #fff;--ngx-color-text: #000;--ngx-border-color: #c0c0c0;--ngx-datepicker-header-bg: #6200ee;--ngx-datepicker-header-text: #fff;--ngx-datepicker-subheader-bg: #e0d5ef;--ngx-datepicker-subheader-text: #272727}:host-context(.dark){--ngx-color-bg: #222;--ngx-color-text: #fff;--ngx-border-color: #c0c0c0;--ngx-datepicker-header-bg: #6200ee;--ngx-datepicker-header-text: #fff;--ngx-datepicker-subheader-bg: #8e819e;--ngx-datepicker-subheader-text: #272727}.wrapper{background:var(--ngx-color-bg);box-shadow:0 15px 40px #0000001f;color:var(--ngx-color-text);border-radius:6px;overflow:hidden}.wrapper .header{display:block;padding:15px 15px 10px;background-color:var(--ngx-datepicker-header-bg);color:var(--ngx-datepicker-header-text);font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.wrapper .sub-header{display:flex;align-items:center;padding:5px 10px;background-color:var(--ngx-datepicker-subheader-bg);color:var(--ngx-datepicker-subheader-text)}.wrapper .sub-header .current-date{font-size:1rem;font-weight:800;flex:auto;display:flex;align-items:center}.wrapper .sub-header .current-date span{flex:auto;text-align:center}.wrapper .sub-header .icons{display:flex}.wrapper .sub-header .icons span{height:38px;width:38px;margin:0 1px;cursor:pointer;color:#878787;text-align:center;line-height:38px;font-size:1.9rem;-webkit-user-select:none;user-select:none;border-radius:50%}.wrapper .sub-header .icons span:hover{background:#f2f2f272}.wrapper .calendar-footer{display:flex;justify-content:space-between;gap:5px}.wrapper .calendar-footer button{outline:none;background:none;color:inherit;border:none;border-radius:4px;padding:8px 15px;box-shadow:none;transition:all .3s}.wrapper .calendar-footer button:not([disabled]):hover{cursor:pointer;background:#816ef175}.calendar{padding:10px}.calendar ul{display:flex;flex-wrap:wrap;list-style:none;text-align:center;padding:0;margin:0}.calendar .days{margin-bottom:20px}.calendar .days li{height:40px;width:40px}.calendar .months{margin-bottom:20px}.calendar .months li{height:40px;width:33%}.calendar .years{margin-bottom:20px}.calendar .years li{height:40px;width:25%}.calendar li{z-index:1;cursor:pointer;position:relative;color:#333;font-size:12px;border-radius:50px;display:flex;align-items:center;justify-content:center;border:1px transparent solid;transition:all .3s;color:inherit}.calendar li:not(.active):hover{background:#dfdfdf68}.calendar li.de-active{opacity:.2}.calendar li.selected{border:1px #1216fa solid}.calendar li.today{background-color:#9b59b6}.calendar .weeks{border-bottom:1px rgba(231,231,231,.3450980392) solid;margin-bottom:10px;padding-bottom:5px}.calendar .weeks li{font-weight:500;cursor:default;flex:auto;flex-wrap:nowrap}.calendar .weeks li:hover{background:none}::ng-deep body[dir=rtl] .wrapper .sub-header .icons #next,::ng-deep body[dir=rtl] .wrapper .sub-header .icons #prev,::ng-deep html[dir=rtl] .wrapper .sub-header .icons #next,::ng-deep html[dir=rtl] .wrapper .sub-header .icons #prev{transform:rotate(180deg)}\n"] }]
|
|
1817
1851
|
}], ctorParameters: () => [], propDecorators: { setTheme: [{
|
|
1818
1852
|
type: Input,
|
|
1819
1853
|
args: ['theme']
|