keevo-components 2.0.60 → 2.0.62
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.
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +6 -3
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +11 -8
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +6 -4
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +30 -0
- package/fesm2022/keevo-components.mjs +46 -12
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-avatar/kv-avatar.component.d.ts +2 -1
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
- package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +7 -4
- package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +3 -2
- package/lib/components/kv-filter-cards/kv-filter-cards.pipe.d.ts +7 -0
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ export class KvAvatarComponent {
|
|
|
17
17
|
this.btnAlterarFoto = false;
|
|
18
18
|
this.imageUrlChange = new EventEmitter();
|
|
19
19
|
this.removerFotoEvent = new EventEmitter();
|
|
20
|
+
this.singlaNome = '';
|
|
20
21
|
this.file = null;
|
|
21
22
|
this.existeLogo = false;
|
|
22
23
|
this.selectedImage = '';
|
|
@@ -110,11 +111,11 @@ export class KvAvatarComponent {
|
|
|
110
111
|
event.target.src = this.imageService.userDefaultImage();
|
|
111
112
|
}
|
|
112
113
|
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 }); }
|
|
113
|
-
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 }, 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 <span class=\"material-symbols-outlined text-7xl\"> person </span>\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 } \r\n \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\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"] }] }); }
|
|
114
|
+
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"] }] }); }
|
|
114
115
|
}
|
|
115
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvAvatarComponent, decorators: [{
|
|
116
117
|
type: Component,
|
|
117
|
-
args: [{ selector: 'kv-avatar', 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 <span
|
|
118
|
+
args: [{ selector: 'kv-avatar', 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"] }]
|
|
118
119
|
}], ctorParameters: () => [{ type: i1.ImagensService }, { type: i2.NotificationService }, { type: i3.ImageCutterService }], propDecorators: { borderColor: [{
|
|
119
120
|
type: Input
|
|
120
121
|
}], btnsColor: [{
|
|
@@ -129,8 +130,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
129
130
|
type: Output
|
|
130
131
|
}], removerFotoEvent: [{
|
|
131
132
|
type: Output
|
|
133
|
+
}], singlaNome: [{
|
|
134
|
+
type: Input
|
|
132
135
|
}], fileInput: [{
|
|
133
136
|
type: ViewChild,
|
|
134
137
|
args: ['fileInput']
|
|
135
138
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixZQUFZLEVBRVosS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVl2QixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW1CLFlBQTRCLEVBQ3JDLG1CQUF3QyxFQUN4QyxrQkFBc0M7UUFGN0IsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVN2QyxnQkFBVyxHQUFXLFNBQVMsQ0FBQztRQUNoQyxjQUFTLEdBQVcsU0FBUyxDQUFDO1FBQzlCLFVBQUssR0FBVyxHQUFHLENBQUM7UUFDcEIsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUNyQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RCxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN6QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRTNCLGFBQVEsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFD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QUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFELENBQUM7OEdBcElVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9oQ0N4QjlCLHV4REFxRUE7OzJGRDdDYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsV0FBVztzSkFrQlosV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFXaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgZWZmZWN0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJbWFnZW5zU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9pbWFnZW5zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWFnZUN1dHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvaW1hZ2UuY3V0dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtYXZhdGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9rdi1hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBLdkF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbWFnZVNlcnZpY2U6IEltYWdlbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbWFnZUN1dHRlclNlcnZpY2U6IEltYWdlQ3V0dGVyU2VydmljZSkge1xyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaW1hZ2VVcmwoKSlcclxuICAgICAgICB0aGlzLmltYWdlU291cmNlLnNldCh0aGlzLmltYWdlVXJsKCkpO1xyXG5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgYm9yZGVyQ29sb3I6IHN0cmluZyA9ICcjMDAyNTQyJztcclxuICBASW5wdXQoKSBidG5zQ29sb3I6IHN0cmluZyA9ICcjMDAyNTQyJztcclxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyID0gMTM1O1xyXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyID0gMTM1O1xyXG4gIEBJbnB1dCgpIGJ0bkFsdGVyYXJGb3RvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGltYWdlVXJsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHJlbW92ZXJGb3RvRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGZpbGU6IEZpbGUgfCBudWxsID0gbnVsbDtcclxuICBleGlzdGVMb2dvID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRJbWFnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIGltYWdlVXJsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcbiAgaW1hZ2VTb3VyY2UgPSBzaWduYWw8c3RyaW5nPih0aGlzLmltYWdlU2VydmljZS51c2VyRGVmYXVsdEltYWdlKCkpO1xyXG4gIGltYWdlTG9hZGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY7XHJcblxyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhcnJlZ2FJbWFnZW1JbmljaWFsKCk7XHJcbiAgfVxyXG5cclxuICBjYXJyZWdhSW1hZ2VtSW5pY2lhbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGltYWdlVXJsID0gdGhpcy5pbWFnZVVybCgpO1xyXG5cclxuICAgIGlmIChpbWFnZVVybCAmJiAoaW1hZ2VVcmwuc3RhcnRzV2l0aCgnZGF0YTppbWFnZScpIHx8IGltYWdlVXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwcycpKSkge1xyXG4gICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChpbWFnZVVybCAmJiBpbWFnZVVybC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZXhpc3RlTG9nbyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KCdkYXRhOmltYWdlL2pwZztiYXNlNjQsJyArIGltYWdlVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZXhpc3RlTG9nbyA9IGZhbHNlO1xyXG4gICAgICAvLyB0aGlzLmltYWdlU291cmNlLnNldCh0aGlzLmltYWdlU2VydmljZS51c2VyRGVmYXVsdEltYWdlKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbWFnZUxvYWQoKSB7XHJcbiAgICB0aGlzLmltYWdlTG9hZGVkLnNldCh0cnVlKVxyXG4gIH1cclxuXHJcblxyXG4gIG9wZW5GaWxlKCkge1xyXG4gICAgY29uc3QgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3RvRXNjb2xoaWRhJykgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGlmIChpbnB1dEVsZW1lbnQpIHtcclxuICAgICAgaW5wdXRFbGVtZW50LmNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VJbWFnZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xyXG4gICAgaWYgKGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xyXG5cclxuICAgICAgaWYgKHRoaXMuYnRuQWx0ZXJhckZvdG8gPT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuZmlsZSA9IGZpbGU7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaW1hZ2VDdXR0ZXJTZXJ2aWNlLmN1dChcclxuICAgICAgICAgICAgICByZWFkZXIucmVzdWx0Py50b1N0cmluZygpID8/ICcnLFxyXG4gICAgICAgICAgICAgIHRoaXMud2lkdGgsXHJcbiAgICAgICAgICAgICAgdGhpcy5oZWlnaHQsXHJcbiAgICAgICAgICAgICAgdHJ1ZSxcclxuICAgICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuZXhpc3RlTG9nbyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KHJlc3VsdCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZSA9IHJlc3VsdDtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybENoYW5nZS5lbWl0KHRoaXMuaW1hZ2VTb3VyY2UoKSk7XHJcblxyXG5cclxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIC8vdGhpcy5yZW1vdmVyRm90bygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vID8hIENvbXBvcnRhbW5ldG8gcGFkcsOjbyAtLT4gUHJlc2VydmFyIDwtLSAhISFcclxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmltYWdlU291cmNlLnNldChyZWFkZXIucmVzdWx0ISArICcnKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VVcmxDaGFuZ2UuZW1pdCh0aGlzLmltYWdlU291cmNlKCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoJ0FwZW5hcyBhcnF1aXZvcyBkZSBpbWFnZW0gc8OjbyBwZXJtaXRpZG9zLicpXHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIHF1ZXN0aW9uUmVtb3ZlckZvdG8oKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucXVlc3Rpb24oe1xyXG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxyXG4gICAgICBtZXNzYWdlOiAnVm9jw6ogdGVtIGNlcnRlemEgcXVlIGRlc2VqYSByZXRpcmFyIGEgZm90byBkZXNzZSB1c3XDoXJpbz8nLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbW92ZXJGb3RvKClcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlckZvdG8oKSB7XHJcbiAgICB0aGlzLmltYWdlU291cmNlLnNldCgnJylcclxuICAgIHRoaXMucmVtb3ZlckZvdG9FdmVudC5lbWl0KCk7XHJcbiAgICB0aGlzLmV4aXN0ZUxvZ28gPSBmYWxzZTtcclxuICAgIHRoaXMuaW1hZ2VVcmxDaGFuZ2UuZW1pdCh0aGlzLmltYWdlU291cmNlKCkpO1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSW1hZ2VFcnJvcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmltYWdlTG9hZGVkLnNldCh0cnVlKVxyXG4gICAgZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuaW1hZ2VTZXJ2aWNlLnVzZXJEZWZhdWx0SW1hZ2UoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiXHJcbiAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXHJcbj5cclxuICBAaWYoZXhpc3RlTG9nbykge1xyXG4gIDxpbWdcclxuICAgIFtzcmNdPVwiaW1hZ2VTb3VyY2UoKVwiXHJcbiAgICAobG9hZCk9XCJvbkltYWdlTG9hZCgpXCJcclxuICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudClcIlxyXG4gICAgYWx0PVwiRm90b1wiXHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1mb3RvXCJcclxuICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiYm9yZGVyQ29sb3JcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcclxuICAvPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29udGFpbmVyLWZvdG9cIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcclxuICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiYm9yZGVyQ29sb3JcIlxyXG4gID5cclxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LTd4bFwiPiBwZXJzb24gPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgPGRpdiBjbGFzcz1cImJ0blwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNmaWxlSW5wdXRcclxuICAgICAgKm5nSWY9XCJidG5BbHRlcmFyRm90b1wiXHJcbiAgICAgIGlkPVwiZm90b0VzY29saGlkYVwiXHJcbiAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXHJcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXHJcbiAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW1hZ2UoJGFueSgkZXZlbnQpKVwiXHJcbiAgICAvPlxyXG5cclxuICAgIEBpZihidG5BbHRlcmFyRm90byAmJiAhZXhpc3RlTG9nbykge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImJ0bi1hdmF0YXJcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJidG5zQ29sb3JcIlxyXG4gICAgICAoY2xpY2spPVwib3BlbkZpbGUoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWJ0bi1hdmF0YXJcIlxyXG4gICAgICAgID5waG90b19jYW1lcmE8L3NwYW5cclxuICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IFxyXG4gICAgXHJcbiAgICBAaWYoYnRuQWx0ZXJhckZvdG8gJiYgZXhpc3RlTG9nbykge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImJ0bi1hdmF0YXJcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJidG5zQ29sb3JcIlxyXG4gICAgICAoY2xpY2spPVwicXVlc3Rpb25SZW1vdmVyRm90bygpXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tYnRuLWF2YXRhclwiPmRlbGV0ZTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5neC1sb2FkaW5nXHJcbiAgICBbc2hvd109XCIhaW1hZ2VMb2FkZWQoKSAmJiBleGlzdGVMb2dvXCJcclxuICAgIGZ1bGxcclxuICAgIGNsYXNzPVwiY29udGFpbmVyLWZvdG9cIlxyXG4gICAgW2NvbmZpZ109XCJ7IGJhY2tkcm9wQm9yZGVyUmFkaXVzOiAnMTAwJScsIGZ1bGxTY3JlZW5CYWNrZHJvcDogZmFsc2UgfVwiXHJcbiAgPjwvbmd4LWxvYWRpbmc+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixZQUFZLEVBRVosS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVl2QixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW1CLFlBQTRCLEVBQ3JDLG1CQUF3QyxFQUN4QyxrQkFBc0M7UUFGN0IsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVN2QyxnQkFBVyxHQUFXLFNBQVMsQ0FBQztRQUNoQyxjQUFTLEdBQVcsU0FBUyxDQUFDO1FBQzlCLFVBQUssR0FBVyxHQUFHLENBQUM7UUFDcEIsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUNyQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM3QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRWpDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFHLEtB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QVcsRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUQsQ0FBQzs4R0FySVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNHBDQ3hCOUIsZytEQTJFQTs7MkZEbkRhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXO3NKQWtCWixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBV2tCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSW1hZ2Vuc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvaW1hZ2Vucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1hZ2VDdXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL2ltYWdlLmN1dHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWF2YXRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgS3ZBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1hZ2VTZXJ2aWNlOiBJbWFnZW5zU2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1hZ2VDdXR0ZXJTZXJ2aWNlOiBJbWFnZUN1dHRlclNlcnZpY2UpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmltYWdlVXJsKCkpXHJcbiAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQodGhpcy5pbWFnZVVybCgpKTtcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgYnRuc0NvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBidG5BbHRlcmFyRm90bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpbWFnZVVybENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVyRm90b0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBJbnB1dCgpIHNpbmdsYU5vbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XHJcbiAgZXhpc3RlTG9nbyA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSW1hZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBpbWFnZVVybCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIGltYWdlU291cmNlID0gc2lnbmFsPHN0cmluZz4odGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpKTtcclxuICBpbWFnZUxvYWRlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmO1xyXG5cclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJyZWdhSW1hZ2VtSW5pY2lhbCgpO1xyXG4gIH1cclxuXHJcbiAgY2FycmVnYUltYWdlbUluaWNpYWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbWFnZVVybCA9IHRoaXMuaW1hZ2VVcmwoKTtcclxuXHJcbiAgICBpZiAoaW1hZ2VVcmwgJiYgKGltYWdlVXJsLnN0YXJ0c1dpdGgoJ2RhdGE6aW1hZ2UnKSB8fCBpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwJykgfHwgaW1hZ2VVcmwuc3RhcnRzV2l0aCgnaHR0cHMnKSkpIHtcclxuICAgICAgdGhpcy5leGlzdGVMb2dvID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoaW1hZ2VVcmwgJiYgaW1hZ2VVcmwubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICB0aGlzLmltYWdlU291cmNlLnNldCgnZGF0YTppbWFnZS9qcGc7YmFzZTY0LCcgKyBpbWFnZVVybCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmV4aXN0ZUxvZ28gPSBmYWxzZTtcclxuICAgICAgLy8gdGhpcy5pbWFnZVNvdXJjZS5zZXQodGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgdGhpcy5pbWFnZUxvYWRlZC5zZXQodHJ1ZSlcclxuICB9XHJcblxyXG5cclxuICBvcGVuRmlsZSgpIHtcclxuICAgIGNvbnN0IGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm90b0VzY29saGlkYScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBpZiAoaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgIGlucHV0RWxlbWVudC5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlSW1hZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICAgIGlmIChmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuXHJcbiAgICAgIGlmICh0aGlzLmJ0bkFsdGVyYXJGb3RvID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG5cclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmltYWdlQ3V0dGVyU2VydmljZS5jdXQoXHJcbiAgICAgICAgICAgICAgcmVhZGVyLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJyxcclxuICAgICAgICAgICAgICB0aGlzLndpZHRoLFxyXG4gICAgICAgICAgICAgIHRoaXMuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlU291cmNlLnNldChyZXN1bHQpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSByZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VVcmxDaGFuZ2UuZW1pdCh0aGlzLmltYWdlU291cmNlKCkpO1xyXG5cclxuXHJcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAvL3RoaXMucmVtb3ZlckZvdG8oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyA/ISBDb21wb3J0YW1uZXRvIHBhZHLDo28gLS0+IFByZXNlcnZhciA8LS0gISEhXHJcbiAgICAgICAgdGhpcy5maWxlID0gZmlsZTtcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQocmVhZGVyLnJlc3VsdCEgKyAnJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKCdBcGVuYXMgYXJxdWl2b3MgZGUgaW1hZ2VtIHPDo28gcGVybWl0aWRvcy4nKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBxdWVzdGlvblJlbW92ZXJGb3RvKCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnF1ZXN0aW9uKHtcclxuICAgICAgdHlwZTogJ3F1ZXN0aW9uJyxcclxuICAgICAgbWVzc2FnZTogJ1ZvY8OqIHRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgcmV0aXJhciBhIGZvdG8gZGVzc2UgdXN1w6FyaW8/JyxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVyRm90bygpXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZXJGb3RvKCkge1xyXG4gICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQoJycpXHJcbiAgICB0aGlzLnJlbW92ZXJGb3RvRXZlbnQuZW1pdCgpO1xyXG4gICAgdGhpcy5leGlzdGVMb2dvID0gZmFsc2U7XHJcbiAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICB9XHJcblxyXG4gIGhhbmRsZUltYWdlRXJyb3IoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbWFnZUxvYWRlZC5zZXQodHJ1ZSlcclxuICAgIGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmltYWdlU2VydmljZS51c2VyRGVmYXVsdEltYWdlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIlxyXG4gIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxyXG4+XHJcbiAgQGlmKGV4aXN0ZUxvZ28pIHtcclxuICA8aW1nXHJcbiAgICBbc3JjXT1cImltYWdlU291cmNlKClcIlxyXG4gICAgKGxvYWQpPVwib25JbWFnZUxvYWQoKVwiXHJcbiAgICAoZXJyb3IpPVwiaGFuZGxlSW1hZ2VFcnJvcigkZXZlbnQpXCJcclxuICAgIGFsdD1cIkZvdG9cIlxyXG4gICAgY2xhc3M9XCJjb250YWluZXItZm90b1wiXHJcbiAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImJvcmRlckNvbG9yXCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXHJcbiAgLz5cclxuICB9IEBlbHNlIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1mb3RvXCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXHJcbiAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImJvcmRlckNvbG9yXCJcclxuICA+XHJcbiAgICBAaWYoIXNpbmdsYU5vbWUpIHtcclxuICAgIDxzcGFuXHJcbiAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXHJcbiAgICAgIFtzdHlsZS5mb250U2l6ZS5yZW1dPVwiaGVpZ2h0ICogMC4wMzVcIlxyXG4gICAgPlxyXG4gICAgICBwZXJzb25cclxuICAgIDwvc3Bhbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPHNwYW4gW3N0eWxlLmZvbnRTaXplLnJlbV09XCJoZWlnaHQgKiAwLjAyNVwiIGNsYXNzPVwidGV4dC13aGl0ZVwiPnt7c2luZ2xhTm9tZX19PC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgPGRpdiBjbGFzcz1cImJ0blwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNmaWxlSW5wdXRcclxuICAgICAgKm5nSWY9XCJidG5BbHRlcmFyRm90b1wiXHJcbiAgICAgIGlkPVwiZm90b0VzY29saGlkYVwiXHJcbiAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXHJcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXHJcbiAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW1hZ2UoJGFueSgkZXZlbnQpKVwiXHJcbiAgICAvPlxyXG5cclxuICAgIEBpZihidG5BbHRlcmFyRm90byAmJiAhZXhpc3RlTG9nbykge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImJ0bi1hdmF0YXJcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJidG5zQ29sb3JcIlxyXG4gICAgICAoY2xpY2spPVwib3BlbkZpbGUoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWJ0bi1hdmF0YXJcIlxyXG4gICAgICAgID5waG90b19jYW1lcmE8L3NwYW5cclxuICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZihidG5BbHRlcmFyRm90byAmJiBleGlzdGVMb2dvKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYnRuLWF2YXRhclwiXHJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJ0bnNDb2xvclwiXHJcbiAgICAgIChjbGljayk9XCJxdWVzdGlvblJlbW92ZXJGb3RvKClcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1idG4tYXZhdGFyXCI+ZGVsZXRlPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZ3gtbG9hZGluZ1xyXG4gICAgW3Nob3ddPVwiIWltYWdlTG9hZGVkKCkgJiYgZXhpc3RlTG9nb1wiXHJcbiAgICBmdWxsXHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1mb3RvXCJcclxuICAgIFtjb25maWddPVwieyBiYWNrZHJvcEJvcmRlclJhZGl1czogJzEwMCUnLCBmdWxsU2NyZWVuQmFja2Ryb3A6IGZhbHNlIH1cIlxyXG4gID48L25neC1sb2FkaW5nPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, input, model, output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "./kv-filter-cards.pipe";
|
|
4
5
|
export class KvFilterCardsComponent {
|
|
5
6
|
constructor() {
|
|
6
|
-
//
|
|
7
|
+
// Lista de cards de filtro, cada um com um ícone e valor específico
|
|
7
8
|
this.cards = input();
|
|
9
|
+
//Propiedade para armazenar os cards selecionados
|
|
10
|
+
this.selectedCards = model([]);
|
|
11
|
+
this.loadingCards = input(false);
|
|
12
|
+
// Define se os cards devem ser exibidos em uma linha ou coluna
|
|
8
13
|
this.wrapCards = input(false);
|
|
14
|
+
// Define se os cards devem ser centralizados
|
|
9
15
|
this.alignCardsCenter = input(false);
|
|
10
|
-
this.
|
|
16
|
+
this.onCardClick = output();
|
|
11
17
|
this.color = computed(() => (card) => {
|
|
12
18
|
const color = mapaSeverityColors[card.severity];
|
|
13
19
|
return color ? color : mapaSeverityColors.primary;
|
|
@@ -15,9 +21,6 @@ export class KvFilterCardsComponent {
|
|
|
15
21
|
this.mixedColor = computed(() => (card) => {
|
|
16
22
|
return this.getTransparentMix(this.color()(card));
|
|
17
23
|
});
|
|
18
|
-
//Emiiters
|
|
19
|
-
// Emitter para clique no card
|
|
20
|
-
this.onCardClick = output();
|
|
21
24
|
}
|
|
22
25
|
getTransparentMix(baseHex, opacity = 0.3) {
|
|
23
26
|
const r = parseInt(baseHex.slice(1, 3), 16);
|
|
@@ -39,11 +42,11 @@ export class KvFilterCardsComponent {
|
|
|
39
42
|
return this.selectedCards()?.find(c => c.id === card.id) !== undefined;
|
|
40
43
|
}
|
|
41
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterCardsComponent, selector: "kv-filter-cards", inputs: { cards: { classPropertyName: "cards", publicName: "cards", isSignal: true, isRequired: false, transformFunction: null },
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterCardsComponent, selector: "kv-filter-cards", inputs: { cards: { classPropertyName: "cards", publicName: "cards", isSignal: true, isRequired: false, transformFunction: null }, selectedCards: { classPropertyName: "selectedCards", publicName: "selectedCards", isSignal: true, isRequired: false, transformFunction: null }, loadingCards: { classPropertyName: "loadingCards", publicName: "loadingCards", isSignal: true, isRequired: false, transformFunction: null }, wrapCards: { classPropertyName: "wrapCards", publicName: "wrapCards", isSignal: true, isRequired: false, transformFunction: null }, alignCardsCenter: { classPropertyName: "alignCardsCenter", publicName: "alignCardsCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedCards: "selectedCardsChange", onCardClick: "onCardClick" }, ngImport: i0, template: "\r\n<div\r\n id=\"filter-card-container\"\r\n class=\"flex flex-row w-full justify-content-between\"\r\n>\r\n <div \r\n class=\"flex p-fluid formgrid w-full gap-1 px-3 py-1\"\r\n [ngClass]=\"[\r\n wrapCards() ? 'flex-wrap' : 'flex-nowrap overflow-x-auto',\r\n alignCardsCenter() ? 'justify-content-center' : 'justify-content-start' \r\n ]\"\r\n #filterCardsContainer\r\n >\r\n @for (card of cards(); track card.id) {\r\n <div \r\n (click)=\"handleCardClick(card)\"\r\n [style.--main-color]=\"color()(card)\" \r\n [style.--mixed-color]=\"mixedColor()(card)\" \r\n class=\"filter-card\"\r\n [ngClass]=\"[\r\n 'filter-card-size',\r\n verificarSeCardEstaSelecionado(card) ? 'filter-card-active' : 'clickable'\r\n ]\"\r\n >\r\n <div class=\"filter-card-content\">\r\n <div class=\"filter-card-title\">\r\n\r\n @if (card.icon) {\r\n\r\n <div class=\"hex-icon-svg\">\r\n <svg style=\"overflow: visible;\" viewBox=\"0 0 100 100\" class=\"hex-bg\">\r\n <polygon\r\n [attr.fill]=\"!selectedCards()?.includes(card) ? 'color-mix(in srgb, var(--mixed-color) 20%, white 80%)' : 'var(--main-color)'\"\r\n points=\"93.3 75,50 100,6.7 75,6.7 25,50 0,93.3 25\" stroke=\"var(--main-color)\" stroke-width=\"3\"\r\n stroke-linejoin=\"round\" stroke-linecap=\"round\" opacity=\"0.8\" />\r\n </svg>\r\n\r\n <span [style.color]=\"!selectedCards()?.includes(card) ? 'var(--main-color)' : 'white'\"\r\n class=\"material-symbols-outlined icon\">\r\n {{ card?.icon }}\r\n </span>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <div style=\"font-weight: bold; font-size: .825em; color: #414141;\">{{ card?.titulo }}</div>\r\n </div>\r\n\r\n @if(loadingCards()){\r\n \r\n <span class=\"loading-spinner\"></span>\r\n\r\n }@else {\r\n\r\n <div \r\n class=\"flex align-items-center\" \r\n [style.color]=\"color()(card)\"\r\n style=\"font-size: 1.25em; font-weight: bold; min-height: 1.875rem\"\r\n >\r\n {{ card.valor | kvFilterCardsFormatter:card.formato}}\r\n </div>\r\n\r\n }\r\n\r\n\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.card,.card-disabled,.filter-card-active{transition:border .3s ease,background-color .3s ease;border:1px solid #CBD5E1}.filter-card{transition:all ease-in-out .1s;border:1px solid #CBD5E1;border-radius:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-card:hover{background:#f8fafc;transform:scale(1.01);border:var(--main-color) .5px solid}.filter-card:active{background:#f8fafc;border:var(--main-color) .5px solid}.filter-card-active{border:var(--main-color) .5px solid;background-color:color-mix(in srgb,var(--mixed-color) 20%,white 80%)}p{font-size:.75rem}.select-none{-webkit-user-select:none;user-select:none}.filter-card-content{display:flex;flex-direction:row;align-items:center;padding:.4rem .6rem .4rem .5rem;gap:.5rem}.filter-card-title{flex:1 1 0%;display:flex;flex-direction:row;align-items:center;gap:.4rem}.hex-icon-svg{position:relative;width:2rem;height:2rem;font-size:2rem}.hex-icon-svg .hex-bg{width:100%;height:100%}.hex-icon-svg .icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--main-color);font-size:24px;pointer-events:none}.icon{font-weight:500!important;font-size:.65em!important}div.filter-card:hover .hex-icon-svg>svg>polygon{fill:var(--mixed-color)}polygon{transition:all ease-in-out .1s}#filter-card-container{container:filter-card-container/inline-size}.filter-card-size{flex:1 1 auto;padding:0 .25rem;min-width:170px;box-sizing:border-box}@container filter-card-container (min-width: 360px){.filter-card-size{width:50%}}@container filter-card-container (min-width: 600px){.filter-card-size{width:33.3333%}}@container filter-card-container (min-width: 900px){.filter-card-size{width:25%}}@container filter-card-container (min-width: 1200px){.filter-card-size{width:16.6667%}}@container filter-card-container (min-width: 1500px){.filter-card-size{width:14.2857%}}@media (min-width: 360px){.filter-card-size{width:50%}}@media (min-width: 600px){.filter-card-size{width:33.3333%}}@media (min-width: 900px){.filter-card-size{width:25%}}@media (min-width: 1200px){.filter-card-size{width:16.6667%}}@media (min-width: 1500px){.filter-card-size{width:14.2857%}}.flex-nowrap.overflow-x-auto{overflow-x:auto;scrollbar-width:thin}.flex-wrap .filter-card-size{flex:1 1 auto}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--main-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation .8s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.KvFilterCardsFormatterPipe, name: "kvFilterCardsFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
46
|
}
|
|
44
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsComponent, decorators: [{
|
|
45
48
|
type: Component,
|
|
46
|
-
args: [{ selector: 'kv-filter-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "
|
|
49
|
+
args: [{ selector: 'kv-filter-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<div\r\n id=\"filter-card-container\"\r\n class=\"flex flex-row w-full justify-content-between\"\r\n>\r\n <div \r\n class=\"flex p-fluid formgrid w-full gap-1 px-3 py-1\"\r\n [ngClass]=\"[\r\n wrapCards() ? 'flex-wrap' : 'flex-nowrap overflow-x-auto',\r\n alignCardsCenter() ? 'justify-content-center' : 'justify-content-start' \r\n ]\"\r\n #filterCardsContainer\r\n >\r\n @for (card of cards(); track card.id) {\r\n <div \r\n (click)=\"handleCardClick(card)\"\r\n [style.--main-color]=\"color()(card)\" \r\n [style.--mixed-color]=\"mixedColor()(card)\" \r\n class=\"filter-card\"\r\n [ngClass]=\"[\r\n 'filter-card-size',\r\n verificarSeCardEstaSelecionado(card) ? 'filter-card-active' : 'clickable'\r\n ]\"\r\n >\r\n <div class=\"filter-card-content\">\r\n <div class=\"filter-card-title\">\r\n\r\n @if (card.icon) {\r\n\r\n <div class=\"hex-icon-svg\">\r\n <svg style=\"overflow: visible;\" viewBox=\"0 0 100 100\" class=\"hex-bg\">\r\n <polygon\r\n [attr.fill]=\"!selectedCards()?.includes(card) ? 'color-mix(in srgb, var(--mixed-color) 20%, white 80%)' : 'var(--main-color)'\"\r\n points=\"93.3 75,50 100,6.7 75,6.7 25,50 0,93.3 25\" stroke=\"var(--main-color)\" stroke-width=\"3\"\r\n stroke-linejoin=\"round\" stroke-linecap=\"round\" opacity=\"0.8\" />\r\n </svg>\r\n\r\n <span [style.color]=\"!selectedCards()?.includes(card) ? 'var(--main-color)' : 'white'\"\r\n class=\"material-symbols-outlined icon\">\r\n {{ card?.icon }}\r\n </span>\r\n\r\n </div>\r\n\r\n }\r\n\r\n <div style=\"font-weight: bold; font-size: .825em; color: #414141;\">{{ card?.titulo }}</div>\r\n </div>\r\n\r\n @if(loadingCards()){\r\n \r\n <span class=\"loading-spinner\"></span>\r\n\r\n }@else {\r\n\r\n <div \r\n class=\"flex align-items-center\" \r\n [style.color]=\"color()(card)\"\r\n style=\"font-size: 1.25em; font-weight: bold; min-height: 1.875rem\"\r\n >\r\n {{ card.valor | kvFilterCardsFormatter:card.formato}}\r\n </div>\r\n\r\n }\r\n\r\n\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.card,.card-disabled,.filter-card-active{transition:border .3s ease,background-color .3s ease;border:1px solid #CBD5E1}.filter-card{transition:all ease-in-out .1s;border:1px solid #CBD5E1;border-radius:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-card:hover{background:#f8fafc;transform:scale(1.01);border:var(--main-color) .5px solid}.filter-card:active{background:#f8fafc;border:var(--main-color) .5px solid}.filter-card-active{border:var(--main-color) .5px solid;background-color:color-mix(in srgb,var(--mixed-color) 20%,white 80%)}p{font-size:.75rem}.select-none{-webkit-user-select:none;user-select:none}.filter-card-content{display:flex;flex-direction:row;align-items:center;padding:.4rem .6rem .4rem .5rem;gap:.5rem}.filter-card-title{flex:1 1 0%;display:flex;flex-direction:row;align-items:center;gap:.4rem}.hex-icon-svg{position:relative;width:2rem;height:2rem;font-size:2rem}.hex-icon-svg .hex-bg{width:100%;height:100%}.hex-icon-svg .icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--main-color);font-size:24px;pointer-events:none}.icon{font-weight:500!important;font-size:.65em!important}div.filter-card:hover .hex-icon-svg>svg>polygon{fill:var(--mixed-color)}polygon{transition:all ease-in-out .1s}#filter-card-container{container:filter-card-container/inline-size}.filter-card-size{flex:1 1 auto;padding:0 .25rem;min-width:170px;box-sizing:border-box}@container filter-card-container (min-width: 360px){.filter-card-size{width:50%}}@container filter-card-container (min-width: 600px){.filter-card-size{width:33.3333%}}@container filter-card-container (min-width: 900px){.filter-card-size{width:25%}}@container filter-card-container (min-width: 1200px){.filter-card-size{width:16.6667%}}@container filter-card-container (min-width: 1500px){.filter-card-size{width:14.2857%}}@media (min-width: 360px){.filter-card-size{width:50%}}@media (min-width: 600px){.filter-card-size{width:33.3333%}}@media (min-width: 900px){.filter-card-size{width:25%}}@media (min-width: 1200px){.filter-card-size{width:16.6667%}}@media (min-width: 1500px){.filter-card-size{width:14.2857%}}.flex-nowrap.overflow-x-auto{overflow-x:auto;scrollbar-width:thin}.flex-wrap .filter-card-size{flex:1 1 auto}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--main-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation .8s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
47
50
|
}] });
|
|
48
51
|
export const mapaSeverityColors = {
|
|
49
52
|
primary: '#0A8765', // Verde
|
|
@@ -53,4 +56,4 @@ export const mapaSeverityColors = {
|
|
|
53
56
|
warning: '#E1963D', // Amarelo
|
|
54
57
|
danger: '#F15A24', // Laranja
|
|
55
58
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWNhcmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmRzL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNHLE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFTSSwrREFBK0Q7UUFDakUsVUFBSyxHQUFHLEtBQUssRUFBd0IsQ0FBQTtRQUVyQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLHFCQUFnQixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUd6QyxrQkFBYSxHQUFHLEtBQUssQ0FBdUIsRUFBRSxDQUFDLENBQUE7UUFFL0MsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQXdCLEVBQUUsRUFBRTtZQUNsRCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBRUgsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQXdCLEVBQUUsRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUMsQ0FBQztRQWFILFVBQVU7UUFDViw4QkFBOEI7UUFDOUIsZ0JBQVcsR0FBRyxNQUFNLEVBQXNCLENBQUM7S0FtQjVDO0lBL0JDLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxVQUFrQixHQUFHO1FBQ3RELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxPQUFPLEdBQUcsQ0FBQztJQUM5QyxDQUFDO0lBU0QsZUFBZSxDQUFDLElBQXdCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsT0FBTyxNQUFNO2dCQUNYLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUF3QjtRQUNyRCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDekUsQ0FBQzs4R0FsRFUsc0JBQXNCO2tHQUF0QixzQkFBc0IsdXJCQ1RuQywreElBMkhBOzsyRkRsSGEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOztBQTREakQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQStCO0lBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUssUUFBUTtJQUMvQixTQUFTLEVBQUUsU0FBUyxFQUFHLGNBQWM7SUFDckMsUUFBUSxFQUFFLFNBQVMsRUFBSSxRQUFRO0lBQy9CLElBQUksRUFBRSxTQUFTLEVBQVEsYUFBYTtJQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFLLFVBQVU7SUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBTSxVQUFVO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG1vZGVsLCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1maWx0ZXItY2FyZHMnLFxyXG4gIHRlbXBsYXRlVXJsOiBgLi9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50Lmh0bWxgLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZGaWx0ZXJDYXJkc0NvbXBvbmVudCB7XHJcblxyXG5cclxuICAgIC8vIEluaWNpYWxpemEgY2FyZHMgY29tIHVtIHRyYW5zZm9ybSBxdWUgZ2FyYW50ZSBvIHRpcG8gY29ycmV0b1xyXG4gIGNhcmRzID0gaW5wdXQ8S3ZGaWx0ZXJDYXJkQ29uZmlnW10+KClcclxuXHJcbiAgd3JhcENhcmRzID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGFsaWduQ2FyZHNDZW50ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cclxuICBzZWxlY3RlZENhcmRzID0gbW9kZWw8S3ZGaWx0ZXJDYXJkQ29uZmlnW10+KFtdKVxyXG5cclxuICBjb2xvciA9IGNvbXB1dGVkKCgpID0+IChjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpID0+IHtcclxuICAgIGNvbnN0IGNvbG9yID0gbWFwYVNldmVyaXR5Q29sb3JzW2NhcmQuc2V2ZXJpdHldO1xyXG4gICAgcmV0dXJuIGNvbG9yID8gY29sb3IgOiBtYXBhU2V2ZXJpdHlDb2xvcnMucHJpbWFyeTtcclxuICB9KTtcclxuXHJcbiAgbWl4ZWRDb2xvciA9IGNvbXB1dGVkKCgpID0+IChjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zcGFyZW50TWl4KHRoaXMuY29sb3IoKShjYXJkKSlcclxuICB9KTtcclxuXHJcblxyXG4gIGdldFRyYW5zcGFyZW50TWl4KGJhc2VIZXg6IHN0cmluZywgb3BhY2l0eTogbnVtYmVyID0gMC4zKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHIgPSBwYXJzZUludChiYXNlSGV4LnNsaWNlKDEsIDMpLCAxNik7XHJcbiAgICBjb25zdCBnID0gcGFyc2VJbnQoYmFzZUhleC5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYiA9IHBhcnNlSW50KGJhc2VIZXguc2xpY2UoNSwgNyksIDE2KTtcclxuICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke29wYWNpdHl9KWA7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvL0VtaWl0ZXJzXHJcbiAgLy8gRW1pdHRlciBwYXJhIGNsaXF1ZSBubyBjYXJkXHJcbiAgb25DYXJkQ2xpY2sgPSBvdXRwdXQ8S3ZGaWx0ZXJDYXJkQ29uZmlnPigpO1xyXG5cclxuICBoYW5kbGVDYXJkQ2xpY2soY2FyZDogS3ZGaWx0ZXJDYXJkQ29uZmlnKSB7XHJcbiAgICB0aGlzLm9uQ2FyZENsaWNrLmVtaXQoY2FyZCk7XHJcblxyXG4gICAgLy8gQXR1YWxpemEgYSBsaXN0YSBkZSBzZWxlY2lvbmFkb3M6IHJlbW92ZSBzZSBqw6EgZXhpc3RlLCBhZGljaW9uYSBzZSBuw6NvIGV4aXN0ZVxyXG4gICAgdGhpcy5zZWxlY3RlZENhcmRzLnVwZGF0ZShjYXJkcyA9PiB7XHJcbiAgICAgIGNvbnN0IGV4aXN0ZSA9IGNhcmRzLnNvbWUoYyA9PiBjLmlkID09PSBjYXJkLmlkKTtcclxuICAgICAgcmV0dXJuIGV4aXN0ZVxyXG4gICAgICAgID8gY2FyZHMuZmlsdGVyKGMgPT4gYy5pZCAhPT0gY2FyZC5pZClcclxuICAgICAgICA6IFsuLi5jYXJkcywgY2FyZF07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHZlcmlmaWNhclNlQ2FyZEVzdGFTZWxlY2lvbmFkbyhjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2FyZHMoKT8uZmluZChjID0+IGMuaWQgPT09IGNhcmQuaWQpICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgdHlwZSBLdlNldmVyaXR5ID0gJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XHJcblxyXG5leHBvcnQgY29uc3QgbWFwYVNldmVyaXR5Q29sb3JzOiBSZWNvcmQ8S3ZTZXZlcml0eSwgc3RyaW5nPiA9IHtcclxuICBwcmltYXJ5OiAnIzBBODc2NScsICAgIC8vIFZlcmRlXHJcbiAgc2Vjb25kYXJ5OiAnIzBBM0E3OCcsICAvLyBBenVsIGVzY3Vyb1xyXG4gIHRlcnRpYXJ5OiAnIzc3ODU5OScsICAgLy8gQ2luemFcclxuICBpbmZvOiAnIzAwOTFDMicsICAgICAgIC8vIEF6dWwgY2xhcm9cclxuICB3YXJuaW5nOiAnI0UxOTYzRCcsICAgIC8vIEFtYXJlbG9cclxuICBkYW5nZXI6ICcjRjE1QTI0JywgICAgIC8vIExhcmFuamFcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBLdkZpbHRlckNhcmRDb25maWcgPSB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgc2V2ZXJpdHk6IEt2U2V2ZXJpdHk7XHJcbiAgICB0aXR1bG86IHN0cmluZztcclxuICAgIGljb246IHN0cmluZztcclxuICAgIHZhbG9yPzogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxufSIsIjwhLS0gPGRpdlxyXG4gICAgaWQ9XCJmaWx0ZXItY2FyZC1jb250YWluZXJcIlxyXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IHctZnVsbCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgPlxyXG48ZGl2IFxyXG4gIGNsYXNzPVwiZ3JpZCBwLWZsdWlkIGZvcm1ncmlkIHctZnVsbCBnYXAtMVwiIFxyXG4gIFtuZ0NsYXNzXT1cIltcclxuICAgICAgd3JhcENhcmRzKCkgPyAnZmxleC13cmFwJyA6ICdmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8nLFxyXG4gICAgICBhbGlnbkNhcmRzQ2VudGVyKCkgPyAnanVzdGlmeS1jb250ZW50LWNlbnRlcicgOiAnanVzdGlmeS1jb250ZW50LXN0YXJ0JyAgICBcclxuICBdXCIgXHJcbiAgc3R5bGU9XCJncmlkLXJvdy1nYXA6IDAuNXJlbVwiXHJcbiAgI2ZpbHRlckNhcmRzQ29udGFpbmVyXHJcbj5cclxuICBAZm9yIChjYXJkIG9mIGNhcmRzKCk7IHRyYWNrIGNhcmQuaWQpIHtcclxuICAgIDxkaXYgXHJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ2FyZENsaWNrKGNhcmQpXCJcclxuICAgIFtzdHlsZS4tLW1haW4tY29sb3JdPVwiY29sb3IoKShjYXJkKVwiIFxyXG4gICAgW3N0eWxlLi0tbWl4ZWQtY29sb3JdPVwibWl4ZWRDb2xvcigpKGNhcmQpXCIgXHJcbiAgICBjbGFzcz1cImZpbHRlci1jYXJkIGZpbHRlci1jYXJkLXNpemVcIlxyXG5cclxuXHJcbiAgICBcclxuXHJcbiAgICBbbmdDbGFzc109J1tcclxuICAgICAgICAgIGNhcmQ/LmNhcmRTdGF0ZSA9PSBcImluYWN0aXZlXCIgPyBcImNhcmQtZGlzYWJsZWRcIiA6IFwiY2FyZFwiLCBcclxuICAgICAgICAgIHNlbGVjdGVkQ2FyZHMoKS5pbmNsdWRlcyhjYXJkKSAgPyBcImZpbHRlci1jYXJkLWFjdGl2ZVwiIDogXCJjbGlja2FibGVcIixcclxuICAgICAgICAgIFxyXG4gICAgXSdcclxuXHJcbiAgICBcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmQtdGl0bGVcIj5cclxuXHJcbiAgICAgICAgICBAaWYgKGNhcmQuaWNvbikge1xyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZXgtaWNvbi1zdmdcIj5cclxuICAgICAgICAgICAgPHN2ZyBzdHlsZT1cIm92ZXJmbG93OiB2aXNpYmxlO1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIGNsYXNzPVwiaGV4LWJnXCI+XHJcbiAgICAgICAgICAgICAgPHBvbHlnb25cclxuICAgICAgICAgICAgICAgIFthdHRyLmZpbGxdPVwiY2FyZD8uY2FyZFN0YXRlICE9ICdzZWxlY3RlZCcgPyAnY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1peGVkLWNvbG9yKSAyMCUsIHdoaXRlIDgwJSknIDogJ3ZhcigtLW1haW4tY29sb3IpJ1wiXHJcbiAgICAgICAgICAgICAgICBwb2ludHM9XCI5My4zIDc1LDUwIDEwMCw2LjcgNzUsNi43IDI1LDUwIDAsOTMuMyAyNVwiIHN0cm9rZT1cInZhcigtLW1haW4tY29sb3IpXCIgc3Ryb2tlLXdpZHRoPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBvcGFjaXR5PVwiMC44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2FyZD8uY2FyZFN0YXRlICE9ICdzZWxlY3RlZCcgPyAndmFyKC0tbWFpbi1jb2xvciknIDogJ3doaXRlJ1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb25cIj5cclxuICAgICAgICAgICAgICB7eyBjYXJkPy5pY29uIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IC44MjVlbTsgY29sb3I6ICM0MTQxNDE7XCI+e3sgY2FyZD8udGl0dWxvIH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yKCkoY2FyZClcIlxyXG4gICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDEuMjVlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1pbi1oZWlnaHQ6IDEuODc1cmVtXCI+e3sgY2FyZD8udmFsb3IgfX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG48L2Rpdj4gLS0+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG48ZGl2XHJcbiAgaWQ9XCJmaWx0ZXItY2FyZC1jb250YWluZXJcIlxyXG4gIGNsYXNzPVwiZmxleCBmbGV4LXJvdyB3LWZ1bGwganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxyXG4+XHJcbiAgPGRpdiBcclxuICAgIGNsYXNzPVwiZmxleCBwLWZsdWlkIGZvcm1ncmlkIHctZnVsbCBnYXAtMSBweC0yXCJcclxuICAgIFtuZ0NsYXNzXT1cIltcclxuICAgICAgd3JhcENhcmRzKCkgPyAnZmxleC13cmFwJyA6ICdmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8nLFxyXG4gICAgICBhbGlnbkNhcmRzQ2VudGVyKCkgPyAnanVzdGlmeS1jb250ZW50LWNlbnRlcicgOiAnanVzdGlmeS1jb250ZW50LXN0YXJ0JyAgICBcclxuICAgIF1cIlxyXG4gICAgI2ZpbHRlckNhcmRzQ29udGFpbmVyXHJcbiAgPlxyXG4gICAgQGZvciAoY2FyZCBvZiBjYXJkcygpOyB0cmFjayBjYXJkLmlkKSB7XHJcbiAgICAgIDxkaXYgXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNhcmRDbGljayhjYXJkKVwiXHJcbiAgICAgICAgW3N0eWxlLi0tbWFpbi1jb2xvcl09XCJjb2xvcigpKGNhcmQpXCIgXHJcbiAgICAgICAgW3N0eWxlLi0tbWl4ZWQtY29sb3JdPVwibWl4ZWRDb2xvcigpKGNhcmQpXCIgXHJcbiAgICAgICAgY2xhc3M9XCJmaWx0ZXItY2FyZFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiW1xyXG4gICAgICAgICAgJ2ZpbHRlci1jYXJkLXNpemUnLFxyXG4gICAgICAgICAgdmVyaWZpY2FyU2VDYXJkRXN0YVNlbGVjaW9uYWRvKGNhcmQpICA/ICdmaWx0ZXItY2FyZC1hY3RpdmUnIDogJ2NsaWNrYWJsZSdcclxuICAgICAgICBdXCJcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmQtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZC10aXRsZVwiPlxyXG5cclxuICAgICAgICAgIEBpZiAoY2FyZC5pY29uKSB7XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhleC1pY29uLXN2Z1wiPlxyXG4gICAgICAgICAgICA8c3ZnIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGU7XCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgY2xhc3M9XCJoZXgtYmdcIj5cclxuICAgICAgICAgICAgICA8cG9seWdvblxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZmlsbF09XCIhc2VsZWN0ZWRDYXJkcygpPy5pbmNsdWRlcyhjYXJkKSA/ICdjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWl4ZWQtY29sb3IpIDIwJSwgd2hpdGUgODAlKScgOiAndmFyKC0tbWFpbi1jb2xvciknXCJcclxuICAgICAgICAgICAgICAgIHBvaW50cz1cIjkzLjMgNzUsNTAgMTAwLDYuNyA3NSw2LjcgMjUsNTAgMCw5My4zIDI1XCIgc3Ryb2tlPVwidmFyKC0tbWFpbi1jb2xvcilcIiBzdHJva2Utd2lkdGg9XCIzXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIG9wYWNpdHk9XCIwLjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCIhc2VsZWN0ZWRDYXJkcygpPy5pbmNsdWRlcyhjYXJkKSA/ICd2YXIoLS1tYWluLWNvbG9yKScgOiAnd2hpdGUnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvblwiPlxyXG4gICAgICAgICAgICAgIHt7IGNhcmQ/Lmljb24gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogLjgyNWVtOyBjb2xvcjogIzQxNDE0MTtcIj57eyBjYXJkPy50aXR1bG8gfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbc3R5bGUuY29sb3JdPVwiY29sb3IoKShjYXJkKVwiXHJcbiAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZTogMS4yNWVtOyBmb250LXdlaWdodDogYm9sZDsgbWluLWhlaWdodDogMS44NzVyZW1cIj57eyBjYXJkPy52YWxvciB9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWNhcmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmRzL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzRyxNQUFNLE9BQU8sc0JBQXNCO0lBTm5DO1FBVUUsb0VBQW9FO1FBQ3BFLFVBQUssR0FBRyxLQUFLLEVBQXdCLENBQUE7UUFFckMsaURBQWlEO1FBQ2pELGtCQUFhLEdBQUcsS0FBSyxDQUF1QixFQUFFLENBQUMsQ0FBQTtRQUUvQyxpQkFBWSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUdyQywrREFBK0Q7UUFDL0QsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVsQyw2Q0FBNkM7UUFDN0MscUJBQWdCLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBR3pDLGdCQUFXLEdBQUcsTUFBTSxFQUFzQixDQUFDO1FBSTNDLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUF3QixFQUFFLEVBQUU7WUFDbEQsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUF3QixFQUFFLEVBQUU7WUFDdkQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDbkQsQ0FBQyxDQUFDLENBQUM7S0E0Qko7SUF6QlMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLFVBQWtCLEdBQUc7UUFDOUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLE9BQU8sR0FBRyxDQUFDO0lBQzlDLENBQUM7SUFHRCxlQUFlLENBQUMsSUFBd0I7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRCxPQUFPLE1BQU07Z0JBQ1gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDhCQUE4QixDQUFDLElBQXdCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUN6RSxDQUFDOzhHQXhEVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvMEJDVG5DLHUyRUF1RUE7OzJGRDlEYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07O0FBa0VqRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBK0I7SUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBSyxRQUFRO0lBQy9CLFNBQVMsRUFBRSxTQUFTLEVBQUcsY0FBYztJQUNyQyxRQUFRLEVBQUUsU0FBUyxFQUFJLFFBQVE7SUFDL0IsSUFBSSxFQUFFLFNBQVMsRUFBUSxhQUFhO0lBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUssVUFBVTtJQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFNLFVBQVU7Q0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWZpbHRlci1jYXJkcycsXHJcbiAgdGVtcGxhdGVVcmw6IGAuL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuaHRtbGAsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkZpbHRlckNhcmRzQ29tcG9uZW50IHtcclxuXHJcblxyXG5cclxuICAvLyBMaXN0YSBkZSBjYXJkcyBkZSBmaWx0cm8sIGNhZGEgdW0gY29tIHVtIMOtY29uZSBlIHZhbG9yIGVzcGVjw61maWNvXHJcbiAgY2FyZHMgPSBpbnB1dDxLdkZpbHRlckNhcmRDb25maWdbXT4oKVxyXG5cclxuICAvL1Byb3BpZWRhZGUgcGFyYSBhcm1hemVuYXIgb3MgY2FyZHMgc2VsZWNpb25hZG9zXHJcbiAgc2VsZWN0ZWRDYXJkcyA9IG1vZGVsPEt2RmlsdGVyQ2FyZENvbmZpZ1tdPihbXSlcclxuXHJcbiAgbG9hZGluZ0NhcmRzID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgLy8gRGVmaW5lIHNlIG9zIGNhcmRzIGRldmVtIHNlciBleGliaWRvcyBlbSB1bWEgbGluaGEgb3UgY29sdW5hXHJcbiAgd3JhcENhcmRzID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvLyBEZWZpbmUgc2Ugb3MgY2FyZHMgZGV2ZW0gc2VyIGNlbnRyYWxpemFkb3NcclxuICBhbGlnbkNhcmRzQ2VudGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgb25DYXJkQ2xpY2sgPSBvdXRwdXQ8S3ZGaWx0ZXJDYXJkQ29uZmlnPigpO1xyXG5cclxuXHJcblxyXG4gIGNvbG9yID0gY29tcHV0ZWQoKCkgPT4gKGNhcmQ6IEt2RmlsdGVyQ2FyZENvbmZpZykgPT4ge1xyXG4gICAgY29uc3QgY29sb3IgPSBtYXBhU2V2ZXJpdHlDb2xvcnNbY2FyZC5zZXZlcml0eV07XHJcbiAgICByZXR1cm4gY29sb3IgPyBjb2xvciA6IG1hcGFTZXZlcml0eUNvbG9ycy5wcmltYXJ5O1xyXG4gIH0pO1xyXG5cclxuICBtaXhlZENvbG9yID0gY29tcHV0ZWQoKCkgPT4gKGNhcmQ6IEt2RmlsdGVyQ2FyZENvbmZpZykgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNwYXJlbnRNaXgodGhpcy5jb2xvcigpKGNhcmQpKVxyXG4gIH0pO1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXRUcmFuc3BhcmVudE1peChiYXNlSGV4OiBzdHJpbmcsIG9wYWNpdHk6IG51bWJlciA9IDAuMyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByID0gcGFyc2VJbnQoYmFzZUhleC5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGJhc2VIZXguc2xpY2UoMywgNSksIDE2KTtcclxuICAgIGNvbnN0IGIgPSBwYXJzZUludChiYXNlSGV4LnNsaWNlKDUsIDcpLCAxNik7XHJcbiAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHtvcGFjaXR5fSlgO1xyXG4gIH1cclxuXHJcblxyXG4gIGhhbmRsZUNhcmRDbGljayhjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpIHtcclxuICAgIHRoaXMub25DYXJkQ2xpY2suZW1pdChjYXJkKTtcclxuXHJcbiAgICAvLyBBdHVhbGl6YSBhIGxpc3RhIGRlIHNlbGVjaW9uYWRvczogcmVtb3ZlIHNlIGrDoSBleGlzdGUsIGFkaWNpb25hIHNlIG7Do28gZXhpc3RlXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZHMudXBkYXRlKGNhcmRzID0+IHtcclxuICAgICAgY29uc3QgZXhpc3RlID0gY2FyZHMuc29tZShjID0+IGMuaWQgPT09IGNhcmQuaWQpO1xyXG4gICAgICByZXR1cm4gZXhpc3RlXHJcbiAgICAgICAgPyBjYXJkcy5maWx0ZXIoYyA9PiBjLmlkICE9PSBjYXJkLmlkKVxyXG4gICAgICAgIDogWy4uLmNhcmRzLCBjYXJkXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FyU2VDYXJkRXN0YVNlbGVjaW9uYWRvKGNhcmQ6IEt2RmlsdGVyQ2FyZENvbmZpZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDYXJkcygpPy5maW5kKGMgPT4gYy5pZCA9PT0gY2FyZC5pZCkgIT09IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEt2U2V2ZXJpdHkgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcclxuXHJcbmV4cG9ydCBjb25zdCBtYXBhU2V2ZXJpdHlDb2xvcnM6IFJlY29yZDxLdlNldmVyaXR5LCBzdHJpbmc+ID0ge1xyXG4gIHByaW1hcnk6ICcjMEE4NzY1JywgICAgLy8gVmVyZGVcclxuICBzZWNvbmRhcnk6ICcjMEEzQTc4JywgIC8vIEF6dWwgZXNjdXJvXHJcbiAgdGVydGlhcnk6ICcjNzc4NTk5JywgICAvLyBDaW56YVxyXG4gIGluZm86ICcjMDA5MUMyJywgICAgICAgLy8gQXp1bCBjbGFyb1xyXG4gIHdhcm5pbmc6ICcjRTE5NjNEJywgICAgLy8gQW1hcmVsb1xyXG4gIGRhbmdlcjogJyNGMTVBMjQnLCAgICAgLy8gTGFyYW5qYVxyXG59O1xyXG5cclxuXHJcblxyXG5leHBvcnQgdHlwZSBLdkZpbHRlckNhcmRGb3JtYXRvID0gJ2ludCcgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnIHwgJ2RlY2ltYWwnIHwgJ3RleHQnIHwgJ2RhdGUnO1xyXG5leHBvcnQgdHlwZSBLdkZpbHRlckNhcmRDb25maWcgPSB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgc2V2ZXJpdHk6IEt2U2V2ZXJpdHk7XHJcbiAgICB0aXR1bG86IHN0cmluZztcclxuICAgIGljb246IHN0cmluZztcclxuICAgIHZhbG9yPzogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxuICAgIGZvcm1hdG8/OiBLdkZpbHRlckNhcmRGb3JtYXRvO1xyXG5cclxufSIsIlxyXG48ZGl2XHJcbiAgaWQ9XCJmaWx0ZXItY2FyZC1jb250YWluZXJcIlxyXG4gIGNsYXNzPVwiZmxleCBmbGV4LXJvdyB3LWZ1bGwganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxyXG4+XHJcbiAgPGRpdiBcclxuICAgIGNsYXNzPVwiZmxleCBwLWZsdWlkIGZvcm1ncmlkIHctZnVsbCBnYXAtMSBweC0zIHB5LTFcIlxyXG4gICAgW25nQ2xhc3NdPVwiW1xyXG4gICAgICB3cmFwQ2FyZHMoKSA/ICdmbGV4LXdyYXAnIDogJ2ZsZXgtbm93cmFwIG92ZXJmbG93LXgtYXV0bycsXHJcbiAgICAgIGFsaWduQ2FyZHNDZW50ZXIoKSA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyA6ICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnICAgIFxyXG4gICAgXVwiXHJcbiAgICAjZmlsdGVyQ2FyZHNDb250YWluZXJcclxuICA+XHJcbiAgICBAZm9yIChjYXJkIG9mIGNhcmRzKCk7IHRyYWNrIGNhcmQuaWQpIHtcclxuICAgICAgPGRpdiBcclxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2FyZENsaWNrKGNhcmQpXCJcclxuICAgICAgICBbc3R5bGUuLS1tYWluLWNvbG9yXT1cImNvbG9yKCkoY2FyZClcIiBcclxuICAgICAgICBbc3R5bGUuLS1taXhlZC1jb2xvcl09XCJtaXhlZENvbG9yKCkoY2FyZClcIiBcclxuICAgICAgICBjbGFzcz1cImZpbHRlci1jYXJkXCJcclxuICAgICAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgICAgICAnZmlsdGVyLWNhcmQtc2l6ZScsXHJcbiAgICAgICAgICB2ZXJpZmljYXJTZUNhcmRFc3RhU2VsZWNpb25hZG8oY2FyZCkgID8gJ2ZpbHRlci1jYXJkLWFjdGl2ZScgOiAnY2xpY2thYmxlJ1xyXG4gICAgICAgIF1cIlxyXG4gICAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZC1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLXRpdGxlXCI+XHJcblxyXG4gICAgICAgICAgQGlmIChjYXJkLmljb24pIHtcclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGV4LWljb24tc3ZnXCI+XHJcbiAgICAgICAgICAgIDxzdmcgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTtcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiBjbGFzcz1cImhleC1iZ1wiPlxyXG4gICAgICAgICAgICAgIDxwb2x5Z29uXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5maWxsXT1cIiFzZWxlY3RlZENhcmRzKCk/LmluY2x1ZGVzKGNhcmQpID8gJ2NvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1taXhlZC1jb2xvcikgMjAlLCB3aGl0ZSA4MCUpJyA6ICd2YXIoLS1tYWluLWNvbG9yKSdcIlxyXG4gICAgICAgICAgICAgICAgcG9pbnRzPVwiOTMuMyA3NSw1MCAxMDAsNi43IDc1LDYuNyAyNSw1MCAwLDkzLjMgMjVcIiBzdHJva2U9XCJ2YXIoLS1tYWluLWNvbG9yKVwiIHN0cm9rZS13aWR0aD1cIjNcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgb3BhY2l0eT1cIjAuOFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cIiFzZWxlY3RlZENhcmRzKCk/LmluY2x1ZGVzKGNhcmQpID8gJ3ZhcigtLW1haW4tY29sb3IpJyA6ICd3aGl0ZSdcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uXCI+XHJcbiAgICAgICAgICAgICAge3sgY2FyZD8uaWNvbiB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAuODI1ZW07IGNvbG9yOiAjNDE0MTQxO1wiPnt7IGNhcmQ/LnRpdHVsbyB9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICBAaWYobG9hZGluZ0NhcmRzKCkpe1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxvYWRpbmctc3Bpbm5lclwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgfUBlbHNlIHtcclxuXHJcbiAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgXHJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjb2xvcigpKGNhcmQpXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDEuMjVlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1pbi1oZWlnaHQ6IDEuODc1cmVtXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgY2FyZC52YWxvciB8IGt2RmlsdGVyQ2FyZHNGb3JtYXR0ZXI6Y2FyZC5mb3JtYXRvfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { KvFilterCardsComponent } from './kv-filter-cards.component';
|
|
4
|
+
import { KvFilterCardsFormatterPipe } from './kv-filter-cards.pipe';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
// Importação do componente que será declarado neste módulo
|
|
6
7
|
export class KvFilterCardsModule {
|
|
7
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsModule, declarations: [KvFilterCardsComponent // Declaração do componente KvFilterCards
|
|
9
|
-
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsModule, declarations: [KvFilterCardsComponent, // Declaração do componente KvFilterCards
|
|
10
|
+
KvFilterCardsFormatterPipe], imports: [CommonModule // Importa funcionalidades comuns do Angular
|
|
10
11
|
], exports: [KvFilterCardsComponent // Exporta o componente para uso externo
|
|
11
12
|
] }); }
|
|
12
13
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsModule, imports: [CommonModule // Importa funcionalidades comuns do Angular
|
|
@@ -16,7 +17,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
16
17
|
type: NgModule,
|
|
17
18
|
args: [{
|
|
18
19
|
declarations: [
|
|
19
|
-
KvFilterCardsComponent // Declaração do componente KvFilterCards
|
|
20
|
+
KvFilterCardsComponent, // Declaração do componente KvFilterCards
|
|
21
|
+
KvFilterCardsFormatterPipe
|
|
20
22
|
],
|
|
21
23
|
imports: [
|
|
22
24
|
CommonModule // Importa funcionalidades comuns do Angular
|
|
@@ -26,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
26
28
|
]
|
|
27
29
|
}]
|
|
28
30
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWNhcmRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUVwRSwyREFBMkQ7QUFjM0QsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBVjVCLHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSwwQkFBMEIsYUFHMUIsWUFBWSxDQUFDLDRDQUE0QztxQkFHekQsc0JBQXNCLENBQUMsd0NBQXdDOzsrR0FHdEQsbUJBQW1CLFlBTjVCLFlBQVksQ0FBQyw0Q0FBNEM7O0VBTXhCLG9DQUFvQzsyRkFBNUQsbUJBQW1CO2tCQVovQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0IsRUFBRSx5Q0FBeUM7d0JBQ2pFLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVksQ0FBQyw0Q0FBNEM7cUJBQzFEO29CQUNELE9BQU8sRUFBRTt3QkFDUCxzQkFBc0IsQ0FBQyx3Q0FBd0M7cUJBQ2hFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgS3ZGaWx0ZXJDYXJkc0NvbXBvbmVudCB9IGZyb20gJy4va3YtZmlsdGVyLWNhcmRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEt2RmlsdGVyQ2FyZHNGb3JtYXR0ZXJQaXBlIH0gZnJvbSAnLi9rdi1maWx0ZXItY2FyZHMucGlwZSc7XHJcblxyXG4vLyBJbXBvcnRhw6fDo28gZG8gY29tcG9uZW50ZSBxdWUgc2Vyw6EgZGVjbGFyYWRvIG5lc3RlIG3Ds2R1bG9cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBLdkZpbHRlckNhcmRzQ29tcG9uZW50LCAvLyBEZWNsYXJhw6fDo28gZG8gY29tcG9uZW50ZSBLdkZpbHRlckNhcmRzXHJcbiAgICBLdkZpbHRlckNhcmRzRm9ybWF0dGVyUGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlIC8vIEltcG9ydGEgZnVuY2lvbmFsaWRhZGVzIGNvbXVucyBkbyBBbmd1bGFyXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBLdkZpbHRlckNhcmRzQ29tcG9uZW50IC8vIEV4cG9ydGEgbyBjb21wb25lbnRlIHBhcmEgdXNvIGV4dGVybm9cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkZpbHRlckNhcmRzTW9kdWxlIHsgfSAvLyBEZWZpbmnDp8OjbyBkbyBtw7NkdWxvIEt2RmlsdGVyQ2FyZHMiXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class KvFilterCardsFormatterPipe {
|
|
4
|
+
transform(value, formato) {
|
|
5
|
+
if (value == null)
|
|
6
|
+
return '';
|
|
7
|
+
switch (formato) {
|
|
8
|
+
case 'currency':
|
|
9
|
+
return new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(Number(value));
|
|
10
|
+
case 'percent':
|
|
11
|
+
return `${(Number(value) * 100).toFixed(0)}%`;
|
|
12
|
+
case 'decimal':
|
|
13
|
+
return new Intl.NumberFormat('pt-BR').format(Number(value));
|
|
14
|
+
case 'int':
|
|
15
|
+
return `${Math.round(Number(value))}`;
|
|
16
|
+
case 'date':
|
|
17
|
+
return new Intl.DateTimeFormat('pt-BR').format(new Date(value));
|
|
18
|
+
case 'text':
|
|
19
|
+
default:
|
|
20
|
+
return value.toString();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
24
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsFormatterPipe, name: "kvFilterCardsFormatter" }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsFormatterPipe, decorators: [{
|
|
27
|
+
type: Pipe,
|
|
28
|
+
args: [{ name: 'kvFilterCardsFormatter' }]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWNhcmRzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItY2FyZHMva3YtZmlsdGVyLWNhcmRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsU0FBUyxDQUFDLEtBQXlDLEVBQUUsT0FBZ0I7UUFDbkUsSUFBSSxLQUFLLElBQUksSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRTdCLFFBQVEsT0FBTyxFQUFFLENBQUM7WUFDaEIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLEtBQUssU0FBUztnQkFDWixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDaEQsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM5RCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEUsS0FBSyxNQUFNLENBQUM7WUFDWjtnQkFDRSxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzs4R0FuQlUsMEJBQTBCOzRHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdrdkZpbHRlckNhcmRzRm9ybWF0dGVyJyB9KVxyXG5leHBvcnQgY2xhc3MgS3ZGaWx0ZXJDYXJkc0Zvcm1hdHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGZvcm1hdG8/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiAnJztcclxuXHJcbiAgICBzd2l0Y2ggKGZvcm1hdG8pIHtcclxuICAgICAgY2FzZSAnY3VycmVuY3knOlxyXG4gICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ3B0LUJSJywgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6ICdCUkwnIH0pLmZvcm1hdChOdW1iZXIodmFsdWUpKTtcclxuICAgICAgY2FzZSAncGVyY2VudCc6XHJcbiAgICAgICAgcmV0dXJuIGAkeyhOdW1iZXIodmFsdWUpICogMTAwKS50b0ZpeGVkKDApfSVgO1xyXG4gICAgICBjYXNlICdkZWNpbWFsJzpcclxuICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdwdC1CUicpLmZvcm1hdChOdW1iZXIodmFsdWUpKTtcclxuICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChOdW1iZXIodmFsdWUpKX1gO1xyXG4gICAgICBjYXNlICdkYXRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ3B0LUJSJykuZm9ybWF0KG5ldyBEYXRlKHZhbHVlKSk7XHJcbiAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|