@yoozsoft/yoozsoft-ng 1.3.2-alpha.0 → 2.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.
Files changed (64) hide show
  1. package/README.md +16 -9
  2. package/datepicker/public-api.d.ts +2 -0
  3. package/datepicker/src/ys-datepicker/ys-datepicker.component.d.ts +32 -0
  4. package/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.d.ts +38 -0
  5. package/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.d.ts +3 -2
  6. package/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.d.ts +3 -2
  7. package/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.d.ts +3 -2
  8. package/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.d.ts +3 -2
  9. package/directives/src/password-mismatch/password-mismatch.directive.d.ts +1 -1
  10. package/esm2022/datepicker/public-api.mjs +3 -1
  11. package/esm2022/datepicker/src/models/jalali-date.mjs +2 -3
  12. package/esm2022/datepicker/src/services/ys-date-parser-formatter.service.mjs +5 -6
  13. package/esm2022/datepicker/src/services/ys-datepicker-i18n.service.mjs +10 -12
  14. package/esm2022/datepicker/src/ys-datepicker/ys-datepicker.component.mjs +108 -0
  15. package/esm2022/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.mjs +127 -0
  16. package/esm2022/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.mjs +12 -10
  17. package/esm2022/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.mjs +12 -10
  18. package/esm2022/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.mjs +12 -10
  19. package/esm2022/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.mjs +12 -10
  20. package/esm2022/directives/src/password-mismatch/password-mismatch.directive.mjs +5 -6
  21. package/esm2022/footer/src/ys-footer/ys-footer.component.mjs +5 -6
  22. package/esm2022/layout/src/ys-layout/ys-layout.component.mjs +6 -7
  23. package/esm2022/loading/src/ys-loading-mask/ys-loading-mask.component.mjs +5 -6
  24. package/esm2022/navbar/src/ys-navbar/ys-navbar.component.mjs +7 -8
  25. package/esm2022/overlay/src/ys-overlay/ys-overlay.component.mjs +6 -7
  26. package/esm2022/progress/src/services/progress.service.mjs +5 -6
  27. package/esm2022/progress/src/ys-progress/ys-progress.component.mjs +6 -7
  28. package/esm2022/select/src/ys-select/ys-select.component.mjs +5 -6
  29. package/esm2022/sidebar/src/services/sidebar.service.mjs +5 -6
  30. package/esm2022/sidebar/src/ys-sidebar/ys-sidebar.component.mjs +7 -8
  31. package/esm2022/toasts/src/services/toast.service.mjs +5 -6
  32. package/esm2022/toasts/src/ys-toasts/ys-toasts.component.mjs +8 -9
  33. package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs +269 -40
  34. package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs.map +1 -1
  35. package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs +3 -3
  36. package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs.map +1 -1
  37. package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs +3 -3
  38. package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs.map +1 -1
  39. package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs +4 -4
  40. package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs.map +1 -1
  41. package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs +3 -3
  42. package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs.map +1 -1
  43. package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs +5 -5
  44. package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs.map +1 -1
  45. package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs +4 -4
  46. package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs.map +1 -1
  47. package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs +7 -7
  48. package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs.map +1 -1
  49. package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs +3 -3
  50. package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs.map +1 -1
  51. package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs +8 -8
  52. package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs.map +1 -1
  53. package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs +9 -9
  54. package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs.map +1 -1
  55. package/footer/src/ys-footer/ys-footer.component.d.ts +1 -1
  56. package/layout/src/ys-layout/ys-layout.component.d.ts +1 -1
  57. package/loading/src/ys-loading-mask/ys-loading-mask.component.d.ts +1 -1
  58. package/navbar/src/ys-navbar/ys-navbar.component.d.ts +1 -1
  59. package/overlay/src/ys-overlay/ys-overlay.component.d.ts +1 -1
  60. package/package.json +15 -15
  61. package/progress/src/ys-progress/ys-progress.component.d.ts +1 -1
  62. package/select/src/ys-select/ys-select.component.d.ts +1 -1
  63. package/sidebar/src/ys-sidebar/ys-sidebar.component.d.ts +1 -1
  64. package/toasts/src/ys-toasts/ys-toasts.component.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"yoozsoft-yoozsoft-ng-datepicker.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/models/date-time-format.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/models/jalali-date.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/services/ys-date-parser-formatter.service.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/services/ys-datepicker-i18n.service.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/yoozsoft-yoozsoft-ng-datepicker.ts"],"sourcesContent":["export class DateTimeFormat {\r\n static twoDigit(s: string): string { return (\"0\" + (s + 1)).slice(-2); }\r\n}\r\n","export class JalaliDate {\r\n\r\n private static daysInMonth = {\r\n g_days_in_month: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n j_days_in_month: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]\r\n };\r\n\r\n static jalaliToGregorian(jalaliYear: number, jalaliMonth: number, jalaliDay: number) {\r\n jalaliYear = parseInt(`${jalaliYear}`);\r\n jalaliMonth = parseInt(`${jalaliMonth}`);\r\n jalaliDay = parseInt(`${jalaliDay}`);\r\n var jy = jalaliYear - 979;\r\n var jm = jalaliMonth - 1;\r\n var jd = jalaliDay - 1;\r\n var j_day_no = 365 * jy + parseInt(`${jy / 33}`) * 8 + parseInt(`${(jy % 33 + 3) / 4}`);\r\n for (var i = 0; i < jm; ++i)\r\n j_day_no += this.daysInMonth.j_days_in_month[i];\r\n j_day_no += jd;\r\n var g_day_no = j_day_no + 79;\r\n var gy = 1600 + 400 * parseInt(`${g_day_no / 146097}`);\r\n g_day_no = g_day_no % 146097;\r\n var leap = true;\r\n if (g_day_no >= 36525) {\r\n g_day_no--;\r\n gy += 100 * parseInt(`${g_day_no / 36524}`);\r\n g_day_no = g_day_no % 36524;\r\n if (g_day_no >= 365)\r\n g_day_no++;\r\n else\r\n leap = false;\r\n }\r\n gy += 4 * parseInt(`${g_day_no / 1461}`);\r\n g_day_no %= 1461;\r\n if (g_day_no >= 366) {\r\n leap = false;\r\n g_day_no--;\r\n gy += parseInt(`${g_day_no / 365}`);\r\n g_day_no = g_day_no % 365;\r\n }\r\n for (var i = 0; g_day_no >= this.daysInMonth.g_days_in_month[i] + ((i == 1 && leap) ? 1 : 0); i++)\r\n g_day_no -= this.daysInMonth.g_days_in_month[i] + ((i == 1 && leap) ? 1 : 0);\r\n var gm = i + 1;\r\n var gd = g_day_no + 1;\r\n return [gy, gm, gd];\r\n }\r\n\r\n static gregorianToJalali(gregorianYear: number, gregorianMonth: number, gregorianDay: number) {\r\n gregorianYear = parseInt(`${gregorianYear}`);\r\n gregorianMonth = parseInt(`${gregorianMonth}`);\r\n gregorianDay = parseInt(`${gregorianDay}`);\r\n var gy = gregorianYear - 1600;\r\n var gm = gregorianMonth - 1;\r\n var gd = gregorianDay - 1;\r\n var g_day_no = 365 * gy + parseInt(`${(gy + 3) / 4}`) - parseInt(`${(gy + 99) / 100}`) + parseInt(`${(gy + 399) / 400}`);\r\n for (var i = 0; i < gm; ++i)\r\n g_day_no += this.daysInMonth.g_days_in_month[i];\r\n if (gm > 1 && ((gy % 4 == 0 && gy % 100 != 0) || (gy % 400 == 0)))\r\n ++g_day_no;\r\n g_day_no += gd;\r\n var j_day_no = g_day_no - 79;\r\n var j_np = parseInt(`${j_day_no / 12053}`);\r\n j_day_no %= 12053;\r\n var jy = 979 + 33 * j_np + 4 * parseInt(`${j_day_no / 1461}`);\r\n j_day_no %= 1461;\r\n if (j_day_no >= 366) {\r\n jy += parseInt(`${(j_day_no - 1) / 365}`);\r\n j_day_no = (j_day_no - 1) % 365;\r\n }\r\n for (var i = 0; i < 11 && j_day_no >= this.daysInMonth.j_days_in_month[i]; ++i) {\r\n j_day_no -= this.daysInMonth.j_days_in_month[i];\r\n }\r\n var jm = i + 1;\r\n var jd = j_day_no + 1;\r\n return [jy, jm, jd];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class YsDateParserFormatterService extends NgbDateParserFormatter {\r\n readonly DELIMITER = '/';\r\n\r\n parse(value: string): NgbDateStruct | null {\r\n if (value) {\r\n const date = value.split(this.DELIMITER);\r\n return {\r\n day: parseInt(date[0], 10),\r\n month: parseInt(date[1], 10),\r\n year: parseInt(date[2], 10),\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct | null): string {\r\n return date ? date.year + this.DELIMITER + date.month + this.DELIMITER + date.day : '';\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NgbDateStruct, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nexport enum LanguageType {\r\n en,\r\n fa,\r\n fr\r\n}\r\n\r\nconst I18N_VALUES: any = {\r\n \"en\": {\r\n weekdays: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\r\n months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n weekLabel: 'week'\r\n },\r\n \"fa\": {\r\n weekdays: ['د', 'س', 'چ', 'پ', 'ج', 'ش', 'ی'],\r\n months: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],\r\n weekLabel: 'هفته'\r\n },\r\n \"fr\": {\r\n weekdays: ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],\r\n months: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Déc'],\r\n weekLabel: 'sem'\r\n }\r\n};\r\n\r\n@Injectable()\r\nexport class I18n {\r\n language: string = LanguageType[LanguageType.en];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class YsDatepickerI18nService extends NgbDatepickerI18n {\r\n private _i18n = inject(I18n);\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override getWeekdayLabel(weekday: number): string {\r\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n }\r\n override getWeekLabel(): string {\r\n return I18N_VALUES[this._i18n.language].weekLabel;\r\n }\r\n override getMonthShortName(month: number): string {\r\n return I18N_VALUES[this._i18n.language].months[month - 1];\r\n }\r\n override getMonthFullName(month: number): string {\r\n return this.getMonthShortName(month);\r\n }\r\n override getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbCalendarPersian, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { JalaliDate } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-popup-persian',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-popup-persian.component.html',\r\n styleUrls: ['./ys-datepicker-popup-persian.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerPopupPersianComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbCalendar, useClass: NgbCalendarPersian },\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerPopupPersianComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n _value: NgbDateStruct | null = null;\r\n get value(): NgbDateStruct | null {\r\n return this._value;\r\n }\r\n set value(val: NgbDateStruct | null) {\r\n this._value = val;\r\n }\r\n\r\n @Input() container: string = '';\r\n @Input() firstDayOfWeek: number = 6;\r\n @Input() weekend: number[] = [5];\r\n private _language: string = LanguageType[LanguageType.fa];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"بستن\";\r\n @Input() todayLabel: string = \"امروز\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.fa];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.value = null;\r\n return;\r\n }\r\n\r\n var date: Date = obj;\r\n let persianDate: number[] = JalaliDate.gregorianToJalali(date.getFullYear(), date.getMonth() + 1, date.getDate());\r\n this.value = { year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n valueChanged(newDate: NgbDateStruct | string | null) {\r\n if (newDate) {\r\n if (typeof newDate == 'string') {\r\n let temp = newDate.split('/');\r\n let convertedDate: number[] = JalaliDate.jalaliToGregorian(+temp[0], (+temp[1]) - 1, +temp[2]);\r\n let res: Date = new Date(+convertedDate[0], (+convertedDate[1]) - 1, +convertedDate[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n } else {\r\n let convertedDate: number[] = JalaliDate.jalaliToGregorian(newDate.year, newDate.month, newDate.day);\r\n var res: Date = new Date(+convertedDate[0], +convertedDate[1] - 1, +convertedDate[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n } else {\r\n this.onChange(null);\r\n this.onTouched(null);\r\n }\r\n }\r\n\r\n setToday() {\r\n this.value = this.today;\r\n this.valueChanged(this.value);\r\n }\r\n\r\n}","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dp\" [(ngModel)]=\"value\" ngbDatepicker\r\n #datepicker=\"ngbDatepicker\" [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n (ngModelChange)=\"valueChanged(value)\" />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-popup',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-popup.component.html',\r\n styleUrls: ['./ys-datepicker-popup.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerPopupComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerPopupComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n _value: NgbDateStruct | null = null;\r\n get value(): NgbDateStruct | null {\r\n return this._value;\r\n }\r\n set value(val: NgbDateStruct | null) {\r\n this._value = val;\r\n }\r\n\r\n @Input() container: string = '';\r\n @Input() firstDayOfWeek: number = 1;\r\n @Input() weekend: number[] = [6, 7];\r\n private _language: string = LanguageType[LanguageType.en];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"Close\";\r\n @Input() todayLabel: string = \"Today\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.en];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.value = null;\r\n return;\r\n }\r\n\r\n var date: Date = obj;\r\n this.value = { year: date.getFullYear(), month: (date.getMonth() + 1), day: date.getDate() };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n valueChanged(newDate: NgbDateStruct | string | null) {\r\n if (newDate) {\r\n if (typeof newDate == 'string') {\r\n let temp = newDate.split('/');\r\n let res: Date = new Date(+temp[0], (+temp[1]) - 1, +temp[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n } else {\r\n let res: Date = new Date(newDate.year, newDate.month - 1, newDate.day);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n } else {\r\n this.onChange(null);\r\n this.onTouched(null);\r\n }\r\n }\r\n\r\n setToday() {\r\n this.value = this.today;\r\n this.valueChanged(this.value);\r\n }\r\n\r\n}\r\n","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dp\" [(ngModel)]=\"value\" ngbDatepicker\r\n #datepicker=\"ngbDatepicker\" [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n (ngModelChange)=\"valueChanged(value)\" />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbCalendarPersian, NgbDate, NgbDateParserFormatter, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateRange, JalaliDate } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-range-popup-persian',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-range-popup-persian.component.html',\r\n styleUrls: ['./ys-datepicker-range-popup-persian.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerRangePopupPersianComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbCalendar, useClass: NgbCalendarPersian },\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerRangePopupPersianComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n formatter = inject(NgbDateParserFormatter);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n date?: { year: number; month: number };\r\n\r\n hoveredDate: NgbDate | null = null;\r\n _fromDate: NgbDate | null = null;\r\n get fromDate(): NgbDate | null { return this._fromDate; }\r\n set fromDate(value: NgbDate | null) {\r\n this._fromDate = value;\r\n }\r\n\r\n _toDate: NgbDate | null = null;\r\n get toDate(): NgbDate | null { return this._toDate; }\r\n set toDate(value: NgbDate | null) {\r\n this._toDate = value;\r\n }\r\n\r\n @Input() container: string = '';\r\n @Input() firstDayOfWeek: number = 6;\r\n @Input() weekend: number[] = [5];\r\n private _language: string = LanguageType[LanguageType.fa];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"بستن\";\r\n @Input() todayLabel: string = \"امروز\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.fa];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n return;\r\n }\r\n\r\n var fDate: Date = obj.fromDate;\r\n let persianDate: number[] = JalaliDate.gregorianToJalali(fDate.getFullYear(), fDate.getMonth() + 1, fDate.getDate());\r\n this.fromDate = <NgbDate>{ year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n\r\n var tDate: Date = obj.toDate;\r\n persianDate = JalaliDate.gregorianToJalali(tDate.getFullYear(), tDate.getMonth() + 1, tDate.getDate());\r\n this.toDate = <NgbDate>{ year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onDateSelection(date: NgbDate) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (this.fromDate && !this.toDate && date && date.after(this.fromDate)) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n\r\n this.valueChanged();\r\n }\r\n\r\n isHovered(date: NgbDate) {\r\n return (\r\n this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate)\r\n );\r\n }\r\n\r\n isInside(date: NgbDate) {\r\n return this.toDate && date.after(this.fromDate) && date.before(this.toDate);\r\n }\r\n\r\n isRange(date: NgbDate) {\r\n return (\r\n date.equals(this.fromDate) ||\r\n (this.toDate && date.equals(this.toDate)) ||\r\n this.isInside(date) ||\r\n this.isHovered(date)\r\n );\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\r\n }\r\n\r\n valueChanged() {\r\n let range = <DateRange>{ fromDate: null, toDate: null };\r\n\r\n if (this.fromDate) {\r\n let fromDateConverted: number[] = JalaliDate.jalaliToGregorian(this.fromDate.year, this.fromDate.month, this.fromDate.day);\r\n range.fromDate = new Date(fromDateConverted[0], fromDateConverted[1] - 1, fromDateConverted[2]);\r\n }\r\n\r\n if (this.toDate) {\r\n let toDateConverted: number[] = JalaliDate.jalaliToGregorian(this.toDate.year, this.toDate.month, this.toDate.day);\r\n range.toDate = new Date(toDateConverted[0], toDateConverted[1] - 1, toDateConverted[2]);\r\n }\r\n\r\n this.onChange(range);\r\n this.onTouched(range)\r\n }\r\n\r\n setToday() {\r\n this.fromDate = this.today;\r\n this.toDate = this.today;\r\n this.valueChanged();\r\n }\r\n\r\n}\r\n","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\"\r\n [dayTemplate]=\"customDay\" outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\"\r\n [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" />\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpToDate\"\r\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\" [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n <!-- [class.bg-primary]=\"selected\" -->\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateRange } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-range-popup',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-range-popup.component.html',\r\n styleUrls: ['./ys-datepicker-range-popup.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerRangePopupComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerRangePopupComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n formatter = inject(NgbDateParserFormatter);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n hoveredDate: NgbDate | null = null;\r\n\r\n _fromDate: NgbDate | null = null;\r\n get fromDate(): NgbDate | null { return this._fromDate; }\r\n set fromDate(value: NgbDate | null) {\r\n this._fromDate = value;\r\n }\r\n\r\n _toDate: NgbDate | null = null;\r\n get toDate(): NgbDate | null { return this._toDate; }\r\n set toDate(value: NgbDate | null) {\r\n this._toDate = value;\r\n }\r\n\r\n @Input() container: string = '';\r\n @Input() firstDayOfWeek: number = 1;\r\n @Input() weekend: number[] = [6, 7];\r\n private _language: string = LanguageType[LanguageType.en];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"Close\";\r\n @Input() todayLabel: string = \"Today\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.en];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n return;\r\n }\r\n\r\n let d: DateRange = obj;\r\n\r\n var fDate: Date = d.fromDate!;\r\n this.fromDate = <NgbDate>{ year: fDate.getFullYear(), month: (fDate.getMonth() + 1), day: fDate.getDate() };\r\n\r\n var tDate: Date = d.toDate!;\r\n this.toDate = <NgbDate>{ year: tDate.getFullYear(), month: (tDate.getMonth() + 1), day: tDate.getDate() };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onDateSelection(date: NgbDate) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (this.fromDate && !this.toDate && date && date.after(this.fromDate)) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n\r\n this.valueChanged();\r\n }\r\n\r\n isHovered(date: NgbDate) {\r\n return (\r\n this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate)\r\n );\r\n }\r\n\r\n isInside(date: NgbDate) {\r\n return this.toDate && date.after(this.fromDate) && date.before(this.toDate);\r\n }\r\n\r\n isRange(date: NgbDate) {\r\n return (\r\n date.equals(this.fromDate) ||\r\n (this.toDate && date.equals(this.toDate)) ||\r\n this.isInside(date) ||\r\n this.isHovered(date)\r\n );\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\r\n }\r\n\r\n valueChanged() {\r\n const fromDateTemp: Date | null = this.fromDate ? new Date(this.fromDate.year, this.fromDate.month - 1, this.fromDate.day) : null;\r\n const toDateTemp: Date | null = this.toDate ? new Date(this.toDate.year, this.toDate.month - 1, this.toDate.day) : null;\r\n const res = <DateRange>{ fromDate: fromDateTemp, toDate: toDateTemp };\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n\r\n setToday() {\r\n this.fromDate = this.today;\r\n this.toDate = this.today;\r\n this.valueChanged();\r\n }\r\n\r\n}\r\n","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\"\r\n [dayTemplate]=\"customDay\" outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\"\r\n [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" />\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpToDate\"\r\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\" [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n <!-- [class.bg-primary]=\"selected\" -->\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","/*\r\n * Public API Surface of ys-datepicker\r\n */\r\n\r\nexport * from './src/models';\r\nexport * from './src/services';\r\nexport * from './src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component';\r\nexport * from './src/ys-datepicker-popup/ys-datepicker-popup.component';\r\nexport * from './src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component';\r\nexport * from './src/ys-datepicker-range-popup/ys-datepicker-range-popup.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.I18n"],"mappings":"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"}
1
+ {"version":3,"file":"yoozsoft-yoozsoft-ng-datepicker.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/models/date-time-format.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/models/jalali-date.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/services/ys-date-parser-formatter.service.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/services/ys-datepicker-i18n.service.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker/ys-datepicker.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker/ys-datepicker.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.html","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/datepicker/yoozsoft-yoozsoft-ng-datepicker.ts"],"sourcesContent":["export class DateTimeFormat {\r\n static twoDigit(s: string): string { return (\"0\" + (s + 1)).slice(-2); }\r\n}\r\n","export class JalaliDate {\r\n\r\n private static daysInMonth = {\r\n g_days_in_month: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n j_days_in_month: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29]\r\n };\r\n\r\n static jalaliToGregorian(jalaliYear: number, jalaliMonth: number, jalaliDay: number) {\r\n jalaliYear = parseInt(`${jalaliYear}`);\r\n jalaliMonth = parseInt(`${jalaliMonth}`);\r\n jalaliDay = parseInt(`${jalaliDay}`);\r\n var jy = jalaliYear - 979;\r\n var jm = jalaliMonth - 1;\r\n var jd = jalaliDay - 1;\r\n var j_day_no = 365 * jy + parseInt(`${jy / 33}`) * 8 + parseInt(`${(jy % 33 + 3) / 4}`);\r\n for (var i = 0; i < jm; ++i)\r\n j_day_no += this.daysInMonth.j_days_in_month[i];\r\n j_day_no += jd;\r\n var g_day_no = j_day_no + 79;\r\n var gy = 1600 + 400 * parseInt(`${g_day_no / 146097}`);\r\n g_day_no = g_day_no % 146097;\r\n var leap = true;\r\n if (g_day_no >= 36525) {\r\n g_day_no--;\r\n gy += 100 * parseInt(`${g_day_no / 36524}`);\r\n g_day_no = g_day_no % 36524;\r\n if (g_day_no >= 365)\r\n g_day_no++;\r\n else\r\n leap = false;\r\n }\r\n gy += 4 * parseInt(`${g_day_no / 1461}`);\r\n g_day_no %= 1461;\r\n if (g_day_no >= 366) {\r\n leap = false;\r\n g_day_no--;\r\n gy += parseInt(`${g_day_no / 365}`);\r\n g_day_no = g_day_no % 365;\r\n }\r\n for (var i = 0; g_day_no >= this.daysInMonth.g_days_in_month[i] + ((i == 1 && leap) ? 1 : 0); i++)\r\n g_day_no -= this.daysInMonth.g_days_in_month[i] + ((i == 1 && leap) ? 1 : 0);\r\n var gm = i + 1;\r\n var gd = g_day_no + 1;\r\n return [gy, gm, gd];\r\n }\r\n\r\n static gregorianToJalali(gregorianYear: number, gregorianMonth: number, gregorianDay: number) {\r\n gregorianYear = parseInt(`${gregorianYear}`);\r\n gregorianMonth = parseInt(`${gregorianMonth}`);\r\n gregorianDay = parseInt(`${gregorianDay}`);\r\n var gy = gregorianYear - 1600;\r\n var gm = gregorianMonth - 1;\r\n var gd = gregorianDay - 1;\r\n var g_day_no = 365 * gy + parseInt(`${(gy + 3) / 4}`) - parseInt(`${(gy + 99) / 100}`) + parseInt(`${(gy + 399) / 400}`);\r\n for (var i = 0; i < gm; ++i)\r\n g_day_no += this.daysInMonth.g_days_in_month[i];\r\n if (gm > 1 && ((gy % 4 == 0 && gy % 100 != 0) || (gy % 400 == 0)))\r\n ++g_day_no;\r\n g_day_no += gd;\r\n var j_day_no = g_day_no - 79;\r\n var j_np = parseInt(`${j_day_no / 12053}`);\r\n j_day_no %= 12053;\r\n var jy = 979 + 33 * j_np + 4 * parseInt(`${j_day_no / 1461}`);\r\n j_day_no %= 1461;\r\n if (j_day_no >= 366) {\r\n jy += parseInt(`${(j_day_no - 1) / 365}`);\r\n j_day_no = (j_day_no - 1) % 365;\r\n }\r\n for (var i = 0; i < 11 && j_day_no >= this.daysInMonth.j_days_in_month[i]; ++i) {\r\n j_day_no -= this.daysInMonth.j_days_in_month[i];\r\n }\r\n var jm = i + 1;\r\n var jd = j_day_no + 1;\r\n return [jy, jm, jd];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class YsDateParserFormatterService extends NgbDateParserFormatter {\r\n readonly DELIMITER = '/';\r\n\r\n parse(value: string): NgbDateStruct | null {\r\n if (value) {\r\n const date = value.split(this.DELIMITER);\r\n return {\r\n day: parseInt(date[0], 10),\r\n month: parseInt(date[1], 10),\r\n year: parseInt(date[2], 10),\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct | null): string {\r\n return date ? date.year + this.DELIMITER + date.month + this.DELIMITER + date.day : '';\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NgbDateStruct, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nexport enum LanguageType {\r\n en,\r\n fa,\r\n fr\r\n}\r\n\r\nconst I18N_VALUES: any = {\r\n \"en\": {\r\n weekdays: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\r\n months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n weekLabel: 'week'\r\n },\r\n \"fa\": {\r\n weekdays: ['د', 'س', 'چ', 'پ', 'ج', 'ش', 'ی'],\r\n months: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],\r\n weekLabel: 'هفته'\r\n },\r\n \"fr\": {\r\n weekdays: ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],\r\n months: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Déc'],\r\n weekLabel: 'sem'\r\n }\r\n};\r\n\r\n@Injectable()\r\nexport class I18n {\r\n language: string = LanguageType[LanguageType.en];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class YsDatepickerI18nService extends NgbDatepickerI18n {\r\n private _i18n = inject(I18n);\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override getWeekdayLabel(weekday: number): string {\r\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n }\r\n override getWeekLabel(): string {\r\n return I18N_VALUES[this._i18n.language].weekLabel;\r\n }\r\n override getMonthShortName(month: number): string {\r\n return I18N_VALUES[this._i18n.language].months[month - 1];\r\n }\r\n override getMonthFullName(month: number): string {\r\n return this.getMonthShortName(month);\r\n }\r\n override getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { I18n, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker.component.html',\r\n styleUrls: ['./ys-datepicker.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n @Input() firstDayOfWeek: number = 1;\r\n @Input() weekend: number[] = [6, 7];\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() todayLabel: string = \"Today\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n\r\n _value: NgbDateStruct | null = null;\r\n get value(): NgbDateStruct | null {\r\n return this._value;\r\n }\r\n set value(val: NgbDateStruct | null) {\r\n this._value = val;\r\n }\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.value = null;\r\n return;\r\n }\r\n\r\n var date: Date = obj;\r\n this.value = { year: date.getFullYear(), month: (date.getMonth() + 1), day: date.getDate() };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n valueChanged(newDate: NgbDateStruct | string | null) {\r\n if (newDate) {\r\n if (typeof newDate == 'string') {\r\n let temp = newDate.split('/');\r\n let res: Date = new Date(+temp[0], (+temp[1]) - 1, +temp[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n } else {\r\n let res: Date = new Date(newDate.year, newDate.month - 1, newDate.day);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n } else {\r\n this.onChange(null);\r\n this.onTouched(null);\r\n }\r\n }\r\n\r\n setToday() {\r\n this.value = this.today;\r\n this.valueChanged(this.value);\r\n }\r\n\r\n}\r\n","<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>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbCalendarPersian, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { JalaliDate } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-persian',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-persian.component.html',\r\n styleUrls: ['./ys-datepicker-persian.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerPersianComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbCalendar, useClass: NgbCalendarPersian },\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerPersianComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n @Input() firstDayOfWeek: number = 6;\r\n @Input() weekend: number[] = [5];\r\n\r\n private _language: string = LanguageType[LanguageType.fa];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() todayLabel: string = \"امروز\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n\r\n _value: NgbDateStruct | null = null;\r\n get value(): NgbDateStruct | null {\r\n return this._value;\r\n }\r\n set value(val: NgbDateStruct | null) {\r\n this._value = val;\r\n }\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.fa];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.value = null;\r\n return;\r\n }\r\n\r\n var date: Date = obj;\r\n let persianDate: number[] = JalaliDate.gregorianToJalali(date.getFullYear(), date.getMonth() + 1, date.getDate());\r\n this.value = { year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n valueChanged(newDate: NgbDateStruct | string | null) {\r\n if (newDate) {\r\n if (typeof newDate == 'string') {\r\n let temp = newDate.split('/');\r\n let convertedDate: number[] = JalaliDate.jalaliToGregorian(+temp[0], (+temp[1]) - 1, +temp[2]);\r\n let res: Date = new Date(+convertedDate[0], (+convertedDate[1]) - 1, +convertedDate[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n } else {\r\n let convertedDate: number[] = JalaliDate.jalaliToGregorian(newDate.year, newDate.month, newDate.day);\r\n var res: Date = new Date(+convertedDate[0], +convertedDate[1] - 1, +convertedDate[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n } else {\r\n this.onChange(null);\r\n this.onTouched(null);\r\n }\r\n }\r\n\r\n setToday() {\r\n this.value = this.today;\r\n this.valueChanged(this.value);\r\n }\r\n\r\n}\r\n","<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>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbCalendarPersian, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { JalaliDate } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-popup-persian',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-popup-persian.component.html',\r\n styleUrls: ['./ys-datepicker-popup-persian.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerPopupPersianComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbCalendar, useClass: NgbCalendarPersian },\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerPopupPersianComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n _value: NgbDateStruct | null = null;\r\n get value(): NgbDateStruct | null {\r\n return this._value;\r\n }\r\n set value(val: NgbDateStruct | null) {\r\n this._value = val;\r\n }\r\n\r\n @Input() container: \"body\" | null = null;\r\n @Input() firstDayOfWeek: number = 6;\r\n @Input() weekend: number[] = [5];\r\n private _language: string = LanguageType[LanguageType.fa];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"بستن\";\r\n @Input() todayLabel: string = \"امروز\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n @Input() calendarIconClass: string = \"fa-solid fa-calendar-days\";\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.fa];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.value = null;\r\n return;\r\n }\r\n\r\n var date: Date = obj;\r\n let persianDate: number[] = JalaliDate.gregorianToJalali(date.getFullYear(), date.getMonth() + 1, date.getDate());\r\n this.value = { year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n valueChanged(newDate: NgbDateStruct | string | null) {\r\n if (newDate) {\r\n if (typeof newDate == 'string') {\r\n let temp = newDate.split('/');\r\n let convertedDate: number[] = JalaliDate.jalaliToGregorian(+temp[0], (+temp[1]) - 1, +temp[2]);\r\n let res: Date = new Date(+convertedDate[0], (+convertedDate[1]) - 1, +convertedDate[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n } else {\r\n let convertedDate: number[] = JalaliDate.jalaliToGregorian(newDate.year, newDate.month, newDate.day);\r\n var res: Date = new Date(+convertedDate[0], +convertedDate[1] - 1, +convertedDate[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n } else {\r\n this.onChange(null);\r\n this.onTouched(null);\r\n }\r\n }\r\n\r\n setToday() {\r\n this.value = this.today;\r\n this.valueChanged(this.value);\r\n }\r\n\r\n}","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dp\" [(ngModel)]=\"value\" ngbDatepicker\r\n #datepicker=\"ngbDatepicker\" [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n (ngModelChange)=\"valueChanged(value)\" />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"{{calendarIconClass}}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-popup',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-popup.component.html',\r\n styleUrls: ['./ys-datepicker-popup.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerPopupComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerPopupComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n _value: NgbDateStruct | null = null;\r\n get value(): NgbDateStruct | null {\r\n return this._value;\r\n }\r\n set value(val: NgbDateStruct | null) {\r\n this._value = val;\r\n }\r\n\r\n @Input() container: \"body\" | null = null;\r\n @Input() firstDayOfWeek: number = 1;\r\n @Input() weekend: number[] = [6, 7];\r\n private _language: string = LanguageType[LanguageType.en];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"Close\";\r\n @Input() todayLabel: string = \"Today\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n @Input() calendarIconClass: string = \"fa-solid fa-calendar-days\";\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.en];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.value = null;\r\n return;\r\n }\r\n\r\n var date: Date = obj;\r\n this.value = { year: date.getFullYear(), month: (date.getMonth() + 1), day: date.getDate() };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n valueChanged(newDate: NgbDateStruct | string | null) {\r\n if (newDate) {\r\n if (typeof newDate == 'string') {\r\n let temp = newDate.split('/');\r\n let res: Date = new Date(+temp[0], (+temp[1]) - 1, +temp[2]);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n } else {\r\n let res: Date = new Date(newDate.year, newDate.month - 1, newDate.day);\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n } else {\r\n this.onChange(null);\r\n this.onTouched(null);\r\n }\r\n }\r\n\r\n setToday() {\r\n this.value = this.today;\r\n this.valueChanged(this.value);\r\n }\r\n\r\n}\r\n","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dp\" [(ngModel)]=\"value\" ngbDatepicker\r\n #datepicker=\"ngbDatepicker\" [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" [dayTemplate]=\"customDay\"\r\n (ngModelChange)=\"valueChanged(value)\" />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"{{calendarIconClass}}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbCalendarPersian, NgbDate, NgbDateParserFormatter, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateRange, JalaliDate } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-range-popup-persian',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-range-popup-persian.component.html',\r\n styleUrls: ['./ys-datepicker-range-popup-persian.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerRangePopupPersianComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbCalendar, useClass: NgbCalendarPersian },\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerRangePopupPersianComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n formatter = inject(NgbDateParserFormatter);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n date?: { year: number; month: number };\r\n\r\n hoveredDate: NgbDate | null = null;\r\n _fromDate: NgbDate | null = null;\r\n get fromDate(): NgbDate | null { return this._fromDate; }\r\n set fromDate(value: NgbDate | null) {\r\n this._fromDate = value;\r\n }\r\n\r\n _toDate: NgbDate | null = null;\r\n get toDate(): NgbDate | null { return this._toDate; }\r\n set toDate(value: NgbDate | null) {\r\n this._toDate = value;\r\n }\r\n\r\n @Input() container: \"body\" | null = null;\r\n @Input() firstDayOfWeek: number = 6;\r\n @Input() weekend: number[] = [5];\r\n private _language: string = LanguageType[LanguageType.fa];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"بستن\";\r\n @Input() todayLabel: string = \"امروز\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n @Input() calendarIconClass: string = \"fa-solid fa-calendar-days\";\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.fa];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n return;\r\n }\r\n\r\n var fDate: Date = obj.fromDate;\r\n let persianDate: number[] = JalaliDate.gregorianToJalali(fDate.getFullYear(), fDate.getMonth() + 1, fDate.getDate());\r\n this.fromDate = <NgbDate>{ year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n\r\n var tDate: Date = obj.toDate;\r\n persianDate = JalaliDate.gregorianToJalali(tDate.getFullYear(), tDate.getMonth() + 1, tDate.getDate());\r\n this.toDate = <NgbDate>{ year: persianDate[0], month: persianDate[1], day: persianDate[2] };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onDateSelection(date: NgbDate) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (this.fromDate && !this.toDate && date && date.after(this.fromDate)) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n\r\n this.valueChanged();\r\n }\r\n\r\n isHovered(date: NgbDate) {\r\n return (\r\n this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate)\r\n );\r\n }\r\n\r\n isInside(date: NgbDate) {\r\n return this.toDate && date.after(this.fromDate) && date.before(this.toDate);\r\n }\r\n\r\n isRange(date: NgbDate) {\r\n return (\r\n date.equals(this.fromDate) ||\r\n (this.toDate && date.equals(this.toDate)) ||\r\n this.isInside(date) ||\r\n this.isHovered(date)\r\n );\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\r\n }\r\n\r\n valueChanged() {\r\n let range = <DateRange>{ fromDate: null, toDate: null };\r\n\r\n if (this.fromDate) {\r\n let fromDateConverted: number[] = JalaliDate.jalaliToGregorian(this.fromDate.year, this.fromDate.month, this.fromDate.day);\r\n range.fromDate = new Date(fromDateConverted[0], fromDateConverted[1] - 1, fromDateConverted[2]);\r\n }\r\n\r\n if (this.toDate) {\r\n let toDateConverted: number[] = JalaliDate.jalaliToGregorian(this.toDate.year, this.toDate.month, this.toDate.day);\r\n range.toDate = new Date(toDateConverted[0], toDateConverted[1] - 1, toDateConverted[2]);\r\n }\r\n\r\n this.onChange(range);\r\n this.onTouched(range)\r\n }\r\n\r\n setToday() {\r\n this.fromDate = this.today;\r\n this.toDate = this.today;\r\n this.valueChanged();\r\n }\r\n\r\n}\r\n","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\"\r\n [dayTemplate]=\"customDay\" outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\"\r\n [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" />\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"{{calendarIconClass}}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpToDate\"\r\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"{{calendarIconClass}}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\" [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n <!-- [class.bg-primary]=\"selected\" -->\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","import { JsonPipe, NgIf } from '@angular/common';\r\nimport { Component, Input, TemplateRef, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDatepickerI18n, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateRange } from '../models';\r\nimport { I18n, LanguageType, YsDateParserFormatterService, YsDatepickerI18nService } from '../services';\r\n\r\n@Component({\r\n selector: 'ys-datepicker-range-popup',\r\n standalone: true,\r\n imports: [NgbDatepickerModule, FormsModule, JsonPipe, NgIf],\r\n templateUrl: './ys-datepicker-range-popup.component.html',\r\n styleUrls: ['./ys-datepicker-range-popup.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => YsDatepickerRangePopupComponent),\r\n multi: true\r\n },\r\n I18n,\r\n { provide: NgbDatepickerI18n, useClass: YsDatepickerI18nService },\r\n { provide: NgbDateParserFormatter, useClass: YsDateParserFormatterService }\r\n ]\r\n})\r\nexport class YsDatepickerRangePopupComponent implements ControlValueAccessor {\r\n\r\n calendar = inject(NgbCalendar);\r\n formatter = inject(NgbDateParserFormatter);\r\n today = inject(NgbCalendar).getToday();\r\n\r\n hoveredDate: NgbDate | null = null;\r\n\r\n _fromDate: NgbDate | null = null;\r\n get fromDate(): NgbDate | null { return this._fromDate; }\r\n set fromDate(value: NgbDate | null) {\r\n this._fromDate = value;\r\n }\r\n\r\n _toDate: NgbDate | null = null;\r\n get toDate(): NgbDate | null { return this._toDate; }\r\n set toDate(value: NgbDate | null) {\r\n this._toDate = value;\r\n }\r\n\r\n @Input() container: \"body\" | null = null;\r\n @Input() firstDayOfWeek: number = 1;\r\n @Input() weekend: number[] = [6, 7];\r\n private _language: string = LanguageType[LanguageType.en];\r\n @Input()\r\n get language(): string {\r\n return this._language;\r\n }\r\n set language(value: string) {\r\n this._language = value;\r\n this.i18N.language = this._language;\r\n }\r\n\r\n @Input() isFooter: boolean = true;\r\n @Input() closeLabel: string = \"Close\";\r\n @Input() todayLabel: string = \"Today\";\r\n @Input() footer: TemplateRef<any> | null = null;\r\n @Input() calendarIconClass: string = \"fa-solid fa-calendar-days\";\r\n\r\n @Input() disabled: boolean = false;\r\n onChange: any = () => { }\r\n onTouched: any = () => { }\r\n\r\n constructor(private i18N: I18n) {\r\n this.language = LanguageType[LanguageType.en];\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (!obj) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n return;\r\n }\r\n\r\n let d: DateRange = obj;\r\n\r\n var fDate: Date = d.fromDate!;\r\n this.fromDate = <NgbDate>{ year: fDate.getFullYear(), month: (fDate.getMonth() + 1), day: fDate.getDate() };\r\n\r\n var tDate: Date = d.toDate!;\r\n this.toDate = <NgbDate>{ year: tDate.getFullYear(), month: (tDate.getMonth() + 1), day: tDate.getDate() };\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onDateSelection(date: NgbDate) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (this.fromDate && !this.toDate && date && date.after(this.fromDate)) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n\r\n this.valueChanged();\r\n }\r\n\r\n isHovered(date: NgbDate) {\r\n return (\r\n this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate)\r\n );\r\n }\r\n\r\n isInside(date: NgbDate) {\r\n return this.toDate && date.after(this.fromDate) && date.before(this.toDate);\r\n }\r\n\r\n isRange(date: NgbDate) {\r\n return (\r\n date.equals(this.fromDate) ||\r\n (this.toDate && date.equals(this.toDate)) ||\r\n this.isInside(date) ||\r\n this.isHovered(date)\r\n );\r\n }\r\n\r\n markDisabled = (date: NgbDate, current?: { month: number; year: number }) => date.month !== current?.month;\r\n isWeekend = (date: NgbDate) => this.weekend.includes(this.calendar.getWeekday(date));\r\n\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\r\n }\r\n\r\n valueChanged() {\r\n const fromDateTemp: Date | null = this.fromDate ? new Date(this.fromDate.year, this.fromDate.month - 1, this.fromDate.day) : null;\r\n const toDateTemp: Date | null = this.toDate ? new Date(this.toDate.year, this.toDate.month - 1, this.toDate.day) : null;\r\n const res = <DateRange>{ fromDate: fromDateTemp, toDate: toDateTemp };\r\n this.onChange(res);\r\n this.onTouched(res);\r\n }\r\n\r\n setToday() {\r\n this.fromDate = this.today;\r\n this.toDate = this.today;\r\n this.valueChanged();\r\n }\r\n\r\n}\r\n","<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\" class=\"form-control\" ngbDatepicker #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"'outside'\" (dateSelect)=\"onDateSelection($event)\" [displayMonths]=\"2\"\r\n [dayTemplate]=\"customDay\" outsideDays=\"hidden\" [startDate]=\"fromDate!\" tabindex=\"-1\"\r\n [container]=\"container\" [markDisabled]=\"markDisabled\" [disabled]=\"disabled\"\r\n [footerTemplate]=\"footerTemplate\" [firstDayOfWeek]=\"firstDayOfWeek\" />\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(fromDate)\" (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"{{calendarIconClass}}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" placeholder=\"yyyy/mm/dd\" name=\"dpToDate\"\r\n [value]=\"formatter.format(toDate)\" (input)=\"toDate = validateInput(toDate, dpToDate.value)\"\r\n [disabled]=\"disabled\" readonly />\r\n <button class=\"btn btn-outline-secondary\" (click)=\"datepicker.toggle()\" type=\"button\">\r\n <i class=\"{{calendarIconClass}}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\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\"\r\n [class.hidden]=\"date.month !== currentMonth\" [class.text-muted]=\"disabled\" [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n <!-- [class.bg-primary]=\"selected\" -->\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(); datepicker.close()\"\r\n [disabled]=\"disabled\">{{todayLabel}}</button>\r\n <button class=\"btn btn-secondary btn-sm m-2 float-end\" (click)=\"datepicker.close()\">{{closeLabel}}</button>\r\n </span>\r\n </span>\r\n</ng-template>","/*\r\n * Public API Surface of ys-datepicker\r\n */\r\n\r\nexport * from './src/models';\r\nexport * from './src/services';\r\nexport * from './src/ys-datepicker/ys-datepicker.component';\r\nexport * from './src/ys-datepicker-persian/ys-datepicker-persian.component';\r\nexport * from './src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component';\r\nexport * from './src/ys-datepicker-popup/ys-datepicker-popup.component';\r\nexport * from './src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component';\r\nexport * from './src/ys-datepicker-range-popup/ys-datepicker-range-popup.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.I18n"],"mappings":"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"}
@@ -8,10 +8,10 @@ class PasswordMismatchDirective {
8
8
  validate(control) {
9
9
  return this.matchWith ? passwordMismatchValidator(this.matchWith)(control) : null;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PasswordMismatchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: PasswordMismatchDirective, isStandalone: true, selector: "[passwordMismatch]", inputs: { matchWith: ["passwordMismatch", "matchWith"] }, ngImport: i0 }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PasswordMismatchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: PasswordMismatchDirective, isStandalone: true, selector: "[passwordMismatch]", inputs: { matchWith: ["passwordMismatch", "matchWith"] }, ngImport: i0 }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PasswordMismatchDirective, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PasswordMismatchDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  selector: '[passwordMismatch]',
@@ -1 +1 @@
1
- {"version":3,"file":"yoozsoft-yoozsoft-ng-directives.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/directives/src/password-mismatch/password-mismatch.directive.ts","../../../../projects/yoozsoft/yoozsoft-ng/directives/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/directives/yoozsoft-yoozsoft-ng-directives.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\r\nimport { AbstractControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[passwordMismatch]',\r\n standalone: true\r\n})\r\nexport class PasswordMismatchDirective implements Validator {\r\n\r\n @Input('passwordMismatch') matchWith = '';\r\n\r\n validate(control: AbstractControl<any, any>): ValidationErrors | null {\r\n return this.matchWith ? passwordMismatchValidator(this.matchWith)(control) : null;\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Validate password and repeat password matching.\r\n * @param matchWith AbstractControl name to matching.\r\n * @returns Returns null if the controls value matches, otherwise returns passwordMismatch error.\r\n */\r\nexport function passwordMismatchValidator(matchWith: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const password = control.parent?.get(matchWith);\r\n const confirmPassword = control;\r\n return password && confirmPassword && password.value === confirmPassword.value ? null : { passwordMismatch: true };\r\n };\r\n}","/*\r\n * Public API Surface of ys-directives\r\n */\r\n\r\nexport * from './src/password-mismatch/password-mismatch.directive';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAGA,MAIa,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;QAM6B,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAM3C,KAAA;AAJC,IAAA,QAAQ,CAAC,OAAkC,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;KACnF;8GANU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAG4B,SAAS,EAAA,CAAA;sBAAnC,KAAK;uBAAC,kBAAkB,CAAA;;AAQ3B;;;;AAIG;AACG,SAAU,yBAAyB,CAAC,SAAiB,EAAA;IACzD,OAAO,CAAC,OAAwB,KAA6B;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,OAAO,CAAC;QAChC,OAAO,QAAQ,IAAI,eAAe,IAAI,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;AACrH,KAAC,CAAC;AACJ;;AC5BA;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"yoozsoft-yoozsoft-ng-directives.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/directives/src/password-mismatch/password-mismatch.directive.ts","../../../../projects/yoozsoft/yoozsoft-ng/directives/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/directives/yoozsoft-yoozsoft-ng-directives.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\r\nimport { AbstractControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[passwordMismatch]',\r\n standalone: true\r\n})\r\nexport class PasswordMismatchDirective implements Validator {\r\n\r\n @Input('passwordMismatch') matchWith = '';\r\n\r\n validate(control: AbstractControl<any, any>): ValidationErrors | null {\r\n return this.matchWith ? passwordMismatchValidator(this.matchWith)(control) : null;\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Validate password and repeat password matching.\r\n * @param matchWith AbstractControl name to matching.\r\n * @returns Returns null if the controls value matches, otherwise returns passwordMismatch error.\r\n */\r\nexport function passwordMismatchValidator(matchWith: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const password = control.parent?.get(matchWith);\r\n const confirmPassword = control;\r\n return password && confirmPassword && password.value === confirmPassword.value ? null : { passwordMismatch: true };\r\n };\r\n}","/*\r\n * Public API Surface of ys-directives\r\n */\r\n\r\nexport * from './src/password-mismatch/password-mismatch.directive';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAOa,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;QAM6B,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAM3C,KAAA;AAJC,IAAA,QAAQ,CAAC,OAAkC,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;KACnF;+GANU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAG4B,SAAS,EAAA,CAAA;sBAAnC,KAAK;uBAAC,kBAAkB,CAAA;;AAQ3B;;;;AAIG;AACG,SAAU,yBAAyB,CAAC,SAAiB,EAAA;IACzD,OAAO,CAAC,OAAwB,KAA6B;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,OAAO,CAAC;QAChC,OAAO,QAAQ,IAAI,eAAe,IAAI,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;AACrH,KAAC,CAAC;AACJ;;AC5BA;;AAEG;;ACFH;;AAEG;;;;"}
@@ -10,10 +10,10 @@ class YsFooterComponent {
10
10
  this.copyright = null;
11
11
  this.socialNetworks = [];
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: YsFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: YsFooterComponent, isStandalone: true, selector: "ys-footer", inputs: { styleClass: "styleClass", brand: "brand", copyright: "copyright", socialNetworks: "socialNetworks" }, ngImport: i0, template: "<footer class=\"d-flex justify-content-between align-items-center py-3 my-4 border-top\" [ngClass]=\"styleClass\">\r\n <div *ngIf=\"brand || copyright\" class=\"d-flex align-items-center\">\r\n <a *ngIf=\"brand\" href=\"{{brand.href}}\" class=\"px-2 text-muted text-decoration-none\">\r\n <img src=\"{{brand.src}}\" alt=\"{{brand.alt}}\" width=\"30\" height=\"24\" class=\"d-inline-block align-text-top\">\r\n </a>\r\n <span *ngIf=\"copyright\" class=\"text-muted\">{{copyright}}</span>\r\n </div>\r\n\r\n <ul *ngIf=\"socialNetworks.length > 0\" class=\"nav d-flex justify-content-end\">\r\n <li class=\"px-2\" *ngFor=\"let item of socialNetworks\">\r\n <a class=\"text-muted social-icon\" href=\"{{item.href}}\" [ngbTooltip]=\"item.tooltip\">\r\n <em class=\"{{item.iconClass}}\"></em>\r\n </a>\r\n </li>\r\n </ul>\r\n</footer>", styles: [".social-icon:hover{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1))!important}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }] }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: YsFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: YsFooterComponent, isStandalone: true, selector: "ys-footer", inputs: { styleClass: "styleClass", brand: "brand", copyright: "copyright", socialNetworks: "socialNetworks" }, ngImport: i0, template: "<footer class=\"d-flex justify-content-between align-items-center py-3 my-4 border-top\" [ngClass]=\"styleClass\">\r\n <div *ngIf=\"brand || copyright\" class=\"d-flex align-items-center\">\r\n <a *ngIf=\"brand\" href=\"{{brand.href}}\" class=\"px-2 text-muted text-decoration-none\">\r\n <img src=\"{{brand.src}}\" alt=\"{{brand.alt}}\" width=\"30\" height=\"24\" class=\"d-inline-block align-text-top\">\r\n </a>\r\n <span *ngIf=\"copyright\" class=\"text-muted\">{{copyright}}</span>\r\n </div>\r\n\r\n <ul *ngIf=\"socialNetworks.length > 0\" class=\"nav d-flex justify-content-end\">\r\n <li class=\"px-2\" *ngFor=\"let item of socialNetworks\">\r\n <a class=\"text-muted social-icon\" href=\"{{item.href}}\" [ngbTooltip]=\"item.tooltip\">\r\n <em class=\"{{item.iconClass}}\"></em>\r\n </a>\r\n </li>\r\n </ul>\r\n</footer>", styles: [".social-icon:hover{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1))!important}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: YsFooterComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: YsFooterComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'ys-footer', standalone: true, imports: [
19
19
  NgFor,
@@ -1 +1 @@
1
- {"version":3,"file":"yoozsoft-yoozsoft-ng-footer.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/footer/src/ys-footer/ys-footer.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/footer/src/ys-footer/ys-footer.component.html","../../../../projects/yoozsoft/yoozsoft-ng/footer/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/footer/yoozsoft-yoozsoft-ng-footer.ts"],"sourcesContent":["import { NgClass, NgFor, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FooterBrand, SocialNetwork } from '../models';\r\n\r\n@Component({\r\n selector: 'ys-footer',\r\n standalone: true,\r\n imports: [\r\n NgFor,\r\n NgIf,\r\n NgClass,\r\n NgbTooltip\r\n ],\r\n templateUrl: './ys-footer.component.html',\r\n styleUrls: ['./ys-footer.component.scss']\r\n})\r\nexport class YsFooterComponent {\r\n\r\n @Input() styleClass: string | null = null;\r\n @Input() brand: FooterBrand | null = null;\r\n @Input() copyright: string | null = null;\r\n @Input() socialNetworks: SocialNetwork[] = [];\r\n\r\n}\r\n","<footer class=\"d-flex justify-content-between align-items-center py-3 my-4 border-top\" [ngClass]=\"styleClass\">\r\n <div *ngIf=\"brand || copyright\" class=\"d-flex align-items-center\">\r\n <a *ngIf=\"brand\" href=\"{{brand.href}}\" class=\"px-2 text-muted text-decoration-none\">\r\n <img src=\"{{brand.src}}\" alt=\"{{brand.alt}}\" width=\"30\" height=\"24\" class=\"d-inline-block align-text-top\">\r\n </a>\r\n <span *ngIf=\"copyright\" class=\"text-muted\">{{copyright}}</span>\r\n </div>\r\n\r\n <ul *ngIf=\"socialNetworks.length > 0\" class=\"nav d-flex justify-content-end\">\r\n <li class=\"px-2\" *ngFor=\"let item of socialNetworks\">\r\n <a class=\"text-muted social-icon\" href=\"{{item.href}}\" [ngbTooltip]=\"item.tooltip\">\r\n <em class=\"{{item.iconClass}}\"></em>\r\n </a>\r\n </li>\r\n </ul>\r\n</footer>","/*\r\n * Public API Surface of ys-footer\r\n */\r\n\r\nexport * from './src/models';\r\nexport * from './src/ys-footer/ys-footer.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAKA,MAYa,iBAAiB,CAAA;AAZ9B,IAAA,WAAA,GAAA;QAcW,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;QACjC,IAAK,CAAA,KAAA,GAAuB,IAAI,CAAC;QACjC,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QAChC,IAAc,CAAA,cAAA,GAAoB,EAAE,CAAC;AAE/C,KAAA;8GAPY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB9B,65BAeS,EDNL,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,KAAK,mHACL,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EACP,OAAA,EAAA;wBACP,KAAK;wBACL,IAAI;wBACJ,OAAO;wBACP,UAAU;AACX,qBAAA,EAAA,QAAA,EAAA,65BAAA,EAAA,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA,CAAA;8BAMQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;AEtBR;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"yoozsoft-yoozsoft-ng-footer.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/footer/src/ys-footer/ys-footer.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/footer/src/ys-footer/ys-footer.component.html","../../../../projects/yoozsoft/yoozsoft-ng/footer/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/footer/yoozsoft-yoozsoft-ng-footer.ts"],"sourcesContent":["import { NgClass, NgFor, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FooterBrand, SocialNetwork } from '../models';\r\n\r\n@Component({\r\n selector: 'ys-footer',\r\n standalone: true,\r\n imports: [\r\n NgFor,\r\n NgIf,\r\n NgClass,\r\n NgbTooltip\r\n ],\r\n templateUrl: './ys-footer.component.html',\r\n styleUrls: ['./ys-footer.component.scss']\r\n})\r\nexport class YsFooterComponent {\r\n\r\n @Input() styleClass: string | null = null;\r\n @Input() brand: FooterBrand | null = null;\r\n @Input() copyright: string | null = null;\r\n @Input() socialNetworks: SocialNetwork[] = [];\r\n\r\n}\r\n","<footer class=\"d-flex justify-content-between align-items-center py-3 my-4 border-top\" [ngClass]=\"styleClass\">\r\n <div *ngIf=\"brand || copyright\" class=\"d-flex align-items-center\">\r\n <a *ngIf=\"brand\" href=\"{{brand.href}}\" class=\"px-2 text-muted text-decoration-none\">\r\n <img src=\"{{brand.src}}\" alt=\"{{brand.alt}}\" width=\"30\" height=\"24\" class=\"d-inline-block align-text-top\">\r\n </a>\r\n <span *ngIf=\"copyright\" class=\"text-muted\">{{copyright}}</span>\r\n </div>\r\n\r\n <ul *ngIf=\"socialNetworks.length > 0\" class=\"nav d-flex justify-content-end\">\r\n <li class=\"px-2\" *ngFor=\"let item of socialNetworks\">\r\n <a class=\"text-muted social-icon\" href=\"{{item.href}}\" [ngbTooltip]=\"item.tooltip\">\r\n <em class=\"{{item.iconClass}}\"></em>\r\n </a>\r\n </li>\r\n </ul>\r\n</footer>","/*\r\n * Public API Surface of ys-footer\r\n */\r\n\r\nexport * from './src/models';\r\nexport * from './src/ys-footer/ys-footer.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAiBa,iBAAiB,CAAA;AAZ9B,IAAA,WAAA,GAAA;QAcW,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;QACjC,IAAK,CAAA,KAAA,GAAuB,IAAI,CAAC;QACjC,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QAChC,IAAc,CAAA,cAAA,GAAoB,EAAE,CAAC;AAE/C,KAAA;+GAPY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB9B,65BAeS,EDNL,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,KAAK,mHACL,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EACP,OAAA,EAAA;wBACP,KAAK;wBACL,IAAI;wBACJ,OAAO;wBACP,UAAU;AACX,qBAAA,EAAA,QAAA,EAAA,65BAAA,EAAA,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA,CAAA;8BAMQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;AEtBR;;AAEG;;ACFH;;AAEG;;;;"}
@@ -29,10 +29,10 @@ class YsLayoutComponent {
29
29
  toggleSidebar() {
30
30
  this.sidebarService.toggleSidebar();
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: YsLayoutComponent, deps: [{ token: i1.SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: YsLayoutComponent, isStandalone: true, selector: "ys-layout", inputs: { navbarTheme: "navbarTheme", navbarStyleClass: "navbarStyleClass", navbarItems: "navbarItems", navbarSideItems: "navbarSideItems", navbarSearch: "navbarSearch", navbarBrand: "navbarBrand", sidebar: "sidebar", sidebarToggler: "sidebarToggler", sidebarItems: "sidebarItems", sidebarUserProfile: "sidebarUserProfile", sidebarTogglerIconClass: "sidebarTogglerIconClass", footer: "footer", rtl: "rtl" }, ngImport: i0, template: "<div class=\"ys-page-wrapper\" [ngClass]=\"{'toggled-sidebar': sidebarToggled}\">\r\n <ys-navbar [items]=\"navbarItems\" [sideItems]=\"navbarSideItems\" (toggleSidebar)=\"toggleSidebar()\"\r\n [sidebarToggled]=\"sidebarToggled\" [sidebarTogglerIconClass]=\"sidebarTogglerIconClass\" [brand]=\"navbarBrand\"\r\n [styleClass]=\"navbarStyleClass\" [theme]=\"navbarTheme\" [sidebarToggler]=\"sidebarToggler\"></ys-navbar>\r\n <main role=\"main\" class=\"d-flex position-relative\">\r\n <ys-sidebar *ngIf=\"sidebar\" [items]=\"sidebarItems\" [profile]=\"sidebarUserProfile\"></ys-sidebar>\r\n <div class=\"ys-page-content container-fluid\">\r\n <ys-progress [reverse]=\"rtl\"></ys-progress>\r\n <router-outlet></router-outlet>\r\n <ys-footer *ngIf=\"footer\"></ys-footer>\r\n </div>\r\n <div class=\"ys-overlay bg-dark\" (click)=\"toggleSidebar()\" [ngClass]=\"{'show': sidebarToggled}\"></div>\r\n </main>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: YsNavbarComponent, selector: "ys-navbar", inputs: ["id", "theme", "styleClass", "items", "sideItems", "search", "searchLabel", "searchIconClass", "searchPlaceholder", "brand", "sidebarToggler", "sidebarToggled", "sidebarTogglerIconClass"], outputs: ["toggleSidebar", "onSearch"] }, { kind: "component", type: YsSidebarComponent, selector: "ys-sidebar", inputs: ["items", "profile", "styleClass", "itemsStyleClass", "overlay"] }, { kind: "component", type: YsFooterComponent, selector: "ys-footer", inputs: ["styleClass", "brand", "copyright", "socialNetworks"] }, { kind: "component", type: YsProgressComponent, selector: "ys-progress", inputs: ["reverse", "styleClass", "height", "label"] }] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: YsLayoutComponent, deps: [{ token: i1.SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: YsLayoutComponent, isStandalone: true, selector: "ys-layout", inputs: { navbarTheme: "navbarTheme", navbarStyleClass: "navbarStyleClass", navbarItems: "navbarItems", navbarSideItems: "navbarSideItems", navbarSearch: "navbarSearch", navbarBrand: "navbarBrand", sidebar: "sidebar", sidebarToggler: "sidebarToggler", sidebarItems: "sidebarItems", sidebarUserProfile: "sidebarUserProfile", sidebarTogglerIconClass: "sidebarTogglerIconClass", footer: "footer", rtl: "rtl" }, ngImport: i0, template: "<div class=\"ys-page-wrapper\" [ngClass]=\"{'toggled-sidebar': sidebarToggled}\">\r\n <ys-navbar [items]=\"navbarItems\" [sideItems]=\"navbarSideItems\" (toggleSidebar)=\"toggleSidebar()\"\r\n [sidebarToggled]=\"sidebarToggled\" [sidebarTogglerIconClass]=\"sidebarTogglerIconClass\" [brand]=\"navbarBrand\"\r\n [styleClass]=\"navbarStyleClass\" [theme]=\"navbarTheme\" [sidebarToggler]=\"sidebarToggler\"></ys-navbar>\r\n <main role=\"main\" class=\"d-flex position-relative\">\r\n <ys-sidebar *ngIf=\"sidebar\" [items]=\"sidebarItems\" [profile]=\"sidebarUserProfile\"></ys-sidebar>\r\n <div class=\"ys-page-content container-fluid\">\r\n <ys-progress [reverse]=\"rtl\"></ys-progress>\r\n <router-outlet></router-outlet>\r\n <ys-footer *ngIf=\"footer\"></ys-footer>\r\n </div>\r\n <div class=\"ys-overlay bg-dark\" (click)=\"toggleSidebar()\" [ngClass]=\"{'show': sidebarToggled}\"></div>\r\n </main>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: YsNavbarComponent, selector: "ys-navbar", inputs: ["id", "theme", "styleClass", "items", "sideItems", "search", "searchLabel", "searchIconClass", "searchPlaceholder", "brand", "sidebarToggler", "sidebarToggled", "sidebarTogglerIconClass"], outputs: ["toggleSidebar", "onSearch"] }, { kind: "component", type: YsSidebarComponent, selector: "ys-sidebar", inputs: ["items", "profile", "styleClass", "itemsStyleClass", "overlay"] }, { kind: "component", type: YsFooterComponent, selector: "ys-footer", inputs: ["styleClass", "brand", "copyright", "socialNetworks"] }, { kind: "component", type: YsProgressComponent, selector: "ys-progress", inputs: ["reverse", "styleClass", "height", "label"] }] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: YsLayoutComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: YsLayoutComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'ys-layout', standalone: true, imports: [
38
38
  NgClass,
@@ -43,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
43
43
  YsFooterComponent,
44
44
  YsProgressComponent
45
45
  ], template: "<div class=\"ys-page-wrapper\" [ngClass]=\"{'toggled-sidebar': sidebarToggled}\">\r\n <ys-navbar [items]=\"navbarItems\" [sideItems]=\"navbarSideItems\" (toggleSidebar)=\"toggleSidebar()\"\r\n [sidebarToggled]=\"sidebarToggled\" [sidebarTogglerIconClass]=\"sidebarTogglerIconClass\" [brand]=\"navbarBrand\"\r\n [styleClass]=\"navbarStyleClass\" [theme]=\"navbarTheme\" [sidebarToggler]=\"sidebarToggler\"></ys-navbar>\r\n <main role=\"main\" class=\"d-flex position-relative\">\r\n <ys-sidebar *ngIf=\"sidebar\" [items]=\"sidebarItems\" [profile]=\"sidebarUserProfile\"></ys-sidebar>\r\n <div class=\"ys-page-content container-fluid\">\r\n <ys-progress [reverse]=\"rtl\"></ys-progress>\r\n <router-outlet></router-outlet>\r\n <ys-footer *ngIf=\"footer\"></ys-footer>\r\n </div>\r\n <div class=\"ys-overlay bg-dark\" (click)=\"toggleSidebar()\" [ngClass]=\"{'show': sidebarToggled}\"></div>\r\n </main>\r\n</div>" }]
46
- }], ctorParameters: function () { return [{ type: i1.SidebarService }]; }, propDecorators: { navbarTheme: [{
46
+ }], ctorParameters: () => [{ type: i1.SidebarService }], propDecorators: { navbarTheme: [{
47
47
  type: Input
48
48
  }], navbarStyleClass: [{
49
49
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"yoozsoft-yoozsoft-ng-layout.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/layout/src/ys-layout/ys-layout.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/layout/src/ys-layout/ys-layout.component.html","../../../../projects/yoozsoft/yoozsoft-ng/layout/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/layout/yoozsoft-yoozsoft-ng-layout.ts"],"sourcesContent":["import { NgClass, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { YsFooterComponent } from '@yoozsoft/yoozsoft-ng/footer';\r\nimport { NavbarBrand, NavbarItem, YsNavbarComponent } from '@yoozsoft/yoozsoft-ng/navbar';\r\nimport { YsProgressComponent } from '@yoozsoft/yoozsoft-ng/progress';\r\nimport { SidebarItem, SidebarService, UserProfile, YsSidebarComponent } from '@yoozsoft/yoozsoft-ng/sidebar';\r\n\r\n@Component({\r\n selector: 'ys-layout',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgIf,\r\n RouterOutlet,\r\n YsNavbarComponent,\r\n YsSidebarComponent,\r\n YsFooterComponent,\r\n YsProgressComponent\r\n ],\r\n templateUrl: './ys-layout.component.html',\r\n styleUrls: ['./ys-layout.component.scss']\r\n})\r\nexport class YsLayoutComponent {\r\n\r\n @Input() navbarTheme: string = 'dark';\r\n @Input() navbarStyleClass: string = 'navbar-expand-md fixed-top bg-primary';\r\n @Input() navbarItems: NavbarItem[] = [];\r\n @Input() navbarSideItems: NavbarItem[] = [];\r\n @Input() navbarSearch: boolean = false;\r\n @Input() navbarBrand: NavbarBrand | null = null;\r\n\r\n @Input() sidebar: boolean = true;\r\n @Input() sidebarToggler: boolean = false;\r\n @Input() sidebarItems: SidebarItem[] = [];\r\n @Input() sidebarUserProfile: UserProfile | null = null;\r\n @Input() sidebarTogglerIconClass: string = \"fa-solid fa-angle-right\";\r\n\r\n @Input() footer: boolean = false;\r\n\r\n @Input() rtl: boolean = false;\r\n\r\n constructor(private sidebarService: SidebarService) { }\r\n\r\n get sidebarToggled(): boolean { return this.sidebarService.sidebarState.sidebarToggled; }\r\n\r\n toggleSidebar() {\r\n this.sidebarService.toggleSidebar();\r\n }\r\n\r\n}\r\n","<div class=\"ys-page-wrapper\" [ngClass]=\"{'toggled-sidebar': sidebarToggled}\">\r\n <ys-navbar [items]=\"navbarItems\" [sideItems]=\"navbarSideItems\" (toggleSidebar)=\"toggleSidebar()\"\r\n [sidebarToggled]=\"sidebarToggled\" [sidebarTogglerIconClass]=\"sidebarTogglerIconClass\" [brand]=\"navbarBrand\"\r\n [styleClass]=\"navbarStyleClass\" [theme]=\"navbarTheme\" [sidebarToggler]=\"sidebarToggler\"></ys-navbar>\r\n <main role=\"main\" class=\"d-flex position-relative\">\r\n <ys-sidebar *ngIf=\"sidebar\" [items]=\"sidebarItems\" [profile]=\"sidebarUserProfile\"></ys-sidebar>\r\n <div class=\"ys-page-content container-fluid\">\r\n <ys-progress [reverse]=\"rtl\"></ys-progress>\r\n <router-outlet></router-outlet>\r\n <ys-footer *ngIf=\"footer\"></ys-footer>\r\n </div>\r\n <div class=\"ys-overlay bg-dark\" (click)=\"toggleSidebar()\" [ngClass]=\"{'show': sidebarToggled}\"></div>\r\n </main>\r\n</div>","/*\n * Public API Surface of ys-layout\n */\n\nexport * from './src/ys-layout/ys-layout.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yoozsoft-yoozsoft-ng-layout.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/layout/src/ys-layout/ys-layout.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/layout/src/ys-layout/ys-layout.component.html","../../../../projects/yoozsoft/yoozsoft-ng/layout/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/layout/yoozsoft-yoozsoft-ng-layout.ts"],"sourcesContent":["import { NgClass, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { YsFooterComponent } from '@yoozsoft/yoozsoft-ng/footer';\r\nimport { NavbarBrand, NavbarItem, YsNavbarComponent } from '@yoozsoft/yoozsoft-ng/navbar';\r\nimport { YsProgressComponent } from '@yoozsoft/yoozsoft-ng/progress';\r\nimport { SidebarItem, SidebarService, UserProfile, YsSidebarComponent } from '@yoozsoft/yoozsoft-ng/sidebar';\r\n\r\n@Component({\r\n selector: 'ys-layout',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgIf,\r\n RouterOutlet,\r\n YsNavbarComponent,\r\n YsSidebarComponent,\r\n YsFooterComponent,\r\n YsProgressComponent\r\n ],\r\n templateUrl: './ys-layout.component.html',\r\n styleUrls: ['./ys-layout.component.scss']\r\n})\r\nexport class YsLayoutComponent {\r\n\r\n @Input() navbarTheme: string = 'dark';\r\n @Input() navbarStyleClass: string = 'navbar-expand-md fixed-top bg-primary';\r\n @Input() navbarItems: NavbarItem[] = [];\r\n @Input() navbarSideItems: NavbarItem[] = [];\r\n @Input() navbarSearch: boolean = false;\r\n @Input() navbarBrand: NavbarBrand | null = null;\r\n\r\n @Input() sidebar: boolean = true;\r\n @Input() sidebarToggler: boolean = false;\r\n @Input() sidebarItems: SidebarItem[] = [];\r\n @Input() sidebarUserProfile: UserProfile | null = null;\r\n @Input() sidebarTogglerIconClass: string = \"fa-solid fa-angle-right\";\r\n\r\n @Input() footer: boolean = false;\r\n\r\n @Input() rtl: boolean = false;\r\n\r\n constructor(private sidebarService: SidebarService) { }\r\n\r\n get sidebarToggled(): boolean { return this.sidebarService.sidebarState.sidebarToggled; }\r\n\r\n toggleSidebar() {\r\n this.sidebarService.toggleSidebar();\r\n }\r\n\r\n}\r\n","<div class=\"ys-page-wrapper\" [ngClass]=\"{'toggled-sidebar': sidebarToggled}\">\r\n <ys-navbar [items]=\"navbarItems\" [sideItems]=\"navbarSideItems\" (toggleSidebar)=\"toggleSidebar()\"\r\n [sidebarToggled]=\"sidebarToggled\" [sidebarTogglerIconClass]=\"sidebarTogglerIconClass\" [brand]=\"navbarBrand\"\r\n [styleClass]=\"navbarStyleClass\" [theme]=\"navbarTheme\" [sidebarToggler]=\"sidebarToggler\"></ys-navbar>\r\n <main role=\"main\" class=\"d-flex position-relative\">\r\n <ys-sidebar *ngIf=\"sidebar\" [items]=\"sidebarItems\" [profile]=\"sidebarUserProfile\"></ys-sidebar>\r\n <div class=\"ys-page-content container-fluid\">\r\n <ys-progress [reverse]=\"rtl\"></ys-progress>\r\n <router-outlet></router-outlet>\r\n <ys-footer *ngIf=\"footer\"></ys-footer>\r\n </div>\r\n <div class=\"ys-overlay bg-dark\" (click)=\"toggleSidebar()\" [ngClass]=\"{'show': sidebarToggled}\"></div>\r\n </main>\r\n</div>","/*\n * Public API Surface of ys-layout\n */\n\nexport * from './src/ys-layout/ys-layout.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -7,10 +7,10 @@ class YsLoadingMaskComponent {
7
7
  this.loading = false;
8
8
  this.styleClass = null;
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: YsLoadingMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: YsLoadingMaskComponent, isStandalone: true, selector: "ys-loading-mask", inputs: { loading: "loading", styleClass: "styleClass" }, ngImport: i0, template: "<div *ngIf=\"loading\" class=\"loading-mask bg-secondary\" [ngClass]=\"styleClass\">\r\n</div>\r\n<div *ngIf=\"loading\" class=\"loading-content spinner-border text-secondary\" role=\"status\">\r\n <span class=\"sr-only\">Loading...</span>\r\n</div>", styles: [".loading-mask{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.2;z-index:1001}.loading-content{position:absolute;top:50%;left:50%;z-index:1002}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: YsLoadingMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: YsLoadingMaskComponent, isStandalone: true, selector: "ys-loading-mask", inputs: { loading: "loading", styleClass: "styleClass" }, ngImport: i0, template: "<div *ngIf=\"loading\" class=\"loading-mask bg-secondary\" [ngClass]=\"styleClass\">\r\n</div>\r\n<div *ngIf=\"loading\" class=\"loading-content spinner-border text-secondary\" role=\"status\">\r\n <span class=\"sr-only\">Loading...</span>\r\n</div>", styles: [".loading-mask{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.2;z-index:1001}.loading-content{position:absolute;top:50%;left:50%;z-index:1002}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: YsLoadingMaskComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: YsLoadingMaskComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'ys-loading-mask', standalone: true, imports: [NgIf, NgClass], template: "<div *ngIf=\"loading\" class=\"loading-mask bg-secondary\" [ngClass]=\"styleClass\">\r\n</div>\r\n<div *ngIf=\"loading\" class=\"loading-content spinner-border text-secondary\" role=\"status\">\r\n <span class=\"sr-only\">Loading...</span>\r\n</div>", styles: [".loading-mask{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.2;z-index:1001}.loading-content{position:absolute;top:50%;left:50%;z-index:1002}\n"] }]
16
16
  }], propDecorators: { loading: [{