keevo-components 2.0.72 → 2.0.73

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.
@@ -22,7 +22,7 @@ export class KvAvatarComponent {
22
22
  this.existeLogo = false;
23
23
  this.selectedImage = '';
24
24
  this.imageUrl = input('');
25
- this.imageSource = signal(this.imageService.userDefaultImage());
25
+ this.imageSource = signal('');
26
26
  this.imageLoaded = signal(false);
27
27
  effect(() => {
28
28
  if (this.imageUrl())
@@ -36,6 +36,7 @@ export class KvAvatarComponent {
36
36
  const imageUrl = this.imageUrl();
37
37
  if (imageUrl && (imageUrl.startsWith('data:image') || imageUrl.startsWith('http') || imageUrl.startsWith('https'))) {
38
38
  this.existeLogo = true;
39
+ this.imageSource.set(imageUrl);
39
40
  }
40
41
  else if (imageUrl && imageUrl.length > 0) {
41
42
  this.existeLogo = true;
@@ -108,7 +109,7 @@ export class KvAvatarComponent {
108
109
  }
109
110
  handleImageError(event) {
110
111
  this.imageLoaded.set(true);
111
- event.target.src = this.imageService.userDefaultImage();
112
+ // event.target.src = this.imageService.userDefaultImage();
112
113
  }
113
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvAvatarComponent, deps: [{ token: i1.ImagensService }, { token: i2.NotificationService }, { token: i3.ImageCutterService }], target: i0.ɵɵFactoryTarget.Component }); }
114
115
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvAvatarComponent, selector: "kv-avatar", inputs: { borderColor: { classPropertyName: "borderColor", publicName: "borderColor", isSignal: false, isRequired: false, transformFunction: null }, btnsColor: { classPropertyName: "btnsColor", publicName: "btnsColor", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: false, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, btnAlterarFoto: { classPropertyName: "btnAlterarFoto", publicName: "btnAlterarFoto", isSignal: false, isRequired: false, transformFunction: null }, singlaNome: { classPropertyName: "singlaNome", publicName: "singlaNome", isSignal: false, isRequired: false, transformFunction: null }, imageUrl: { classPropertyName: "imageUrl", publicName: "imageUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imageUrlChange: "imageUrlChange", removerFotoEvent: "removerFotoEvent" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"image-container\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n>\r\n @if(existeLogo) {\r\n <img\r\n [src]=\"imageSource()\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"handleImageError($event)\"\r\n alt=\"Foto\"\r\n class=\"container-foto\"\r\n [style.border-color]=\"borderColor\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n />\r\n } @else {\r\n <div\r\n class=\"container-foto\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n [style.border-color]=\"borderColor\"\r\n >\r\n @if(!singlaNome) {\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.fontSize.rem]=\"height * 0.035\"\r\n >\r\n person\r\n </span>\r\n } @else {\r\n <span [style.fontSize.rem]=\"height * 0.025\" class=\"text-white\">{{singlaNome}}</span>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"btn\">\r\n <input\r\n #fileInput\r\n *ngIf=\"btnAlterarFoto\"\r\n id=\"fotoEscolhida\"\r\n type=\"file\"\r\n accept=\"image/*\"\r\n style=\"display: none\"\r\n (change)=\"changeImage($any($event))\"\r\n />\r\n\r\n @if(btnAlterarFoto && !existeLogo) {\r\n <div\r\n class=\"btn-avatar\"\r\n [style.background-color]=\"btnsColor\"\r\n (click)=\"openFile()\"\r\n >\r\n <span class=\"material-symbols-outlined icon-btn-avatar\"\r\n >photo_camera</span\r\n >\r\n </div>\r\n } @if(btnAlterarFoto && existeLogo) {\r\n <div\r\n class=\"btn-avatar\"\r\n [style.background-color]=\"btnsColor\"\r\n (click)=\"questionRemoverFoto()\"\r\n >\r\n <span class=\"material-symbols-outlined icon-btn-avatar\">delete</span>\r\n </div>\r\n }\r\n </div>\r\n\r\n <ngx-loading\r\n [show]=\"!imageLoaded() && existeLogo\"\r\n full\r\n class=\"container-foto\"\r\n [config]=\"{ backdropBorderRadius: '100%', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.btn-avatar{background:linear-gradient(135deg,#4a5568,#718096);font-weight:500;cursor:pointer;border-radius:50%;color:#e9eef3;padding:0;border:none;transition:all .25s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.btn-avatar:before{content:\"\";position:absolute;inset:0;background:#fff0;transition:background .25s cubic-bezier(.25,.46,.45,.94);border-radius:50%}.btn-avatar:hover:before{background:#ffffff14}.btn-avatar:active{transition:all .1s cubic-bezier(.25,.46,.45,.94)}.btn-avatar:active:before{background:#ffffff1f}span,.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal{display:block;position:absolute;z-index:9999;left:0;top:0;width:100vw;height:100vh;overflow:auto;background-color:#0006}.modal-content{background-color:#fefefe;margin:1% auto;padding:20px;border:1px solid #888;width:80%;max-width:fit-content;text-align:center;border-radius:12px}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px}.container-foto{background:linear-gradient(135deg,#4a5568,#718096);border-radius:50%;display:flex;justify-content:center;align-items:center}.icon-btn-avatar{color:#fff;font-size:1rem;cursor:pointer;transition:color .3s ease;padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }
@@ -136,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
136
137
  type: ViewChild,
137
138
  args: ['fileInput']
138
139
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixZQUFZLEVBRVosS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVl2QixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW1CLFlBQTRCLEVBQ3JDLG1CQUF3QyxFQUN4QyxrQkFBc0M7UUFGN0IsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVN2QyxnQkFBVyxHQUFXLFNBQVMsQ0FBQztRQUNoQyxjQUFTLEdBQVcsU0FBUyxDQUFDO1FBQzlCLFVBQUssR0FBVyxHQUFHLENBQUM7UUFDcEIsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUNyQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM3QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRWpDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFHLEtB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QVcsRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUQsQ0FBQzs4R0FySVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNHBDQ3hCOUIsZytEQTJFQTs7MkZEbkRhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXO3NKQWtCWixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBV2tCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSW1hZ2Vuc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvaW1hZ2Vucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1hZ2VDdXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL2ltYWdlLmN1dHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWF2YXRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgS3ZBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1hZ2VTZXJ2aWNlOiBJbWFnZW5zU2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1hZ2VDdXR0ZXJTZXJ2aWNlOiBJbWFnZUN1dHRlclNlcnZpY2UpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmltYWdlVXJsKCkpXHJcbiAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQodGhpcy5pbWFnZVVybCgpKTtcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgYnRuc0NvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBidG5BbHRlcmFyRm90bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpbWFnZVVybENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVyRm90b0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBJbnB1dCgpIHNpbmdsYU5vbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XHJcbiAgZXhpc3RlTG9nbyA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSW1hZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBpbWFnZVVybCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIGltYWdlU291cmNlID0gc2lnbmFsPHN0cmluZz4odGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpKTtcclxuICBpbWFnZUxvYWRlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmO1xyXG5cclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJyZWdhSW1hZ2VtSW5pY2lhbCgpO1xyXG4gIH1cclxuXHJcbiAgY2FycmVnYUltYWdlbUluaWNpYWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbWFnZVVybCA9IHRoaXMuaW1hZ2VVcmwoKTtcclxuXHJcbiAgICBpZiAoaW1hZ2VVcmwgJiYgKGltYWdlVXJsLnN0YXJ0c1dpdGgoJ2RhdGE6aW1hZ2UnKSB8fCBpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwJykgfHwgaW1hZ2VVcmwuc3RhcnRzV2l0aCgnaHR0cHMnKSkpIHtcclxuICAgICAgdGhpcy5leGlzdGVMb2dvID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoaW1hZ2VVcmwgJiYgaW1hZ2VVcmwubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICB0aGlzLmltYWdlU291cmNlLnNldCgnZGF0YTppbWFnZS9qcGc7YmFzZTY0LCcgKyBpbWFnZVVybCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmV4aXN0ZUxvZ28gPSBmYWxzZTtcclxuICAgICAgLy8gdGhpcy5pbWFnZVNvdXJjZS5zZXQodGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgdGhpcy5pbWFnZUxvYWRlZC5zZXQodHJ1ZSlcclxuICB9XHJcblxyXG5cclxuICBvcGVuRmlsZSgpIHtcclxuICAgIGNvbnN0IGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm90b0VzY29saGlkYScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBpZiAoaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgIGlucHV0RWxlbWVudC5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlSW1hZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICAgIGlmIChmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuXHJcbiAgICAgIGlmICh0aGlzLmJ0bkFsdGVyYXJGb3RvID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG5cclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmltYWdlQ3V0dGVyU2VydmljZS5jdXQoXHJcbiAgICAgICAgICAgICAgcmVhZGVyLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJyxcclxuICAgICAgICAgICAgICB0aGlzLndpZHRoLFxyXG4gICAgICAgICAgICAgIHRoaXMuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlU291cmNlLnNldChyZXN1bHQpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSByZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VVcmxDaGFuZ2UuZW1pdCh0aGlzLmltYWdlU291cmNlKCkpO1xyXG5cclxuXHJcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAvL3RoaXMucmVtb3ZlckZvdG8oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyA/ISBDb21wb3J0YW1uZXRvIHBhZHLDo28gLS0+IFByZXNlcnZhciA8LS0gISEhXHJcbiAgICAgICAgdGhpcy5maWxlID0gZmlsZTtcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQocmVhZGVyLnJlc3VsdCEgKyAnJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKCdBcGVuYXMgYXJxdWl2b3MgZGUgaW1hZ2VtIHPDo28gcGVybWl0aWRvcy4nKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBxdWVzdGlvblJlbW92ZXJGb3RvKCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnF1ZXN0aW9uKHtcclxuICAgICAgdHlwZTogJ3F1ZXN0aW9uJyxcclxuICAgICAgbWVzc2FnZTogJ1ZvY8OqIHRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgcmV0aXJhciBhIGZvdG8gZGVzc2UgdXN1w6FyaW8/JyxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVyRm90bygpXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZXJGb3RvKCkge1xyXG4gICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQoJycpXHJcbiAgICB0aGlzLnJlbW92ZXJGb3RvRXZlbnQuZW1pdCgpO1xyXG4gICAgdGhpcy5leGlzdGVMb2dvID0gZmFsc2U7XHJcbiAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICB9XHJcblxyXG4gIGhhbmRsZUltYWdlRXJyb3IoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbWFnZUxvYWRlZC5zZXQodHJ1ZSlcclxuICAgIGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmltYWdlU2VydmljZS51c2VyRGVmYXVsdEltYWdlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIlxyXG4gIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxyXG4+XHJcbiAgQGlmKGV4aXN0ZUxvZ28pIHtcclxuICA8aW1nXHJcbiAgICBbc3JjXT1cImltYWdlU291cmNlKClcIlxyXG4gICAgKGxvYWQpPVwib25JbWFnZUxvYWQoKVwiXHJcbiAgICAoZXJyb3IpPVwiaGFuZGxlSW1hZ2VFcnJvcigkZXZlbnQpXCJcclxuICAgIGFsdD1cIkZvdG9cIlxyXG4gICAgY2xhc3M9XCJjb250YWluZXItZm90b1wiXHJcbiAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImJvcmRlckNvbG9yXCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXHJcbiAgLz5cclxuICB9IEBlbHNlIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1mb3RvXCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXHJcbiAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImJvcmRlckNvbG9yXCJcclxuICA+XHJcbiAgICBAaWYoIXNpbmdsYU5vbWUpIHtcclxuICAgIDxzcGFuXHJcbiAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXHJcbiAgICAgIFtzdHlsZS5mb250U2l6ZS5yZW1dPVwiaGVpZ2h0ICogMC4wMzVcIlxyXG4gICAgPlxyXG4gICAgICBwZXJzb25cclxuICAgIDwvc3Bhbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPHNwYW4gW3N0eWxlLmZvbnRTaXplLnJlbV09XCJoZWlnaHQgKiAwLjAyNVwiIGNsYXNzPVwidGV4dC13aGl0ZVwiPnt7c2luZ2xhTm9tZX19PC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgPGRpdiBjbGFzcz1cImJ0blwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNmaWxlSW5wdXRcclxuICAgICAgKm5nSWY9XCJidG5BbHRlcmFyRm90b1wiXHJcbiAgICAgIGlkPVwiZm90b0VzY29saGlkYVwiXHJcbiAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXHJcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXHJcbiAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW1hZ2UoJGFueSgkZXZlbnQpKVwiXHJcbiAgICAvPlxyXG5cclxuICAgIEBpZihidG5BbHRlcmFyRm90byAmJiAhZXhpc3RlTG9nbykge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImJ0bi1hdmF0YXJcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJidG5zQ29sb3JcIlxyXG4gICAgICAoY2xpY2spPVwib3BlbkZpbGUoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWJ0bi1hdmF0YXJcIlxyXG4gICAgICAgID5waG90b19jYW1lcmE8L3NwYW5cclxuICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZihidG5BbHRlcmFyRm90byAmJiBleGlzdGVMb2dvKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYnRuLWF2YXRhclwiXHJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJ0bnNDb2xvclwiXHJcbiAgICAgIChjbGljayk9XCJxdWVzdGlvblJlbW92ZXJGb3RvKClcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1idG4tYXZhdGFyXCI+ZGVsZXRlPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZ3gtbG9hZGluZ1xyXG4gICAgW3Nob3ddPVwiIWltYWdlTG9hZGVkKCkgJiYgZXhpc3RlTG9nb1wiXHJcbiAgICBmdWxsXHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1mb3RvXCJcclxuICAgIFtjb25maWddPVwieyBiYWNrZHJvcEJvcmRlclJhZGl1czogJzEwMCUnLCBmdWxsU2NyZWVuQmFja2Ryb3A6IGZhbHNlIH1cIlxyXG4gID48L25neC1sb2FkaW5nPlxyXG48L2Rpdj5cclxuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixZQUFZLEVBRVosS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVl2QixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW1CLFlBQTRCLEVBQ3JDLG1CQUF3QyxFQUN4QyxrQkFBc0M7UUFGN0IsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVN2QyxnQkFBVyxHQUFXLFNBQVMsQ0FBQztRQUNoQyxjQUFTLEdBQVcsU0FBUyxDQUFDO1FBQzlCLFVBQUssR0FBVyxHQUFHLENBQUM7UUFDcEIsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUNyQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM3QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRWpDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFHLEtB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QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQiwyREFBMkQ7SUFDN0QsQ0FBQzs4R0F0SVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNHBDQ3hCOUIsZytEQTJFQTs7MkZEbkRhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXO3NKQWtCWixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBV2tCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSW1hZ2Vuc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvaW1hZ2Vucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1hZ2VDdXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL2ltYWdlLmN1dHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWF2YXRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgS3ZBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1hZ2VTZXJ2aWNlOiBJbWFnZW5zU2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1hZ2VDdXR0ZXJTZXJ2aWNlOiBJbWFnZUN1dHRlclNlcnZpY2UpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmltYWdlVXJsKCkpXHJcbiAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQodGhpcy5pbWFnZVVybCgpKTtcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgYnRuc0NvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBidG5BbHRlcmFyRm90bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpbWFnZVVybENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVyRm90b0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBJbnB1dCgpIHNpbmdsYU5vbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XHJcbiAgZXhpc3RlTG9nbyA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSW1hZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBpbWFnZVVybCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIGltYWdlU291cmNlID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG4gIGltYWdlTG9hZGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY7XHJcblxyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhcnJlZ2FJbWFnZW1JbmljaWFsKCk7XHJcbiAgfVxyXG5cclxuICBjYXJyZWdhSW1hZ2VtSW5pY2lhbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGltYWdlVXJsID0gdGhpcy5pbWFnZVVybCgpO1xyXG5cclxuICAgIGlmIChpbWFnZVVybCAmJiAoaW1hZ2VVcmwuc3RhcnRzV2l0aCgnZGF0YTppbWFnZScpIHx8IGltYWdlVXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwcycpKSkge1xyXG4gICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICB0aGlzLmltYWdlU291cmNlLnNldChpbWFnZVVybCk7XHJcbiAgICB9IGVsc2UgaWYgKGltYWdlVXJsICYmIGltYWdlVXJsLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5leGlzdGVMb2dvID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQoJ2RhdGE6aW1hZ2UvanBnO2Jhc2U2NCwnICsgaW1hZ2VVcmwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5leGlzdGVMb2dvID0gZmFsc2U7XHJcbiAgICAgIC8vIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KHRoaXMuaW1hZ2VTZXJ2aWNlLnVzZXJEZWZhdWx0SW1hZ2UoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkltYWdlTG9hZCgpIHtcclxuICAgIHRoaXMuaW1hZ2VMb2FkZWQuc2V0KHRydWUpXHJcbiAgfVxyXG5cclxuXHJcbiAgb3BlbkZpbGUoKSB7XHJcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvdG9Fc2NvbGhpZGEnKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKGlucHV0RWxlbWVudCkge1xyXG4gICAgICBpbnB1dEVsZW1lbnQuY2xpY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZUltYWdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XHJcbiAgICBpZiAoZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5idG5BbHRlcmFyRm90byA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5maWxlID0gZmlsZTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICByZWFkZXIub25sb2FkID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5pbWFnZUN1dHRlclNlcnZpY2UuY3V0KFxyXG4gICAgICAgICAgICAgIHJlYWRlci5yZXN1bHQ/LnRvU3RyaW5nKCkgPz8gJycsXHJcbiAgICAgICAgICAgICAgdGhpcy53aWR0aCxcclxuICAgICAgICAgICAgICB0aGlzLmhlaWdodCxcclxuICAgICAgICAgICAgICB0cnVlLFxyXG4gICAgICAgICAgICAgIHRydWVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5leGlzdGVMb2dvID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQocmVzdWx0KTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEltYWdlID0gcmVzdWx0O1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuXHJcblxyXG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgLy90aGlzLnJlbW92ZXJGb3RvKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gPyEgQ29tcG9ydGFtbmV0byBwYWRyw6NvIC0tPiBQcmVzZXJ2YXIgPC0tICEhIVxyXG4gICAgICAgIHRoaXMuZmlsZSA9IGZpbGU7XHJcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KHJlYWRlci5yZXN1bHQhICsgJycpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgdGhpcy5pbWFnZVVybENoYW5nZS5lbWl0KHRoaXMuaW1hZ2VTb3VyY2UoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcignQXBlbmFzIGFycXVpdm9zIGRlIGltYWdlbSBzw6NvIHBlcm1pdGlkb3MuJylcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgcXVlc3Rpb25SZW1vdmVyRm90bygpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5xdWVzdGlvbih7XHJcbiAgICAgIHR5cGU6ICdxdWVzdGlvbicsXHJcbiAgICAgIG1lc3NhZ2U6ICdWb2PDqiB0ZW0gY2VydGV6YSBxdWUgZGVzZWphIHJldGlyYXIgYSBmb3RvIGRlc3NlIHVzdcOhcmlvPycsXHJcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlckZvdG8oKVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVyRm90bygpIHtcclxuICAgIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KCcnKVxyXG4gICAgdGhpcy5yZW1vdmVyRm90b0V2ZW50LmVtaXQoKTtcclxuICAgIHRoaXMuZXhpc3RlTG9nbyA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbWFnZVVybENoYW5nZS5lbWl0KHRoaXMuaW1hZ2VTb3VyY2UoKSk7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJbWFnZUVycm9yKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuaW1hZ2VMb2FkZWQuc2V0KHRydWUpXHJcbiAgICAvLyBldmVudC50YXJnZXQuc3JjID0gdGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiaW1hZ2UtY29udGFpbmVyXCJcclxuICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxyXG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcclxuPlxyXG4gIEBpZihleGlzdGVMb2dvKSB7XHJcbiAgPGltZ1xyXG4gICAgW3NyY109XCJpbWFnZVNvdXJjZSgpXCJcclxuICAgIChsb2FkKT1cIm9uSW1hZ2VMb2FkKClcIlxyXG4gICAgKGVycm9yKT1cImhhbmRsZUltYWdlRXJyb3IoJGV2ZW50KVwiXHJcbiAgICBhbHQ9XCJGb3RvXCJcclxuICAgIGNsYXNzPVwiY29udGFpbmVyLWZvdG9cIlxyXG4gICAgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJib3JkZXJDb2xvclwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxyXG4gIC8+XHJcbiAgfSBAZWxzZSB7XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb250YWluZXItZm90b1wiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxyXG4gICAgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJib3JkZXJDb2xvclwiXHJcbiAgPlxyXG4gICAgQGlmKCFzaW5nbGFOb21lKSB7XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIlxyXG4gICAgICBbc3R5bGUuZm9udFNpemUucmVtXT1cImhlaWdodCAqIDAuMDM1XCJcclxuICAgID5cclxuICAgICAgcGVyc29uXHJcbiAgICA8L3NwYW4+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxzcGFuIFtzdHlsZS5mb250U2l6ZS5yZW1dPVwiaGVpZ2h0ICogMC4wMjVcIiBjbGFzcz1cInRleHQtd2hpdGVcIj57e3NpbmdsYU5vbWV9fTwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICB9XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJidG5cIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjZmlsZUlucHV0XHJcbiAgICAgICpuZ0lmPVwiYnRuQWx0ZXJhckZvdG9cIlxyXG4gICAgICBpZD1cImZvdG9Fc2NvbGhpZGFcIlxyXG4gICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgIGFjY2VwdD1cImltYWdlLypcIlxyXG4gICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxyXG4gICAgICAoY2hhbmdlKT1cImNoYW5nZUltYWdlKCRhbnkoJGV2ZW50KSlcIlxyXG4gICAgLz5cclxuXHJcbiAgICBAaWYoYnRuQWx0ZXJhckZvdG8gJiYgIWV4aXN0ZUxvZ28pIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJidG4tYXZhdGFyXCJcclxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYnRuc0NvbG9yXCJcclxuICAgICAgKGNsaWNrKT1cIm9wZW5GaWxlKClcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1idG4tYXZhdGFyXCJcclxuICAgICAgICA+cGhvdG9fY2FtZXJhPC9zcGFuXHJcbiAgICAgID5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAaWYoYnRuQWx0ZXJhckZvdG8gJiYgZXhpc3RlTG9nbykge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImJ0bi1hdmF0YXJcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJidG5zQ29sb3JcIlxyXG4gICAgICAoY2xpY2spPVwicXVlc3Rpb25SZW1vdmVyRm90bygpXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tYnRuLWF2YXRhclwiPmRlbGV0ZTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmd4LWxvYWRpbmdcclxuICAgIFtzaG93XT1cIiFpbWFnZUxvYWRlZCgpICYmIGV4aXN0ZUxvZ29cIlxyXG4gICAgZnVsbFxyXG4gICAgY2xhc3M9XCJjb250YWluZXItZm90b1wiXHJcbiAgICBbY29uZmlnXT1cInsgYmFja2Ryb3BCb3JkZXJSYWRpdXM6ICcxMDAlJywgZnVsbFNjcmVlbkJhY2tkcm9wOiBmYWxzZSB9XCJcclxuICA+PC9uZ3gtbG9hZGluZz5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -4528,7 +4528,7 @@ class KvAvatarComponent {
4528
4528
  this.existeLogo = false;
4529
4529
  this.selectedImage = '';
4530
4530
  this.imageUrl = input('');
4531
- this.imageSource = signal(this.imageService.userDefaultImage());
4531
+ this.imageSource = signal('');
4532
4532
  this.imageLoaded = signal(false);
4533
4533
  effect(() => {
4534
4534
  if (this.imageUrl())
@@ -4542,6 +4542,7 @@ class KvAvatarComponent {
4542
4542
  const imageUrl = this.imageUrl();
4543
4543
  if (imageUrl && (imageUrl.startsWith('data:image') || imageUrl.startsWith('http') || imageUrl.startsWith('https'))) {
4544
4544
  this.existeLogo = true;
4545
+ this.imageSource.set(imageUrl);
4545
4546
  }
4546
4547
  else if (imageUrl && imageUrl.length > 0) {
4547
4548
  this.existeLogo = true;
@@ -4614,7 +4615,7 @@ class KvAvatarComponent {
4614
4615
  }
4615
4616
  handleImageError(event) {
4616
4617
  this.imageLoaded.set(true);
4617
- event.target.src = this.imageService.userDefaultImage();
4618
+ // event.target.src = this.imageService.userDefaultImage();
4618
4619
  }
4619
4620
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvAvatarComponent, deps: [{ token: ImagensService }, { token: NotificationService }, { token: ImageCutterService }], target: i0.ɵɵFactoryTarget.Component }); }
4620
4621
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvAvatarComponent, selector: "kv-avatar", inputs: { borderColor: { classPropertyName: "borderColor", publicName: "borderColor", isSignal: false, isRequired: false, transformFunction: null }, btnsColor: { classPropertyName: "btnsColor", publicName: "btnsColor", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: false, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, btnAlterarFoto: { classPropertyName: "btnAlterarFoto", publicName: "btnAlterarFoto", isSignal: false, isRequired: false, transformFunction: null }, singlaNome: { classPropertyName: "singlaNome", publicName: "singlaNome", isSignal: false, isRequired: false, transformFunction: null }, imageUrl: { classPropertyName: "imageUrl", publicName: "imageUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imageUrlChange: "imageUrlChange", removerFotoEvent: "removerFotoEvent" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"image-container\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n>\r\n @if(existeLogo) {\r\n <img\r\n [src]=\"imageSource()\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"handleImageError($event)\"\r\n alt=\"Foto\"\r\n class=\"container-foto\"\r\n [style.border-color]=\"borderColor\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n />\r\n } @else {\r\n <div\r\n class=\"container-foto\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n [style.border-color]=\"borderColor\"\r\n >\r\n @if(!singlaNome) {\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.fontSize.rem]=\"height * 0.035\"\r\n >\r\n person\r\n </span>\r\n } @else {\r\n <span [style.fontSize.rem]=\"height * 0.025\" class=\"text-white\">{{singlaNome}}</span>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"btn\">\r\n <input\r\n #fileInput\r\n *ngIf=\"btnAlterarFoto\"\r\n id=\"fotoEscolhida\"\r\n type=\"file\"\r\n accept=\"image/*\"\r\n style=\"display: none\"\r\n (change)=\"changeImage($any($event))\"\r\n />\r\n\r\n @if(btnAlterarFoto && !existeLogo) {\r\n <div\r\n class=\"btn-avatar\"\r\n [style.background-color]=\"btnsColor\"\r\n (click)=\"openFile()\"\r\n >\r\n <span class=\"material-symbols-outlined icon-btn-avatar\"\r\n >photo_camera</span\r\n >\r\n </div>\r\n } @if(btnAlterarFoto && existeLogo) {\r\n <div\r\n class=\"btn-avatar\"\r\n [style.background-color]=\"btnsColor\"\r\n (click)=\"questionRemoverFoto()\"\r\n >\r\n <span class=\"material-symbols-outlined icon-btn-avatar\">delete</span>\r\n </div>\r\n }\r\n </div>\r\n\r\n <ngx-loading\r\n [show]=\"!imageLoaded() && existeLogo\"\r\n full\r\n class=\"container-foto\"\r\n [config]=\"{ backdropBorderRadius: '100%', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.btn-avatar{background:linear-gradient(135deg,#4a5568,#718096);font-weight:500;cursor:pointer;border-radius:50%;color:#e9eef3;padding:0;border:none;transition:all .25s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.btn-avatar:before{content:\"\";position:absolute;inset:0;background:#fff0;transition:background .25s cubic-bezier(.25,.46,.45,.94);border-radius:50%}.btn-avatar:hover:before{background:#ffffff14}.btn-avatar:active{transition:all .1s cubic-bezier(.25,.46,.45,.94)}.btn-avatar:active:before{background:#ffffff1f}span,.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal{display:block;position:absolute;z-index:9999;left:0;top:0;width:100vw;height:100vh;overflow:auto;background-color:#0006}.modal-content{background-color:#fefefe;margin:1% auto;padding:20px;border:1px solid #888;width:80%;max-width:fit-content;text-align:center;border-radius:12px}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px}.container-foto{background:linear-gradient(135deg,#4a5568,#718096);border-radius:50%;display:flex;justify-content:center;align-items:center}.icon-btn-avatar{color:#fff;font-size:1rem;cursor:pointer;transition:color .3s ease;padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$5.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }