@posiwise/resource-contact-us 0.0.1 → 0.0.2

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 (23) hide show
  1. package/esm2022/index.mjs +8 -1
  2. package/esm2022/lib/custom-uploader/custom-uploader.component.mjs +107 -0
  3. package/esm2022/lib/field-error-display/field-error-display.component.mjs +16 -0
  4. package/esm2022/lib/field-error-display/field-error-display.module.mjs +23 -0
  5. package/esm2022/lib/image-cropper/image-cropper.component.mjs +92 -0
  6. package/esm2022/lib/image-cropper/profile-image-cropper.module.mjs +45 -0
  7. package/esm2022/lib/resource-header/edit-navbar-modal.component.mjs +195 -0
  8. package/esm2022/lib/resource-header/resource-header.component.mjs +227 -0
  9. package/esm2022/lib/resource-header/resource-header.module.mjs +63 -0
  10. package/fesm2022/posiwise-resource-contact-us-edit-navbar-modal.component-BtICpJJx.mjs +197 -0
  11. package/fesm2022/posiwise-resource-contact-us-edit-navbar-modal.component-BtICpJJx.mjs.map +1 -0
  12. package/fesm2022/posiwise-resource-contact-us.mjs +528 -9
  13. package/fesm2022/posiwise-resource-contact-us.mjs.map +1 -1
  14. package/index.d.ts +7 -0
  15. package/lib/custom-uploader/custom-uploader.component.d.ts +35 -0
  16. package/lib/field-error-display/field-error-display.component.d.ts +7 -0
  17. package/lib/field-error-display/field-error-display.module.d.ts +13 -0
  18. package/lib/image-cropper/image-cropper.component.d.ts +30 -0
  19. package/lib/image-cropper/profile-image-cropper.module.d.ts +19 -0
  20. package/lib/resource-header/edit-navbar-modal.component.d.ts +22 -0
  21. package/lib/resource-header/resource-header.component.d.ts +46 -0
  22. package/lib/resource-header/resource-header.module.d.ts +21 -0
  23. package/package.json +1 -1
package/esm2022/index.mjs CHANGED
@@ -1,4 +1,11 @@
1
1
  export * from './resource-contact-us/resource-contact-us.component';
2
2
  export * from './resource-contact-us/resource-contact-us.module';
3
3
  export * from './lib/shared/resource-modal.interface';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZS1jb250YWN0LXVzL3Jlc291cmNlLWNvbnRhY3QtdXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtY29udGFjdC11cy9yZXNvdXJjZS1jb250YWN0LXVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvcmVzb3VyY2UtbW9kYWwuaW50ZXJmYWNlJztcblxuIl19
4
+ export * from './lib/resource-header/resource-header.module';
5
+ export * from './lib/resource-header/resource-header.component';
6
+ export * from './lib/custom-uploader/custom-uploader.component';
7
+ export * from './lib/image-cropper/profile-image-cropper.module';
8
+ export * from './lib/image-cropper/image-cropper.component';
9
+ export * from './lib/field-error-display/field-error-display.component';
10
+ export * from './lib/field-error-display/field-error-display.module';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsc0RBQXNELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLWNvbnRhY3QtdXMvcmVzb3VyY2UtY29udGFjdC11cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZS1jb250YWN0LXVzL3Jlc291cmNlLWNvbnRhY3QtdXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9yZXNvdXJjZS1tb2RhbC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNvdXJjZS1oZWFkZXIvcmVzb3VyY2UtaGVhZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNvdXJjZS1oZWFkZXIvcmVzb3VyY2UtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWNyb3BwZXIvcHJvZmlsZS1pbWFnZS1jcm9wcGVyLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZC1lcnJvci1kaXNwbGF5L2ZpZWxkLWVycm9yLWRpc3BsYXkuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5Lm1vZHVsZSciXX0=
@@ -0,0 +1,107 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Component, EventEmitter, Inject, Injector, Input, Output } from '@angular/core';
3
+ import { AppBaseComponent } from '@posiwise/app-base-component';
4
+ import { HelperService } from '@posiwise/helper-service';
5
+ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "primeng/button";
10
+ import * as i4 from "@posiwise/directives";
11
+ import * as i5 from "../image-cropper/image-cropper.component";
12
+ import * as i6 from "@jsverse/transloco";
13
+ export class CustomUploaderComponent extends AppBaseComponent {
14
+ constructor(injector, modalService, document) {
15
+ super(injector);
16
+ this.modalService = modalService;
17
+ this.document = document;
18
+ this.saveEvent = new EventEmitter();
19
+ this.aspectRatio = 'auto';
20
+ this.uploadedFile = null;
21
+ }
22
+ deleteExistingFile() {
23
+ HelperService.raiseDeletePopup().then(rep => {
24
+ if (rep.value) {
25
+ this.previewData = null;
26
+ this.onSaveFile();
27
+ }
28
+ });
29
+ }
30
+ onSaveFile() {
31
+ this.buttonBusy = true;
32
+ this.saveEvent.emit({
33
+ file: this.previewData?.url ? this.previewData : this.uploadedFile,
34
+ name: this.controlName
35
+ });
36
+ }
37
+ // modal image cropper
38
+ onFileChange(value) {
39
+ this.selectedFileName = value;
40
+ }
41
+ dataURLtoBlob(dataUrl) {
42
+ const arr = dataUrl?.split(',');
43
+ // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec
44
+ const mime = /^[A-Z]*[a-z]*:(.*?);[A-Z]*/.exec(arr[0])?.[1];
45
+ const bStr = atob(arr[1]);
46
+ let n = bStr.length;
47
+ const u8arr = new Uint8Array(n);
48
+ // eslint-disable-next-line no-plusplus
49
+ while (n--) {
50
+ u8arr[n] = bStr.charCodeAt(n);
51
+ }
52
+ return new Blob([u8arr], { type: mime });
53
+ }
54
+ onImageSelection(event) {
55
+ const blob = this.dataURLtoBlob(event);
56
+ const file = new File([blob], this.selectedFileName);
57
+ this.uploadedFile = file;
58
+ this.onSaveFile();
59
+ }
60
+ openModal(content) {
61
+ this.modalService.open(content, { centered: true, windowClass: 'modal-holder' });
62
+ }
63
+ clearValues() {
64
+ this.uploadedFile = null;
65
+ this.selectedFileName = null;
66
+ this.updateHeight();
67
+ }
68
+ onClose() {
69
+ this.modalService.dismissAll();
70
+ }
71
+ updateHeight() {
72
+ // wait for update card height
73
+ setTimeout(() => {
74
+ this.onImgChange();
75
+ });
76
+ }
77
+ onImgChange(event) {
78
+ if (event) {
79
+ const target = event.target;
80
+ target.src = 'assets/img/icons/imagenotavailable.png';
81
+ }
82
+ const el = this.document.querySelectorAll('pw-domain-config-interface,pw-domain-config-build div[matchheight="card"]');
83
+ el.forEach((item) => {
84
+ HelperService.matchHeights(item, 'card');
85
+ });
86
+ }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomUploaderComponent, deps: [{ token: i0.Injector }, { token: i1.NgbModal }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CustomUploaderComponent, selector: "pw-custom-uploader", inputs: { controlName: "controlName", previewData: "previewData", aspectRatio: "aspectRatio", title: "title" }, outputs: { saveEvent: "saveEvent" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n (keydown.enter)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- existing images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n (keydown.enter)=\"deleteExistingFile()\"\n (keydown.space)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:270px!important;max-height:550px!important;height:auto}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i4.LazyImgDirective, selector: "img" }, { kind: "component", type: i5.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio", "dynamicData"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }] }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomUploaderComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'pw-custom-uploader', template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n (keydown.enter)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- existing images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n (keydown.enter)=\"deleteExistingFile()\"\n (keydown.space)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:270px!important;max-height:550px!important;height:auto}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"] }]
93
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgbModal }, { type: Document, decorators: [{
94
+ type: Inject,
95
+ args: [DOCUMENT]
96
+ }] }], propDecorators: { saveEvent: [{
97
+ type: Output
98
+ }], controlName: [{
99
+ type: Input
100
+ }], previewData: [{
101
+ type: Input
102
+ }], aspectRatio: [{
103
+ type: Input
104
+ }], title: [{
105
+ type: Input
106
+ }] } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtY29udGFjdC11cy9zcmMvbGliL2N1c3RvbS11cGxvYWRlci9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1jb250YWN0LXVzL3NyYy9saWIvY3VzdG9tLXVwbG9hZGVyL2N1c3RvbS11cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBT3RELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFvQnpELFlBQ0ksUUFBa0IsRUFDRCxZQUFzQixFQUNKLFFBQWtCO1FBRXJELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ0osYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXRCL0MsY0FBUyxHQUFpRCxJQUFJLFlBQVksRUFHaEYsQ0FBQztRQU1JLGdCQUFXLEdBQUcsTUFBTSxDQUFDO1FBSTlCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO0lBWXBCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDbEUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3pCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxzQkFBc0I7SUFFdEIsWUFBWSxDQUFDLEtBQUs7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZTtRQUNqQyxNQUFNLEdBQUcsR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLGlFQUFpRTtRQUNqRSxNQUFNLElBQUksR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyx1Q0FBdUM7UUFDdkMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUVELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWTtRQUNSLDhCQUE4QjtRQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztZQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLHdDQUF3QyxDQUFDO1FBQzFELENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUNyQywyRUFBMkUsQ0FDOUUsQ0FBQztRQUNGLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFhLEVBQUUsRUFBRTtZQUN6QixhQUFhLENBQUMsWUFBWSxDQUFDLElBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXpHUSx1QkFBdUIsa0VBdUJwQixRQUFRO21HQXZCWCx1QkFBdUIsc09DYnBDLHl5RUEwRUE7OzRGRDdEYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksb0JBQW9COzswQkEyQnpCLE1BQU07MkJBQUMsUUFBUTt5Q0F0QlYsU0FBUztzQkFBbEIsTUFBTTtnQkFLRSxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctY3VzdG9tLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21VcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBzYXZlRXZlbnQ6IEV2ZW50RW1pdHRlcjx7IGZpbGU6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGZpbGU6IHN0cmluZztcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH0+KCk7XG5cbiAgICBASW5wdXQoKSBjb250cm9sTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcHJldmlld0RhdGE6IHsgdXJsOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmcgfTtcblxuICAgIEBJbnB1dCgpIGFzcGVjdFJhdGlvID0gJ2F1dG8nO1xuXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIHVwbG9hZGVkRmlsZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICBidXR0b25CdXN5OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgZGVsZXRlRXhpc3RpbmdGaWxlKCkge1xuICAgICAgICBIZWxwZXJTZXJ2aWNlLnJhaXNlRGVsZXRlUG9wdXAoKS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICBpZiAocmVwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3RGF0YSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVGaWxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2F2ZUZpbGUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZmlsZTogdGhpcy5wcmV2aWV3RGF0YT8udXJsID8gdGhpcy5wcmV2aWV3RGF0YSA6IHRoaXMudXBsb2FkZWRGaWxlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5jb250cm9sTmFtZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBtb2RhbCBpbWFnZSBjcm9wcGVyXG5cbiAgICBvbkZpbGVDaGFuZ2UodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVOYW1lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkYXRhVVJMdG9CbG9iKGRhdGFVcmw6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhcnIgPSBkYXRhVXJsPy5zcGxpdCgnLCcpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWdleHAtZXhlY1xuICAgICAgICBjb25zdCBtaW1lID0gL15bQS1aXSpbYS16XSo6KC4qPyk7W0EtWl0qLy5leGVjKGFyclswXSk/LlsxXTtcbiAgICAgICAgY29uc3QgYlN0ciA9IGF0b2IoYXJyWzFdKTtcbiAgICAgICAgbGV0IG4gPSBiU3RyLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdThhcnIgPSBuZXcgVWludDhBcnJheShuKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBsdXNwbHVzXG4gICAgICAgIHdoaWxlIChuLS0pIHtcbiAgICAgICAgICAgIHU4YXJyW25dID0gYlN0ci5jaGFyQ29kZUF0KG4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBCbG9iKFt1OGFycl0sIHsgdHlwZTogbWltZSB9KTtcbiAgICB9XG5cbiAgICBvbkltYWdlU2VsZWN0aW9uKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGJsb2IgPSB0aGlzLmRhdGFVUkx0b0Jsb2IoZXZlbnQpO1xuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCB0aGlzLnNlbGVjdGVkRmlsZU5hbWUpO1xuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IGZpbGU7XG4gICAgICAgIHRoaXMub25TYXZlRmlsZSgpO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChjb250ZW50KSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oY29udGVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgd2luZG93Q2xhc3M6ICdtb2RhbC1ob2xkZXInIH0pO1xuICAgIH1cblxuICAgIGNsZWFyVmFsdWVzKCkge1xuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhlaWdodCgpIHtcbiAgICAgICAgLy8gd2FpdCBmb3IgdXBkYXRlIGNhcmQgaGVpZ2h0XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkltZ0NoYW5nZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkltZ0NoYW5nZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgICAgICAgICB0YXJnZXQuc3JjID0gJ2Fzc2V0cy9pbWcvaWNvbnMvaW1hZ2Vub3RhdmFpbGFibGUucG5nJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICdwdy1kb21haW4tY29uZmlnLWludGVyZmFjZSxwdy1kb21haW4tY29uZmlnLWJ1aWxkIGRpdlttYXRjaGhlaWdodD1cImNhcmRcIl0nXG4gICAgICAgICk7XG4gICAgICAgIGVsLmZvckVhY2goKGl0ZW06IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UubWF0Y2hIZWlnaHRzKGl0ZW0gYXMgSFRNTEVsZW1lbnQsICdjYXJkJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHBiLTJcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHVwbG9hZC1idXR0b24tYmFyXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcmV2aWV3RGF0YT8udXJsIHx8IHVwbG9hZGVkRmlsZVwiXG4gICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGNvbnRlbnQpXCJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Nb2RhbChjb250ZW50KVwiXG4gICAgICBpY29uPVwicGkgcGktcGx1c1wiXG4gICAgICBsYWJlbD1cIkNob29zZVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgIDwhLS0gbm8gZmlsZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwcmV2aWV3LXdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCIhcHJldmlld0RhdGE/LnVybFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1nL2ljb25zL25vZmlsZXNmb3VuZC5wbmdcIlxuICAgICAgICAgIChsb2FkKT1cIm9uSW1nQ2hhbmdlKClcIlxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0byBpbWctZmx1aWRcIlxuICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIGV4aXN0aW5nIGltYWdlcyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHByZXZpZXctd3JhcHBlclwiXG4gICAgICAqbmdJZj1cInByZXZpZXdEYXRhPy51cmxcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhIFtocmVmXT1cInByZXZpZXdEYXRhPy51cmxcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJwcmV2aWV3RGF0YT8udXJsXCJcbiAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAobG9hZCk9XCJvbkltZ0NoYW5nZSgpXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkltZ0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW1nLWZsdWlkXCIgLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxuICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIkRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVFeGlzdGluZ0ZpbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRlbGV0ZUV4aXN0aW5nRmlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiZGVsZXRlRXhpc3RpbmdGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLXRyYXNoIGRlbGV0ZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIGltYWdlIGNyb3BwZXIgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRcbiAgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBtLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1jbG9zZSBmbG9hdC1lbmQgZmxvYXQtZW5kXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgIDxzbWFsbD4ge3sgJ1VzZXIuUHJvZmlsZS5QaWN0dXJlTWVzc2FnZScgfCB0cmFuc2xvY28gfX08L3NtYWxsPlxuICAgICAgICA8cHctaW1hZ2UtY3JvcHBlciAjcHJvZmlsZVxuICAgICAgICAgIFthc3BlY3RSYXRpb109XCJhc3BlY3RSYXRpb1wiXG4gICAgICAgICAgKGZpbGVDaGFuZ2VFdmVudCk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKGltYWdlU2VsZWN0aW9uRXZlbnQpPVwib25JbWFnZVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class FieldErrorDisplayComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FieldErrorDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FieldErrorDisplayComponent, selector: "pw-field-error-display", inputs: { errorMsg: "errorMsg", displayError: "displayError" }, ngImport: i0, template: "<div *ngIf=\"displayError\">\n <div class=\"text-danger\">\n {{ errorMsg }}\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FieldErrorDisplayComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'pw-field-error-display', template: "<div *ngIf=\"displayError\">\n <div class=\"text-danger\">\n {{ errorMsg }}\n </div>\n</div>\n\n" }]
11
+ }], propDecorators: { errorMsg: [{
12
+ type: Input
13
+ }], displayError: [{
14
+ type: Input
15
+ }] } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2xpYi9maWVsZC1lcnJvci1kaXNwbGF5L2ZpZWxkLWVycm9yLWRpc3BsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1jb250YWN0LXVzL3NyYy9saWIvZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLDBCQUEwQjsrR0FBMUIsMEJBQTBCO21HQUExQiwwQkFBMEIsOEhDTnZDLHVHQU1BOzs0RkRBYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0ksd0JBQXdCOzhCQUtsQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWZpZWxkLWVycm9yLWRpc3BsYXknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBlcnJvck1zZzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5RXJyb3I6IGJvb2xlYW47XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGlzcGxheUVycm9yXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxuICAgIHt7IGVycm9yTXNnIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FieldErrorDisplayComponent } from './field-error-display.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Standalone module for FieldErrorDisplayComponent.
7
+ * Import this lightweight module instead of SharedComponentsModule
8
+ * when you only need field error display functionality.
9
+ */
10
+ export class FieldErrorDisplayModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FieldErrorDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FieldErrorDisplayModule, declarations: [FieldErrorDisplayComponent], imports: [CommonModule], exports: [FieldErrorDisplayComponent] }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FieldErrorDisplayModule, imports: [CommonModule] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FieldErrorDisplayModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [FieldErrorDisplayComponent],
19
+ imports: [CommonModule],
20
+ exports: [FieldErrorDisplayComponent]
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItZGlzcGxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2xpYi9maWVsZC1lcnJvci1kaXNwbGF5L2ZpZWxkLWVycm9yLWRpc3BsYXkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUU3RTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsaUJBSmpCLDBCQUEwQixhQUMvQixZQUFZLGFBQ1osMEJBQTBCO2dIQUUzQix1QkFBdUIsWUFIdEIsWUFBWTs7NEZBR2IsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUMxQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQnO1xuXG4vKipcbiAqIFN0YW5kYWxvbmUgbW9kdWxlIGZvciBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudC5cbiAqIEltcG9ydCB0aGlzIGxpZ2h0d2VpZ2h0IG1vZHVsZSBpbnN0ZWFkIG9mIFNoYXJlZENvbXBvbmVudHNNb2R1bGVcbiAqIHdoZW4geW91IG9ubHkgbmVlZCBmaWVsZCBlcnJvciBkaXNwbGF5IGZ1bmN0aW9uYWxpdHkuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRmllbGRFcnJvckRpc3BsYXlDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRmllbGRFcnJvckRpc3BsYXlNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,92 @@
1
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "ngx-image-cropper";
5
+ import * as i3 from "@posiwise/directives";
6
+ export class ProfileImageCropperComponent {
7
+ constructor(cdr) {
8
+ this.cdr = cdr;
9
+ this.imageChangedEvent = '';
10
+ this.croppedImage = '';
11
+ this.imageSelectionEvent = new EventEmitter();
12
+ this.closeEvent = new EventEmitter();
13
+ this.fileChangeEvent = new EventEmitter();
14
+ this.aspectRatio = 'auto';
15
+ this.transform = {};
16
+ this.canvasRotation = 0;
17
+ this.showCropper = false;
18
+ }
19
+ onFileChange(event) {
20
+ const input = event.target;
21
+ if (input.files && input.files.length > 0) {
22
+ this.imageChangedEvent = event;
23
+ this.fileChangeEvent.emit(input.files[0].name);
24
+ }
25
+ }
26
+ imageCropped(event) {
27
+ const reader = new FileReader();
28
+ reader.onloadend = () => {
29
+ this.croppedImage = reader.result;
30
+ this.cdr.detectChanges();
31
+ };
32
+ reader.readAsDataURL(event.blob);
33
+ }
34
+ imageLoaded() {
35
+ this.showCropper = true;
36
+ }
37
+ rotateLeft() {
38
+ this.canvasRotation--;
39
+ this.flipAfterRotate();
40
+ }
41
+ rotateRight() {
42
+ this.canvasRotation++;
43
+ this.flipAfterRotate();
44
+ }
45
+ flipAfterRotate() {
46
+ const flippedH = this.transform.flipH;
47
+ const flippedV = this.transform.flipV;
48
+ this.transform = {
49
+ ...this.transform,
50
+ flipH: flippedV,
51
+ flipV: flippedH
52
+ };
53
+ }
54
+ flipHorizontal() {
55
+ this.transform = {
56
+ ...this.transform,
57
+ flipH: !this.transform.flipH
58
+ };
59
+ }
60
+ flipVertical() {
61
+ this.transform = {
62
+ ...this.transform,
63
+ flipV: !this.transform.flipV
64
+ };
65
+ }
66
+ saveProfilePicture() {
67
+ if (this.croppedImage) {
68
+ this.imageSelectionEvent.emit(this.croppedImage);
69
+ this.busy = true;
70
+ }
71
+ }
72
+ onCloseModal() {
73
+ this.closeEvent.emit();
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ProfileImageCropperComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: { aspectRatio: "aspectRatio", dynamicData: "dynamicData" }, outputs: { imageSelectionEvent: "imageSelectionEvent", closeEvent: "closeEvent", fileChangeEvent: "fileChangeEvent" }, ngImport: i0, template: "<section class=\"image-cropper\">\n <div class=\"row text-start\">\n <div class=\"col-12\">\n <div class=\"card-block pb-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"file-upload my-2 float-start\">\n <label for=\"custom-input\">\n Upload Pic\n <input id=\"custom-input\"\n type=\"file\"\n (change)=\"onFileChange($event)\" />\n </label>\n </div>\n\n <div class=\"float-end m-2\">\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Left\">\n <i\n class=\"fa fa-undo-alt\"\n (click)=\"rotateLeft()\"\n (keydown.enter)=\"rotateLeft()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Right\">\n <i\n class=\"fa fa-redo-alt\"\n (click)=\"rotateRight()\"\n (keydown.enter)=\"rotateRight()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Horizontal\">\n <i\n class=\"fa fa-arrows-alt-h\"\n (click)=\"flipHorizontal()\"\n (keydown.enter)=\"flipHorizontal()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Vertical\">\n <i\n class=\"fa fa-arrows-alt-v\"\n (click)=\"flipVertical()\"\n (keydown.enter)=\"flipVertical()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-8\">\n <div *ngIf=\"aspectRatio === 'auto'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [aspectRatio]=\"4 / 4\"\n [onlyScaleDown]=\"true\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'fullLogo'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"5 / 1.1\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'rectangular'\">\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"3 / 1\"\n [onlyScaleDown]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'dynamic'\">\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"false\"\n [resizeToWidth]=\"0\"\n [cropperStaticWidth]=\"0\"\n [cropperStaticHeight]=\"0\"\n [cropperMinWidth]=\"10\"\n [cropperMinHeight]=\"10\"\n [onlyScaleDown]=\"false\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n [imageQuality]=\"100\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [style.display]=\"showCropper ? null : 'none'\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'custom'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [aspectRatio]=\"4 / 3\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n </div>\n <div *ngIf=\"croppedImage\" class=\"col-4 mt-2\">\n <img [src]=\"croppedImage\"\n class=\"cropped-image\"\n alt=\"cropped.png\"\n width=\"128\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer px-3\">\n <div class=\"float-end mt-2\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCloseModal()\">\n Close\n </button>\n <button type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"saveProfilePicture()\"\n [buttonBusy]=\"busy\">\n Save\n </button>\n </div>\n </div>\n</section>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.image-cropper label{background:var(--first);border-radius:5px;color:#fff;display:table;font-size:13px;font-weight:500;padding:7px}.image-cropper input[type=file]{display:none}.cropped-image{max-height:390px!important}.card-footer{background-color:transparent;left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "cropperFrameAriaLabel", "output", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "directive", type: i3.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ProfileImageCropperComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'pw-image-cropper', template: "<section class=\"image-cropper\">\n <div class=\"row text-start\">\n <div class=\"col-12\">\n <div class=\"card-block pb-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"file-upload my-2 float-start\">\n <label for=\"custom-input\">\n Upload Pic\n <input id=\"custom-input\"\n type=\"file\"\n (change)=\"onFileChange($event)\" />\n </label>\n </div>\n\n <div class=\"float-end m-2\">\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Left\">\n <i\n class=\"fa fa-undo-alt\"\n (click)=\"rotateLeft()\"\n (keydown.enter)=\"rotateLeft()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Right\">\n <i\n class=\"fa fa-redo-alt\"\n (click)=\"rotateRight()\"\n (keydown.enter)=\"rotateRight()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Horizontal\">\n <i\n class=\"fa fa-arrows-alt-h\"\n (click)=\"flipHorizontal()\"\n (keydown.enter)=\"flipHorizontal()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Vertical\">\n <i\n class=\"fa fa-arrows-alt-v\"\n (click)=\"flipVertical()\"\n (keydown.enter)=\"flipVertical()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-8\">\n <div *ngIf=\"aspectRatio === 'auto'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [aspectRatio]=\"4 / 4\"\n [onlyScaleDown]=\"true\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'fullLogo'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"5 / 1.1\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'rectangular'\">\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"3 / 1\"\n [onlyScaleDown]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'dynamic'\">\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"false\"\n [resizeToWidth]=\"0\"\n [cropperStaticWidth]=\"0\"\n [cropperStaticHeight]=\"0\"\n [cropperMinWidth]=\"10\"\n [cropperMinHeight]=\"10\"\n [onlyScaleDown]=\"false\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n [imageQuality]=\"100\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [style.display]=\"showCropper ? null : 'none'\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'custom'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [aspectRatio]=\"4 / 3\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n </div>\n <div *ngIf=\"croppedImage\" class=\"col-4 mt-2\">\n <img [src]=\"croppedImage\"\n class=\"cropped-image\"\n alt=\"cropped.png\"\n width=\"128\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer px-3\">\n <div class=\"float-end mt-2\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCloseModal()\">\n Close\n </button>\n <button type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"saveProfilePicture()\"\n [buttonBusy]=\"busy\">\n Save\n </button>\n </div>\n </div>\n</section>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.image-cropper label{background:var(--first);border-radius:5px;color:#fff;display:table;font-size:13px;font-weight:500;padding:7px}.image-cropper input[type=file]{display:none}.cropped-image{max-height:390px!important}.card-footer{background-color:transparent;left:0}\n"] }]
81
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { imageSelectionEvent: [{
82
+ type: Output
83
+ }], closeEvent: [{
84
+ type: Output
85
+ }], fileChangeEvent: [{
86
+ type: Output
87
+ }], aspectRatio: [{
88
+ type: Input
89
+ }], dynamicData: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2xpYi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1jb250YWN0LXVzL3NyYy9saWIvaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUzFGLE1BQU0sT0FBTyw0QkFBNEI7SUFpQnJDLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBaEJuRCxzQkFBaUIsR0FBbUIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRVIsd0JBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkUsZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFELG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFHOUIsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFJa0MsQ0FBQztJQUV2RCxZQUFZLENBQUMsS0FBWTtRQUNyQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXdCO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBZ0IsQ0FBQztZQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZTtRQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsR0FBRyxJQUFJLENBQUMsU0FBUztZQUNqQixLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxRQUFRO1NBQ2xCLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDYixHQUFHLElBQUksQ0FBQyxTQUFTO1lBQ2pCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztTQUMvQixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsR0FBRyxJQUFJLENBQUMsU0FBUztZQUNqQixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7U0FDL0IsQ0FBQztJQUNOLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBbkZRLDRCQUE0QjttR0FBNUIsNEJBQTRCLG1QQ1R6QyxzdU5BMktBOzs0RkRsS2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLGtCQUFrQjtzRkFRbEIsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVkRXZlbnQsIEltYWdlVHJhbnNmb3JtIH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWltYWdlLWNyb3BwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCB7XG4gICAgaW1hZ2VDaGFuZ2VkRXZlbnQ6IEV2ZW50IHwgc3RyaW5nID0gJyc7XG4gICAgY3JvcHBlZEltYWdlID0gJyc7XG5cbiAgICBAT3V0cHV0KCkgaW1hZ2VTZWxlY3Rpb25FdmVudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBmaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASW5wdXQoKSBhc3BlY3RSYXRpbyA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBkeW5hbWljRGF0YTtcblxuICAgIHRyYW5zZm9ybTogSW1hZ2VUcmFuc2Zvcm0gPSB7fTtcbiAgICBjYW52YXNSb3RhdGlvbiA9IDA7XG4gICAgc2hvd0Nyb3BwZXIgPSBmYWxzZTtcblxuICAgIGJ1c3k6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmIChpbnB1dC5maWxlcyAmJiBpbnB1dC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlQ2hhbmdlZEV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICB0aGlzLmZpbGVDaGFuZ2VFdmVudC5lbWl0KGlucHV0LmZpbGVzWzBdLm5hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIub25sb2FkZW5kID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcm9wcGVkSW1hZ2UgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZXZlbnQuYmxvYik7XG4gICAgfVxuXG4gICAgaW1hZ2VMb2FkZWQoKSB7XG4gICAgICAgIHRoaXMuc2hvd0Nyb3BwZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIHJvdGF0ZUxlZnQoKSB7XG4gICAgICAgIHRoaXMuY2FudmFzUm90YXRpb24tLTtcbiAgICAgICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKTtcbiAgICB9XG5cbiAgICByb3RhdGVSaWdodCgpIHtcbiAgICAgICAgdGhpcy5jYW52YXNSb3RhdGlvbisrO1xuICAgICAgICB0aGlzLmZsaXBBZnRlclJvdGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmxpcEFmdGVyUm90YXRlKCkge1xuICAgICAgICBjb25zdCBmbGlwcGVkSCA9IHRoaXMudHJhbnNmb3JtLmZsaXBIO1xuICAgICAgICBjb25zdCBmbGlwcGVkViA9IHRoaXMudHJhbnNmb3JtLmZsaXBWO1xuICAgICAgICB0aGlzLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICAgICAgZmxpcEg6IGZsaXBwZWRWLFxuICAgICAgICAgICAgZmxpcFY6IGZsaXBwZWRIXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZmxpcEhvcml6b250YWwoKSB7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtID0ge1xuICAgICAgICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXG4gICAgICAgICAgICBmbGlwSDogIXRoaXMudHJhbnNmb3JtLmZsaXBIXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZmxpcFZlcnRpY2FsKCkge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICAgICAgZmxpcFY6ICF0aGlzLnRyYW5zZm9ybS5mbGlwVlxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNhdmVQcm9maWxlUGljdHVyZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY3JvcHBlZEltYWdlKSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlU2VsZWN0aW9uRXZlbnQuZW1pdCh0aGlzLmNyb3BwZWRJbWFnZSk7XG4gICAgICAgICAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DbG9zZU1vZGFsKCkge1xuICAgICAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiaW1hZ2UtY3JvcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwicm93IHRleHQtc3RhcnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBwYi0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS11cGxvYWQgbXktMiBmbG9hdC1zdGFydFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY3VzdG9tLWlucHV0XCI+XG4gICAgICAgICAgICAgICAgVXBsb2FkIFBpY1xuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImN1c3RvbS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtZW5kIG0tMlwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBteC0yXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIlJvdGF0ZSBMZWZ0XCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdW5kby1hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJvdGF0ZUxlZnQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJyb3RhdGVMZWZ0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gbXgtMlwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJSb3RhdGUgUmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS1yZWRvLWFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicm90YXRlUmlnaHQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJyb3RhdGVSaWdodCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG14LTJcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiRmxpcCBIb3Jpem9udGFsXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtYXJyb3dzLWFsdC1oXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmbGlwSG9yaXpvbnRhbCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImZsaXBIb3Jpem9udGFsKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG14LTJcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiRmxpcCBWZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLWFycm93cy1hbHQtdlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmxpcFZlcnRpY2FsKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZmxpcFZlcnRpY2FsKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFzcGVjdFJhdGlvID09PSAnYXV0bydcIj5cbiAgICAgICAgICAgICAgPGltYWdlLWNyb3BwZXIgW2ltYWdlQ2hhbmdlZEV2ZW50XT1cImltYWdlQ2hhbmdlZEV2ZW50XCJcbiAgICAgICAgICAgICAgICBbbWFpbnRhaW5Bc3BlY3RSYXRpb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbY2FudmFzUm90YXRpb25dPVwiY2FudmFzUm90YXRpb25cIlxuICAgICAgICAgICAgICAgIFthc3BlY3RSYXRpb109XCI0IC8gNFwiXG4gICAgICAgICAgICAgICAgW29ubHlTY2FsZURvd25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3RyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgICAgIFtyb3VuZENyb3BwZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGFsaWduSW1hZ2U9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIG91dHB1dFR5cGU9XCJiYXNlNjRcIlxuICAgICAgICAgICAgICAgIChpbWFnZUNyb3BwZWQpPVwiaW1hZ2VDcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChpbWFnZUxvYWRlZCk9XCJpbWFnZUxvYWRlZCgpXCJcbiAgICAgICAgICAgICAgICBbaW1hZ2VRdWFsaXR5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwic2hvd0Nyb3BwZXIgPyBudWxsIDogJ25vbmUnXCI+PC9pbWFnZS1jcm9wcGVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhc3BlY3RSYXRpbyA9PT0gJ2Z1bGxMb2dvJ1wiPlxuICAgICAgICAgICAgICA8aW1hZ2UtY3JvcHBlciBbaW1hZ2VDaGFuZ2VkRXZlbnRdPVwiaW1hZ2VDaGFuZ2VkRXZlbnRcIlxuICAgICAgICAgICAgICAgIFttYWludGFpbkFzcGVjdFJhdGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthc3BlY3RSYXRpb109XCI1IC8gMS4xXCJcbiAgICAgICAgICAgICAgICBbb25seVNjYWxlRG93bl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbcm91bmRDcm9wcGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBhbGlnbkltYWdlPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICBvdXRwdXRUeXBlPVwiYmFzZTY0XCJcbiAgICAgICAgICAgICAgICAoaW1hZ2VDcm9wcGVkKT1cImltYWdlQ3JvcHBlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoaW1hZ2VMb2FkZWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgICAgICAgICAgICAgW2ltYWdlUXVhbGl0eV09XCIxMDBcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNob3dDcm9wcGVyID8gbnVsbCA6ICdub25lJ1wiPjwvaW1hZ2UtY3JvcHBlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYXNwZWN0UmF0aW8gPT09ICdyZWN0YW5ndWxhcidcIj5cbiAgICAgICAgICAgICAgPGltYWdlLWNyb3BwZXJcbiAgICAgICAgICAgICAgICBbaW1hZ2VDaGFuZ2VkRXZlbnRdPVwiaW1hZ2VDaGFuZ2VkRXZlbnRcIlxuICAgICAgICAgICAgICAgIFttYWludGFpbkFzcGVjdFJhdGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthc3BlY3RSYXRpb109XCIzIC8gMVwiXG4gICAgICAgICAgICAgICAgW29ubHlTY2FsZURvd25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2NhbnZhc1JvdGF0aW9uXT1cImNhbnZhc1JvdGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbdHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiXG4gICAgICAgICAgICAgICAgW3JvdW5kQ3JvcHBlcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgYWxpZ25JbWFnZT1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgb3V0cHV0VHlwZT1cImJhc2U2NFwiXG4gICAgICAgICAgICAgICAgKGltYWdlQ3JvcHBlZCk9XCJpbWFnZUNyb3BwZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGltYWdlTG9hZGVkKT1cImltYWdlTG9hZGVkKClcIlxuICAgICAgICAgICAgICAgIFtpbWFnZVF1YWxpdHldPVwiMTAwXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzaG93Q3JvcHBlciA/IG51bGwgOiAnbm9uZSdcIj48L2ltYWdlLWNyb3BwZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFzcGVjdFJhdGlvID09PSAnZHluYW1pYydcIj5cbiAgICAgICAgICAgICAgPGltYWdlLWNyb3BwZXJcbiAgICAgICAgICAgICAgW2ltYWdlQ2hhbmdlZEV2ZW50XT1cImltYWdlQ2hhbmdlZEV2ZW50XCJcbiAgICAgICAgICAgICAgW21haW50YWluQXNwZWN0UmF0aW9dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbcmVzaXplVG9XaWR0aF09XCIwXCJcbiAgICAgICAgICAgICAgW2Nyb3BwZXJTdGF0aWNXaWR0aF09XCIwXCJcbiAgICAgICAgICAgICAgW2Nyb3BwZXJTdGF0aWNIZWlnaHRdPVwiMFwiXG4gICAgICAgICAgICAgIFtjcm9wcGVyTWluV2lkdGhdPVwiMTBcIlxuICAgICAgICAgICAgICBbY3JvcHBlck1pbkhlaWdodF09XCIxMFwiXG4gICAgICAgICAgICAgIFtvbmx5U2NhbGVEb3duXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2NhbnZhc1JvdGF0aW9uXT1cImNhbnZhc1JvdGF0aW9uXCJcbiAgICAgICAgICAgICAgW3RyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgICBbcm91bmRDcm9wcGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgYWxpZ25JbWFnZT1cImNlbnRlclwiXG4gICAgICAgICAgICAgIG91dHB1dFR5cGU9XCJiYXNlNjRcIlxuICAgICAgICAgICAgICBbaW1hZ2VRdWFsaXR5XT1cIjEwMFwiXG4gICAgICAgICAgICAgIChpbWFnZUNyb3BwZWQpPVwiaW1hZ2VDcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAoaW1hZ2VMb2FkZWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNob3dDcm9wcGVyID8gbnVsbCA6ICdub25lJ1wiPlxuICAgICAgICAgICAgICA8L2ltYWdlLWNyb3BwZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFzcGVjdFJhdGlvID09PSAnY3VzdG9tJ1wiPlxuICAgICAgICAgICAgICA8aW1hZ2UtY3JvcHBlciBbaW1hZ2VDaGFuZ2VkRXZlbnRdPVwiaW1hZ2VDaGFuZ2VkRXZlbnRcIlxuICAgICAgICAgICAgICAgIFttYWludGFpbkFzcGVjdFJhdGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtjYW52YXNSb3RhdGlvbl09XCJjYW52YXNSb3RhdGlvblwiXG4gICAgICAgICAgICAgICAgW3RyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgICAgIFthc3BlY3RSYXRpb109XCI0IC8gM1wiXG4gICAgICAgICAgICAgICAgW29ubHlTY2FsZURvd25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3JvdW5kQ3JvcHBlcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgYWxpZ25JbWFnZT1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgb3V0cHV0VHlwZT1cImJhc2U2NFwiXG4gICAgICAgICAgICAgICAgKGltYWdlQ3JvcHBlZCk9XCJpbWFnZUNyb3BwZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGltYWdlTG9hZGVkKT1cImltYWdlTG9hZGVkKClcIlxuICAgICAgICAgICAgICAgIFtpbWFnZVF1YWxpdHldPVwiMTAwXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzaG93Q3JvcHBlciA/IG51bGwgOiAnbm9uZSdcIj48L2ltYWdlLWNyb3BwZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3JvcHBlZEltYWdlXCIgY2xhc3M9XCJjb2wtNCBtdC0yXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiY3JvcHBlZEltYWdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3JvcHBlZC1pbWFnZVwiXG4gICAgICAgICAgICAgIGFsdD1cImNyb3BwZWQucG5nXCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMjhcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHB4LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtZW5kIG10LTJcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlTW9kYWwoKVwiPlxuICAgICAgICBDbG9zZVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCJzYXZlUHJvZmlsZVBpY3R1cmUoKVwiXG4gICAgICAgIFtidXR0b25CdXN5XT1cImJ1c3lcIj5cbiAgICAgICAgU2F2ZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
@@ -0,0 +1,45 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { CoreTranslocoModule } from '@posiwise/core-transloco';
4
+ import { DirectivesModule } from '@posiwise/directives';
5
+ import { ImageCropperModule } from 'ngx-image-cropper';
6
+ import { ButtonModule } from 'primeng/button';
7
+ import { CustomUploaderComponent } from '../custom-uploader/custom-uploader.component';
8
+ import { ProfileImageCropperComponent } from './image-cropper.component';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Lightweight module for pw-image-cropper component
12
+ *
13
+ * Minimal dependencies - only CommonModule, ImageCropperModule, DirectivesModule
14
+ * Use this instead of ResourceSharedComponentsModule when you only need image cropping
15
+ */
16
+ export class ProfileImageCropperModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ProfileImageCropperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ProfileImageCropperModule, declarations: [ProfileImageCropperComponent, CustomUploaderComponent], imports: [CommonModule,
19
+ CoreTranslocoModule,
20
+ ButtonModule,
21
+ ImageCropperModule, // for <image-cropper>
22
+ DirectivesModule // for [buttonBusy] directive
23
+ ], exports: [ProfileImageCropperComponent, CustomUploaderComponent] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ProfileImageCropperModule, imports: [CommonModule,
25
+ CoreTranslocoModule,
26
+ ButtonModule,
27
+ ImageCropperModule, // for <image-cropper>
28
+ DirectivesModule // for [buttonBusy] directive
29
+ ] }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ProfileImageCropperModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ declarations: [ProfileImageCropperComponent, CustomUploaderComponent],
35
+ imports: [
36
+ CommonModule,
37
+ CoreTranslocoModule,
38
+ ButtonModule,
39
+ ImageCropperModule, // for <image-cropper>
40
+ DirectivesModule // for [buttonBusy] directive
41
+ ],
42
+ exports: [ProfileImageCropperComponent, CustomUploaderComponent]
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1pbWFnZS1jcm9wcGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtY29udGFjdC11cy9zcmMvbGliL2ltYWdlLWNyb3BwZXIvcHJvZmlsZS1pbWFnZS1jcm9wcGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXpFOzs7OztHQUtHO0FBWUgsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsaUJBVm5CLDRCQUE0QixFQUFFLHVCQUF1QixhQUVoRSxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixrQkFBa0IsRUFBRSxzQkFBc0I7WUFDMUMsZ0JBQWdCLENBQUMsNkJBQTZCO3FCQUV4Qyw0QkFBNEIsRUFBRSx1QkFBdUI7Z0hBRXRELHlCQUF5QixZQVI5QixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixrQkFBa0IsRUFBRSxzQkFBc0I7WUFDMUMsZ0JBQWdCLENBQUMsNkJBQTZCOzs7NEZBSXpDLHlCQUF5QjtrQkFYckMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx1QkFBdUIsQ0FBQztvQkFDckUsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGtCQUFrQixFQUFFLHNCQUFzQjt3QkFDMUMsZ0JBQWdCLENBQUMsNkJBQTZCO3FCQUNqRDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29yZVRyYW5zbG9jb01vZHVsZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb3JlLXRyYW5zbG9jbyc7XG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL2RpcmVjdGl2ZXMnO1xuXG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5cbmltcG9ydCB7IEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY3VzdG9tLXVwbG9hZGVyL2N1c3RvbS11cGxvYWRlci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQcm9maWxlSW1hZ2VDcm9wcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTGlnaHR3ZWlnaHQgbW9kdWxlIGZvciBwdy1pbWFnZS1jcm9wcGVyIGNvbXBvbmVudFxuICpcbiAqIE1pbmltYWwgZGVwZW5kZW5jaWVzIC0gb25seSBDb21tb25Nb2R1bGUsIEltYWdlQ3JvcHBlck1vZHVsZSwgRGlyZWN0aXZlc01vZHVsZVxuICogVXNlIHRoaXMgaW5zdGVhZCBvZiBSZXNvdXJjZVNoYXJlZENvbXBvbmVudHNNb2R1bGUgd2hlbiB5b3Ugb25seSBuZWVkIGltYWdlIGNyb3BwaW5nXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCwgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBDb3JlVHJhbnNsb2NvTW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIEltYWdlQ3JvcHBlck1vZHVsZSwgLy8gZm9yIDxpbWFnZS1jcm9wcGVyPlxuICAgICAgICBEaXJlY3RpdmVzTW9kdWxlIC8vIGZvciBbYnV0dG9uQnVzeV0gZGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCwgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVJbWFnZUNyb3BwZXJNb2R1bGUge31cbiJdfQ==