ng-ipa-library 4.0.21 → 4.0.22

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 (24) hide show
  1. package/esm2022/lib/generate-form/generate-form.component.mjs +5 -5
  2. package/esm2022/lib/ipa-form/datepicker/datepicker.component.mjs +34 -13
  3. package/esm2022/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.mjs +3 -3
  4. package/esm2022/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.mjs +3 -3
  5. package/esm2022/lib/ipa-form/dropdown-input/dropdown-input.component.mjs +7 -6
  6. package/esm2022/lib/ipa-form/file-upload/file-upload.component.mjs +6 -5
  7. package/esm2022/lib/ipa-form/recaptcha/recaptcha.component.mjs +6 -4
  8. package/esm2022/lib/ipa-form/text-input/text-input.component.mjs +41 -17
  9. package/esm2022/lib/ipa-form/textarea-input/textarea-input.component.mjs +5 -4
  10. package/esm2022/lib/ng-ipa-library.module.mjs +26 -38
  11. package/esm2022/public-api.mjs +1 -3
  12. package/fesm2022/ng-ipa-library.mjs +235 -257
  13. package/fesm2022/ng-ipa-library.mjs.map +1 -1
  14. package/lib/ipa-form/datepicker/datepicker.component.d.ts +13 -8
  15. package/lib/ipa-form/dropdown-input/dropdown-input.component.d.ts +1 -1
  16. package/lib/ipa-form/file-upload/file-upload.component.d.ts +1 -1
  17. package/lib/ipa-form/recaptcha/recaptcha.component.d.ts +1 -1
  18. package/lib/ipa-form/text-input/text-input.component.d.ts +13 -7
  19. package/lib/ipa-form/textarea-input/textarea-input.component.d.ts +1 -1
  20. package/lib/ng-ipa-library.module.d.ts +17 -21
  21. package/package.json +1 -1
  22. package/public-api.d.ts +0 -1
  23. package/esm2022/lib/directives/host-control-directive.directive.mjs +0 -61
  24. package/lib/directives/host-control-directive.directive.d.ts +0 -15
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
- import { DropzoneDirective, } from 'ngx-dropzone-wrapper';
3
- import { UntypedFormControl } from '@angular/forms';
2
+ import { DropzoneDirective, DropzoneModule, } from 'ngx-dropzone-wrapper';
3
+ import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
4
+ import { CommonModule } from '@angular/common';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "ngx-toastr";
6
7
  import * as i2 from "@angular/common";
@@ -104,11 +105,11 @@ export class FileUploadComponent {
104
105
  };
105
106
  }
106
107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FileUploadComponent, selector: "ipa-file-upload", inputs: { isArabicForm: "isArabicForm", label: "label", required: "required", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: DropzoneDirective, descendants: true }], ngImport: i0, template: "<div class=\"file-upload\">\r\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\r\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\r\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\r\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\r\n (addedFile)=\"fileWasAdded($event)\">\r\n </div>\r\n <div class=\"upload-btn-wrapper\">\r\n <div>\r\n <div class=\"subtitle mb-2\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required\">*</span>\r\n </div>\r\n <hr>\r\n <span style=\"font-size: 12px;\">{{isArabicForm? '\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627' : 'drag or click here'}}</span>\r\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\r\n </div>\r\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:' : 'Allowed format:'}} \r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:' : 'Attachment Size:'}}\r\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\r\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\r\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\r\n style=\"color:firebrick; cursor: pointer;\"></i>\r\n <br>\r\n </span>\r\n <ul class=\"list-unstyled\">\r\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\r\n </ul>\r\n</div>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}.required{color:#dc3545;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }] }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FileUploadComponent, isStandalone: true, selector: "ipa-file-upload", inputs: { isArabicForm: "isArabicForm", label: "label", required: "required", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: DropzoneDirective, descendants: true }], ngImport: i0, template: "<div class=\"file-upload\">\r\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\r\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\r\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\r\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\r\n (addedFile)=\"fileWasAdded($event)\">\r\n </div>\r\n <div class=\"upload-btn-wrapper\">\r\n <div>\r\n <div class=\"subtitle mb-2\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required\">*</span>\r\n </div>\r\n <hr>\r\n <span style=\"font-size: 12px;\">{{isArabicForm? '\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627' : 'drag or click here'}}</span>\r\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\r\n </div>\r\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:' : 'Allowed format:'}} \r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:' : 'Attachment Size:'}}\r\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\r\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\r\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\r\n style=\"color:firebrick; cursor: pointer;\"></i>\r\n <br>\r\n </span>\r\n <ul class=\"list-unstyled\">\r\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\r\n </ul>\r\n</div>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}.required{color:#dc3545;font-size:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: DropzoneModule }, { kind: "directive", type: i3.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }] }); }
108
109
  }
109
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FileUploadComponent, decorators: [{
110
111
  type: Component,
111
- args: [{ selector: 'ipa-file-upload', template: "<div class=\"file-upload\">\r\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\r\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\r\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\r\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\r\n (addedFile)=\"fileWasAdded($event)\">\r\n </div>\r\n <div class=\"upload-btn-wrapper\">\r\n <div>\r\n <div class=\"subtitle mb-2\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required\">*</span>\r\n </div>\r\n <hr>\r\n <span style=\"font-size: 12px;\">{{isArabicForm? '\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627' : 'drag or click here'}}</span>\r\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\r\n </div>\r\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:' : 'Allowed format:'}} \r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:' : 'Attachment Size:'}}\r\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\r\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\r\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\r\n style=\"color:firebrick; cursor: pointer;\"></i>\r\n <br>\r\n </span>\r\n <ul class=\"list-unstyled\">\r\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\r\n </ul>\r\n</div>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}.required{color:#dc3545;font-size:20px}\n"] }]
112
+ args: [{ selector: 'ipa-file-upload', standalone: true, imports: [CommonModule, ReactiveFormsModule, DropzoneModule], template: "<div class=\"file-upload\">\r\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\r\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\r\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\r\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\r\n (addedFile)=\"fileWasAdded($event)\">\r\n </div>\r\n <div class=\"upload-btn-wrapper\">\r\n <div>\r\n <div class=\"subtitle mb-2\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required\">*</span>\r\n </div>\r\n <hr>\r\n <span style=\"font-size: 12px;\">{{isArabicForm? '\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627' : 'drag or click here'}}</span>\r\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\r\n </div>\r\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:' : 'Allowed format:'}} \r\n <span class=\"extensions\">{{ acceptedFiles }}</span>\r\n </div>\r\n <div class=\"allowed-extensions\">\r\n {{isArabicForm? '\u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:' : 'Attachment Size:'}}\r\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\r\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\r\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\r\n style=\"color:firebrick; cursor: pointer;\"></i>\r\n <br>\r\n </span>\r\n <ul class=\"list-unstyled\">\r\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\r\n </ul>\r\n</div>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}.required{color:#dc3545;font-size:20px}\n"] }]
112
113
  }], ctorParameters: () => [{ type: i1.ToastrService }], propDecorators: { dropzoneDir: [{
113
114
  type: ViewChild,
114
115
  args: [DropzoneDirective, { static: false }]
@@ -139,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
139
140
  }], fileDeleted: [{
140
141
  type: Output
141
142
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9pcGEtZm9ybS9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPcEQsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUI7SUFDRSxvQ0FBb0M7SUFDNUIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUF0QjdCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyx5REFBeUQ7UUFDdkUsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBRyxRQUFRLENBQUM7UUFFakIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZ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QkFBaUIsZ0RDckI5Qix1ckVBb0NNOzs0RkRoQk8sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjtrRkFNM0IsV0FBVztzQkFEVixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQge1xyXG4gIERyb3B6b25lQ29uZmlnSW50ZXJmYWNlLFxyXG4gIERyb3B6b25lRGlyZWN0aXZlLFxyXG59IGZyb20gJ25neC1kcm9wem9uZS13cmFwcGVyJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpcGEtZmlsZS11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHJvcHpvbmVEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGRyb3B6b25lRGlyITogRHJvcHpvbmVEaXJlY3RpdmU7XHJcbiAgQElucHV0KCkgaXNBcmFiaWNGb3JtID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWNjZXB0ZWRGaWxlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gMTsgLy8gc2V0IG1heEZpbGVzIChOT1QgdXBsb2FkTXVsdGlwbGUpaW4gdGhlIGNvbmZpZyBvYmplY3QsXHJcbiAgQElucHV0KCkgbWF4RmlsZVNpemUgPSAyO1xyXG4gIEBJbnB1dCgpIG1ldGhvZCA9ICdQT1NUJztcclxuICBASW5wdXQoKSBhdXRvVXBsb2FkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXBpVXJsID0gJ2FwaVVybCc7XHJcbiAgQElucHV0KCkgYXV0aG9yaXphdGlvbiE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgc3VjY2Vzc1VwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsZUFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkcmFnRW50ZXIgPSBmYWxzZTtcclxuICBlcnJvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29uZmlnITogRHJvcHpvbmVDb25maWdJbnRlcmZhY2U7XHJcbiAgZmlsZXNBZGRlZDogRmlsZVtdID0gW107XHJcbiAgY3VycmVudEZpbGVzOiBGaWxlW10gPSBbXTtcclxuICBmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRDb25maWd1cmF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvcGVyYXRpb25Db21wbGV0ZWQoZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5maWxlc0FkZGVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zdWNjZXNzVXBsb2FkLmVtaXQodGhpcy5maWxlc0FkZGVkKTtcclxuICAgICAgdGhpcy5maWxlc0FkZGVkID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmRyb3B6b25lRGlyLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICBvblVwbG9hZFN1Y2Nlc3MoZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWxlID0gZVswXTtcclxuICAgIGlmIChmaWxlLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgIHRoaXMuZmlsZXNBZGRlZC5wdXNoKGZpbGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuaXNBcmFiaWNGb3JtXHJcbiAgICAgID8gJ9iq2YUg2KrYrdmF2YrZhCDYp9mE2YXYsdmB2YLYp9iqINio2YbYrNin2K0nXHJcbiAgICAgIDogJ0F0dGFjaG1lbnRzIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseSc7XHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc3VjY2VzcyhtZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIG9uVXBsb2FkRXJyb3IoZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZVsxXSkge1xyXG4gICAgICB0aGlzLmVycm9ycyA9IFtdO1xyXG4gICAgICB0aGlzLmVycm9ycy5wdXNoKGAke2VbMV19ICgke2VbMF0ubmFtZX0pYCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlV2FzQWRkZWQoZTogRmlsZSk6IHZvaWQge1xyXG4gICAgY29uc3QgbXlEcm9wem9uZSA9IHRoaXMuZHJvcHpvbmVEaXIuZHJvcHpvbmUoKTtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEZpbGVzID0gW107XHJcbiAgICAgIHRoaXMuZmlsZXNBZGRlZCA9IFtdO1xyXG4gICAgICB0aGlzLmVycm9ycyA9IFtdO1xyXG4gICAgICBjb25zdCBmaWxlcyA9IG15RHJvcHpvbmUuZmlsZXM7XHJcbiAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgbXlEcm9wem9uZS5yZW1vdmVGaWxlKGZpbGVzWzBdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50RmlsZXMucHVzaChlKTtcclxuICAgIHRoaXMuZmlsZUFkZGVkLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBzZW5kaW5nKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0KGU6IGFueSk6IHZvaWQge31cclxuXHJcbiAgZGVsZXRlRmlsZShmaWxlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudEZpbGVzID0gdGhpcy5jdXJyZW50RmlsZXMuZmlsdGVyKFxyXG4gICAgICAoeCkgPT4geC5uYW1lICE9PSBmaWxlLm5hbWUgJiYgeC5zaXplICE9PSBmaWxlLnNpemVcclxuICAgICk7XHJcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xyXG4gICAgdGhpcy5maWxlRGVsZXRlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbmZpZ3VyYXRpb24oKSB7XHJcbiAgICB0aGlzLmxhYmVsID0gKHRoaXMuaXNBcmFiaWNGb3JtID8gJ9ix2YHYuSAnIDogJ1VwbG9hZCAnKSArIHRoaXMubGFiZWw7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHtcclxuICAgICAgdXJsOiB0aGlzLmFwaVVybCxcclxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRoaXMuYXV0aG9yaXphdGlvbixcclxuICAgICAgfSxcclxuICAgICAgbWF4RmlsZXNpemU6IHRoaXMubWF4RmlsZVNpemUsXHJcbiAgICAgIG1heEZpbGVzOiB0aGlzLm11bHRpcGxlLFxyXG4gICAgICB1cGxvYWRNdWx0aXBsZTogdGhpcy5tdWx0aXBsZSA+IDEsXHJcbiAgICAgIGRpY3RJbnZhbGlkRmlsZVR5cGU6IHRoaXMuaXNBcmFiaWNGb3JtXHJcbiAgICAgICAgPyAn2LXZiti62Kkg2KfZhNmF2YTZgSDYutmK2LEg2YXYs9mF2YjYrSDYqNmH2KcnXHJcbiAgICAgICAgOiAndGhlIGZpbGUgZm9ybWF0IGlzIG5vdCBhbGxvd2VkJyxcclxuICAgICAgZGljdEZpbGVUb29CaWc6IHRoaXMuaXNBcmFiaWNGb3JtXHJcbiAgICAgICAgPyAn2KfZhNit2KzZhSDYqtis2KfZiNiyINin2YTYrdivINin2YTZhdiz2YXZiNitJ1xyXG4gICAgICAgIDogYHRoZSBmaWxlIHNpemUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgKCR7dGhpcy5tYXhGaWxlU2l6ZX0pIE1CYCxcclxuICAgICAgZGljdE1heEZpbGVzRXhjZWVkZWQ6IHRoaXMuaXNBcmFiaWNGb3JtXHJcbiAgICAgICAgPyAn2KfZhNix2KzYp9ihINit2LDZgSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXZiNis2YjYr9ipINit2KfZhNmK2Kcg2YTYqtiq2YXZg9mGINmF2YYg2LHZgdi5INmH2LDYpyDYp9mE2YXZhNmBJ1xyXG4gICAgICAgIDogJ1BsZWFzZSBkZWxldGUgZXhpc3RpbmcgZmlsZXMgdG8gYmUgYWJsZSB0byB1cGxvYWQgdGhpcyBmaWxlJyxcclxuICAgICAgYWNjZXB0ZWRGaWxlczogdGhpcy5hY2NlcHRlZEZpbGVzLFxyXG4gICAgICBhdXRvUHJvY2Vzc1F1ZXVlOiB0aGlzLmF1dG9VcGxvYWQsXHJcbiAgICAgIHByZXZpZXdUZW1wbGF0ZTogJzxzcGFuPjwvc3Bhbj4nLFxyXG4gICAgICBkaWN0UmVtb3ZlRmlsZTogJycsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmlsZS11cGxvYWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtb3ZlcmxheVwiIFtkcm9wem9uZV09XCJjb25maWdcIiAoZXJyb3IpPVwib25VcGxvYWRFcnJvcigkZXZlbnQpXCJcclxuICAgICAgICAocXVldWVDb21wbGV0ZSk9XCJvcGVyYXRpb25Db21wbGV0ZWQoJGV2ZW50KVwiIChzdWNjZXNzKT1cIm9uVXBsb2FkU3VjY2VzcygkZXZlbnQpXCIgKGRyYWdlbnRlcik9XCJkcmFnRW50ZXIgPSB0cnVlXCJcclxuICAgICAgICAoZHJhZ0xlYXZlKT1cImRyYWdFbnRlciA9IGZhbHNlXCIgKGRyb3ApPVwiZHJhZ0VudGVyID0gZmFsc2VcIiAoZHJhZ0VuZCk9XCJkcmFnRW50ZXIgPSBmYWxzZVwiXHJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZS1ib3JkZXJdPVwiZHJhZ0VudGVyXCIgKHNlbmRpbmcpPVwic2VuZGluZygkZXZlbnQpXCIgKHJlc2V0KT1cInJlc2V0KCRldmVudClcIlxyXG4gICAgICAgIChhZGRlZEZpbGUpPVwiZmlsZVdhc0FkZGVkKCRldmVudClcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInVwbG9hZC1idG4td3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZSBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICB7e2xhYmVsfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxocj5cclxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+e3tpc0FyYWJpY0Zvcm0/ICfZgtmFINio2LPYrdioINin2YTZhdmE2YEg2KPZiCDYp9i22LrYtyDZh9mG2KcnIDogJ2RyYWcgb3IgY2xpY2sgaGVyZSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdXBsb2FkIHVwbG9hZC1pY29uIG1yLTJcIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImFjY2VwdGVkRmlsZXMubGVuZ3RoID4gMFwiIGNsYXNzPVwiYWxsb3dlZC1leHRlbnNpb25zXCI+XHJcbiAgICAgICAgICAge3tpc0FyYWJpY0Zvcm0/ICfYp9mE2LXZiti62Kkg2KfZhNmF2LPZhdmI2K0g2KjZh9inOicgOiAnQWxsb3dlZCBmb3JtYXQ6J319IFxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4dGVuc2lvbnNcIj57eyBhY2NlcHRlZEZpbGVzIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGxvd2VkLWV4dGVuc2lvbnNcIj5cclxuICAgICAgICAgICAge3tpc0FyYWJpY0Zvcm0/ICfYp9mC2LXZiSDYrdis2YUg2YTZhNmF2LHZgdmCOicgOiAnQXR0YWNobWVudCBTaXplOid9fVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4dGVuc2lvbnNcIj57eyBtYXhGaWxlU2l6ZSB9fSBNQjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBpZD1cImF0dGFjaG1lbnQtc3RhdHVzXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6MTBweDtcIj5cclxuICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4OyBtYXJnaW46IGF1dG87IGZvbnQtd2VpZ2h0OmJvbGQ7XCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgY3VycmVudEZpbGVzXCI+XHJcbiAgICAgICAge3sgZmlsZS5uYW1lIH19IDxpIChjbGljayk9XCJkZWxldGVGaWxlKGZpbGUpXCIgY2xhc3M9XCJmYXMgZmEtdHJhc2hcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImNvbG9yOmZpcmVicmljazsgY3Vyc29yOiBwb2ludGVyO1wiPjwvaT5cclxuICAgICAgICA8YnI+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwidGV4dC1kYW5nZXJcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzXCI+e3tlcnJvcn19PC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9pcGEtZm9ybS9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVMvQyxNQUFNLE9BQU8sbUJBQW1CO0lBdUI5QjtJQUNFLG9DQUFvQztJQUM1QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXRCN0IsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLHlEQUF5RDtRQUN2RSxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsV0FBTSxHQUFHLFFBQVEsQ0FBQztRQUVqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENB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QUUsRUFBRTtTQUNuQixDQUFDO0lBQ0osQ0FBQzsrR0FoSFUsbUJBQW1CO21HQUFuQixtQkFBbUIseWRBQ25CLGlCQUFpQixnREN6QjlCLHVyRUFvQ00scWhCRGhCTSxZQUFZLCtQQUFFLG1CQUFtQiw4QkFBRSxjQUFjOzs0RkFJaEQsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7a0ZBTTVELFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRXRDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHtcclxuICBEcm9wem9uZUNvbmZpZ0ludGVyZmFjZSxcclxuICBEcm9wem9uZURpcmVjdGl2ZSxcclxuICBEcm9wem9uZU1vZHVsZSxcclxufSBmcm9tICduZ3gtZHJvcHpvbmUtd3JhcHBlcic7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXBhLWZpbGUtdXBsb2FkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIERyb3B6b25lTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKERyb3B6b25lRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBkcm9wem9uZURpciE6IERyb3B6b25lRGlyZWN0aXZlO1xyXG4gIEBJbnB1dCgpIGlzQXJhYmljRm9ybSA9IHRydWU7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFjY2VwdGVkRmlsZXMgPSAnJztcclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IDE7IC8vIHNldCBtYXhGaWxlcyAoTk9UIHVwbG9hZE11bHRpcGxlKWluIHRoZSBjb25maWcgb2JqZWN0LFxyXG4gIEBJbnB1dCgpIG1heEZpbGVTaXplID0gMjtcclxuICBASW5wdXQoKSBtZXRob2QgPSAnUE9TVCc7XHJcbiAgQElucHV0KCkgYXV0b1VwbG9hZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFwaVVybCA9ICdhcGlVcmwnO1xyXG4gIEBJbnB1dCgpIGF1dGhvcml6YXRpb24hOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHN1Y2Nlc3NVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZpbGVBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsZURlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZHJhZ0VudGVyID0gZmFsc2U7XHJcbiAgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbmZpZyE6IERyb3B6b25lQ29uZmlnSW50ZXJmYWNlO1xyXG4gIGZpbGVzQWRkZWQ6IEZpbGVbXSA9IFtdO1xyXG4gIGN1cnJlbnRGaWxlczogRmlsZVtdID0gW107XHJcbiAgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0Q29uZmlndXJhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgb3BlcmF0aW9uQ29tcGxldGVkKGU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsZXNBZGRlZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc3VjY2Vzc1VwbG9hZC5lbWl0KHRoaXMuZmlsZXNBZGRlZCk7XHJcbiAgICAgIHRoaXMuZmlsZXNBZGRlZCA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kcm9wem9uZURpci5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgb25VcGxvYWRTdWNjZXNzKGU6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZSA9IGVbMF07XHJcbiAgICBpZiAoZmlsZS5zdGF0dXMgPT09ICdzdWNjZXNzJykge1xyXG4gICAgICB0aGlzLmZpbGVzQWRkZWQucHVzaChmaWxlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmlzQXJhYmljRm9ybVxyXG4gICAgICA/ICfYqtmFINiq2K3ZhdmK2YQg2KfZhNmF2LHZgdmC2KfYqiDYqNmG2KzYp9itJ1xyXG4gICAgICA6ICdBdHRhY2htZW50cyB1cGxvYWRlZCBzdWNjZXNzZnVsbHknO1xyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MobWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBvblVwbG9hZEVycm9yKGU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGVbMV0pIHtcclxuICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcclxuICAgICAgdGhpcy5lcnJvcnMucHVzaChgJHtlWzFdfSAoJHtlWzBdLm5hbWV9KWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsZVdhc0FkZGVkKGU6IEZpbGUpOiB2b2lkIHtcclxuICAgIGNvbnN0IG15RHJvcHpvbmUgPSB0aGlzLmRyb3B6b25lRGlyLmRyb3B6b25lKCk7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSA9PT0gMSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRGaWxlcyA9IFtdO1xyXG4gICAgICB0aGlzLmZpbGVzQWRkZWQgPSBbXTtcclxuICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcclxuICAgICAgY29uc3QgZmlsZXMgPSBteURyb3B6b25lLmZpbGVzO1xyXG4gICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIG15RHJvcHpvbmUucmVtb3ZlRmlsZShmaWxlc1swXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudEZpbGVzLnB1c2goZSk7XHJcbiAgICB0aGlzLmZpbGVBZGRlZC5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgc2VuZGluZyhlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZXJyb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByZXNldChlOiBhbnkpOiB2b2lkIHt9XHJcblxyXG4gIGRlbGV0ZUZpbGUoZmlsZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWxlcyA9IHRoaXMuY3VycmVudEZpbGVzLmZpbHRlcihcclxuICAgICAgKHgpID0+IHgubmFtZSAhPT0gZmlsZS5uYW1lICYmIHguc2l6ZSAhPT0gZmlsZS5zaXplXHJcbiAgICApO1xyXG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcclxuICAgIHRoaXMuZmlsZURlbGV0ZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb25maWd1cmF0aW9uKCkge1xyXG4gICAgdGhpcy5sYWJlbCA9ICh0aGlzLmlzQXJhYmljRm9ybSA/ICfYsdmB2LkgJyA6ICdVcGxvYWQgJykgKyB0aGlzLmxhYmVsO1xyXG4gICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgIHVybDogdGhpcy5hcGlVcmwsXHJcbiAgICAgIG1ldGhvZDogdGhpcy5tZXRob2QsXHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmF1dGhvcml6YXRpb24sXHJcbiAgICAgIH0sXHJcbiAgICAgIG1heEZpbGVzaXplOiB0aGlzLm1heEZpbGVTaXplLFxyXG4gICAgICBtYXhGaWxlczogdGhpcy5tdWx0aXBsZSxcclxuICAgICAgdXBsb2FkTXVsdGlwbGU6IHRoaXMubXVsdGlwbGUgPiAxLFxyXG4gICAgICBkaWN0SW52YWxpZEZpbGVUeXBlOiB0aGlzLmlzQXJhYmljRm9ybVxyXG4gICAgICAgID8gJ9i12YrYutipINin2YTZhdmE2YEg2LrZitixINmF2LPZhdmI2K0g2KjZh9inJ1xyXG4gICAgICAgIDogJ3RoZSBmaWxlIGZvcm1hdCBpcyBub3QgYWxsb3dlZCcsXHJcbiAgICAgIGRpY3RGaWxlVG9vQmlnOiB0aGlzLmlzQXJhYmljRm9ybVxyXG4gICAgICAgID8gJ9in2YTYrdis2YUg2KrYrNin2YjYsiDYp9mE2K3YryDYp9mE2YXYs9mF2YjYrSdcclxuICAgICAgICA6IGB0aGUgZmlsZSBzaXplIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsICgke3RoaXMubWF4RmlsZVNpemV9KSBNQmAsXHJcbiAgICAgIGRpY3RNYXhGaWxlc0V4Y2VlZGVkOiB0aGlzLmlzQXJhYmljRm9ybVxyXG4gICAgICAgID8gJ9in2YTYsdis2KfYoSDYrdiw2YEg2KfZhNmF2YTZgdin2Kog2KfZhNmF2YjYrNmI2K/YqSDYrdin2YTZitinINmE2KrYqtmF2YPZhiDZhdmGINix2YHYuSDZh9iw2Kcg2KfZhNmF2YTZgSdcclxuICAgICAgICA6ICdQbGVhc2UgZGVsZXRlIGV4aXN0aW5nIGZpbGVzIHRvIGJlIGFibGUgdG8gdXBsb2FkIHRoaXMgZmlsZScsXHJcbiAgICAgIGFjY2VwdGVkRmlsZXM6IHRoaXMuYWNjZXB0ZWRGaWxlcyxcclxuICAgICAgYXV0b1Byb2Nlc3NRdWV1ZTogdGhpcy5hdXRvVXBsb2FkLFxyXG4gICAgICBwcmV2aWV3VGVtcGxhdGU6ICc8c3Bhbj48L3NwYW4+JyxcclxuICAgICAgZGljdFJlbW92ZUZpbGU6ICcnLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLW92ZXJsYXlcIiBbZHJvcHpvbmVdPVwiY29uZmlnXCIgKGVycm9yKT1cIm9uVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgKHF1ZXVlQ29tcGxldGUpPVwib3BlcmF0aW9uQ29tcGxldGVkKCRldmVudClcIiAoc3VjY2Vzcyk9XCJvblVwbG9hZFN1Y2Nlc3MoJGV2ZW50KVwiIChkcmFnZW50ZXIpPVwiZHJhZ0VudGVyID0gdHJ1ZVwiXHJcbiAgICAgICAgKGRyYWdMZWF2ZSk9XCJkcmFnRW50ZXIgPSBmYWxzZVwiIChkcm9wKT1cImRyYWdFbnRlciA9IGZhbHNlXCIgKGRyYWdFbmQpPVwiZHJhZ0VudGVyID0gZmFsc2VcIlxyXG4gICAgICAgIFtjbGFzcy5hY3RpdmUtYm9yZGVyXT1cImRyYWdFbnRlclwiIChzZW5kaW5nKT1cInNlbmRpbmcoJGV2ZW50KVwiIChyZXNldCk9XCJyZXNldCgkZXZlbnQpXCJcclxuICAgICAgICAoYWRkZWRGaWxlKT1cImZpbGVXYXNBZGRlZCgkZXZlbnQpXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtYnRuLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGUgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAge3tsYWJlbH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aHI+XHJcbiAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPnt7aXNBcmFiaWNGb3JtPyAn2YLZhSDYqNiz2K3YqCDYp9mE2YXZhNmBINij2Ygg2KfYtti62Lcg2YfZhtinJyA6ICdkcmFnIG9yIGNsaWNrIGhlcmUnfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXVwbG9hZCB1cGxvYWQtaWNvbiBtci0yXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhY2NlcHRlZEZpbGVzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImFsbG93ZWQtZXh0ZW5zaW9uc1wiPlxyXG4gICAgICAgICAgIHt7aXNBcmFiaWNGb3JtPyAn2KfZhNi12YrYutipINin2YTZhdiz2YXZiNitINio2YfYpzonIDogJ0FsbG93ZWQgZm9ybWF0Oid9fSBcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJleHRlbnNpb25zXCI+e3sgYWNjZXB0ZWRGaWxlcyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxsb3dlZC1leHRlbnNpb25zXCI+XHJcbiAgICAgICAgICAgIHt7aXNBcmFiaWNGb3JtPyAn2KfZgti12Ykg2K3YrNmFINmE2YTZhdix2YHZgjonIDogJ0F0dGFjaG1lbnQgU2l6ZTonfX1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJleHRlbnNpb25zXCI+e3sgbWF4RmlsZVNpemUgfX0gTUI8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgaWQ9XCJhdHRhY2htZW50LXN0YXR1c1wiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjEwcHg7XCI+XHJcbiAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDsgbWFyZ2luOiBhdXRvOyBmb250LXdlaWdodDpib2xkO1wiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGN1cnJlbnRGaWxlc1wiPlxyXG4gICAgICAgIHt7IGZpbGUubmFtZSB9fSA8aSAoY2xpY2spPVwiZGVsZXRlRmlsZShmaWxlKVwiIGNsYXNzPVwiZmFzIGZhLXRyYXNoXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjpmaXJlYnJpY2s7IGN1cnNvcjogcG9pbnRlcjtcIj48L2k+XHJcbiAgICAgICAgPGJyPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cInRleHQtZGFuZ2VyXCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yc1wiPnt7ZXJyb3J9fTwvbGk+XHJcbiAgICA8L3VsPlxyXG48L2Rpdj4iXX0=
@@ -1,5 +1,7 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { Component, Input, Self } from '@angular/core';
2
- import { UntypedFormControl } from '@angular/forms';
3
+ import { UntypedFormControl, ReactiveFormsModule, } from '@angular/forms';
4
+ import { NgxCaptchaModule } from 'ngx-captcha';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/forms";
5
7
  import * as i2 from "ngx-captcha";
@@ -32,11 +34,11 @@ export class RecaptchaComponent {
32
34
  this.onTouched = fn;
33
35
  }
34
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: { siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, ngImport: i0, template: "<ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" [formControl]=\"formControl\">\n</ngx-recaptcha2>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size"] }] }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: RecaptchaComponent, isStandalone: true, selector: "ipa-recaptcha", inputs: { siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, ngImport: i0, template: "<ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" [formControl]=\"formControl\">\n</ngx-recaptcha2>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgxCaptchaModule }, { kind: "component", type: i2.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size"] }] }); }
36
38
  }
37
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RecaptchaComponent, decorators: [{
38
40
  type: Component,
39
- args: [{ selector: 'ipa-recaptcha', template: "<ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" [formControl]=\"formControl\">\n</ngx-recaptcha2>" }]
41
+ args: [{ selector: 'ipa-recaptcha', standalone: true, imports: [CommonModule, ReactiveFormsModule, NgxCaptchaModule], template: "<ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" [formControl]=\"formControl\">\n</ngx-recaptcha2>" }]
40
42
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
41
43
  type: Self
42
44
  }] }], propDecorators: { siteKey: [{
@@ -52,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
52
54
  }], useGlobalDomain: [{
53
55
  type: Input
54
56
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvaXBhLWZvcm0vcmVjYXB0Y2hhL3JlY2FwdGNoYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3JlY2FwdGNoYS9yZWNhcHRjaGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTy9ELE1BQU0sT0FBTyxrQkFBa0I7SUFRN0IsWUFBMkIsVUFBcUI7UUFBckIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQVB2QyxZQUFPLEdBQUcsMENBQTBDLENBQUM7UUFDckQsa0JBQWEsR0FBeUIsUUFBUSxDQUFDO1FBQy9DLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGtCQUFhLEdBQXNCLE9BQU8sQ0FBQztRQUMzQyxVQUFLLEdBQXFCLE9BQU8sQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxnQkFBVyxHQUF1QixJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFakUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQTZCLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVLElBQVMsQ0FBQztJQUU3QixTQUFTLEtBQVUsQ0FBQztJQUNwQixVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFFN0IsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQWhDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1TkNSL0Isc05BRWlCOzs0RkRNSixrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTs7MEJBWVosSUFBSTt5Q0FQUixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwYS1yZWNhcHRjaGEnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjYXB0Y2hhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjYXB0Y2hhLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlY2FwdGNoYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNpdGVLZXkgPSAnNkxlZkpRWWRBQUFBQUlseG1ma2pObFdpZE1rOFZ1a0laY3M2bE81ZSc7XG4gIEBJbnB1dCgpIHJlY2FwdGNoYVNpemU6ICdjb21wYWN0JyB8ICdub3JtYWwnID0gJ25vcm1hbCc7XG4gIEBJbnB1dCgpIGxhbmc6ICdhcicgfCAnZW4nID0gJ2FyJztcbiAgQElucHV0KCkgcmVjYXB0Y2hhVHlwZTogJ2ltYWdlJyB8ICdhdWRpbycgPSAnaW1hZ2UnO1xuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XG4gIEBJbnB1dCgpIHVzZUdsb2JhbERvbWFpbiA9IHRydWU7XG4gIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcbiAgY29uc3RydWN0b3IoQFNlbGYoKSBwdWJsaWMgY29udHJvbERpcjogTmdDb250cm9sKSB7XG4gICAgdGhpcy5jb250cm9sRGlyLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbERpci5jb250cm9sO1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBjb250cm9sPy52YWxpZGF0b3IgPyBbY29udHJvbC52YWxpZGF0b3JdIDogW107XG5cbiAgICBjb250cm9sPy5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIGNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmZvcm1Db250cm9sID0gY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7fVxuXG4gIG9uVG91Y2hlZCgpOiB2b2lkIHt9XG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbn1cbiIsIjxuZ3gtcmVjYXB0Y2hhMiBbc2l0ZUtleV09XCJzaXRlS2V5XCIgW3NpemVdPVwicmVjYXB0Y2hhU2l6ZVwiIFtobF09XCJsYW5nXCIgW3RoZW1lXT1cInRoZW1lXCIgW3R5cGVdPVwicmVjYXB0Y2hhVHlwZVwiXG4gICAgW3VzZUdsb2JhbERvbWFpbl09XCJ1c2VHbG9iYWxEb21haW5cIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIj5cbjwvbmd4LXJlY2FwdGNoYTI+Il19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvaXBhLWZvcm0vcmVjYXB0Y2hhL3JlY2FwdGNoYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3JlY2FwdGNoYS9yZWNhcHRjaGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVMvQyxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQTJCLFVBQXFCO1FBQXJCLGVBQVUsR0FBVixVQUFVLENBQVc7UUFQdkMsWUFBTyxHQUFHLDBDQUEwQyxDQUFDO1FBQ3JELGtCQUFhLEdBQXlCLFFBQVEsQ0FBQztRQUMvQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN6QixrQkFBYSxHQUFzQixPQUFPLENBQUM7UUFDM0MsVUFBSyxHQUFxQixPQUFPLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDaEMsZ0JBQVcsR0FBdUIsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWpFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUE2QixDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxJQUFTLENBQUM7SUFFN0IsU0FBUyxLQUFVLENBQUM7SUFDcEIsVUFBVSxDQUFDLEdBQVEsSUFBUyxDQUFDO0lBRTdCLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0FoQ1Usa0JBQWtCO21HQUFsQixrQkFBa0IsMk9DaEIvQixzTkFFaUIseUREVUwsWUFBWSw4QkFBRSxtQkFBbUIseVRBQUUsZ0JBQWdCOzs0RkFJbEQsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7OzBCQVlqRCxJQUFJO3lDQVBSLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBOZ0NvbnRyb2wsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5neENhcHRjaGFNb2R1bGUgfSBmcm9tICduZ3gtY2FwdGNoYSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwYS1yZWNhcHRjaGEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ3hDYXB0Y2hhTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2FwdGNoYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2FwdGNoYS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNhcHRjaGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzaXRlS2V5ID0gJzZMZWZKUVlkQUFBQUFJbHhtZmtqTmxXaWRNazhWdWtJWmNzNmxPNWUnO1xuICBASW5wdXQoKSByZWNhcHRjaGFTaXplOiAnY29tcGFjdCcgfCAnbm9ybWFsJyA9ICdub3JtYWwnO1xuICBASW5wdXQoKSBsYW5nOiAnYXInIHwgJ2VuJyA9ICdhcic7XG4gIEBJbnB1dCgpIHJlY2FwdGNoYVR5cGU6ICdpbWFnZScgfCAnYXVkaW8nID0gJ2ltYWdlJztcbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgPSAnbGlnaHQnO1xuICBASW5wdXQoKSB1c2VHbG9iYWxEb21haW4gPSB0cnVlO1xuICBmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XG4gIGNvbnN0cnVjdG9yKEBTZWxmKCkgcHVibGljIGNvbnRyb2xEaXI6IE5nQ29udHJvbCkge1xuICAgIHRoaXMuY29udHJvbERpci52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xEaXIuY29udHJvbDtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gY29udHJvbD8udmFsaWRhdG9yID8gW2NvbnRyb2wudmFsaWRhdG9yXSA6IFtdO1xuXG4gICAgY29udHJvbD8uc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICBjb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbCA9IGNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge31cblxuICBvblRvdWNoZWQoKTogdm9pZCB7fVxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7fVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iLCI8bmd4LXJlY2FwdGNoYTIgW3NpdGVLZXldPVwic2l0ZUtleVwiIFtzaXplXT1cInJlY2FwdGNoYVNpemVcIiBbaGxdPVwibGFuZ1wiIFt0aGVtZV09XCJ0aGVtZVwiIFt0eXBlXT1cInJlY2FwdGNoYVR5cGVcIlxuICAgIFt1c2VHbG9iYWxEb21haW5dPVwidXNlR2xvYmFsRG9tYWluXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCI+XG48L25neC1yZWNhcHRjaGEyPiJdfQ==
@@ -1,13 +1,14 @@
1
- import { Component, inject, Input, } from '@angular/core';
2
- import { HostControlDirectiveDirective } from '../../directives/host-control-directive.directive';
1
+ import { Component, Input, Self, ViewChild, } from '@angular/core';
2
+ import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../ipa-form.service";
5
- import * as i2 from "../../directives/host-control-directive.directive";
6
+ import * as i2 from "@angular/forms";
6
7
  import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/forms";
8
8
  export class TextInputComponent {
9
- constructor(validationService, cd) {
9
+ constructor(validationService, controlDir, cd) {
10
10
  this.validationService = validationService;
11
+ this.controlDir = controlDir;
11
12
  this.cd = cd;
12
13
  this.type = 'text';
13
14
  this.placeholder = 'please enter text';
@@ -17,34 +18,57 @@ export class TextInputComponent {
17
18
  this.onlyNumber = false;
18
19
  this.pattern = '';
19
20
  this.isArabicForm = true;
20
- this.formControl = inject(HostControlDirectiveDirective);
21
+ this.formControl = new UntypedFormControl('');
22
+ this.controlDir.valueAccessor = this;
21
23
  }
22
24
  ngAfterContentChecked() {
23
25
  this.cd.detectChanges();
24
26
  }
25
- ngOnInit() { }
27
+ ngOnInit() {
28
+ const control = this.controlDir.control;
29
+ const validators = control?.validator ? [control.validator] : [];
30
+ control?.setValidators(validators);
31
+ control?.updateValueAndValidity();
32
+ this.formControl = control;
33
+ }
34
+ onChange(event) { }
35
+ onTouched() { }
36
+ writeValue(obj) {
37
+ this.input.nativeElement.value = obj || '';
38
+ }
39
+ registerOnChange(fn) {
40
+ this.onChange = fn;
41
+ }
42
+ registerOnTouched(fn) {
43
+ this.onTouched = fn;
44
+ }
26
45
  checkIsNumber(event) {
27
46
  if (this.onlyNumber) {
28
- const initialValue = this.formControl.control.value;
47
+ const initialValue = this.formControl.value;
29
48
  const newValue = initialValue.replace(/[^0-9]*/g, '');
30
- this.formControl.control.patchValue(newValue);
31
- this.formControl.control.markAsPristine();
32
- if (initialValue !== this.formControl.control.value) {
49
+ this.formControl.patchValue(newValue);
50
+ this.formControl.markAsPristine();
51
+ if (initialValue !== this.formControl.value) {
33
52
  event.stopPropagation();
34
53
  }
35
54
  }
36
55
  }
37
56
  get errorMessage() {
38
- this.errorMsg = this.validationService.getErrorMessage(this.formControl.control, this.patternErrorMsg, this.isArabicForm);
57
+ this.errorMsg = this.validationService.getErrorMessage(this.formControl, this.patternErrorMsg, this.isArabicForm);
39
58
  return this.errorMsg;
40
59
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextInputComponent, deps: [{ token: i1.IPAFormService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
42
- 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: i2.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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextInputComponent, deps: [{ token: i1.IPAFormService }, { token: i2.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TextInputComponent, isStandalone: true, 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" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"form-floating {{containerClasses}}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\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 <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
43
62
  }
44
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextInputComponent, decorators: [{
45
64
  type: Component,
46
- 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" }]
47
- }], ctorParameters: () => [{ type: i1.IPAFormService }, { type: i0.ChangeDetectorRef }], propDecorators: { id: [{
65
+ args: [{ selector: 'ipa-text-input', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "<div class=\"form-floating {{containerClasses}}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\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 <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>" }]
66
+ }], ctorParameters: () => [{ type: i1.IPAFormService }, { type: i2.NgControl, decorators: [{
67
+ type: Self
68
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
69
+ type: ViewChild,
70
+ args: ['input', { static: true }]
71
+ }], id: [{
48
72
  type: Input
49
73
  }], type: [{
50
74
  type: Input
@@ -67,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
67
91
  }], isArabicForm: [{
68
92
  type: Input
69
93
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7OztBQVFsRyxNQUFNLE9BQU8sa0JBQWtCO0lBZTdCLFlBQ1UsaUJBQWlDLEVBQ2pDLEVBQXFCO1FBRHJCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZ0I7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFmdEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFDbEMsVUFBSyxHQUFXLFlBQVksQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG9CQUFlLEdBQUcsaUJBQWlCLENBQUM7UUFDcEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2IsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQU1oRCxDQUFDO0lBRUoscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDO0lBRW5CLGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUMsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUN4QixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7K0dBN0NVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHlZQ2pCL0IsbzZCQTBCQTs7NEZEVGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixrQkFHVixDQUFDLDZCQUE2QixDQUFDO21IQUd0QyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElQQUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vaXBhLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IEhvc3RDb250cm9sRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ob3N0LWNvbnRyb2wtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lwYS10ZXh0LWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3REaXJlY3RpdmVzOiBbSG9zdENvbnRyb2xEaXJlY3RpdmVEaXJlY3RpdmVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBASW5wdXQoKSBpZCE6IHN0cmluZztcclxuICBASW5wdXQoKSB0eXBlID0gJ3RleHQnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ3BsZWFzZSBlbnRlciB0ZXh0JztcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ3RleHQgaW5wdXQnO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGF0dGVybkVycm9yTXNnID0gJ2ludmFsaWQgcGF0dGVybic7XHJcbiAgQElucHV0KCkgb25seU51bWJlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhdHRlcm4gPSAnJztcclxuICBASW5wdXQoKSBjbGFzc2VzITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbnRhaW5lckNsYXNzZXMhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNBcmFiaWNGb3JtID0gdHJ1ZTtcclxuICBmb3JtQ29udHJvbCA9IGluamVjdChIb3N0Q29udHJvbERpcmVjdGl2ZURpcmVjdGl2ZSlcclxuICBlcnJvck1zZyE6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogSVBBRm9ybVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIGNoZWNrSXNOdW1iZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5vbmx5TnVtYmVyKSB7XHJcbiAgICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2wuY29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBpbml0aWFsVmFsdWUucmVwbGFjZSgvW14wLTldKi9nLCAnJyk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuY29udHJvbC5wYXRjaFZhbHVlKG5ld1ZhbHVlKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5jb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgIGlmIChpbml0aWFsVmFsdWUgIT09IHRoaXMuZm9ybUNvbnRyb2wuY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZXJyb3JNZXNzYWdlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgdGhpcy5lcnJvck1zZyA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKFxyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmNvbnRyb2wsXHJcbiAgICAgIHRoaXMucGF0dGVybkVycm9yTXNnLFxyXG4gICAgICB0aGlzLmlzQXJhYmljRm9ybVxyXG4gICAgKTtcclxuICAgIHJldHVybiB0aGlzLmVycm9yTXNnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1mbG9hdGluZyB7eyBjb250YWluZXJDbGFzc2VzIH19XCI+XHJcbiAgPGlucHV0XHJcbiAgICBpZD1cInt7IGlkIH19XCJcclxuICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHt7IGNsYXNzZXMgfX1cIlxyXG4gICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgcGF0dGVybj1cInt7IHBhdHRlcm4gfX1cIlxyXG4gICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2wuY29udHJvbFwiXHJcbiAgICAoaW5wdXQpPVwiY2hlY2tJc051bWJlcigkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2lzLWludmFsaWQgaXMtaW52YWxpZDpmb2N1cyc6XHJcbiAgICAgICAgZm9ybUNvbnRyb2wuY29udHJvbC5pbnZhbGlkICYmXHJcbiAgICAgICAgKGZvcm1Db250cm9sLmNvbnRyb2wuZGlydHkgfHwgZm9ybUNvbnRyb2wuY29udHJvbC50b3VjaGVkKSAmJlxyXG4gICAgICAgIGVycm9yTXNnLFxyXG4gICAgICAnaXMtdmFsaWQgaXMtdmFsaWQ6Zm9jdXMnOlxyXG4gICAgICAgIGZvcm1Db250cm9sLmNvbnRyb2w/LnZhbGlkICYmXHJcbiAgICAgICAgKGZvcm1Db250cm9sLmNvbnRyb2w/LmRpcnR5IHx8IGZvcm1Db250cm9sLmNvbnRyb2wudG91Y2hlZCkgJiZcclxuICAgICAgICAoZXJyb3JNc2cgfHwgZm9ybUNvbnRyb2wuY29udHJvbC52YWx1ZSlcclxuICAgIH1cIlxyXG4gIC8+XHJcbiAgPGxhYmVsIGZvcj1cInt7IGlkIH19XCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJlcnJvck1lc3NhZ2UgIT09IG51bGxcIj5cclxuICAgIHt7IGVycm9yTXNnIH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULEtBQUssRUFFTCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFTL0MsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxpQkFBaUMsRUFDMUIsVUFBcUIsRUFDNUIsRUFBcUI7UUFGckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBaEJ0QixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQUNsQyxVQUFLLEdBQVcsWUFBWSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsb0JBQWUsR0FBRyxpQkFBaUIsQ0FBQztRQUNwQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUF1QixJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBUTNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWpFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUE2QixDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxJQUFTLENBQUM7SUFFN0IsU0FBUyxLQUFVLENBQUM7SUFDcEIsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbEMsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEQsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOytHQXZFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix3Y0NyQi9CLHkxQkFTTSx5RERRTSxZQUFZLGdPQUFFLG1CQUFtQjs7NEZBSWhDLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7OzBCQXNCekMsSUFBSTt5RUFqQitCLEtBQUs7c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDM0IsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElQQUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vaXBhLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lwYS10ZXh0LWlucHV0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXQhOiBFbGVtZW50UmVmO1xyXG4gIEBJbnB1dCgpIGlkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGUgPSAndGV4dCc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAncGxlYXNlIGVudGVyIHRleHQnO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAndGV4dCBpbnB1dCc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwYXR0ZXJuRXJyb3JNc2cgPSAnaW52YWxpZCBwYXR0ZXJuJztcclxuICBASW5wdXQoKSBvbmx5TnVtYmVyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGF0dGVybiA9ICcnO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXMhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udGFpbmVyQ2xhc3NlcyE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0FyYWJpY0Zvcm0gPSB0cnVlO1xyXG4gIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICBlcnJvck1zZyE6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogSVBBRm9ybVNlcnZpY2UsXHJcbiAgICBAU2VsZigpIHB1YmxpYyBjb250cm9sRGlyOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sRGlyLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xEaXIuY29udHJvbDtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBjb250cm9sPy52YWxpZGF0b3IgPyBbY29udHJvbC52YWxpZGF0b3JdIDogW107XHJcblxyXG4gICAgY29udHJvbD8uc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIGNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBjb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHt9XHJcblxyXG4gIG9uVG91Y2hlZCgpOiB2b2lkIHt9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gb2JqIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tJc051bWJlcihldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9ubHlOdW1iZXIpIHtcclxuICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBpbml0aWFsVmFsdWUucmVwbGFjZSgvW14wLTldKi9nLCAnJyk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShuZXdWYWx1ZSk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcclxuICAgICAgaWYgKGluaXRpYWxWYWx1ZSAhPT0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZXJyb3JNZXNzYWdlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgdGhpcy5lcnJvck1zZyA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKFxyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLFxyXG4gICAgICB0aGlzLnBhdHRlcm5FcnJvck1zZyxcclxuICAgICAgdGhpcy5pc0FyYWJpY0Zvcm1cclxuICAgICk7XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvck1zZztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZmxvYXRpbmcge3tjb250YWluZXJDbGFzc2VzfX1cIj5cclxuICAgIDxpbnB1dCAjaW5wdXQgaWQ9XCJ7e2lkfX1cIiBjbGFzcz1cImZvcm0tY29udHJvbCB7e2NsYXNzZXN9fVwiIFt0eXBlXT1cInR5cGVcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBwYXR0ZXJuPVwie3twYXR0ZXJufX1cIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgKGlucHV0KT1cIm9uQ2hhbmdlKGNvbnRyb2xEaXIuY29udHJvbD8udmFsdWUpXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiIChpbnB1dCk9XCJjaGVja0lzTnVtYmVyKCRldmVudClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCBpcy1pbnZhbGlkOmZvY3VzJzogKGNvbnRyb2xEaXIuY29udHJvbD8uaW52YWxpZCAmJiAoY29udHJvbERpci5jb250cm9sPy5kaXJ0eSB8fCBjb250cm9sRGlyLmNvbnRyb2w/LnRvdWNoZWQpKSAmJiBlcnJvck1zZywnaXMtdmFsaWQgaXMtdmFsaWQ6Zm9jdXMnOiAoY29udHJvbERpci5jb250cm9sPy52YWxpZCAmJiAoY29udHJvbERpci5jb250cm9sPy5kaXJ0eSB8fCBjb250cm9sRGlyLmNvbnRyb2w/LnRvdWNoZWQpICAmJiAoZXJyb3JNc2cgfHwgY29udHJvbERpci52YWx1ZSkpfVwiPlxyXG4gICAgPGxhYmVsIGZvcj1cInt7aWR9fVwiPnt7bGFiZWx9fTwvbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZXJyb3JNZXNzYWdlICE9PSBudWxsXCI+XHJcbiAgICAgICAge3tlcnJvck1zZ319XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -1,5 +1,6 @@
1
1
  import { Component, ElementRef, Input, Self, ViewChild, } from '@angular/core';
2
- import { UntypedFormControl } from '@angular/forms';
2
+ import { UntypedFormControl, ReactiveFormsModule, } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../ipa-form.service";
5
6
  import * as i2 from "@angular/forms";
@@ -44,11 +45,11 @@ export class TextareaInputComponent {
44
45
  return this.errorMsg;
45
46
  }
46
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextareaInputComponent, deps: [{ token: i1.IPAFormService }, { token: i2.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: { id: "id", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"form-floating {{containerClasses}}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\" style=\"height: 135px;\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,\r\n 'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </textarea>\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>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media (max-width: 1699px){.form-floating label:before{width:107%!important}}@media (max-width: 770px){.form-floating label:before{width:97%!important}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TextareaInputComponent, isStandalone: true, selector: "ipa-textarea-input", inputs: { id: "id", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"form-floating {{containerClasses}}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\" style=\"height: 135px;\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,\r\n 'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </textarea>\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>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media (max-width: 1699px){.form-floating label:before{width:107%!important}}@media (max-width: 770px){.form-floating label:before{width:97%!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
48
49
  }
49
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TextareaInputComponent, decorators: [{
50
51
  type: Component,
51
- args: [{ selector: 'ipa-textarea-input', template: "<div class=\"form-floating {{containerClasses}}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\" style=\"height: 135px;\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,\r\n 'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </textarea>\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>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media (max-width: 1699px){.form-floating label:before{width:107%!important}}@media (max-width: 770px){.form-floating label:before{width:97%!important}}\n"] }]
52
+ args: [{ selector: 'ipa-textarea-input', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "<div class=\"form-floating {{containerClasses}}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\" style=\"height: 135px;\"\r\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg,\r\n 'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && (errorMsg || controlDir.value))}\">\r\n </textarea>\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>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media (max-width: 1699px){.form-floating label:before{width:107%!important}}@media (max-width: 770px){.form-floating label:before{width:97%!important}}\n"] }]
52
53
  }], ctorParameters: () => [{ type: i1.IPAFormService }, { type: i2.NgControl, decorators: [{
53
54
  type: Self
54
55
  }] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
@@ -73,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
73
74
  }], isArabicForm: [{
74
75
  type: Input
75
76
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9pcGEtZm9ybS90ZXh0YXJlYS1pbnB1dC90ZXh0YXJlYS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3RleHRhcmVhLWlucHV0L3RleHRhcmVhLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVEvRCxNQUFNLE9BQU8sc0JBQXNCO0lBZWpDLFlBQ1UsaUJBQWlDLEVBQzFCLFVBQXFCLEVBQzVCLEVBQXFCO1FBRnJCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZ0I7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWpCTyxVQUFLLEdBQ3pDLElBQUksVUFBVSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFDbEMsVUFBSyxHQUFXLGdCQUFnQixDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsb0JBQWUsR0FBRyxpQkFBaUIsQ0FBQztRQUlwQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUF1QixJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBUTNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWpFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUE2QixDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxJQUFTLENBQUM7SUFFN0IsU0FBUyxLQUFVLENBQUM7SUFDcEIsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEQsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOytHQTFEVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixnWkNsQm5DLDgyQkFZTTs7NEZETU8sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjs7MEJBcUIzQixJQUFJO3lFQWhCK0IsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUzQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSVBBRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9pcGEtZm9ybS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXBhLXRleHRhcmVhLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmPGFueT4gPVxyXG4gICAgbmV3IEVsZW1lbnRSZWY8YW55PihudWxsKTtcclxuICBASW5wdXQoKSBpZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdwbGVhc2UgZW50ZXIgdGV4dCc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICd0ZXh0YXJlYSBpbnB1dCc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwYXR0ZXJuRXJyb3JNc2cgPSAnaW52YWxpZCBwYXR0ZXJuJztcclxuICBASW5wdXQoKSBwYXR0ZXJuITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXMhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udGFpbmVyQ2xhc3NlcyE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0FyYWJpY0Zvcm0gPSB0cnVlO1xyXG4gIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICBlcnJvck1zZyE6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogSVBBRm9ybVNlcnZpY2UsXHJcbiAgICBAU2VsZigpIHB1YmxpYyBjb250cm9sRGlyOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sRGlyLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xEaXIuY29udHJvbDtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBjb250cm9sPy52YWxpZGF0b3IgPyBbY29udHJvbC52YWxpZGF0b3JdIDogW107XHJcblxyXG4gICAgY29udHJvbD8uc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIGNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBjb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHt9XHJcblxyXG4gIG9uVG91Y2hlZCgpOiB2b2lkIHt9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gb2JqIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVycm9yTWVzc2FnZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHRoaXMuZXJyb3JNc2cgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZShcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbCxcclxuICAgICAgdGhpcy5wYXR0ZXJuRXJyb3JNc2csXHJcbiAgICAgIHRoaXMuaXNBcmFiaWNGb3JtXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNc2c7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZsb2F0aW5nIHt7Y29udGFpbmVyQ2xhc3Nlc319XCI+XHJcbiAgICA8dGV4dGFyZWEgI2lucHV0IGlkPVwie3tpZH19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wge3tjbGFzc2VzfX1cIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBwYXR0ZXJuPVwie3twYXR0ZXJufX1cIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgKGlucHV0KT1cIm9uQ2hhbmdlKGNvbnRyb2xEaXIuY29udHJvbD8udmFsdWUpXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiIHN0eWxlPVwiaGVpZ2h0OiAxMzVweDtcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnaXMtaW52YWxpZCBpcy1pbnZhbGlkOmZvY3VzJzogKGNvbnRyb2xEaXIuY29udHJvbD8uaW52YWxpZCAmJiAoY29udHJvbERpci5jb250cm9sPy5kaXJ0eSB8fCBjb250cm9sRGlyLmNvbnRyb2w/LnRvdWNoZWQpKSAmJiBlcnJvck1zZyxcclxuICAgICAgICAnaXMtdmFsaWQgaXMtdmFsaWQ6Zm9jdXMnOiAoY29udHJvbERpci5jb250cm9sPy52YWxpZCAmJiAoY29udHJvbERpci5jb250cm9sPy5kaXJ0eSB8fCBjb250cm9sRGlyLmNvbnRyb2w/LnRvdWNoZWQpICAmJiAoZXJyb3JNc2cgfHwgY29udHJvbERpci52YWx1ZSkpfVwiPlxyXG4gICAgPC90ZXh0YXJlYT5cclxuICAgIDxsYWJlbCBmb3I9XCJ7e2lkfX1cIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImVycm9yTWVzc2FnZSAhPT0gbnVsbFwiPlxyXG4gICAgICAgIHt7ZXJyb3JNc2d9fVxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9pcGEtZm9ybS90ZXh0YXJlYS1pbnB1dC90ZXh0YXJlYS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2lwYS1mb3JtL3RleHRhcmVhLWlucHV0L3RleHRhcmVhLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFFbEIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVMvQyxNQUFNLE9BQU8sc0JBQXNCO0lBZWpDLFlBQ1UsaUJBQWlDLEVBQzFCLFVBQXFCLEVBQzVCLEVBQXFCO1FBRnJCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZ0I7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWpCTyxVQUFLLEdBQ3pDLElBQUksVUFBVSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFDbEMsVUFBSyxHQUFXLGdCQUFnQixDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsb0JBQWUsR0FBRyxpQkFBaUIsQ0FBQztRQUlwQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUF1QixJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBUTNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWpFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUE2QixDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxJQUFTLENBQUM7SUFFN0IsU0FBUyxLQUFVLENBQUM7SUFDcEIsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEQsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOytHQTFEVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixvYUN6Qm5DLDgyQkFZTSxzaUJEU00sWUFBWSxnT0FBRSxtQkFBbUI7OzRGQUloQyxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzs7MEJBcUJ6QyxJQUFJO3lFQWhCK0IsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUzQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElQQUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vaXBhLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lwYS10ZXh0YXJlYS1pbnB1dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmPGFueT4gPVxyXG4gICAgbmV3IEVsZW1lbnRSZWY8YW55PihudWxsKTtcclxuICBASW5wdXQoKSBpZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdwbGVhc2UgZW50ZXIgdGV4dCc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICd0ZXh0YXJlYSBpbnB1dCc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwYXR0ZXJuRXJyb3JNc2cgPSAnaW52YWxpZCBwYXR0ZXJuJztcclxuICBASW5wdXQoKSBwYXR0ZXJuITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXMhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udGFpbmVyQ2xhc3NlcyE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0FyYWJpY0Zvcm0gPSB0cnVlO1xyXG4gIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICBlcnJvck1zZyE6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogSVBBRm9ybVNlcnZpY2UsXHJcbiAgICBAU2VsZigpIHB1YmxpYyBjb250cm9sRGlyOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sRGlyLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xEaXIuY29udHJvbDtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBjb250cm9sPy52YWxpZGF0b3IgPyBbY29udHJvbC52YWxpZGF0b3JdIDogW107XHJcblxyXG4gICAgY29udHJvbD8uc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIGNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBjb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHt9XHJcblxyXG4gIG9uVG91Y2hlZCgpOiB2b2lkIHt9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gb2JqIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVycm9yTWVzc2FnZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHRoaXMuZXJyb3JNc2cgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZShcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbCxcclxuICAgICAgdGhpcy5wYXR0ZXJuRXJyb3JNc2csXHJcbiAgICAgIHRoaXMuaXNBcmFiaWNGb3JtXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNc2c7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZsb2F0aW5nIHt7Y29udGFpbmVyQ2xhc3Nlc319XCI+XHJcbiAgICA8dGV4dGFyZWEgI2lucHV0IGlkPVwie3tpZH19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wge3tjbGFzc2VzfX1cIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBwYXR0ZXJuPVwie3twYXR0ZXJufX1cIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgKGlucHV0KT1cIm9uQ2hhbmdlKGNvbnRyb2xEaXIuY29udHJvbD8udmFsdWUpXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiIHN0eWxlPVwiaGVpZ2h0OiAxMzVweDtcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnaXMtaW52YWxpZCBpcy1pbnZhbGlkOmZvY3VzJzogKGNvbnRyb2xEaXIuY29udHJvbD8uaW52YWxpZCAmJiAoY29udHJvbERpci5jb250cm9sPy5kaXJ0eSB8fCBjb250cm9sRGlyLmNvbnRyb2w/LnRvdWNoZWQpKSAmJiBlcnJvck1zZyxcclxuICAgICAgICAnaXMtdmFsaWQgaXMtdmFsaWQ6Zm9jdXMnOiAoY29udHJvbERpci5jb250cm9sPy52YWxpZCAmJiAoY29udHJvbERpci5jb250cm9sPy5kaXJ0eSB8fCBjb250cm9sRGlyLmNvbnRyb2w/LnRvdWNoZWQpICAmJiAoZXJyb3JNc2cgfHwgY29udHJvbERpci52YWx1ZSkpfVwiPlxyXG4gICAgPC90ZXh0YXJlYT5cclxuICAgIDxsYWJlbCBmb3I9XCJ7e2lkfX1cIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImVycm9yTWVzc2FnZSAhPT0gbnVsbFwiPlxyXG4gICAgICAgIHt7ZXJyb3JNc2d9fVxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -2,11 +2,9 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { ToastrModule } from 'ngx-toastr';
5
- import { DropzoneModule } from 'ngx-dropzone-wrapper';
6
- import { NgxCaptchaModule } from 'ngx-captcha';
7
5
  import { PipesModule } from './pipes/pipes.module';
6
+ import { ShareButtonModule } from './share-button/share-button.module';
8
7
  import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
9
- import { NgSelectModule } from '@ng-select/ng-select';
10
8
  import { TextInputComponent } from './ipa-form/text-input/text-input.component';
11
9
  import { TextareaInputComponent } from './ipa-form/textarea-input/textarea-input.component';
12
10
  import { DropdownInputComponent } from './ipa-form/dropdown-input/dropdown-input.component';
@@ -16,97 +14,87 @@ import { FileUploadComponent } from './ipa-form/file-upload/file-upload.componen
16
14
  import { DatepickerComponent } from './ipa-form/datepicker/datepicker.component';
17
15
  import { HijriDatepickerComponent } from './ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';
18
16
  import { GregorianDatepickerComponent } from './ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';
19
- import { ShareButtonModule } from './share-button/share-button.module';
20
17
  import { RecaptchaComponent } from './ipa-form/recaptcha/recaptcha.component';
21
- import { HostControlDirectiveDirective } from './directives/host-control-directive.directive';
22
18
  import * as i0 from "@angular/core";
23
19
  export class NgIPALibraryModule {
24
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgIPALibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: NgIPALibraryModule, declarations: [TextInputComponent,
26
- TextareaInputComponent,
27
- DropdownInputComponent,
28
- LoaderComponent,
29
- GenerateFormComponent,
30
- FileUploadComponent,
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: NgIPALibraryModule, declarations: [GenerateFormComponent,
31
22
  DatepickerComponent,
32
23
  HijriDatepickerComponent,
33
24
  GregorianDatepickerComponent,
34
- RecaptchaComponent], imports: [CommonModule,
25
+ LoaderComponent], imports: [CommonModule,
35
26
  FormsModule,
36
27
  ReactiveFormsModule,
37
28
  ToastrModule,
38
- DropzoneModule,
39
- NgxCaptchaModule,
40
29
  PipesModule,
41
30
  NgbDatepickerModule,
42
31
  ShareButtonModule,
43
- NgSelectModule,
44
- HostControlDirectiveDirective], exports: [TextInputComponent,
32
+ TextareaInputComponent,
33
+ TextInputComponent,
34
+ RecaptchaComponent,
35
+ FileUploadComponent,
36
+ DropdownInputComponent], exports: [PipesModule,
37
+ ShareButtonModule,
38
+ TextInputComponent,
45
39
  TextareaInputComponent,
46
40
  DropdownInputComponent,
47
- LoaderComponent,
48
41
  GenerateFormComponent,
49
42
  FileUploadComponent,
50
- PipesModule,
51
43
  HijriDatepickerComponent,
52
44
  GregorianDatepickerComponent,
53
- ShareButtonModule,
54
45
  RecaptchaComponent,
55
- HostControlDirectiveDirective] }); }
46
+ LoaderComponent] }); }
56
47
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgIPALibraryModule, imports: [CommonModule,
57
48
  FormsModule,
58
49
  ReactiveFormsModule,
59
50
  ToastrModule,
60
- DropzoneModule,
61
- NgxCaptchaModule,
62
51
  PipesModule,
63
52
  NgbDatepickerModule,
64
53
  ShareButtonModule,
65
- NgSelectModule, PipesModule,
54
+ TextareaInputComponent,
55
+ TextInputComponent,
56
+ RecaptchaComponent,
57
+ FileUploadComponent,
58
+ DropdownInputComponent, PipesModule,
66
59
  ShareButtonModule] }); }
67
60
  }
68
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgIPALibraryModule, decorators: [{
69
62
  type: NgModule,
70
63
  args: [{
71
64
  declarations: [
72
- TextInputComponent,
73
- TextareaInputComponent,
74
- DropdownInputComponent,
75
- LoaderComponent,
76
65
  GenerateFormComponent,
77
- FileUploadComponent,
78
66
  DatepickerComponent,
79
67
  HijriDatepickerComponent,
80
68
  GregorianDatepickerComponent,
81
- RecaptchaComponent,
69
+ LoaderComponent,
82
70
  ],
83
71
  imports: [
84
72
  CommonModule,
85
73
  FormsModule,
86
74
  ReactiveFormsModule,
87
75
  ToastrModule,
88
- DropzoneModule,
89
- NgxCaptchaModule,
90
76
  PipesModule,
91
77
  NgbDatepickerModule,
92
78
  ShareButtonModule,
93
- NgSelectModule,
94
- HostControlDirectiveDirective,
79
+ TextareaInputComponent,
80
+ TextInputComponent,
81
+ RecaptchaComponent,
82
+ FileUploadComponent,
83
+ DropdownInputComponent,
95
84
  ],
96
85
  exports: [
86
+ PipesModule,
87
+ ShareButtonModule,
97
88
  TextInputComponent,
98
89
  TextareaInputComponent,
99
90
  DropdownInputComponent,
100
- LoaderComponent,
101
91
  GenerateFormComponent,
102
92
  FileUploadComponent,
103
- PipesModule,
104
93
  HijriDatepickerComponent,
105
94
  GregorianDatepickerComponent,
106
- ShareButtonModule,
107
95
  RecaptchaComponent,
108
- HostControlDirectiveDirective,
96
+ LoaderComponent,
109
97
  ],
110
98
  }]
111
99
  }] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaXBhLWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9uZy1pcGEtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUEyQzlGLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXZDM0Isa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsa0JBQWtCLGFBR2xCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCw2QkFBNkIsYUFHN0Isa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQiw2QkFBNkI7Z0hBR3BCLGtCQUFrQixZQTNCM0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsY0FBYyxFQVVkLFdBQVc7WUFHWCxpQkFBaUI7OzRGQUtSLGtCQUFrQjtrQkF6QzlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCx3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVG9hc3RyTW9kdWxlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IERyb3B6b25lTW9kdWxlIH0gZnJvbSAnbmd4LWRyb3B6b25lLXdyYXBwZXInO1xyXG5pbXBvcnQgeyBOZ3hDYXB0Y2hhTW9kdWxlIH0gZnJvbSAnbmd4LWNhcHRjaGEnO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvcGlwZXMubW9kdWxlJztcclxuaW1wb3J0IHsgTmdiRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2lwYS1mb3JtL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pcGEtZm9ybS90ZXh0YXJlYS1pbnB1dC90ZXh0YXJlYS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pcGEtZm9ybS9kcm9wZG93bi1pbnB1dC9kcm9wZG93bi1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJhdGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmF0ZS1mb3JtL2dlbmVyYXRlLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vaXBhLWZvcm0vZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaXBhLWZvcm0vZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhpanJpRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaXBhLWZvcm0vZGF0ZXBpY2tlci9oaWpyaS1kYXRlcGlja2VyL2hpanJpLWRhdGVwaWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JlZ29yaWFuRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaXBhLWZvcm0vZGF0ZXBpY2tlci9ncmVnb3JpYW4tZGF0ZXBpY2tlci9ncmVnb3JpYW4tZGF0ZXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFyZUJ1dHRvbk1vZHVsZSB9IGZyb20gJy4vc2hhcmUtYnV0dG9uL3NoYXJlLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBSZWNhcHRjaGFDb21wb25lbnQgfSBmcm9tICcuL2lwYS1mb3JtL3JlY2FwdGNoYS9yZWNhcHRjaGEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSG9zdENvbnRyb2xEaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaG9zdC1jb250cm9sLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcclxuICAgIFRleHRhcmVhSW5wdXRDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bklucHV0Q29tcG9uZW50LFxyXG4gICAgTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgR2VuZXJhdGVGb3JtQ29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIERhdGVwaWNrZXJDb21wb25lbnQsXHJcbiAgICBIaWpyaURhdGVwaWNrZXJDb21wb25lbnQsXHJcbiAgICBHcmVnb3JpYW5EYXRlcGlja2VyQ29tcG9uZW50LFxyXG4gICAgUmVjYXB0Y2hhQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVG9hc3RyTW9kdWxlLFxyXG4gICAgRHJvcHpvbmVNb2R1bGUsXHJcbiAgICBOZ3hDYXB0Y2hhTW9kdWxlLFxyXG4gICAgUGlwZXNNb2R1bGUsXHJcbiAgICBOZ2JEYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgU2hhcmVCdXR0b25Nb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIEhvc3RDb250cm9sRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxyXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcclxuICAgIERyb3Bkb3duSW5wdXRDb21wb25lbnQsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgICBHZW5lcmF0ZUZvcm1Db21wb25lbnQsXHJcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgUGlwZXNNb2R1bGUsXHJcbiAgICBIaWpyaURhdGVwaWNrZXJDb21wb25lbnQsXHJcbiAgICBHcmVnb3JpYW5EYXRlcGlja2VyQ29tcG9uZW50LFxyXG4gICAgU2hhcmVCdXR0b25Nb2R1bGUsXHJcbiAgICBSZWNhcHRjaGFDb21wb25lbnQsXHJcbiAgICBIb3N0Q29udHJvbERpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdJUEFMaWJyYXJ5TW9kdWxlIHt9XHJcbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaXBhLWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9uZy1pcGEtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFzQzlFLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQWxDM0IscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLGVBQWUsYUFHZixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHNCQUFzQixhQUd0QixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1QixrQkFBa0I7WUFDbEIsZUFBZTtnSEFHTixrQkFBa0IsWUEzQjNCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsc0JBQXNCLEVBR3RCLFdBQVc7WUFDWCxpQkFBaUI7OzRGQVlSLGtCQUFrQjtrQkFwQzlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvcGlwZXMubW9kdWxlJztcclxuaW1wb3J0IHsgU2hhcmVCdXR0b25Nb2R1bGUgfSBmcm9tICcuL3NoYXJlLWJ1dHRvbi9zaGFyZS1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgTmdiRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaXBhLWZvcm0vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2lwYS1mb3JtL3RleHRhcmVhLWlucHV0L3RleHRhcmVhLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3Bkb3duSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2lwYS1mb3JtL2Ryb3Bkb3duLWlucHV0L2Ryb3Bkb3duLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29yZS9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHZW5lcmF0ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9pcGEtZm9ybS9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pcGEtZm9ybS9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGlqcmlEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pcGEtZm9ybS9kYXRlcGlja2VyL2hpanJpLWRhdGVwaWNrZXIvaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmVnb3JpYW5EYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pcGEtZm9ybS9kYXRlcGlja2VyL2dyZWdvcmlhbi1kYXRlcGlja2VyL2dyZWdvcmlhbi1kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlY2FwdGNoYUNvbXBvbmVudCB9IGZyb20gJy4vaXBhLWZvcm0vcmVjYXB0Y2hhL3JlY2FwdGNoYS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEdlbmVyYXRlRm9ybUNvbXBvbmVudCxcclxuICAgIERhdGVwaWNrZXJDb21wb25lbnQsXHJcbiAgICBIaWpyaURhdGVwaWNrZXJDb21wb25lbnQsXHJcbiAgICBHcmVnb3JpYW5EYXRlcGlja2VyQ29tcG9uZW50LFxyXG4gICAgTG9hZGVyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVG9hc3RyTW9kdWxlLFxyXG4gICAgUGlwZXNNb2R1bGUsXHJcbiAgICBOZ2JEYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgU2hhcmVCdXR0b25Nb2R1bGUsXHJcbiAgICBUZXh0YXJlYUlucHV0Q29tcG9uZW50LFxyXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxyXG4gICAgUmVjYXB0Y2hhQ29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIERyb3Bkb3duSW5wdXRDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBQaXBlc01vZHVsZSxcclxuICAgIFNoYXJlQnV0dG9uTW9kdWxlLFxyXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxyXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcclxuICAgIERyb3Bkb3duSW5wdXRDb21wb25lbnQsXHJcbiAgICBHZW5lcmF0ZUZvcm1Db21wb25lbnQsXHJcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgSGlqcmlEYXRlcGlja2VyQ29tcG9uZW50LFxyXG4gICAgR3JlZ29yaWFuRGF0ZXBpY2tlckNvbXBvbmVudCxcclxuICAgIFJlY2FwdGNoYUNvbXBvbmVudCxcclxuICAgIExvYWRlckNvbXBvbmVudCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdJUEFMaWJyYXJ5TW9kdWxlIHt9XHJcbiJdfQ==