@yoozsoft/yoozsoft-ng 3.1.4 → 4.0.1
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 +11 -4
- package/assets/js/UTIF.js-master/LICENSE +21 -0
- package/assets/js/UTIF.js-master/README.md +72 -0
- package/assets/js/UTIF.js-master/UTIF.js +1763 -0
- package/assets/js/UTIF.js-master/package-lock.json +13 -0
- package/assets/styles/ys-layout.scss +21 -47
- package/assets/styles/ys-preloader-9.scss +254 -0
- package/assets/styles/ys-preloader.scss +12 -12
- package/datepicker/src/models/date-time-format.d.ts +0 -1
- package/datepicker/src/ys-datepicker/ys-datepicker.component.d.ts +7 -1
- package/directives/src/password-match/ys-password-match.directive.d.ts +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs +172 -162
- package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs +6 -10
- package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs +145 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs.map +1 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs +8 -15
- package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs +16 -9
- package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs +36 -31
- package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs +6 -8
- package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs +90 -62
- package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs +17 -17
- package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs +64 -23
- package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs +50 -57
- package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs.map +1 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs +150 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs.map +1 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs +106 -0
- package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs.map +1 -0
- package/{toasts → file-upload}/index.d.ts +1 -1
- package/file-upload/public-api.d.ts +1 -0
- package/file-upload/src/ys-file-upload/ys-file-upload.component.d.ts +51 -0
- package/loading/src/ys-loading-mask/ys-loading-mask.component.d.ts +5 -2
- package/navbar/src/models/navbar-brand.d.ts +2 -0
- package/navbar/src/models/navbar-item.d.ts +1 -0
- package/navbar/src/ys-navbar/ys-navbar.component.d.ts +13 -12
- package/overlay/src/ys-overlay/ys-overlay.component.d.ts +1 -1
- package/package.json +23 -43
- package/password-strength/public-api.d.ts +1 -0
- package/password-strength/src/directives/index.d.ts +1 -0
- package/password-strength/src/directives/ys-password-strength.directive.d.ts +18 -0
- package/password-strength/src/models/strength-validation-feedback.d.ts +2 -0
- package/password-strength/src/ys-password-strength/ys-password-strength.component.d.ts +4 -5
- package/select/src/ys-select/ys-select.component.d.ts +14 -4
- package/sidebar/src/models/index.d.ts +0 -1
- package/sidebar/src/models/sidebar-item-active.d.ts +1 -0
- package/sidebar/src/models/sidebar-item.d.ts +1 -1
- package/sidebar/src/services/sidebar.service.d.ts +7 -10
- package/sidebar/src/ys-sidebar/ys-sidebar.component.d.ts +13 -15
- package/tiff-viewer/index.d.ts +5 -0
- package/tiff-viewer/public-api.d.ts +1 -0
- package/tiff-viewer/src/ys-tiff-viewer/ys-tiff-viewer.component.d.ts +48 -0
- package/{layout → toast}/index.d.ts +1 -1
- package/toast/public-api.d.ts +3 -0
- package/{toasts/src/ys-toasts/ys-toasts.component.d.ts → toast/src/ys-toast/ys-toast.component.d.ts} +4 -4
- package/assets/images/user.jpg +0 -0
- package/assets/styles/ys-layout-pin.scss +0 -153
- package/esm2022/datepicker/public-api.mjs +0 -12
- package/esm2022/datepicker/src/models/date-range.mjs +0 -2
- package/esm2022/datepicker/src/models/date-time-format.mjs +0 -4
- package/esm2022/datepicker/src/models/index.mjs +0 -4
- package/esm2022/datepicker/src/models/jalali-date.mjs +0 -74
- package/esm2022/datepicker/src/services/index.mjs +0 -3
- package/esm2022/datepicker/src/services/ys-date-parser-formatter.service.mjs +0 -32
- package/esm2022/datepicker/src/services/ys-datepicker-i18n.service.mjs +0 -66
- package/esm2022/datepicker/src/ys-datepicker/ys-datepicker.component.mjs +0 -108
- package/esm2022/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.mjs +0 -127
- package/esm2022/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.mjs +0 -130
- package/esm2022/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.mjs +0 -136
- package/esm2022/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.mjs +0 -157
- package/esm2022/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.mjs +0 -167
- package/esm2022/datepicker/yoozsoft-yoozsoft-ng-datepicker.mjs +0 -5
- package/esm2022/directives/public-api.mjs +0 -6
- package/esm2022/directives/src/password-match/ys-password-match.directive.mjs +0 -49
- package/esm2022/directives/yoozsoft-yoozsoft-ng-directives.mjs +0 -5
- package/esm2022/footer/public-api.mjs +0 -6
- package/esm2022/footer/src/models/footer-brand.mjs +0 -2
- package/esm2022/footer/src/models/index.mjs +0 -3
- package/esm2022/footer/src/models/social-network.mjs +0 -2
- package/esm2022/footer/src/ys-footer/ys-footer.component.mjs +0 -32
- package/esm2022/footer/yoozsoft-yoozsoft-ng-footer.mjs +0 -5
- package/esm2022/layout/public-api.mjs +0 -5
- package/esm2022/layout/src/ys-layout/ys-layout.component.mjs +0 -72
- package/esm2022/layout/yoozsoft-yoozsoft-ng-layout.mjs +0 -5
- package/esm2022/loading/public-api.mjs +0 -5
- package/esm2022/loading/src/ys-loading-mask/ys-loading-mask.component.mjs +0 -20
- package/esm2022/loading/yoozsoft-yoozsoft-ng-loading.mjs +0 -5
- package/esm2022/navbar/public-api.mjs +0 -6
- package/esm2022/navbar/src/models/index.mjs +0 -3
- package/esm2022/navbar/src/models/navbar-brand.mjs +0 -2
- package/esm2022/navbar/src/models/navbar-item.mjs +0 -2
- package/esm2022/navbar/src/ys-navbar/ys-navbar.component.mjs +0 -86
- package/esm2022/navbar/yoozsoft-yoozsoft-ng-navbar.mjs +0 -5
- package/esm2022/overlay/public-api.mjs +0 -5
- package/esm2022/overlay/src/ys-overlay/ys-overlay.component.mjs +0 -20
- package/esm2022/overlay/yoozsoft-yoozsoft-ng-overlay.mjs +0 -5
- package/esm2022/password-strength/public-api.mjs +0 -6
- package/esm2022/password-strength/src/models/index.mjs +0 -5
- package/esm2022/password-strength/src/models/regx.mjs +0 -7
- package/esm2022/password-strength/src/models/strength-validation-control.mjs +0 -2
- package/esm2022/password-strength/src/models/strength-validation-feedback.mjs +0 -25
- package/esm2022/password-strength/src/models/strength-validation-option.mjs +0 -25
- package/esm2022/password-strength/src/ys-password-strength/ys-password-strength.component.mjs +0 -69
- package/esm2022/password-strength/yoozsoft-yoozsoft-ng-password-strength.mjs +0 -5
- package/esm2022/progress/public-api.mjs +0 -6
- package/esm2022/progress/src/services/index.mjs +0 -2
- package/esm2022/progress/src/services/progress.service.mjs +0 -18
- package/esm2022/progress/src/ys-progress/ys-progress.component.mjs +0 -32
- package/esm2022/progress/yoozsoft-yoozsoft-ng-progress.mjs +0 -5
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -5
- package/esm2022/select/src/ys-select/ys-select.component.mjs +0 -63
- package/esm2022/select/yoozsoft-yoozsoft-ng-select.mjs +0 -5
- package/esm2022/sidebar/public-api.mjs +0 -8
- package/esm2022/sidebar/src/models/index.mjs +0 -6
- package/esm2022/sidebar/src/models/sidebar-item-active.mjs +0 -2
- package/esm2022/sidebar/src/models/sidebar-item.mjs +0 -2
- package/esm2022/sidebar/src/models/sidebar-state.mjs +0 -2
- package/esm2022/sidebar/src/models/user-image.mjs +0 -2
- package/esm2022/sidebar/src/models/user-profile.mjs +0 -2
- package/esm2022/sidebar/src/services/index.mjs +0 -2
- package/esm2022/sidebar/src/services/sidebar.service.mjs +0 -39
- package/esm2022/sidebar/src/ys-sidebar/ys-sidebar.component.mjs +0 -68
- package/esm2022/sidebar/yoozsoft-yoozsoft-ng-sidebar.mjs +0 -5
- package/esm2022/toasts/public-api.mjs +0 -7
- package/esm2022/toasts/src/models/index.mjs +0 -3
- package/esm2022/toasts/src/models/toast-info.mjs +0 -2
- package/esm2022/toasts/src/models/toast-type.mjs +0 -8
- package/esm2022/toasts/src/services/index.mjs +0 -2
- package/esm2022/toasts/src/services/toast.service.mjs +0 -44
- package/esm2022/toasts/src/ys-toasts/ys-toasts.component.mjs +0 -53
- package/esm2022/toasts/yoozsoft-yoozsoft-ng-toasts.mjs +0 -5
- package/esm2022/yoozsoft-yoozsoft-ng.mjs +0 -5
- package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs +0 -83
- package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs.map +0 -1
- package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs +0 -111
- package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs.map +0 -1
- package/layout/public-api.d.ts +0 -1
- package/layout/src/ys-layout/ys-layout.component.d.ts +0 -24
- package/sidebar/src/models/sidebar-state.d.ts +0 -4
- package/toasts/public-api.d.ts +0 -3
- /package/{toasts → toast}/src/models/index.d.ts +0 -0
- /package/{toasts → toast}/src/models/toast-info.d.ts +0 -0
- /package/{toasts → toast}/src/models/toast-type.d.ts +0 -0
- /package/{toasts → toast}/src/services/index.d.ts +0 -0
- /package/{toasts → toast}/src/services/toast.service.d.ts +0 -0
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
export class JalaliDate {
|
|
2
|
-
static { this.daysInMonth = {
|
|
3
|
-
g_days_in_month: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
|
|
4
|
-
j_days_in_month: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]
|
|
5
|
-
}; }
|
|
6
|
-
static jalaliToGregorian(jalaliYear, jalaliMonth, jalaliDay) {
|
|
7
|
-
jalaliYear = parseInt(`${jalaliYear}`);
|
|
8
|
-
jalaliMonth = parseInt(`${jalaliMonth}`);
|
|
9
|
-
jalaliDay = parseInt(`${jalaliDay}`);
|
|
10
|
-
var jy = jalaliYear - 979;
|
|
11
|
-
var jm = jalaliMonth - 1;
|
|
12
|
-
var jd = jalaliDay - 1;
|
|
13
|
-
var j_day_no = 365 * jy + parseInt(`${jy / 33}`) * 8 + parseInt(`${(jy % 33 + 3) / 4}`);
|
|
14
|
-
for (var i = 0; i < jm; ++i)
|
|
15
|
-
j_day_no += this.daysInMonth.j_days_in_month[i];
|
|
16
|
-
j_day_no += jd;
|
|
17
|
-
var g_day_no = j_day_no + 79;
|
|
18
|
-
var gy = 1600 + 400 * parseInt(`${g_day_no / 146097}`);
|
|
19
|
-
g_day_no = g_day_no % 146097;
|
|
20
|
-
var leap = true;
|
|
21
|
-
if (g_day_no >= 36525) {
|
|
22
|
-
g_day_no--;
|
|
23
|
-
gy += 100 * parseInt(`${g_day_no / 36524}`);
|
|
24
|
-
g_day_no = g_day_no % 36524;
|
|
25
|
-
if (g_day_no >= 365)
|
|
26
|
-
g_day_no++;
|
|
27
|
-
else
|
|
28
|
-
leap = false;
|
|
29
|
-
}
|
|
30
|
-
gy += 4 * parseInt(`${g_day_no / 1461}`);
|
|
31
|
-
g_day_no %= 1461;
|
|
32
|
-
if (g_day_no >= 366) {
|
|
33
|
-
leap = false;
|
|
34
|
-
g_day_no--;
|
|
35
|
-
gy += parseInt(`${g_day_no / 365}`);
|
|
36
|
-
g_day_no = g_day_no % 365;
|
|
37
|
-
}
|
|
38
|
-
for (var i = 0; g_day_no >= this.daysInMonth.g_days_in_month[i] + ((i == 1 && leap) ? 1 : 0); i++)
|
|
39
|
-
g_day_no -= this.daysInMonth.g_days_in_month[i] + ((i == 1 && leap) ? 1 : 0);
|
|
40
|
-
var gm = i + 1;
|
|
41
|
-
var gd = g_day_no + 1;
|
|
42
|
-
return [gy, gm, gd];
|
|
43
|
-
}
|
|
44
|
-
static gregorianToJalali(gregorianYear, gregorianMonth, gregorianDay) {
|
|
45
|
-
gregorianYear = parseInt(`${gregorianYear}`);
|
|
46
|
-
gregorianMonth = parseInt(`${gregorianMonth}`);
|
|
47
|
-
gregorianDay = parseInt(`${gregorianDay}`);
|
|
48
|
-
var gy = gregorianYear - 1600;
|
|
49
|
-
var gm = gregorianMonth - 1;
|
|
50
|
-
var gd = gregorianDay - 1;
|
|
51
|
-
var g_day_no = 365 * gy + parseInt(`${(gy + 3) / 4}`) - parseInt(`${(gy + 99) / 100}`) + parseInt(`${(gy + 399) / 400}`);
|
|
52
|
-
for (var i = 0; i < gm; ++i)
|
|
53
|
-
g_day_no += this.daysInMonth.g_days_in_month[i];
|
|
54
|
-
if (gm > 1 && ((gy % 4 == 0 && gy % 100 != 0) || (gy % 400 == 0)))
|
|
55
|
-
++g_day_no;
|
|
56
|
-
g_day_no += gd;
|
|
57
|
-
var j_day_no = g_day_no - 79;
|
|
58
|
-
var j_np = parseInt(`${j_day_no / 12053}`);
|
|
59
|
-
j_day_no %= 12053;
|
|
60
|
-
var jy = 979 + 33 * j_np + 4 * parseInt(`${j_day_no / 1461}`);
|
|
61
|
-
j_day_no %= 1461;
|
|
62
|
-
if (j_day_no >= 366) {
|
|
63
|
-
jy += parseInt(`${(j_day_no - 1) / 365}`);
|
|
64
|
-
j_day_no = (j_day_no - 1) % 365;
|
|
65
|
-
}
|
|
66
|
-
for (var i = 0; i < 11 && j_day_no >= this.daysInMonth.j_days_in_month[i]; ++i) {
|
|
67
|
-
j_day_no -= this.daysInMonth.j_days_in_month[i];
|
|
68
|
-
}
|
|
69
|
-
var jm = i + 1;
|
|
70
|
-
var jd = j_day_no + 1;
|
|
71
|
-
return [jy, jm, jd];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFsYWxpLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9kYXRlcGlja2VyL3NyYy9tb2RlbHMvamFsYWxpLWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7YUFFSixnQkFBVyxHQUFHO1FBQ3pCLGVBQWUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0tBQ3BFLENBQUM7SUFFRixNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFFLFNBQWlCO1FBQy9FLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksRUFBRSxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDMUIsSUFBSSxFQUFFLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLEVBQUUsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksUUFBUSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxH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QUM7UUFDMUIsSUFBSSxRQUFRLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6SCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN2QixRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3RCxFQUFFLFFBQVEsQ0FBQztRQUNmLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDZixJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLFFBQVEsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDbEIsSUFBSSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlELFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDakIsSUFBSSxRQUFRLElBQUksR0FBRyxFQUFFLENBQUM7WUFDbEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDMUMsUUFBUSxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3RSxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSmFsYWxpRGF0ZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZGF5c0luTW9udGggPSB7XHJcbiAgICAgICAgZ19kYXlzX2luX21vbnRoOiBbMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0sXHJcbiAgICAgICAgal9kYXlzX2luX21vbnRoOiBbMzEsIDMxLCAzMSwgMzEsIDMxLCAzMSwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyOV1cclxuICAgIH07XHJcblxyXG4gICAgc3RhdGljIGphbGFsaVRvR3JlZ29yaWFuKGphbGFsaVllYXI6IG51bWJlciwgamFsYWxpTW9udGg6IG51bWJlciwgamFsYWxpRGF5OiBudW1iZXIpIHtcclxuICAgICAgICBqYWxhbGlZZWFyID0gcGFyc2VJbnQoYCR7amFsYWxpWWVhcn1gKTtcclxuICAgICAgICBqYWxhbGlNb250aCA9IHBhcnNlSW50KGAke2phbGFsaU1vbnRofWApO1xyXG4gICAgICAgIGphbGFsaURheSA9IHBhcnNlSW50KGAke2phbGFsaURheX1gKTtcclxuICAgICAgICB2YXIgankgPSBqYWxhbGlZZWFyIC0gOTc5O1xyXG4gICAgICAgIHZhciBqbSA9IGphbGFsaU1vbnRoIC0gMTtcclxuICAgICAgICB2YXIgamQgPSBqYWxhbGlEYXkgLSAxO1xyXG4gICAgICAgIHZhciBqX2RheV9ubyA9IDM2NSAqIGp5ICsgcGFyc2VJbnQoYCR7ankgLyAzM31gKSAqIDggKyBwYXJzZUludChgJHsoankgJSAzMyArIDMpIC8gNH1gKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGptOyArK2kpXHJcbiAgICAgICAgICAgIGpfZGF5X25vICs9IHRoaXMuZGF5c0luTW9udGgual9kYXlzX2luX21vbnRoW2ldO1xyXG4gICAgICAgIGpfZGF5X25vICs9IGpkO1xyXG4gICAgICAgIHZhciBnX2RheV9ubyA9IGpfZGF5X25vICsgNzk7XHJcbiAgICAgICAgdmFyIGd5ID0gMTYwMCArIDQwMCAqIHBhcnNlSW50KGAke2dfZGF5X25vIC8gMTQ2MDk3fWApO1xyXG4gICAgICAgIGdfZGF5X25vID0gZ19kYXlfbm8gJSAxNDYwOTc7XHJcbiAgICAgICAgdmFyIGxlYXAgPSB0cnVlO1xyXG4gICAgICAgIGlmIChnX2RheV9ubyA+PSAzNjUyNSkge1xyXG4gICAgICAgICAgICBnX2RheV9uby0tO1xyXG4gICAgICAgICAgICBneSArPSAxMDAgKiBwYXJzZUludChgJHtnX2RheV9ubyAvIDM2NTI0fWApO1xyXG4gICAgICAgICAgICBnX2RheV9ubyA9IGdfZGF5X25vICUgMzY1MjQ7XHJcbiAgICAgICAgICAgIGlmIChnX2RheV9ubyA+PSAzNjUpXHJcbiAgICAgICAgICAgICAgICBnX2RheV9ubysrO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBsZWFwID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGd5ICs9IDQgKiBwYXJzZUludChgJHtnX2RheV9ubyAvIDE0NjF9YCk7XHJcbiAgICAgICAgZ19kYXlfbm8gJT0gMTQ2MTtcclxuICAgICAgICBpZiAoZ19kYXlfbm8gPj0gMzY2KSB7XHJcbiAgICAgICAgICAgIGxlYXAgPSBmYWxzZTtcclxuICAgICAgICAgICAgZ19kYXlfbm8tLTtcclxuICAgICAgICAgICAgZ3kgKz0gcGFyc2VJbnQoYCR7Z19kYXlfbm8gLyAzNjV9YCk7XHJcbiAgICAgICAgICAgIGdfZGF5X25vID0gZ19kYXlfbm8gJSAzNjU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBnX2RheV9ubyA+PSB0aGlzLmRheXNJbk1vbnRoLmdfZGF5c19pbl9tb250aFtpXSArICgoaSA9PSAxICYmIGxlYXApID8gMSA6IDApOyBpKyspXHJcbiAgICAgICAgICAgIGdfZGF5X25vIC09IHRoaXMuZGF5c0luTW9udGguZ19kYXlzX2luX21vbnRoW2ldICsgKChpID09IDEgJiYgbGVhcCkgPyAxIDogMCk7XHJcbiAgICAgICAgdmFyIGdtID0gaSArIDE7XHJcbiAgICAgICAgdmFyIGdkID0gZ19kYXlfbm8gKyAxO1xyXG4gICAgICAgIHJldHVybiBbZ3ksIGdtLCBnZF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdyZWdvcmlhblRvSmFsYWxpKGdyZWdvcmlhblllYXI6IG51bWJlciwgZ3JlZ29yaWFuTW9udGg6IG51bWJlciwgZ3JlZ29yaWFuRGF5OiBudW1iZXIpIHtcclxuICAgICAgICBncmVnb3JpYW5ZZWFyID0gcGFyc2VJbnQoYCR7Z3JlZ29yaWFuWWVhcn1gKTtcclxuICAgICAgICBncmVnb3JpYW5Nb250aCA9IHBhcnNlSW50KGAke2dyZWdvcmlhbk1vbnRofWApO1xyXG4gICAgICAgIGdyZWdvcmlhbkRheSA9IHBhcnNlSW50KGAke2dyZWdvcmlhbkRheX1gKTtcclxuICAgICAgICB2YXIgZ3kgPSBncmVnb3JpYW5ZZWFyIC0gMTYwMDtcclxuICAgICAgICB2YXIgZ20gPSBncmVnb3JpYW5Nb250aCAtIDE7XHJcbiAgICAgICAgdmFyIGdkID0gZ3JlZ29yaWFuRGF5IC0gMTtcclxuICAgICAgICB2YXIgZ19kYXlfbm8gPSAzNjUgKiBneSArIHBhcnNlSW50KGAkeyhneSArIDMpIC8gNH1gKSAtIHBhcnNlSW50KGAkeyhneSArIDk5KSAvIDEwMH1gKSArIHBhcnNlSW50KGAkeyhneSArIDM5OSkgLyA0MDB9YCk7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBnbTsgKytpKVxyXG4gICAgICAgICAgICBnX2RheV9ubyArPSB0aGlzLmRheXNJbk1vbnRoLmdfZGF5c19pbl9tb250aFtpXTtcclxuICAgICAgICBpZiAoZ20gPiAxICYmICgoZ3kgJSA0ID09IDAgJiYgZ3kgJSAxMDAgIT0gMCkgfHwgKGd5ICUgNDAwID09IDApKSlcclxuICAgICAgICAgICAgKytnX2RheV9ubztcclxuICAgICAgICBnX2RheV9ubyArPSBnZDtcclxuICAgICAgICB2YXIgal9kYXlfbm8gPSBnX2RheV9ubyAtIDc5O1xyXG4gICAgICAgIHZhciBqX25wID0gcGFyc2VJbnQoYCR7al9kYXlfbm8gLyAxMjA1M31gKTtcclxuICAgICAgICBqX2RheV9ubyAlPSAxMjA1MztcclxuICAgICAgICB2YXIgankgPSA5NzkgKyAzMyAqIGpfbnAgKyA0ICogcGFyc2VJbnQoYCR7al9kYXlfbm8gLyAxNDYxfWApO1xyXG4gICAgICAgIGpfZGF5X25vICU9IDE0NjE7XHJcbiAgICAgICAgaWYgKGpfZGF5X25vID49IDM2Nikge1xyXG4gICAgICAgICAgICBqeSArPSBwYXJzZUludChgJHsoal9kYXlfbm8gLSAxKSAvIDM2NX1gKTtcclxuICAgICAgICAgICAgal9kYXlfbm8gPSAoal9kYXlfbm8gLSAxKSAlIDM2NTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMSAmJiBqX2RheV9ubyA+PSB0aGlzLmRheXNJbk1vbnRoLmpfZGF5c19pbl9tb250aFtpXTsgKytpKSB7XHJcbiAgICAgICAgICAgIGpfZGF5X25vIC09IHRoaXMuZGF5c0luTW9udGgual9kYXlzX2luX21vbnRoW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgam0gPSBpICsgMTtcclxuICAgICAgICB2YXIgamQgPSBqX2RheV9ubyArIDE7XHJcbiAgICAgICAgcmV0dXJuIFtqeSwgam0sIGpkXTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './ys-date-parser-formatter.service';
|
|
2
|
-
export * from './ys-datepicker-i18n.service';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9kYXRlcGlja2VyL3NyYy9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3lzLWRhdGUtcGFyc2VyLWZvcm1hdHRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi95cy1kYXRlcGlja2VyLWkxOG4uc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class YsDateParserFormatterService extends NgbDateParserFormatter {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.DELIMITER = '/';
|
|
8
|
-
}
|
|
9
|
-
parse(value) {
|
|
10
|
-
if (value) {
|
|
11
|
-
const date = value.split(this.DELIMITER);
|
|
12
|
-
return {
|
|
13
|
-
day: parseInt(date[0], 10),
|
|
14
|
-
month: parseInt(date[1], 10),
|
|
15
|
-
year: parseInt(date[2], 10),
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
format(date) {
|
|
21
|
-
return date ? date.year + this.DELIMITER + date.month + this.DELIMITER + date.day : '';
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDateParserFormatterService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDateParserFormatterService, providedIn: 'root' }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDateParserFormatterService, decorators: [{
|
|
27
|
-
type: Injectable,
|
|
28
|
-
args: [{
|
|
29
|
-
providedIn: 'root'
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtZGF0ZS1wYXJzZXItZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9kYXRlcGlja2VyL3NyYy9zZXJ2aWNlcy95cy1kYXRlLXBhcnNlci1mb3JtYXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLbkYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHNCQUFzQjtJQUh4RTs7UUFJVyxjQUFTLEdBQUcsR0FBRyxDQUFDO0tBaUIxQjtJQWZDLEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxPQUFPO2dCQUNMLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDNUIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pGLENBQUM7OEdBakJVLDRCQUE0QjtrSEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07OzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYkRhdGVTdHJ1Y3QgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZc0RhdGVQYXJzZXJGb3JtYXR0ZXJTZXJ2aWNlIGV4dGVuZHMgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciB7XHJcbiAgcmVhZG9ubHkgREVMSU1JVEVSID0gJy8nO1xyXG5cclxuICBwYXJzZSh2YWx1ZTogc3RyaW5nKTogTmdiRGF0ZVN0cnVjdCB8IG51bGwge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSB2YWx1ZS5zcGxpdCh0aGlzLkRFTElNSVRFUik7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZGF5OiBwYXJzZUludChkYXRlWzBdLCAxMCksXHJcbiAgICAgICAgbW9udGg6IHBhcnNlSW50KGRhdGVbMV0sIDEwKSxcclxuICAgICAgICB5ZWFyOiBwYXJzZUludChkYXRlWzJdLCAxMCksXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGZvcm1hdChkYXRlOiBOZ2JEYXRlU3RydWN0IHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZGF0ZSA/IGRhdGUueWVhciArIHRoaXMuREVMSU1JVEVSICsgZGF0ZS5tb250aCArIHRoaXMuREVMSU1JVEVSICsgZGF0ZS5kYXkgOiAnJztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export var LanguageType;
|
|
5
|
-
(function (LanguageType) {
|
|
6
|
-
LanguageType[LanguageType["en"] = 0] = "en";
|
|
7
|
-
LanguageType[LanguageType["fa"] = 1] = "fa";
|
|
8
|
-
LanguageType[LanguageType["fr"] = 2] = "fr";
|
|
9
|
-
})(LanguageType || (LanguageType = {}));
|
|
10
|
-
const I18N_VALUES = {
|
|
11
|
-
"en": {
|
|
12
|
-
weekdays: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
|
|
13
|
-
months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
14
|
-
weekLabel: 'week'
|
|
15
|
-
},
|
|
16
|
-
"fa": {
|
|
17
|
-
weekdays: ['د', 'س', 'چ', 'پ', 'ج', 'ش', 'ی'],
|
|
18
|
-
months: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],
|
|
19
|
-
weekLabel: 'هفته'
|
|
20
|
-
},
|
|
21
|
-
"fr": {
|
|
22
|
-
weekdays: ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],
|
|
23
|
-
months: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Déc'],
|
|
24
|
-
weekLabel: 'sem'
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
export class I18n {
|
|
28
|
-
constructor() {
|
|
29
|
-
this.language = LanguageType[LanguageType.en];
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: I18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: I18n }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: I18n, decorators: [{
|
|
35
|
-
type: Injectable
|
|
36
|
-
}] });
|
|
37
|
-
export class YsDatepickerI18nService extends NgbDatepickerI18n {
|
|
38
|
-
constructor() {
|
|
39
|
-
super();
|
|
40
|
-
this._i18n = inject(I18n);
|
|
41
|
-
}
|
|
42
|
-
getWeekdayLabel(weekday) {
|
|
43
|
-
return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];
|
|
44
|
-
}
|
|
45
|
-
getWeekLabel() {
|
|
46
|
-
return I18N_VALUES[this._i18n.language].weekLabel;
|
|
47
|
-
}
|
|
48
|
-
getMonthShortName(month) {
|
|
49
|
-
return I18N_VALUES[this._i18n.language].months[month - 1];
|
|
50
|
-
}
|
|
51
|
-
getMonthFullName(month) {
|
|
52
|
-
return this.getMonthShortName(month);
|
|
53
|
-
}
|
|
54
|
-
getDayAriaLabel(date) {
|
|
55
|
-
return `${date.day}-${date.month}-${date.year}`;
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerI18nService, providedIn: 'root' }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerI18nService, decorators: [{
|
|
61
|
-
type: Injectable,
|
|
62
|
-
args: [{
|
|
63
|
-
providedIn: 'root'
|
|
64
|
-
}]
|
|
65
|
-
}], ctorParameters: () => [] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtZGF0ZXBpY2tlci1pMThuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9kYXRlcGlja2VyL3NyYy9zZXJ2aWNlcy95cy1kYXRlcGlja2VyLWkxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTlFLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsMkNBQUUsQ0FBQTtJQUNGLDJDQUFFLENBQUE7SUFDRiwyQ0FBRSxDQUFBO0FBQ0osQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBRUQsTUFBTSxXQUFXLEdBQVE7SUFDdkIsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3BELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzVGLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQzdDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO1FBQy9HLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3BELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzlGLFNBQVMsRUFBRSxLQUFLO0tBQ2pCO0NBQ0YsQ0FBQztBQUdGLE1BQU0sT0FBTyxJQUFJO0lBRGpCO1FBRUUsYUFBUSxHQUFXLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDbEQ7OEdBRlksSUFBSTtrSEFBSixJQUFJOzsyRkFBSixJQUFJO2tCQURoQixVQUFVOztBQVFYLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFHNUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhGLFVBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFJN0IsQ0FBQztJQUVRLGVBQWUsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ1EsWUFBWTtRQUNuQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNwRCxDQUFDO0lBQ1EsaUJBQWlCLENBQUMsS0FBYTtRQUN0QyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNRLGdCQUFnQixDQUFDLEtBQWE7UUFDckMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNRLGVBQWUsQ0FBQyxJQUFtQjtRQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzhHQXJCVSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGVTdHJ1Y3QsIE5nYkRhdGVwaWNrZXJJMThuIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuZXhwb3J0IGVudW0gTGFuZ3VhZ2VUeXBlIHtcclxuICBlbixcclxuICBmYSxcclxuICBmclxyXG59XHJcblxyXG5jb25zdCBJMThOX1ZBTFVFUzogYW55ID0ge1xyXG4gIFwiZW5cIjoge1xyXG4gICAgd2Vla2RheXM6IFsnTW8nLCAnVHUnLCAnV2UnLCAnVGgnLCAnRnInLCAnU2EnLCAnU3UnXSxcclxuICAgIG1vbnRoczogWydKYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWF5JywgJ0p1bicsICdKdWwnLCAnQXVnJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RlYyddLFxyXG4gICAgd2Vla0xhYmVsOiAnd2VlaydcclxuICB9LFxyXG4gIFwiZmFcIjoge1xyXG4gICAgd2Vla2RheXM6IFsn2K8nLCAn2LMnLCAn2oYnLCAn2b4nLCAn2KwnLCAn2LQnLCAn24wnXSxcclxuICAgIG1vbnRoczogWyfZgdix2YjYsdiv24zZhicsICfYp9ix2K/bjNio2YfYtNiqJywgJ9iu2LHYr9in2K8nLCAn2KrbjNixJywgJ9mF2LHYr9in2K8nLCAn2LTZh9ix24zZiNixJywgJ9mF2YfYsScsICfYotio2KfZhicsICfYotiw2LEnLCAn2K/bjCcsICfYqNmH2YXZhicsICfYp9iz2YHZhtivJ10sXHJcbiAgICB3ZWVrTGFiZWw6ICfZh9mB2KrZhydcclxuICB9LFxyXG4gIFwiZnJcIjoge1xyXG4gICAgd2Vla2RheXM6IFsnTHUnLCAnTWEnLCAnTWUnLCAnSmUnLCAnVmUnLCAnU2EnLCAnRGknXSxcclxuICAgIG1vbnRoczogWydKYW4nLCAnRsOpdicsICdNYXInLCAnQXZyJywgJ01haScsICdKdWluJywgJ0p1aWwnLCAnQW91JywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0TDqWMnXSxcclxuICAgIHdlZWtMYWJlbDogJ3NlbSdcclxuICB9XHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJMThuIHtcclxuICBsYW5ndWFnZTogc3RyaW5nID0gTGFuZ3VhZ2VUeXBlW0xhbmd1YWdlVHlwZS5lbl07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFlzRGF0ZXBpY2tlckkxOG5TZXJ2aWNlIGV4dGVuZHMgTmdiRGF0ZXBpY2tlckkxOG4ge1xyXG4gIHByaXZhdGUgX2kxOG4gPSBpbmplY3QoSTE4bik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGdldFdlZWtkYXlMYWJlbCh3ZWVrZGF5OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEkxOE5fVkFMVUVTW3RoaXMuX2kxOG4ubGFuZ3VhZ2VdLndlZWtkYXlzW3dlZWtkYXkgLSAxXTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgZ2V0V2Vla0xhYmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gSTE4Tl9WQUxVRVNbdGhpcy5faTE4bi5sYW5ndWFnZV0ud2Vla0xhYmVsO1xyXG4gIH1cclxuICBvdmVycmlkZSBnZXRNb250aFNob3J0TmFtZShtb250aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBJMThOX1ZBTFVFU1t0aGlzLl9pMThuLmxhbmd1YWdlXS5tb250aHNbbW9udGggLSAxXTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgZ2V0TW9udGhGdWxsTmFtZShtb250aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldE1vbnRoU2hvcnROYW1lKG1vbnRoKTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgZ2V0RGF5QXJpYUxhYmVsKGRhdGU6IE5nYkRhdGVTdHJ1Y3QpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke2RhdGUuZGF5fS0ke2RhdGUubW9udGh9LSR7ZGF0ZS55ZWFyfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { JsonPipe, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input, forwardRef, inject } from '@angular/core';
|
|
3
|
-
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { NgbCalendar, NgbDateParserFormatter, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import { I18n, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
8
|
-
import * as i2 from "@angular/forms";
|
|
9
|
-
export class YsDatepickerComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.calendar = inject(NgbCalendar);
|
|
12
|
-
this.today = inject(NgbCalendar).getToday();
|
|
13
|
-
this.firstDayOfWeek = 1;
|
|
14
|
-
this.weekend = [6, 7];
|
|
15
|
-
this.isFooter = true;
|
|
16
|
-
this.todayLabel = "Today";
|
|
17
|
-
this.footer = null;
|
|
18
|
-
this._value = null;
|
|
19
|
-
this.disabled = false;
|
|
20
|
-
this.onChange = () => { };
|
|
21
|
-
this.onTouched = () => { };
|
|
22
|
-
this.markDisabled = (date, current) => date.month !== current?.month;
|
|
23
|
-
this.isWeekend = (date) => this.weekend.includes(this.calendar.getWeekday(date));
|
|
24
|
-
}
|
|
25
|
-
get value() {
|
|
26
|
-
return this._value;
|
|
27
|
-
}
|
|
28
|
-
set value(val) {
|
|
29
|
-
this._value = val;
|
|
30
|
-
}
|
|
31
|
-
writeValue(obj) {
|
|
32
|
-
if (!obj) {
|
|
33
|
-
this.value = null;
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
var date = obj;
|
|
37
|
-
this.value = { year: date.getFullYear(), month: (date.getMonth() + 1), day: date.getDate() };
|
|
38
|
-
}
|
|
39
|
-
registerOnChange(fn) {
|
|
40
|
-
this.onChange = fn;
|
|
41
|
-
}
|
|
42
|
-
registerOnTouched(fn) {
|
|
43
|
-
this.onTouched = fn;
|
|
44
|
-
}
|
|
45
|
-
setDisabledState(isDisabled) {
|
|
46
|
-
this.disabled = isDisabled;
|
|
47
|
-
}
|
|
48
|
-
valueChanged(newDate) {
|
|
49
|
-
if (newDate) {
|
|
50
|
-
if (typeof newDate == 'string') {
|
|
51
|
-
let temp = newDate.split('/');
|
|
52
|
-
let res = new Date(+temp[0], (+temp[1]) - 1, +temp[2]);
|
|
53
|
-
this.onChange(res);
|
|
54
|
-
this.onTouched(res);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
let res = new Date(newDate.year, newDate.month - 1, newDate.day);
|
|
58
|
-
this.onChange(res);
|
|
59
|
-
this.onTouched(res);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
this.onChange(null);
|
|
64
|
-
this.onTouched(null);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
setToday() {
|
|
68
|
-
this.value = this.today;
|
|
69
|
-
this.valueChanged(this.value);
|
|
70
|
-
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsDatepickerComponent, isStandalone: true, selector: "ys-datepicker", inputs: { firstDayOfWeek: "firstDayOfWeek", weekend: "weekend", isFooter: "isFooter", todayLabel: "todayLabel", footer: "footer", disabled: "disabled" }, providers: [
|
|
73
|
-
{
|
|
74
|
-
provide: NG_VALUE_ACCESSOR,
|
|
75
|
-
useExisting: forwardRef(() => YsDatepickerComponent),
|
|
76
|
-
multi: true
|
|
77
|
-
},
|
|
78
|
-
I18n,
|
|
79
|
-
{ provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },
|
|
80
|
-
{ provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }
|
|
81
|
-
], ngImport: i0, template: "<ngb-datepicker #dp [(ngModel)]=\"value\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n [footerTemplate]=\"footerTemplate\" placeholder=\"yyyy/mm/dd\" [disabled]=\"disabled\"\r\n (ngModelChange)=\"valueChanged(value)\" />\r\n\r\n<ng-template #customDay let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\r\n let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.weekend]=\"isWeekend(date)\" [class.focused]=\"focused\" [class.bg-primary]=\"selected\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\">\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n <span *ngIf=\"isFooter\">\r\n <hr class=\"my-0\" />\r\n <span *ngIf=\"footer\">\r\n {{footer}}\r\n </span>\r\n <span *ngIf=\"!footer\">\r\n <button class=\"btn btn-primary btn-sm m-2 float-start\" (click)=\"setToday();\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>", styles: ["::ng-deep html[dir=rtl] .ngb-dp-arrow-prev .ngb-dp-navigation-chevron{transform:rotate(45deg)}::ng-deep html[dir=rtl] .ngb-dp-arrow-next .ngb-dp-navigation-chevron{transform:rotate(-135deg)}::ng-deep html[dir=rtl] .form-select{background-position:left .75rem center}::ng-deep html[dir=rtl] .ngb-dp-month:first-child .ngb-dp-week{padding-right:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month:last-child .ngb-dp-week{padding-left:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-right:1rem}::ng-deep html[dir=rtl] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}::ng-deep html[dir=rtl] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--bs-border-width) * -1);border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-top-right-radius:0;border-bottom-right-radius:0}::ng-deep .ngb-dp-day{display:flex;align-items:center}.custom-day{text-align:center;padding:.185rem .25rem;border-radius:.25rem;display:inline-block;width:2rem;height:2rem;line-height:1.7}.weekend{color:var(--bs-danger)}.custom-day:hover,.custom-day.focused{background-color:var(--bs-gray-300)}.hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: NgbDatepickerModule }, { kind: "component", type: i1.NgbDatepicker, selector: "ngb-datepicker", inputs: ["contentTemplate", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "maxDate", "minDate", "navigation", "outsideDays", "showWeekNumbers", "startDate", "weekdays"], outputs: ["navigate", "dateSelect"], exportAs: ["ngbDatepicker"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerComponent, decorators: [{
|
|
84
|
-
type: Component,
|
|
85
|
-
args: [{ selector: 'ys-datepicker', standalone: true, imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf], providers: [
|
|
86
|
-
{
|
|
87
|
-
provide: NG_VALUE_ACCESSOR,
|
|
88
|
-
useExisting: forwardRef(() => YsDatepickerComponent),
|
|
89
|
-
multi: true
|
|
90
|
-
},
|
|
91
|
-
I18n,
|
|
92
|
-
{ provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },
|
|
93
|
-
{ provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }
|
|
94
|
-
], template: "<ngb-datepicker #dp [(ngModel)]=\"value\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n [footerTemplate]=\"footerTemplate\" placeholder=\"yyyy/mm/dd\" [disabled]=\"disabled\"\r\n (ngModelChange)=\"valueChanged(value)\" />\r\n\r\n<ng-template #customDay let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\r\n let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.weekend]=\"isWeekend(date)\" [class.focused]=\"focused\" [class.bg-primary]=\"selected\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\">\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n <span *ngIf=\"isFooter\">\r\n <hr class=\"my-0\" />\r\n <span *ngIf=\"footer\">\r\n {{footer}}\r\n </span>\r\n <span *ngIf=\"!footer\">\r\n <button class=\"btn btn-primary btn-sm m-2 float-start\" (click)=\"setToday();\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>", styles: ["::ng-deep html[dir=rtl] .ngb-dp-arrow-prev .ngb-dp-navigation-chevron{transform:rotate(45deg)}::ng-deep html[dir=rtl] .ngb-dp-arrow-next .ngb-dp-navigation-chevron{transform:rotate(-135deg)}::ng-deep html[dir=rtl] .form-select{background-position:left .75rem center}::ng-deep html[dir=rtl] .ngb-dp-month:first-child .ngb-dp-week{padding-right:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month:last-child .ngb-dp-week{padding-left:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-right:1rem}::ng-deep html[dir=rtl] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}::ng-deep html[dir=rtl] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--bs-border-width) * -1);border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-top-right-radius:0;border-bottom-right-radius:0}::ng-deep .ngb-dp-day{display:flex;align-items:center}.custom-day{text-align:center;padding:.185rem .25rem;border-radius:.25rem;display:inline-block;width:2rem;height:2rem;line-height:1.7}.weekend{color:var(--bs-danger)}.custom-day:hover,.custom-day.focused{background-color:var(--bs-gray-300)}.hidden{display:none}\n"] }]
|
|
95
|
-
}], propDecorators: { firstDayOfWeek: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], weekend: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], isFooter: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], todayLabel: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], footer: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], disabled: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9kYXRlcGlja2VyL3NyYy95cy1kYXRlcGlja2VyL3lzLWRhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvZGF0ZXBpY2tlci9zcmMveXMtZGF0ZXBpY2tlci95cy1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQVcsc0JBQXNCLEVBQWlCLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakosT0FBTyxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQW1CMUYsTUFBTSxPQUFPLHFCQUFxQjtJQWpCbEM7UUFtQkUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixVQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxPQUFPLENBQUM7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cnQgeyBKc29uUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiQ2FsZW5kYXIsIE5nYkRhdGUsIE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYkRhdGVTdHJ1Y3QsIE5nYkRhdGVwaWNrZXJJMThuLCBOZ2JEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBJMThuLCBZc0RhdGVQYXJzZXJGb3JtYXR0ZXJTZXJ2aWNlLCBZc0RhdGVwaWNrZXJJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneXMtZGF0ZXBpY2tlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdiRGF0ZXBpY2tlck1vZHVsZSwgRm9ybXNNb2R1bGUsIEpzb25QaXBlLCBOZ0lmXSxcclxuICB0ZW1wbGF0ZVVybDogJy4veXMtZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veXMtZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gWXNEYXRlcGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICBJMThuLFxyXG4gICAgeyBwcm92aWRlOiBOZ2JEYXRlcGlja2VySTE4biwgdXNlQ2xhc3M6IFlzRGF0ZXBpY2tlckkxOG5TZXJ2aWNlIH0sXHJcbiAgICB7IHByb3ZpZGU6IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIHVzZUNsYXNzOiBZc0RhdGVQYXJzZXJGb3JtYXR0ZXJTZXJ2aWNlIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZc0RhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIGNhbGVuZGFyID0gaW5qZWN0KE5nYkNhbGVuZGFyKTtcclxuICB0b2RheSA9IGluamVjdChOZ2JDYWxlbmRhcikuZ2V0VG9kYXkoKTtcclxuXHJcbiAgQElucHV0KCkgZmlyc3REYXlPZldlZWs6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgd2Vla2VuZDogbnVtYmVyW10gPSBbNiwgN107XHJcblxyXG4gIEBJbnB1dCgpIGlzRm9vdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0b2RheUxhYmVsOiBzdHJpbmcgPSBcIlRvZGF5XCI7XHJcbiAgQElucHV0KCkgZm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIF92YWx1ZTogTmdiRGF0ZVN0cnVjdCB8IG51bGwgPSBudWxsO1xyXG4gIGdldCB2YWx1ZSgpOiBOZ2JEYXRlU3RydWN0IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IE5nYkRhdGVTdHJ1Y3QgfCBudWxsKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfVxyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghb2JqKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGRhdGU6IERhdGUgPSBvYmo7XHJcbiAgICB0aGlzLnZhbHVlID0geyB5ZWFyOiBkYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiAoZGF0ZS5nZXRNb250aCgpICsgMSksIGRheTogZGF0ZS5nZXREYXRlKCkgfTtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbWFya0Rpc2FibGVkID0gKGRhdGU6IE5nYkRhdGUsIGN1cnJlbnQ/OiB7IG1vbnRoOiBudW1iZXI7IHllYXI6IG51bWJlciB9KSA9PiBkYXRlLm1vbnRoICE9PSBjdXJyZW50Py5tb250aDtcclxuICBpc1dlZWtlbmQgPSAoZGF0ZTogTmdiRGF0ZSkgPT4gdGhpcy53ZWVrZW5kLmluY2x1ZGVzKHRoaXMuY2FsZW5kYXIuZ2V0V2Vla2RheShkYXRlKSk7XHJcblxyXG4gIHZhbHVlQ2hhbmdlZChuZXdEYXRlOiBOZ2JEYXRlU3RydWN0IHwgc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKG5ld0RhdGUpIHtcclxuICAgICAgaWYgKHR5cGVvZiBuZXdEYXRlID09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgbGV0IHRlbXAgPSBuZXdEYXRlLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgbGV0IHJlczogRGF0ZSA9IG5ldyBEYXRlKCt0ZW1wWzBdLCAoK3RlbXBbMV0pIC0gMSwgK3RlbXBbMl0pO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UocmVzKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZChyZXMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCByZXM6IERhdGUgPSBuZXcgRGF0ZShuZXdEYXRlLnllYXIsIG5ld0RhdGUubW9udGggLSAxLCBuZXdEYXRlLmRheSk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShyZXMpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VG9kYXkoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy50b2RheTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2VkKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nYi1kYXRlcGlja2VyICNkcCBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCIgW2RheVRlbXBsYXRlXT1cImN1c3RvbURheVwiXHJcbiAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiBwbGFjZWhvbGRlcj1cInl5eXkvbW0vZGRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVDaGFuZ2VkKHZhbHVlKVwiIC8+XHJcblxyXG48bmctdGVtcGxhdGUgI2N1c3RvbURheSBsZXQtZGF0ZSBsZXQtY3VycmVudE1vbnRoPVwiY3VycmVudE1vbnRoXCIgbGV0LXNlbGVjdGVkPVwic2VsZWN0ZWRcIiBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXHJcbiAgICBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY3VzdG9tLWRheVwiIFtjbGFzcy53ZWVrZW5kXT1cImlzV2Vla2VuZChkYXRlKVwiIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIiBbY2xhc3MuYmctcHJpbWFyeV09XCJzZWxlY3RlZFwiXHJcbiAgICAgICAgW2NsYXNzLmhpZGRlbl09XCJkYXRlLm1vbnRoICE9PSBjdXJyZW50TW9udGhcIiBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJpc0Zvb3RlclwiPlxyXG4gICAgICAgIDxociBjbGFzcz1cIm15LTBcIiAvPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIHt7Zm9vdGVyfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG0tMiBmbG9hdC1zdGFydFwiIChjbGljayk9XCJzZXRUb2RheSgpO1wiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj57e3RvZGF5TGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { JsonPipe, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input, forwardRef, inject } from '@angular/core';
|
|
3
|
-
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { NgbCalendar, NgbCalendarPersian, NgbDateParserFormatter, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import { JalaliDate } from '../models';
|
|
6
|
-
import { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../services";
|
|
9
|
-
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
10
|
-
import * as i3 from "@angular/forms";
|
|
11
|
-
export class YsDatepickerPersianComponent {
|
|
12
|
-
get language() {
|
|
13
|
-
return this._language;
|
|
14
|
-
}
|
|
15
|
-
set language(value) {
|
|
16
|
-
this._language = value;
|
|
17
|
-
this.i18N.language = this._language;
|
|
18
|
-
}
|
|
19
|
-
get value() {
|
|
20
|
-
return this._value;
|
|
21
|
-
}
|
|
22
|
-
set value(val) {
|
|
23
|
-
this._value = val;
|
|
24
|
-
}
|
|
25
|
-
constructor(i18N) {
|
|
26
|
-
this.i18N = i18N;
|
|
27
|
-
this.calendar = inject(NgbCalendar);
|
|
28
|
-
this.today = inject(NgbCalendar).getToday();
|
|
29
|
-
this.firstDayOfWeek = 6;
|
|
30
|
-
this.weekend = [5];
|
|
31
|
-
this._language = LanguageType[LanguageType.fa];
|
|
32
|
-
this.isFooter = true;
|
|
33
|
-
this.todayLabel = "امروز";
|
|
34
|
-
this.footer = null;
|
|
35
|
-
this._value = null;
|
|
36
|
-
this.disabled = false;
|
|
37
|
-
this.onChange = () => { };
|
|
38
|
-
this.onTouched = () => { };
|
|
39
|
-
this.markDisabled = (date, current) => date.month !== current?.month;
|
|
40
|
-
this.isWeekend = (date) => this.weekend.includes(this.calendar.getWeekday(date));
|
|
41
|
-
this.language = LanguageType[LanguageType.fa];
|
|
42
|
-
}
|
|
43
|
-
writeValue(obj) {
|
|
44
|
-
if (!obj) {
|
|
45
|
-
this.value = null;
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
var date = obj;
|
|
49
|
-
let persianDate = JalaliDate.gregorianToJalali(date.getFullYear(), date.getMonth() + 1, date.getDate());
|
|
50
|
-
this.value = { year: persianDate[0], month: persianDate[1], day: persianDate[2] };
|
|
51
|
-
}
|
|
52
|
-
registerOnChange(fn) {
|
|
53
|
-
this.onChange = fn;
|
|
54
|
-
}
|
|
55
|
-
registerOnTouched(fn) {
|
|
56
|
-
this.onTouched = fn;
|
|
57
|
-
}
|
|
58
|
-
setDisabledState(isDisabled) {
|
|
59
|
-
this.disabled = isDisabled;
|
|
60
|
-
}
|
|
61
|
-
valueChanged(newDate) {
|
|
62
|
-
if (newDate) {
|
|
63
|
-
if (typeof newDate == 'string') {
|
|
64
|
-
let temp = newDate.split('/');
|
|
65
|
-
let convertedDate = JalaliDate.jalaliToGregorian(+temp[0], (+temp[1]) - 1, +temp[2]);
|
|
66
|
-
let res = new Date(+convertedDate[0], (+convertedDate[1]) - 1, +convertedDate[2]);
|
|
67
|
-
this.onChange(res);
|
|
68
|
-
this.onTouched(res);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
let convertedDate = JalaliDate.jalaliToGregorian(newDate.year, newDate.month, newDate.day);
|
|
72
|
-
var res = new Date(+convertedDate[0], +convertedDate[1] - 1, +convertedDate[2]);
|
|
73
|
-
this.onChange(res);
|
|
74
|
-
this.onTouched(res);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
this.onChange(null);
|
|
79
|
-
this.onTouched(null);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
setToday() {
|
|
83
|
-
this.value = this.today;
|
|
84
|
-
this.valueChanged(this.value);
|
|
85
|
-
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerPersianComponent, deps: [{ token: i1.I18n }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsDatepickerPersianComponent, isStandalone: true, selector: "ys-datepicker-persian", inputs: { firstDayOfWeek: "firstDayOfWeek", weekend: "weekend", language: "language", isFooter: "isFooter", todayLabel: "todayLabel", footer: "footer", disabled: "disabled" }, providers: [
|
|
88
|
-
{
|
|
89
|
-
provide: NG_VALUE_ACCESSOR,
|
|
90
|
-
useExisting: forwardRef(() => YsDatepickerPersianComponent),
|
|
91
|
-
multi: true
|
|
92
|
-
},
|
|
93
|
-
I18n,
|
|
94
|
-
{ provide: NgbCalendar, useClass: NgbCalendarPersian },
|
|
95
|
-
{ provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },
|
|
96
|
-
{ provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }
|
|
97
|
-
], ngImport: i0, template: "<ngb-datepicker #dp [(ngModel)]=\"value\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n [footerTemplate]=\"footerTemplate\" placeholder=\"yyyy/mm/dd\" [disabled]=\"disabled\" (ngModelChange)=\"valueChanged(value)\" />\r\n\r\n<ng-template #customDay let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\r\n let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.weekend]=\"isWeekend(date)\" [class.focused]=\"focused\" [class.bg-primary]=\"selected\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\">\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n <span *ngIf=\"isFooter\">\r\n <hr class=\"my-0\" />\r\n <span *ngIf=\"footer\">\r\n {{footer}}\r\n </span>\r\n <span *ngIf=\"!footer\">\r\n <button class=\"btn btn-primary btn-sm m-2 float-start\" (click)=\"setToday();\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>", styles: ["::ng-deep html[dir=rtl] .ngb-dp-arrow-prev .ngb-dp-navigation-chevron{transform:rotate(45deg)}::ng-deep html[dir=rtl] .ngb-dp-arrow-next .ngb-dp-navigation-chevron{transform:rotate(-135deg)}::ng-deep html[dir=rtl] .form-select{background-position:left .75rem center}::ng-deep html[dir=rtl] .ngb-dp-month:first-child .ngb-dp-week{padding-right:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month:last-child .ngb-dp-week{padding-left:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-right:1rem}::ng-deep html[dir=rtl] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}::ng-deep html[dir=rtl] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--bs-border-width) * -1);border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-top-right-radius:0;border-bottom-right-radius:0}::ng-deep .ngb-dp-day{display:flex;align-items:center}.custom-day{text-align:center;padding:.185rem .25rem;border-radius:.25rem;display:inline-block;width:2rem;height:2rem;line-height:1.7}.weekend{color:var(--bs-danger)}.custom-day:hover,.custom-day.focused{background-color:var(--bs-gray-300)}.hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: NgbDatepickerModule }, { kind: "component", type: i2.NgbDatepicker, selector: "ngb-datepicker", inputs: ["contentTemplate", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "maxDate", "minDate", "navigation", "outsideDays", "showWeekNumbers", "startDate", "weekdays"], outputs: ["navigate", "dateSelect"], exportAs: ["ngbDatepicker"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsDatepickerPersianComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'ys-datepicker-persian', standalone: true, imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf], providers: [
|
|
102
|
-
{
|
|
103
|
-
provide: NG_VALUE_ACCESSOR,
|
|
104
|
-
useExisting: forwardRef(() => YsDatepickerPersianComponent),
|
|
105
|
-
multi: true
|
|
106
|
-
},
|
|
107
|
-
I18n,
|
|
108
|
-
{ provide: NgbCalendar, useClass: NgbCalendarPersian },
|
|
109
|
-
{ provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },
|
|
110
|
-
{ provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }
|
|
111
|
-
], template: "<ngb-datepicker #dp [(ngModel)]=\"value\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n [footerTemplate]=\"footerTemplate\" placeholder=\"yyyy/mm/dd\" [disabled]=\"disabled\" (ngModelChange)=\"valueChanged(value)\" />\r\n\r\n<ng-template #customDay let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\r\n let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.weekend]=\"isWeekend(date)\" [class.focused]=\"focused\" [class.bg-primary]=\"selected\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\">\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n <span *ngIf=\"isFooter\">\r\n <hr class=\"my-0\" />\r\n <span *ngIf=\"footer\">\r\n {{footer}}\r\n </span>\r\n <span *ngIf=\"!footer\">\r\n <button class=\"btn btn-primary btn-sm m-2 float-start\" (click)=\"setToday();\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>", styles: ["::ng-deep html[dir=rtl] .ngb-dp-arrow-prev .ngb-dp-navigation-chevron{transform:rotate(45deg)}::ng-deep html[dir=rtl] .ngb-dp-arrow-next .ngb-dp-navigation-chevron{transform:rotate(-135deg)}::ng-deep html[dir=rtl] .form-select{background-position:left .75rem center}::ng-deep html[dir=rtl] .ngb-dp-month:first-child .ngb-dp-week{padding-right:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month:last-child .ngb-dp-week{padding-left:.25rem}::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,::ng-deep html[dir=rtl] .ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-right:1rem}::ng-deep html[dir=rtl] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,::ng-deep html[dir=rtl] .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}::ng-deep html[dir=rtl] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--bs-border-width) * -1);border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-top-right-radius:0;border-bottom-right-radius:0}::ng-deep .ngb-dp-day{display:flex;align-items:center}.custom-day{text-align:center;padding:.185rem .25rem;border-radius:.25rem;display:inline-block;width:2rem;height:2rem;line-height:1.7}.weekend{color:var(--bs-danger)}.custom-day:hover,.custom-day.focused{background-color:var(--bs-gray-300)}.hidden{display:none}\n"] }]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.I18n }], propDecorators: { firstDayOfWeek: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], weekend: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], language: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], isFooter: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], todayLabel: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], footer: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], disabled: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtZGF0ZXBpY2tlci1wZXJzaWFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL2RhdGVwaWNrZXIvc3JjL3lzLWRhdGVwaWNrZXItcGVyc2lhbi95cy1kYXRlcGlja2VyLXBlcnNpYW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvZGF0ZXBpY2tlci9zcmMveXMtZGF0ZXBpY2tlci1wZXJzaWFuL3lzLWRhdGVwaWNrZXItcGVyc2lhbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFXLHNCQUFzQixFQUFpQixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JLLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBb0J4RyxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJ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QUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFVRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvblBpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkNhbGVuZGFyLCBOZ2JDYWxlbmRhclBlcnNpYW4sIE5nYkRhdGUsIE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYkRhdGVTdHJ1Y3QsIE5nYkRhdGVwaWNrZXJJMThuLCBOZ2JEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBKYWxhbGlEYXRlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgSTE4biwgTGFuZ3VhZ2VUeXBlLCBZc0RhdGVQYXJzZXJGb3JtYXR0ZXJTZXJ2aWNlLCBZc0RhdGVwaWNrZXJJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneXMtZGF0ZXBpY2tlci1wZXJzaWFuJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ2JEYXRlcGlja2VyTW9kdWxlLCBGb3Jtc01vZHVsZSwgSnNvblBpcGUsIE5nSWZdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95cy1kYXRlcGlja2VyLXBlcnNpYW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lzLWRhdGVwaWNrZXItcGVyc2lhbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gWXNEYXRlcGlja2VyUGVyc2lhbkNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgSTE4bixcclxuICAgIHsgcHJvdmlkZTogTmdiQ2FsZW5kYXIsIHVzZUNsYXNzOiBOZ2JDYWxlbmRhclBlcnNpYW4gfSxcclxuICAgIHsgcHJvdmlkZTogTmdiRGF0ZXBpY2tlckkxOG4sIHVzZUNsYXNzOiBZc0RhdGVwaWNrZXJJMThuU2VydmljZSB9LFxyXG4gICAgeyBwcm92aWRlOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLCB1c2VDbGFzczogWXNEYXRlUGFyc2VyRm9ybWF0dGVyU2VydmljZSB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWXNEYXRlcGlja2VyUGVyc2lhbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgY2FsZW5kYXIgPSBpbmplY3QoTmdiQ2FsZW5kYXIpO1xyXG4gIHRvZGF5ID0gaW5qZWN0KE5nYkNhbGVuZGFyKS5nZXRUb2RheSgpO1xyXG5cclxuICBASW5wdXQoKSBmaXJzdERheU9mV2VlazogbnVtYmVyID0gNjtcclxuICBASW5wdXQoKSB3ZWVrZW5kOiBudW1iZXJbXSA9IFs1XTtcclxuXHJcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2U6IHN0cmluZyA9IExhbmd1YWdlVHlwZVtMYW5ndWFnZVR5cGUuZmFdO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XHJcbiAgfVxyXG4gIHNldCBsYW5ndWFnZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sYW5ndWFnZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5pMThOLmxhbmd1YWdlID0gdGhpcy5fbGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBpc0Zvb3RlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdG9kYXlMYWJlbDogc3RyaW5nID0gXCLYp9mF2LHZiNiyXCI7XHJcbiAgQElucHV0KCkgZm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIF92YWx1ZTogTmdiRGF0ZVN0cnVjdCB8IG51bGwgPSBudWxsO1xyXG4gIGdldCB2YWx1ZSgpOiBOZ2JEYXRlU3RydWN0IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IE5nYkRhdGVTdHJ1Y3QgfCBudWxsKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfVxyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4TjogSTE4bikge1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9IExhbmd1YWdlVHlwZVtMYW5ndWFnZVR5cGUuZmFdO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFvYmopIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgZGF0ZTogRGF0ZSA9IG9iajtcclxuICAgIGxldCBwZXJzaWFuRGF0ZTogbnVtYmVyW10gPSBKYWxhbGlEYXRlLmdyZWdvcmlhblRvSmFsYWxpKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpICsgMSwgZGF0ZS5nZXREYXRlKCkpO1xyXG4gICAgdGhpcy52YWx1ZSA9IHsgeWVhcjogcGVyc2lhbkRhdGVbMF0sIG1vbnRoOiBwZXJzaWFuRGF0ZVsxXSwgZGF5OiBwZXJzaWFuRGF0ZVsyXSB9O1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBtYXJrRGlzYWJsZWQgPSAoZGF0ZTogTmdiRGF0ZSwgY3VycmVudD86IHsgbW9udGg6IG51bWJlcjsgeWVhcjogbnVtYmVyIH0pID0+IGRhdGUubW9udGggIT09IGN1cnJlbnQ/Lm1vbnRoO1xyXG4gIGlzV2Vla2VuZCA9IChkYXRlOiBOZ2JEYXRlKSA9PiB0aGlzLndlZWtlbmQuaW5jbHVkZXModGhpcy5jYWxlbmRhci5nZXRXZWVrZGF5KGRhdGUpKTtcclxuXHJcbiAgdmFsdWVDaGFuZ2VkKG5ld0RhdGU6IE5nYkRhdGVTdHJ1Y3QgfCBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAobmV3RGF0ZSkge1xyXG4gICAgICBpZiAodHlwZW9mIG5ld0RhdGUgPT0gJ3N0cmluZycpIHtcclxuICAgICAgICBsZXQgdGVtcCA9IG5ld0RhdGUuc3BsaXQoJy8nKTtcclxuICAgICAgICBsZXQgY29udmVydGVkRGF0ZTogbnVtYmVyW10gPSBKYWxhbGlEYXRlLmphbGFsaVRvR3JlZ29yaWFuKCt0ZW1wWzBdLCAoK3RlbXBbMV0pIC0gMSwgK3RlbXBbMl0pO1xyXG4gICAgICAgIGxldCByZXM6IERhdGUgPSBuZXcgRGF0ZSgrY29udmVydGVkRGF0ZVswXSwgKCtjb252ZXJ0ZWREYXRlWzFdKSAtIDEsICtjb252ZXJ0ZWREYXRlWzJdKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHJlcyk7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQocmVzKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgY29udmVydGVkRGF0ZTogbnVtYmVyW10gPSBKYWxhbGlEYXRlLmphbGFsaVRvR3JlZ29yaWFuKG5ld0RhdGUueWVhciwgbmV3RGF0ZS5tb250aCwgbmV3RGF0ZS5kYXkpO1xyXG4gICAgICAgIHZhciByZXM6IERhdGUgPSBuZXcgRGF0ZSgrY29udmVydGVkRGF0ZVswXSwgK2NvbnZlcnRlZERhdGVbMV0gLSAxLCArY29udmVydGVkRGF0ZVsyXSk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShyZXMpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VG9kYXkoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy50b2RheTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2VkKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nYi1kYXRlcGlja2VyICNkcCBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCIgW2RheVRlbXBsYXRlXT1cImN1c3RvbURheVwiXHJcbiAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiBwbGFjZWhvbGRlcj1cInl5eXkvbW0vZGRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQodmFsdWUpXCIgLz5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY3VzdG9tRGF5IGxldC1kYXRlIGxldC1jdXJyZW50TW9udGg9XCJjdXJyZW50TW9udGhcIiBsZXQtc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCJcclxuICAgIGxldC1mb2N1c2VkPVwiZm9jdXNlZFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJjdXN0b20tZGF5XCIgW2NsYXNzLndlZWtlbmRdPVwiaXNXZWVrZW5kKGRhdGUpXCIgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiIFtjbGFzcy5iZy1wcmltYXJ5XT1cInNlbGVjdGVkXCJcclxuICAgICAgICBbY2xhc3MuaGlkZGVuXT1cImRhdGUubW9udGggIT09IGN1cnJlbnRNb250aFwiIFtjbGFzcy50ZXh0LW11dGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAge3sgZGF0ZS5kYXkgfX1cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICA8c3BhbiAqbmdJZj1cImlzRm9vdGVyXCI+XHJcbiAgICAgICAgPGhyIGNsYXNzPVwibXktMFwiIC8+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJmb290ZXJcIj5cclxuICAgICAgICAgICAge3tmb290ZXJ9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFmb290ZXJcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gbS0yIGZsb2F0LXN0YXJ0XCIgKGNsaWNrKT1cInNldFRvZGF5KCk7XCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPnt7dG9kYXlMYWJlbH19PC9idXR0b24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|