ng-ipa-library 4.0.20 → 4.0.21

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.
@@ -88,17 +88,9 @@ class HostControlDirectiveDirective {
88
88
  this.control = new FormControl();
89
89
  }
90
90
  }
91
- onChange(event) { }
92
- onTouched() { }
93
- writeValue(obj) {
94
- this.control.setValue(obj || '');
95
- }
96
- registerOnChange(fn) {
97
- this.onChange = fn;
98
- }
99
- registerOnTouched(fn) {
100
- this.onTouched = fn;
101
- }
91
+ writeValue() { }
92
+ registerOnChange() { }
93
+ registerOnTouched() { }
102
94
  ngOnDestroy() {
103
95
  this.subscription?.unsubscribe();
104
96
  }
@@ -445,11 +437,11 @@ class TextInputComponent {
445
437
  return this.errorMsg;
446
438
  }
447
439
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
448
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TextInputComponent, selector: "ipa-text-input", inputs: { id: "id", type: "type", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", onlyNumber: "onlyNumber", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, hostDirectives: [{ directive: HostControlDirectiveDirective }], ngImport: i0, template: "<div class=\"form-floating {{ containerClasses }}\">\r\n <input\r\n #input\r\n id=\"{{ id }}\"\r\n class=\"form-control {{ classes }}\"\r\n [type]=\"type\"\r\n [required]=\"required\"\r\n pattern=\"{{ pattern }}\"\r\n placeholder=\"{{ placeholder }}\"\r\n [formControl]=\"formControl.control\"\r\n (input)=\"checkIsNumber($event)\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control.invalid &&\r\n (formControl.control.dirty || formControl.control.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
440
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TextInputComponent, selector: "ipa-text-input", inputs: { id: "id", type: "type", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", onlyNumber: "onlyNumber", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, hostDirectives: [{ directive: HostControlDirectiveDirective }], ngImport: i0, template: "<div class=\"form-floating {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n class=\"form-control {{ classes }}\"\r\n [type]=\"type\"\r\n [required]=\"required\"\r\n pattern=\"{{ pattern }}\"\r\n placeholder=\"{{ placeholder }}\"\r\n [formControl]=\"formControl.control\"\r\n (input)=\"checkIsNumber($event)\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control.invalid &&\r\n (formControl.control.dirty || formControl.control.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
449
441
  }
450
442
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextInputComponent, decorators: [{
451
443
  type: Component,
452
- args: [{ selector: 'ipa-text-input', hostDirectives: [HostControlDirectiveDirective], template: "<div class=\"form-floating {{ containerClasses }}\">\r\n <input\r\n #input\r\n id=\"{{ id }}\"\r\n class=\"form-control {{ classes }}\"\r\n [type]=\"type\"\r\n [required]=\"required\"\r\n pattern=\"{{ pattern }}\"\r\n placeholder=\"{{ placeholder }}\"\r\n [formControl]=\"formControl.control\"\r\n (input)=\"checkIsNumber($event)\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control.invalid &&\r\n (formControl.control.dirty || formControl.control.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n</div>\r\n" }]
444
+ args: [{ selector: 'ipa-text-input', hostDirectives: [HostControlDirectiveDirective], template: "<div class=\"form-floating {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n class=\"form-control {{ classes }}\"\r\n [type]=\"type\"\r\n [required]=\"required\"\r\n pattern=\"{{ pattern }}\"\r\n placeholder=\"{{ placeholder }}\"\r\n [formControl]=\"formControl.control\"\r\n (input)=\"checkIsNumber($event)\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control.invalid &&\r\n (formControl.control.dirty || formControl.control.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n</div>\r\n" }]
453
445
  }], ctorParameters: () => [{ type: IPAFormService }, { type: i0.ChangeDetectorRef }], propDecorators: { id: [{
454
446
  type: Input
455
447
  }], type: [{
@@ -1001,42 +993,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
1001
993
  }] } });
1002
994
 
1003
995
  class DatepickerComponent {
1004
- constructor(ipaFormService, calendar, controlDir, config, cd) {
996
+ constructor(ipaFormService, calendar, config, cd) {
1005
997
  this.ipaFormService = ipaFormService;
1006
998
  this.calendar = calendar;
1007
- this.controlDir = controlDir;
1008
999
  this.cd = cd;
1009
1000
  this.label = 'datepicker';
1010
1001
  this.patternErrorMsg = 'invalid pattern';
1011
1002
  this.required = false;
1012
1003
  this.isArabicForm = true;
1013
1004
  this.today = this.calendar.getToday();
1014
- this.formControl = new UntypedFormControl('');
1015
- this.controlDir.valueAccessor = this;
1005
+ this.formControl = inject(HostControlDirectiveDirective);
1016
1006
  config.container = null;
1017
1007
  config.placement = 'bottom-center';
1018
1008
  }
1019
1009
  ngAfterContentChecked() {
1020
1010
  this.cd.detectChanges();
1021
1011
  }
1022
- ngOnInit() {
1023
- const control = this.controlDir.control;
1024
- const validators = control?.validator ? [control.validator] : [];
1025
- if (this.isHijriDatepicker)
1026
- validators.push(IPAFormService.validHijriDate);
1027
- control?.setValidators(validators);
1028
- control?.updateValueAndValidity();
1029
- this.formControl = control;
1030
- }
1031
- onChange(event) { }
1032
- onTouched() { }
1033
- writeValue(obj) { }
1034
- registerOnChange(fn) {
1035
- this.onChange = fn;
1036
- }
1037
- registerOnTouched(fn) {
1038
- this.onTouched = fn;
1039
- }
1012
+ ngOnInit() { }
1040
1013
  openDatepicker(event) {
1041
1014
  if (!this.datepicker.isOpen()) {
1042
1015
  setTimeout(() => {
@@ -1049,7 +1022,7 @@ class DatepickerComponent {
1049
1022
  this.datepicker.close();
1050
1023
  }
1051
1024
  get errorMessage() {
1052
- this.errorMsg = this.ipaFormService.getErrorMessage(this.formControl, this.patternErrorMsg, this.isArabicForm);
1025
+ this.errorMsg = this.ipaFormService.getErrorMessage(this.formControl.control, this.patternErrorMsg, this.isArabicForm);
1053
1026
  return this.errorMsg;
1054
1027
  }
1055
1028
  changeDatepickerTitles() {
@@ -1085,15 +1058,13 @@ class DatepickerComponent {
1085
1058
  selectList.item(1).title = 'Select year';
1086
1059
  }
1087
1060
  }
1088
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2.NgbCalendar }, { token: i2$2.NgControl, self: true }, { token: i2.NgbInputDatepickerConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1089
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: DatepickerComponent, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n placeholder=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);d.close()\">\u0627\u0644\u064A\u0648\u0645</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
1061
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2.NgbCalendar }, { token: i2.NgbInputDatepickerConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1062
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: DatepickerComponent, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["d"], descendants: true }], hostDirectives: [{ directive: HostControlDirectiveDirective }], ngImport: i0, template: "<div class=\"form-floating input-group {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control?.invalid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n class=\"form-control {{ classes }}\"\r\n [formControl]=\"formControl.control\"\r\n [firstDayOfWeek]=\"7\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\"\r\n style=\"outline: unset; z-index: unset !important\"\r\n autocomplete=\"off\"\r\n placeholder=\"{{ label }}\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center\">\r\n <hr />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-sm m-2\"\r\n style=\"width: auto; float: right\"\r\n (click)=\"\r\n formControl.control.patchValue(today); d.navigateTo(today); d.close()\r\n \"\r\n >\r\n \u0627\u0644\u064A\u0648\u0645\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm m-2\"\r\n style=\"width: auto; float: left\"\r\n (click)=\"formControl.control.patchValue(null); d.close()\"\r\n >\r\n \u0645\u0633\u062D\r\n </button>\r\n </ng-template>\r\n</div>\r\n", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
1090
1063
  }
1091
1064
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DatepickerComponent, decorators: [{
1092
1065
  type: Component,
1093
- args: [{ selector: 'ipa-datepicker', template: "<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n placeholder=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);d.close()\">\u0627\u0644\u064A\u0648\u0645</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1094
- }], ctorParameters: () => [{ type: IPAFormService }, { type: i2.NgbCalendar }, { type: i2$2.NgControl, decorators: [{
1095
- type: Self
1096
- }] }, { type: i2.NgbInputDatepickerConfig }, { type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
1066
+ args: [{ selector: 'ipa-datepicker', hostDirectives: [HostControlDirectiveDirective], template: "<div class=\"form-floating input-group {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control?.invalid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n class=\"form-control {{ classes }}\"\r\n [formControl]=\"formControl.control\"\r\n [firstDayOfWeek]=\"7\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\"\r\n style=\"outline: unset; z-index: unset !important\"\r\n autocomplete=\"off\"\r\n placeholder=\"{{ label }}\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center\">\r\n <hr />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-sm m-2\"\r\n style=\"width: auto; float: right\"\r\n (click)=\"\r\n formControl.control.patchValue(today); d.navigateTo(today); d.close()\r\n \"\r\n >\r\n \u0627\u0644\u064A\u0648\u0645\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm m-2\"\r\n style=\"width: auto; float: left\"\r\n (click)=\"formControl.control.patchValue(null); d.close()\"\r\n >\r\n \u0645\u0633\u062D\r\n </button>\r\n </ng-template>\r\n</div>\r\n", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1067
+ }], ctorParameters: () => [{ type: IPAFormService }, { type: i2.NgbCalendar }, { type: i2.NgbInputDatepickerConfig }, { type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
1097
1068
  type: ViewChild,
1098
1069
  args: ['d']
1099
1070
  }], id: [{
@@ -1160,14 +1131,14 @@ class HijriDatepickerComponent extends DatepickerComponent {
1160
1131
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: HijriDatepickerComponent, selector: "ipa-hijri-datepicker", providers: [
1161
1132
  { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
1162
1133
  { provide: NgbDatepickerI18n, useClass: IslamicI18n },
1163
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n placeholder=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);d.close()\">\u0627\u0644\u064A\u0648\u0645</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
1134
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-floating input-group {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control?.invalid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n class=\"form-control {{ classes }}\"\r\n [formControl]=\"formControl.control\"\r\n [firstDayOfWeek]=\"7\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\"\r\n style=\"outline: unset; z-index: unset !important\"\r\n autocomplete=\"off\"\r\n placeholder=\"{{ label }}\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center\">\r\n <hr />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-sm m-2\"\r\n style=\"width: auto; float: right\"\r\n (click)=\"\r\n formControl.control.patchValue(today); d.navigateTo(today); d.close()\r\n \"\r\n >\r\n \u0627\u0644\u064A\u0648\u0645\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm m-2\"\r\n style=\"width: auto; float: left\"\r\n (click)=\"formControl.control.patchValue(null); d.close()\"\r\n >\r\n \u0645\u0633\u062D\r\n </button>\r\n </ng-template>\r\n</div>\r\n", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
1164
1135
  }
1165
1136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
1166
1137
  type: Component,
1167
1138
  args: [{ selector: 'ipa-hijri-datepicker', providers: [
1168
1139
  { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
1169
1140
  { provide: NgbDatepickerI18n, useClass: IslamicI18n },
1170
- ], template: "<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n placeholder=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);d.close()\">\u0627\u0644\u064A\u0648\u0645</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1141
+ ], template: "<div class=\"form-floating input-group {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control?.invalid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n class=\"form-control {{ classes }}\"\r\n [formControl]=\"formControl.control\"\r\n [firstDayOfWeek]=\"7\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\"\r\n style=\"outline: unset; z-index: unset !important\"\r\n autocomplete=\"off\"\r\n placeholder=\"{{ label }}\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center\">\r\n <hr />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-sm m-2\"\r\n style=\"width: auto; float: right\"\r\n (click)=\"\r\n formControl.control.patchValue(today); d.navigateTo(today); d.close()\r\n \"\r\n >\r\n \u0627\u0644\u064A\u0648\u0645\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm m-2\"\r\n style=\"width: auto; float: left\"\r\n (click)=\"formControl.control.patchValue(null); d.close()\"\r\n >\r\n \u0645\u0633\u062D\r\n </button>\r\n </ng-template>\r\n</div>\r\n", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1171
1142
  }] });
1172
1143
 
1173
1144
  const WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];
@@ -1214,14 +1185,14 @@ class GregorianDatepickerComponent extends DatepickerComponent {
1214
1185
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GregorianDatepickerComponent, selector: "ipa-gregorian-datepicker", providers: [
1215
1186
  { provide: NgbCalendar, useClass: NgbCalendarGregorian },
1216
1187
  { provide: NgbDatepickerI18n, useClass: Gregorian18n },
1217
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n placeholder=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);d.close()\">\u0627\u0644\u064A\u0648\u0645</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
1188
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-floating input-group {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control?.invalid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n class=\"form-control {{ classes }}\"\r\n [formControl]=\"formControl.control\"\r\n [firstDayOfWeek]=\"7\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\"\r\n style=\"outline: unset; z-index: unset !important\"\r\n autocomplete=\"off\"\r\n placeholder=\"{{ label }}\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center\">\r\n <hr />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-sm m-2\"\r\n style=\"width: auto; float: right\"\r\n (click)=\"\r\n formControl.control.patchValue(today); d.navigateTo(today); d.close()\r\n \"\r\n >\r\n \u0627\u0644\u064A\u0648\u0645\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm m-2\"\r\n style=\"width: auto; float: left\"\r\n (click)=\"formControl.control.patchValue(null); d.close()\"\r\n >\r\n \u0645\u0633\u062D\r\n </button>\r\n </ng-template>\r\n</div>\r\n", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
1218
1189
  }
1219
1190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
1220
1191
  type: Component,
1221
1192
  args: [{ selector: 'ipa-gregorian-datepicker', providers: [
1222
1193
  { provide: NgbCalendar, useClass: NgbCalendarGregorian },
1223
1194
  { provide: NgbDatepickerI18n, useClass: Gregorian18n },
1224
- ], template: "<div class=\"form-floating input-group {{containerClasses}}\">\r\n <input id=\"{{id}}\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\"\r\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\r\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\" style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n placeholder=\"{{label}}\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center;\">\r\n <hr>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\r\n (click)=\"formControl.patchValue(today);d.navigateTo(today);d.close()\">\u0627\u0644\u064A\u0648\u0645</button>\r\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\r\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\r\n </ng-template>\r\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1195
+ ], template: "<div class=\"form-floating input-group {{ containerClasses }}\">\r\n <input\r\n id=\"{{ id }}\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus':\r\n formControl.control?.invalid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n errorMsg,\r\n 'is-valid is-valid:focus':\r\n formControl.control?.valid &&\r\n (formControl.control?.dirty || formControl.control?.touched) &&\r\n (errorMsg || formControl.control.value)\r\n }\"\r\n class=\"form-control {{ classes }}\"\r\n [formControl]=\"formControl.control\"\r\n [firstDayOfWeek]=\"7\"\r\n ngbDatepicker\r\n #d=\"ngbDatepicker\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [required]=\"required\"\r\n style=\"outline: unset; z-index: unset !important\"\r\n autocomplete=\"off\"\r\n placeholder=\"{{ label }}\"\r\n />\r\n <label for=\"{{ id }}\">{{ label }}</label>\r\n <span class=\"input-group-text calenderBtn\" (click)=\"openDatepicker($event)\">\r\n <i class=\"far fa-calendar-alt fa-lg\"></i>\r\n </span>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{ errorMsg }}\r\n </div>\r\n <ng-template #footerTemplate style=\"text-align: center\">\r\n <hr />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary btn-sm m-2\"\r\n style=\"width: auto; float: right\"\r\n (click)=\"\r\n formControl.control.patchValue(today); d.navigateTo(today); d.close()\r\n \"\r\n >\r\n \u0627\u0644\u064A\u0648\u0645\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm m-2\"\r\n style=\"width: auto; float: left\"\r\n (click)=\"formControl.control.patchValue(null); d.close()\"\r\n >\r\n \u0645\u0633\u062D\r\n </button>\r\n </ng-template>\r\n</div>\r\n", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1225
1196
  }] });
1226
1197
 
1227
1198
  class ShareButtonComponent {