keevo-components 1.8.519 → 1.8.521

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.
@@ -6110,11 +6110,11 @@ class KvLayoutComponent {
6110
6110
  }
6111
6111
  }
6112
6112
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$1.FormBuilder }, { token: i3$1.Router }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
6113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: { classPropertyName: "apps", publicName: "apps", isSignal: false, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: false, isRequired: false, transformFunction: null }, topMenusVisible: { classPropertyName: "topMenusVisible", publicName: "topMenusVisible", isSignal: true, isRequired: false, transformFunction: null }, profileImage: { classPropertyName: "profileImage", publicName: "profileImage", isSignal: true, isRequired: false, transformFunction: null }, breadCrumbItems: { classPropertyName: "breadCrumbItems", publicName: "breadCrumbItems", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: false, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, expandMenu: { classPropertyName: "expandMenu", publicName: "expandMenu", isSignal: true, isRequired: false, transformFunction: null }, logoMenuExpand: { classPropertyName: "logoMenuExpand", publicName: "logoMenuExpand", isSignal: false, isRequired: false, transformFunction: null }, logoMenuHide: { classPropertyName: "logoMenuHide", publicName: "logoMenuHide", isSignal: false, isRequired: false, transformFunction: null }, selectedApp: { classPropertyName: "selectedApp", publicName: "selectedApp", isSignal: false, isRequired: false, transformFunction: null }, selectedEmpresa: { classPropertyName: "selectedEmpresa", publicName: "selectedEmpresa", isSignal: false, isRequired: false, transformFunction: null }, selectedMaster: { classPropertyName: "selectedMaster", publicName: "selectedMaster", isSignal: false, isRequired: false, transformFunction: null }, showButtonApps: { classPropertyName: "showButtonApps", publicName: "showButtonApps", isSignal: false, isRequired: false, transformFunction: null }, showButtonUser: { classPropertyName: "showButtonUser", publicName: "showButtonUser", isSignal: false, isRequired: false, transformFunction: null }, showExpandMenu: { classPropertyName: "showExpandMenu", publicName: "showExpandMenu", isSignal: false, isRequired: false, transformFunction: null }, showDropdownLicenca: { classPropertyName: "showDropdownLicenca", publicName: "showDropdownLicenca", isSignal: false, isRequired: false, transformFunction: null }, showMenu: { classPropertyName: "showMenu", publicName: "showMenu", isSignal: false, isRequired: false, transformFunction: null }, showTrocaEmpresa: { classPropertyName: "showTrocaEmpresa", publicName: "showTrocaEmpresa", isSignal: false, isRequired: false, transformFunction: null }, showBreadcrumb: { classPropertyName: "showBreadcrumb", publicName: "showBreadcrumb", isSignal: false, isRequired: false, transformFunction: null }, userName: { classPropertyName: "userName", publicName: "userName", isSignal: false, isRequired: false, transformFunction: null }, masterName: { classPropertyName: "masterName", publicName: "masterName", isSignal: false, isRequired: false, transformFunction: null }, empresaName: { classPropertyName: "empresaName", publicName: "empresaName", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { menus: "menusChange", expandMenu: "expandMenuChange", accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit", navigateToDefaultRouteEmit: "navigateToDefaultRouteEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n \r\n <!-- LOGO -->\r\n <div class=\"flex-none flex flex-column gap-1 justify-content-between flex-shrink-0 overflow-hidden\">\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <kv-icon\r\n name=\"ti-menu-2\"\r\n [clickable]=\"true\"\r\n [pTooltip]=\"expandMenu() ? 'Ocultar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (onClick)=\"toggleMenu()\"\r\n />\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item troca-sistema-container mb-2\" \r\n [pTooltip]=\"'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-building-skyscraper\"\r\n size=\"1.1rem\"\r\n />\r\n @if(expandMenu() && selectedEmpresa){\r\n <div\r\n class=\"flex flex-column w-full\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span\r\n class=\"text-xs font-semibold mr-2 color-system\"\r\n [style.fontSuze]=\"'.5rem'\"\r\n >\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n }\r\n @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\" [style.fontSuze]=\"'.5rem'\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n \r\n }\r\n </div>\r\n }\r\n @else {\r\n <!-- <div style=\"width:100%; height:.75rem\"></div> -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n }\r\n </div>\r\n\r\n\r\n <!-- MENUS -->\r\n <div class=\"flex-1 list-none m-0 overflow-y-auto max-h-full\">\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div class=\"menu-parent\" id=\"menu-parent-{{$index}}\" (mouseenter)=\"exibirMenuChild($event, $index)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\" style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n \r\n \r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-child-{{$index}}\" [style.opacity]=\"menuVisivel()===$index?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===$index?'auto':'none'\">\r\n <div class=\"h-2rem flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">\r\n {{menu.descricaomenu}}\r\n </p>\r\n </div>\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div \r\n class=\" side-menu-item py-2 pl-3 pr-1 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{item.descricaomenu}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n }\r\n </div>\r\n\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n \r\n <!-- APPS E SAIR -->\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div class=\"menu-parent\" id=\"menu-sistemas-parent\" (mouseenter)=\"exibirMenuChild($event, -1)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-apps'\"\r\n />\r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-sistemas-child\" [style.opacity]=\"menuVisivel()===-1?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===-1?'auto':'none'\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\" (click)=\"callRoute(item.rotapadrao) ; selectApp(item.idaplicativo)\">\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{item.nomeaplicativo}}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n </li>\r\n <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'red'\"\r\n [style.opacity]=\"0.5\"\r\n (click)=\"logout($event)\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-logout'\"\r\n \r\n />\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-screen page-content overflow-y-hidden flex flex-column\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between my-2 mx-3 mb-0\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" width=\"150\" />\r\n </div>\r\n } \r\n @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n }\r\n @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n }\r\n @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n }\r\n } \r\n @if (exibirNomes) { \r\n @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\"\r\n >Organiza\u00E7\u00E3o: {{ empresaName }}</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n } \r\n @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } \r\n } \r\n @else { \r\n @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mx-3\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n } \r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 mb-2\">\r\n <p-card\r\n styleClass=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\"\r\n >\r\n <ng-content></ng-content>\r\n \r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <p class=\"system-color font-medium text-lg px-2 py-3 m-0\">\r\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\r\n </p>\r\n <!-- <div class=\"mt-5 mb-3\"></div> -->\r\n \r\n <!-- Cont\u00EAiner com dire\u00E7\u00E3o em coluna para empilhar os bot\u00F5es -->\r\n <div class=\"flex flex-column\">\r\n <!-- Bot\u00F5es adicionais din\u00E2micos -->\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <kv-icon\r\n [name]=\"action.icon\"\r\n />\r\n <span>{{action.label}}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"accessKeePass($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-lock\"\r\n />\r\n <span>Acessar KeePass</span>\r\n </div>\r\n \r\n </div>\r\n </ng-template>\r\n \r\n </p-overlayPanel>\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://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css\";@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}: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:rgb(var(--kv-background-card))!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 body{margin:0!important}.full-container{background:rgb(var(--kv-background-system),1);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);margin-left:.5rem;margin-top:.5rem;border-radius:.5rem;height:calc(100vh - 1rem);z-index:1100!important}.page-content{background:none}::ng-deep .card-container{background:rgb(var(--kv-kc-background-system),1);border:none;box-shadow:none;overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem 1rem 0;margin:0}::ng-deep .card-container .p-card-content{margin:0;padding:0}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background:rgb(var(--kv-color-system),.1);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;width:12rem;min-width:max-content;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-sistema-container{padding:.5rem .75rem!important;font-size:.75rem;opacity:.7;border:1px solid rgb(var(--kv-color-text),.1)}.troca-sistema-container:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: KvIconComponent, selector: "kv-icon", inputs: ["name", "size", "numNotifications", "img", "clickable"], outputs: ["onClick"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6$1.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i10$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i10$2.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i11.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TopIconsComponent, selector: "kv-top-icons", inputs: ["topActions"] }, { kind: "component", type: DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: CpfCnpjPipe, name: "cpfCnpj" }] }); }
6113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvLayoutComponent, selector: "kv-layout", inputs: { apps: { classPropertyName: "apps", publicName: "apps", isSignal: false, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: false, isRequired: false, transformFunction: null }, topMenusVisible: { classPropertyName: "topMenusVisible", publicName: "topMenusVisible", isSignal: true, isRequired: false, transformFunction: null }, profileImage: { classPropertyName: "profileImage", publicName: "profileImage", isSignal: true, isRequired: false, transformFunction: null }, breadCrumbItems: { classPropertyName: "breadCrumbItems", publicName: "breadCrumbItems", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: false, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, expandMenu: { classPropertyName: "expandMenu", publicName: "expandMenu", isSignal: true, isRequired: false, transformFunction: null }, logoMenuExpand: { classPropertyName: "logoMenuExpand", publicName: "logoMenuExpand", isSignal: false, isRequired: false, transformFunction: null }, logoMenuHide: { classPropertyName: "logoMenuHide", publicName: "logoMenuHide", isSignal: false, isRequired: false, transformFunction: null }, selectedApp: { classPropertyName: "selectedApp", publicName: "selectedApp", isSignal: false, isRequired: false, transformFunction: null }, selectedEmpresa: { classPropertyName: "selectedEmpresa", publicName: "selectedEmpresa", isSignal: false, isRequired: false, transformFunction: null }, selectedMaster: { classPropertyName: "selectedMaster", publicName: "selectedMaster", isSignal: false, isRequired: false, transformFunction: null }, showButtonApps: { classPropertyName: "showButtonApps", publicName: "showButtonApps", isSignal: false, isRequired: false, transformFunction: null }, showButtonUser: { classPropertyName: "showButtonUser", publicName: "showButtonUser", isSignal: false, isRequired: false, transformFunction: null }, showExpandMenu: { classPropertyName: "showExpandMenu", publicName: "showExpandMenu", isSignal: false, isRequired: false, transformFunction: null }, showDropdownLicenca: { classPropertyName: "showDropdownLicenca", publicName: "showDropdownLicenca", isSignal: false, isRequired: false, transformFunction: null }, showMenu: { classPropertyName: "showMenu", publicName: "showMenu", isSignal: false, isRequired: false, transformFunction: null }, showTrocaEmpresa: { classPropertyName: "showTrocaEmpresa", publicName: "showTrocaEmpresa", isSignal: false, isRequired: false, transformFunction: null }, showBreadcrumb: { classPropertyName: "showBreadcrumb", publicName: "showBreadcrumb", isSignal: false, isRequired: false, transformFunction: null }, userName: { classPropertyName: "userName", publicName: "userName", isSignal: false, isRequired: false, transformFunction: null }, masterName: { classPropertyName: "masterName", publicName: "masterName", isSignal: false, isRequired: false, transformFunction: null }, empresaName: { classPropertyName: "empresaName", publicName: "empresaName", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { menus: "menusChange", expandMenu: "expandMenuChange", accessKeePassEmit: "accessKeePassEmit", changeEmpresaEmit: "changeEmpresaEmit", changeLicenseEmit: "changeLicenseEmit", expandMenuEmit: "expandMenuEmit", logoutEmit: "logoutEmit", selectAppEmit: "selectAppEmit", navigateToDefaultRouteEmit: "navigateToDefaultRouteEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n \r\n <!-- LOGO -->\r\n <div class=\"flex-none flex flex-column gap-1 justify-content-between flex-shrink-0 overflow-hidden\">\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <kv-icon\r\n name=\"ti-menu-2\"\r\n [clickable]=\"true\"\r\n [pTooltip]=\"expandMenu() ? 'Ocultar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (onClick)=\"toggleMenu()\"\r\n />\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item troca-sistema-container mb-2\" \r\n [pTooltip]=\"'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-building-skyscraper\"\r\n size=\"1.1rem\"\r\n />\r\n @if(expandMenu() && selectedEmpresa){\r\n <div\r\n class=\"flex flex-column w-full\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span\r\n class=\"text-xs font-semibold mr-2 color-system\"\r\n [style.fontSuze]=\"'.5rem'\"\r\n >\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n }\r\n @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\" [style.fontSuze]=\"'.5rem'\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n \r\n }\r\n </div>\r\n }\r\n @else {\r\n <!-- <div style=\"width:100%; height:.75rem\"></div> -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n }\r\n </div>\r\n\r\n\r\n <!-- MENUS -->\r\n <div class=\"flex-1 list-none m-0 overflow-y-auto max-h-full\">\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div class=\"menu-parent\" id=\"menu-parent-{{$index}}\" (mouseenter)=\"exibirMenuChild($event, $index)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\" style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n \r\n \r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-child-{{$index}}\" [style.opacity]=\"menuVisivel()===$index?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===$index?'auto':'none'\">\r\n <div class=\"h-2rem flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">\r\n {{menu.descricaomenu}}\r\n </p>\r\n </div>\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div \r\n class=\" side-menu-item py-2 pl-3 pr-1 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{item.descricaomenu}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n }\r\n </div>\r\n\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n \r\n <!-- APPS E SAIR -->\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div class=\"menu-parent\" id=\"menu-sistemas-parent\" (mouseenter)=\"exibirMenuChild($event, -1)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-apps'\"\r\n />\r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-sistemas-child\" [style.opacity]=\"menuVisivel()===-1?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===-1?'auto':'none'\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\" (click)=\"callRoute(item.rotapadrao) ; selectApp(item.idaplicativo)\">\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{item.nomeaplicativo}}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n </li>\r\n <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'red'\"\r\n [style.opacity]=\"0.5\"\r\n (click)=\"logout($event)\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-logout'\"\r\n \r\n />\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-screen page-content overflow-y-hidden flex flex-column\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between my-2 mx-3 mb-0\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" width=\"150\" />\r\n </div>\r\n } \r\n @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n }\r\n @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n }\r\n @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n }\r\n } \r\n @if (exibirNomes) { \r\n @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\"\r\n >Organiza\u00E7\u00E3o: {{ empresaName }}</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n } \r\n @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } \r\n } \r\n @else { \r\n @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mx-3\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n } \r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 mb-2 h-full\">\r\n <p-card\r\n styleClass=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\"\r\n >\r\n <ng-content></ng-content>\r\n \r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <p class=\"system-color font-medium text-lg px-2 py-3 m-0\">\r\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\r\n </p>\r\n <!-- <div class=\"mt-5 mb-3\"></div> -->\r\n \r\n <!-- Cont\u00EAiner com dire\u00E7\u00E3o em coluna para empilhar os bot\u00F5es -->\r\n <div class=\"flex flex-column\">\r\n <!-- Bot\u00F5es adicionais din\u00E2micos -->\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <kv-icon\r\n [name]=\"action.icon\"\r\n />\r\n <span>{{action.label}}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"accessKeePass($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-lock\"\r\n />\r\n <span>Acessar KeePass</span>\r\n </div>\r\n \r\n </div>\r\n </ng-template>\r\n \r\n </p-overlayPanel>\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://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css\";@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}: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:rgb(var(--kv-background-card))!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 body{margin:0!important}.full-container{background:rgb(var(--kv-background-system),1);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);margin-left:.5rem;margin-top:.5rem;border-radius:.5rem;height:calc(100vh - 1rem);z-index:1100!important}.page-content{background:none}::ng-deep .card-container{background:rgb(var(--kv-kc-background-system),1);border:none;box-shadow:none;overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem 1rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background:rgb(var(--kv-color-system),.1);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;width:12rem;min-width:max-content;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-sistema-container{padding:.5rem .75rem!important;font-size:.75rem;opacity:.7;border:1px solid rgb(var(--kv-color-text),.1)}.troca-sistema-container:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: KvIconComponent, selector: "kv-icon", inputs: ["name", "size", "numNotifications", "img", "clickable"], outputs: ["onClick"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6$1.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i8.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i10$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i10$2.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i11.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TopIconsComponent, selector: "kv-top-icons", inputs: ["topActions"] }, { kind: "component", type: DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: CpfCnpjPipe, name: "cpfCnpj" }] }); }
6114
6114
  }
6115
6115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, decorators: [{
6116
6116
  type: Component,
6117
- args: [{ selector: 'kv-layout', template: "<div class=\"flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n \r\n <!-- LOGO -->\r\n <div class=\"flex-none flex flex-column gap-1 justify-content-between flex-shrink-0 overflow-hidden\">\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <kv-icon\r\n name=\"ti-menu-2\"\r\n [clickable]=\"true\"\r\n [pTooltip]=\"expandMenu() ? 'Ocultar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (onClick)=\"toggleMenu()\"\r\n />\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item troca-sistema-container mb-2\" \r\n [pTooltip]=\"'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-building-skyscraper\"\r\n size=\"1.1rem\"\r\n />\r\n @if(expandMenu() && selectedEmpresa){\r\n <div\r\n class=\"flex flex-column w-full\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span\r\n class=\"text-xs font-semibold mr-2 color-system\"\r\n [style.fontSuze]=\"'.5rem'\"\r\n >\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n }\r\n @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\" [style.fontSuze]=\"'.5rem'\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n \r\n }\r\n </div>\r\n }\r\n @else {\r\n <!-- <div style=\"width:100%; height:.75rem\"></div> -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n }\r\n </div>\r\n\r\n\r\n <!-- MENUS -->\r\n <div class=\"flex-1 list-none m-0 overflow-y-auto max-h-full\">\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div class=\"menu-parent\" id=\"menu-parent-{{$index}}\" (mouseenter)=\"exibirMenuChild($event, $index)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\" style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n \r\n \r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-child-{{$index}}\" [style.opacity]=\"menuVisivel()===$index?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===$index?'auto':'none'\">\r\n <div class=\"h-2rem flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">\r\n {{menu.descricaomenu}}\r\n </p>\r\n </div>\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div \r\n class=\" side-menu-item py-2 pl-3 pr-1 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{item.descricaomenu}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n }\r\n </div>\r\n\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n \r\n <!-- APPS E SAIR -->\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div class=\"menu-parent\" id=\"menu-sistemas-parent\" (mouseenter)=\"exibirMenuChild($event, -1)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-apps'\"\r\n />\r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-sistemas-child\" [style.opacity]=\"menuVisivel()===-1?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===-1?'auto':'none'\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\" (click)=\"callRoute(item.rotapadrao) ; selectApp(item.idaplicativo)\">\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{item.nomeaplicativo}}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n </li>\r\n <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'red'\"\r\n [style.opacity]=\"0.5\"\r\n (click)=\"logout($event)\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-logout'\"\r\n \r\n />\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-screen page-content overflow-y-hidden flex flex-column\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between my-2 mx-3 mb-0\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" width=\"150\" />\r\n </div>\r\n } \r\n @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n }\r\n @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n }\r\n @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n }\r\n } \r\n @if (exibirNomes) { \r\n @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\"\r\n >Organiza\u00E7\u00E3o: {{ empresaName }}</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n } \r\n @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } \r\n } \r\n @else { \r\n @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mx-3\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n } \r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 mb-2\">\r\n <p-card\r\n styleClass=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\"\r\n >\r\n <ng-content></ng-content>\r\n \r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <p class=\"system-color font-medium text-lg px-2 py-3 m-0\">\r\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\r\n </p>\r\n <!-- <div class=\"mt-5 mb-3\"></div> -->\r\n \r\n <!-- Cont\u00EAiner com dire\u00E7\u00E3o em coluna para empilhar os bot\u00F5es -->\r\n <div class=\"flex flex-column\">\r\n <!-- Bot\u00F5es adicionais din\u00E2micos -->\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <kv-icon\r\n [name]=\"action.icon\"\r\n />\r\n <span>{{action.label}}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"accessKeePass($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-lock\"\r\n />\r\n <span>Acessar KeePass</span>\r\n </div>\r\n \r\n </div>\r\n </ng-template>\r\n \r\n </p-overlayPanel>\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://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css\";@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}: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:rgb(var(--kv-background-card))!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 body{margin:0!important}.full-container{background:rgb(var(--kv-background-system),1);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);margin-left:.5rem;margin-top:.5rem;border-radius:.5rem;height:calc(100vh - 1rem);z-index:1100!important}.page-content{background:none}::ng-deep .card-container{background:rgb(var(--kv-kc-background-system),1);border:none;box-shadow:none;overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem 1rem 0;margin:0}::ng-deep .card-container .p-card-content{margin:0;padding:0}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background:rgb(var(--kv-color-system),.1);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;width:12rem;min-width:max-content;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-sistema-container{padding:.5rem .75rem!important;font-size:.75rem;opacity:.7;border:1px solid rgb(var(--kv-color-text),.1)}.troca-sistema-container:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1)}\n"] }]
6117
+ args: [{ selector: 'kv-layout', template: "<div class=\"flex flex-row full-container\">\r\n @if(showMenu) {\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{ width: expandMenu() ? '17rem' : '3.65rem' }\"\r\n styleClass=\"transition-all\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n \r\n <!-- LOGO -->\r\n <div class=\"flex-none flex flex-column gap-1 justify-content-between flex-shrink-0 overflow-hidden\">\r\n <div\r\n class=\"flex {{\r\n expandMenu() ? 'flex-row' : 'flex-column'\r\n }} align-items-center {{\r\n expandMenu()\r\n ? 'justify-content-between'\r\n : 'justify-content-center'\r\n }} p-2\"\r\n >\r\n <!-- Logo para o menu expandido -->\r\n @if(expandMenu() && logoMenuExpand){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuExpand\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-0\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Logo para o menu minimizado-->\r\n @if(!expandMenu() && logoMenuHide){\r\n <img\r\n alt=\"Card\"\r\n [src]=\"logoMenuHide\"\r\n [style.height]=\"'2.4rem'\"\r\n width=\"auto\"\r\n class=\"cursor-pointer p-1\"\r\n (click)=\"navigateToDefaultRoute()\"\r\n />\r\n }\r\n\r\n <!-- Toggle menu -->\r\n @if(showExpandMenu){\r\n <kv-icon\r\n name=\"ti-menu-2\"\r\n [clickable]=\"true\"\r\n [pTooltip]=\"expandMenu() ? 'Ocultar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (onClick)=\"toggleMenu()\"\r\n />\r\n }\r\n </div>\r\n\r\n @if(showTrocaEmpresa){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item troca-sistema-container mb-2\" \r\n [pTooltip]=\"'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-building-skyscraper\"\r\n size=\"1.1rem\"\r\n />\r\n @if(expandMenu() && selectedEmpresa){\r\n <div\r\n class=\"flex flex-column w-full\"\r\n (click)=\"changeEmpresa($event)\"\r\n >\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span\r\n class=\"text-xs font-semibold mr-2 color-system\"\r\n [style.fontSuze]=\"'.5rem'\"\r\n >\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n }\r\n @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\" [style.fontSuze]=\"'.5rem'\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n \r\n }\r\n </div>\r\n }\r\n @else {\r\n <!-- <div style=\"width:100%; height:.75rem\"></div> -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n }\r\n </div>\r\n\r\n\r\n <!-- MENUS -->\r\n <div class=\"flex-1 list-none m-0 overflow-y-auto max-h-full\">\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n <li>\r\n <!-- menu que n\u00E3o tem filho -->\r\n @if( !menu.indmenupai && (!menu.idmenupai || menu.idmenupai == 0)){\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n (click)=\"callRoute(menu.link)\"\r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n }\r\n </div>\r\n }\r\n <!-- menu com filho -->\r\n @if(menu.indmenupai){\r\n <div class=\"menu-parent\" id=\"menu-parent-{{$index}}\" (mouseenter)=\"exibirMenuChild($event, $index)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\" style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n \r\n \r\n >\r\n <kv-icon\r\n [name]=\"menu.icone|| 'ti-circle-dotted'\"\r\n />\r\n @if(expandMenu()){\r\n <label>{{menu.descricaomenu}}</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-child-{{$index}}\" [style.opacity]=\"menuVisivel()===$index?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===$index?'auto':'none'\">\r\n <div class=\"h-2rem flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">\r\n {{menu.descricaomenu}}\r\n </p>\r\n </div>\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <div \r\n class=\" side-menu-item py-2 pl-3 pr-1 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{item.descricaomenu}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </li>\r\n }\r\n </div>\r\n\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n \r\n <!-- APPS E SAIR -->\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div class=\"menu-parent\" id=\"menu-sistemas-parent\" (mouseenter)=\"exibirMenuChild($event, -1)\" (mouseleave)=\"menuVisivel.set(undefined)\" >\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sistemas' : ''\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-apps'\"\r\n />\r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <kv-icon\r\n #chevronIcon\r\n name=\"ti-chevron-right\"\r\n />\r\n }\r\n </div>\r\n\r\n <div class=\"menu-childs\" id=\"menu-sistemas-child\" [style.opacity]=\"menuVisivel()===-1?'1':'0'\" [style.pointerEvents]=\"menuVisivel()===-1?'auto':'none'\">\r\n <p class=\"p-0 m-0 font-bold pt-2 pl-3 text-xs\">Sistemas</p>\r\n @for (item of apps; track $index) {\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\" (click)=\"callRoute(item.rotapadrao) ; selectApp(item.idaplicativo)\">\r\n <img\r\n [src]=\"item.urlicone\"\r\n class=\"h-2rem w-2rem border-round-lg\"\r\n />\r\n <div class=\"text-sm\">\r\n {{item.nomeaplicativo}}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n \r\n </div>\r\n </li>\r\n <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{expandMenu() ?'between':'center'}} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom:0.75rem;\"\r\n [pTooltip]=\"!expandMenu() ? 'Sair' : ''\"\r\n [style.color]=\"'red'\"\r\n [style.opacity]=\"0.5\"\r\n (click)=\"logout($event)\"\r\n >\r\n <kv-icon\r\n [name]=\"'ti-logout'\"\r\n \r\n />\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n }\r\n\r\n <!-- SE\u00C7\u00C3O CONTE\u00DADO -->\r\n <div\r\n class=\"w-auto h-screen page-content overflow-y-hidden flex flex-column\"\r\n id=\"page-content\"\r\n style=\"width: 100vw !important\"\r\n >\r\n <!-- TOPO -->\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center justify-content-between my-2 mx-3 mb-0\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" width=\"150\" />\r\n </div>\r\n } \r\n @else {\r\n <!-- Breadcrumbs -->\r\n @if(showBreadcrumb) {\r\n <div class=\"h-full\">\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem bg-transparent\"\r\n [model]=\"breadCrumbItems\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n >\r\n <ng-template pTemplate=\"item\" let-item let-i=\"index\">\r\n @if(breadCrumbItems.indexOf(item) < breadCrumbItems.length - 1){\r\n <span class=\"font-normal\">{{ item.label }}</span>\r\n }\r\n @else {\r\n <span class=\"font-bold\">{{ item.label }}</span>\r\n }\r\n </ng-template>\r\n </p-breadcrumb>\r\n </div>\r\n }\r\n @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n }\r\n } \r\n @if (exibirNomes) { \r\n @if(widthCard >= 517) {\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\"\r\n >Organiza\u00E7\u00E3o: {{ empresaName }}</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n } \r\n @else {\r\n <div\r\n class=\"w-auto flex flex-row justify-content-center align-items-center gap-2\"\r\n >\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <!-- @for (topAction of topMenuActions(); track $index) {\r\n <ng-container *ngTemplateOutlet=\"topAction\" />\r\n } -->\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n\r\n <div\r\n class=\"w-auto flex flex-column justify-content-center align-items-center gap-2\"\r\n >\r\n @if (masterName) { <span class=\"master-name\">{{ masterName }}</span> }\r\n @if (empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span> }\r\n </div>\r\n } \r\n } \r\n @else { \r\n @if(widthPage() > 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n class=\"max-w-25rem flex-1\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n >\r\n </dropdown-master>\r\n }\r\n\r\n <!-- Navega\u00E7\u00E3o de sistemas e usu\u00E1rios -->\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n\r\n <kv-top-icons\r\n [topActions]=\"topMenuOptions\"\r\n />\r\n\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(widthPage() <= 992){\r\n <!-- dropdown para sele\u00E7\u00E3o de empresa/licenca -->\r\n <div class=\"h-2rem mx-3\">\r\n <dropdown-master\r\n *ngIf=\"showLicencas()\"\r\n formControlName=\"idmaster\"\r\n [formGroup]=\"formGroup\"\r\n [masters]=\"masters\"\r\n (onSelectionChange)=\"changeLicense($event)\"\r\n (onSelectionValue)=\"changeLicense($event)\"\r\n />\r\n </div>\r\n\r\n } \r\n\r\n <!-- Container -->\r\n <div class=\"overflow-hidden flex-1 p-0 m-0 mb-2 h-full\">\r\n <p-card\r\n styleClass=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\"\r\n >\r\n <ng-content></ng-content>\r\n \r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <!-- Painel do usu\u00E1rio -->\r\n <p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n >\r\n <ng-template pTemplate=\"container\">\r\n <p class=\"system-color font-medium text-lg px-2 py-3 m-0\">\r\n Ol\u00E1, {{ userName ? userName.split(\" \")[0] : \"Usu\u00E1rio\" }}!\r\n </p>\r\n <!-- <div class=\"mt-5 mb-3\"></div> -->\r\n \r\n <!-- Cont\u00EAiner com dire\u00E7\u00E3o em coluna para empilhar os bot\u00F5es -->\r\n <div class=\"flex flex-column\">\r\n <!-- Bot\u00F5es adicionais din\u00E2micos -->\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <kv-icon\r\n [name]=\"action.icon\"\r\n />\r\n <span>{{action.label}}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n\r\n <div class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 px-2\"\r\n (click)=\"accessKeePass($event)\"\r\n >\r\n <kv-icon\r\n name=\"ti-lock\"\r\n />\r\n <span>Acessar KeePass</span>\r\n </div>\r\n \r\n </div>\r\n </ng-template>\r\n \r\n </p-overlayPanel>\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://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css\";@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}: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:rgb(var(--kv-background-card))!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 body{margin:0!important}.full-container{background:rgb(var(--kv-background-system),1);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden}::ng-deep p-sidebar .p-sidebar{position:relative!important;background:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);margin-left:.5rem;margin-top:.5rem;border-radius:.5rem;height:calc(100vh - 1rem);z-index:1100!important}.page-content{background:none}::ng-deep .card-container{background:rgb(var(--kv-kc-background-system),1);border:none;box-shadow:none;overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem 1rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.side-menu-item{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item:hover{background:rgb(var(--kv-color-system),.1);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}::ng-deep .p-divider{margin:0;padding:0;margin-top:.5rem;margin-bottom:.5rem}::ng-deep .p-overlaypanel-content{padding:0}.menu-parent{display:inline-block;width:100%}.menu-childs{position:absolute;left:-500px;width:12rem;min-width:max-content;background:rgb(var(--kv-background-card),1);border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem;z-index:9999;box-shadow:0 0 .8rem #0000001a}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}::ng-deep .p-breadcrumb .p-breadcrumb-list span{color:rgba(var(--kv-color-text),.75)!important;font-size:.75rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{color:rgba(var(--kv-color-text),.7)!important;margin:0;margin-left:.1rem;margin-right:.1rem}::ng-deep .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator svg{height:.5rem}.troca-sistema-container{padding:.5rem .75rem!important;font-size:.75rem;opacity:.7;border:1px solid rgb(var(--kv-color-text),.1)}.troca-sistema-container:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1)}\n"] }]
6118
6118
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$1.FormBuilder }, { type: i3$1.Router }, { type: i3$1.ActivatedRoute }], propDecorators: { apps: [{
6119
6119
  type: Input
6120
6120
  }], actions: [{
@@ -7542,56 +7542,16 @@ class WorkspaceEmpresaComponent {
7542
7542
  this.onEmpresaSelecionada = new EventEmitter();
7543
7543
  this.onPaginate = new EventEmitter();
7544
7544
  }
7545
- ngOnInit() {
7546
- this.configTable();
7547
- }
7548
- activeItem(e) {
7549
- this.empresaSelecionada = e;
7550
- }
7551
- configTable() {
7552
- this.tableConfig = {
7553
- lazy: true,
7554
- columns: [
7555
- { position: 0, field: 'codigopessoa', header: 'Código', width: '', centralize: false, sortable: false },
7556
- { position: 1, field: 'cpfcnpj', header: 'CPF/CNPJ', width: '', centralize: false, sortable: false, pipe: 'cpfcnpj' },
7557
- { position: 2, field: 'razaosocial', header: 'Razão social', width: '50%', centralize: false, sortable: false },
7558
- ],
7559
- actions: [
7560
- {
7561
- label: 'Acessar',
7562
- icon: 'login',
7563
- tooltip: 'Acessar Empresa',
7564
- command: () => {
7565
- this.selecionarEmpresa(this.empresaSelecionada);
7566
- },
7567
- disabled: () => {
7568
- return false;
7569
- },
7570
- },
7571
- ],
7572
- actionsLote: [],
7573
- enableCation: true,
7574
- enableFilter: true,
7575
- enableSelect: false,
7576
- };
7577
- }
7578
- doubleClick(e) {
7579
- this.empresaSelecionada = e.rowData;
7580
- this.selecionarEmpresa(this.empresaSelecionada);
7581
- }
7582
- paginate(event) {
7583
- this.onPaginate.emit(event);
7584
- }
7585
7545
  selecionarEmpresa(empresa) {
7586
7546
  this.empresaSelecionada = empresa;
7587
7547
  this.onEmpresaSelecionada.emit(this.empresaSelecionada);
7588
7548
  }
7589
7549
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceEmpresaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7590
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: { empresas: "empresas", empresaSelecionada: "empresaSelecionada", totalEmpresas: "totalEmpresas" }, outputs: { onEmpresaSelecionada: "onEmpresaSelecionada", onPaginate: "onPaginate" }, ngImport: i0, template: "<kv-table\r\n [config]=\"tableConfig\"\r\n [dataSource]=\"empresas\"\r\n [isTableScrollable]=\"true\"\r\n [paginator]=\"true\"\r\n [rows]=\"5\"\r\n [rowsPerPageOptions]=\"[5]\"\r\n [scrollHeight]=\"'300px'\"\r\n [tableSize]=\"5\"\r\n [totalRecords]=\"totalEmpresas\"\r\n (doubleClickEvent)=\"doubleClick($event)\"\r\n (onActiveItem)=\"activeItem($event)\"\r\n (onPaginate)=\"paginate($event)\">\r\n</kv-table>", styles: [""], dependencies: [{ kind: "component", type: KvTableComponent, selector: "kv-table", inputs: ["searchPlaceholder", "templates", "config", "first", "rows", "defaultSortField", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "tableSize", "filterColumnsBtn", "replaceEmptyValues", "filtrosAvancados", "scrollHeight", "isTableScrollable", "tableCaptalized", "rowTrackBy", "responsiveLayout", "disabledHeaderCheckbox", "applyStyle", "pageLinksOptions", "showFirstLastIcon", "ellipsisText", "isLoadingSkeleton"], outputs: ["firstChange", "rowsChange", "onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "onSwitchTableChange"] }] }); }
7550
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: { empresas: "empresas", empresaSelecionada: "empresaSelecionada", totalEmpresas: "totalEmpresas" }, outputs: { onEmpresaSelecionada: "onEmpresaSelecionada", onPaginate: "onPaginate" }, ngImport: i0, template: "<div class=\"flex flex-column px-3 overflow-y-auto max-h-24rem cards-container\">\r\n <p-divider />\r\n\r\n @for(empresa of empresas; track $index) {\r\n <div\r\n class=\"grid formgrid flex-row flex-nowrap p-fluid gap-2 p-0 m-0 align-items-center\"\r\n >\r\n <span class=\"p-0 col-3 text-xs text-truncate text-no-wrap\">{{ empresa.cpfcnpj }}</span>\r\n <span class=\"p-0 col-8 text-xs text-truncate text-no-wrap\">{{ empresa.razaosocial }}</span>\r\n\r\n <div class=\"p-0 col flex justify-content-end\">\r\n <div class=\"w-1rem text-right\">\r\n <kv-button\r\n class=\"\"\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [icon]=\"'arrow_forward_ios'\"\r\n (onClick)=\"selecionarEmpresa(empresa)\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <p-divider />\r\n }\r\n</div>\r\n", styles: [".text-no-wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", ":host{overflow:hidden}.cards-container{overflow-x:hidden}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:1rem}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"], dependencies: [{ kind: "component", type: i10$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled"], outputs: ["onClick"] }] }); }
7591
7551
  }
7592
7552
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceEmpresaComponent, decorators: [{
7593
7553
  type: Component,
7594
- args: [{ selector: 'kv-workspace-empresa', template: "<kv-table\r\n [config]=\"tableConfig\"\r\n [dataSource]=\"empresas\"\r\n [isTableScrollable]=\"true\"\r\n [paginator]=\"true\"\r\n [rows]=\"5\"\r\n [rowsPerPageOptions]=\"[5]\"\r\n [scrollHeight]=\"'300px'\"\r\n [tableSize]=\"5\"\r\n [totalRecords]=\"totalEmpresas\"\r\n (doubleClickEvent)=\"doubleClick($event)\"\r\n (onActiveItem)=\"activeItem($event)\"\r\n (onPaginate)=\"paginate($event)\">\r\n</kv-table>" }]
7554
+ args: [{ selector: 'kv-workspace-empresa', template: "<div class=\"flex flex-column px-3 overflow-y-auto max-h-24rem cards-container\">\r\n <p-divider />\r\n\r\n @for(empresa of empresas; track $index) {\r\n <div\r\n class=\"grid formgrid flex-row flex-nowrap p-fluid gap-2 p-0 m-0 align-items-center\"\r\n >\r\n <span class=\"p-0 col-3 text-xs text-truncate text-no-wrap\">{{ empresa.cpfcnpj }}</span>\r\n <span class=\"p-0 col-8 text-xs text-truncate text-no-wrap\">{{ empresa.razaosocial }}</span>\r\n\r\n <div class=\"p-0 col flex justify-content-end\">\r\n <div class=\"w-1rem text-right\">\r\n <kv-button\r\n class=\"\"\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [icon]=\"'arrow_forward_ios'\"\r\n (onClick)=\"selecionarEmpresa(empresa)\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <p-divider />\r\n }\r\n</div>\r\n", styles: [".text-no-wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", ":host{overflow:hidden}.cards-container{overflow-x:hidden}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:1rem}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"] }]
7595
7555
  }], ctorParameters: () => [], propDecorators: { empresas: [{
7596
7556
  type: Input
7597
7557
  }], empresaSelecionada: [{
@@ -7608,9 +7568,24 @@ class WorkspaceMasterComponent {
7608
7568
  constructor() {
7609
7569
  this.dataSource = [];
7610
7570
  this.onMasterSelecionada = new EventEmitter();
7571
+ this.emptyText = input('Nenhum resultado encontrado');
7572
+ this.widthScreen = signal(window.innerWidth);
7573
+ this.cpfCnpjPipe = inject(CpfCnpjPipe);
7574
+ this.isEmpresa = computed(() => (cpfCnpj) => {
7575
+ return cpfCnpj.length > 11;
7576
+ });
7577
+ this.transformRazaoSocial = computed(() => (razaosocial) => {
7578
+ return razaosocial.length > 72 ? `${razaosocial.substring(0, 72)}...` : razaosocial;
7579
+ });
7580
+ this.transformCpfCnpj = computed(() => (cpfCnpj) => {
7581
+ return this.cpfCnpjPipe.transform(cpfCnpj);
7582
+ });
7611
7583
  }
7612
7584
  ngOnInit() {
7613
7585
  this.configTable();
7586
+ window.addEventListener('resize', () => {
7587
+ this.widthScreen.set(window.innerWidth);
7588
+ });
7614
7589
  }
7615
7590
  activeItem(e) {
7616
7591
  this.masterSelecionada = e;
@@ -7651,11 +7626,11 @@ class WorkspaceMasterComponent {
7651
7626
  this.onMasterSelecionada.emit(this.masterSelecionada);
7652
7627
  }
7653
7628
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceMasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7654
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: { masters: "masters", masterSelecionada: "masterSelecionada" }, outputs: { onMasterSelecionada: "onMasterSelecionada" }, ngImport: i0, template: "<kv-table\r\n [tableSize]=\"5\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfig\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n (doubleClickEvent)=\"doubleClick($event)\"\r\n (onActiveItem)=\"activeItem($event)\"\r\n [isTableScrollable]=\"true\"\r\n [scrollHeight]=\"'300px'\">\r\n</kv-table>", styles: [""], dependencies: [{ kind: "component", type: KvTableComponent, selector: "kv-table", inputs: ["searchPlaceholder", "templates", "config", "first", "rows", "defaultSortField", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "tableSize", "filterColumnsBtn", "replaceEmptyValues", "filtrosAvancados", "scrollHeight", "isTableScrollable", "tableCaptalized", "rowTrackBy", "responsiveLayout", "disabledHeaderCheckbox", "applyStyle", "pageLinksOptions", "showFirstLastIcon", "ellipsisText", "isLoadingSkeleton"], outputs: ["firstChange", "rowsChange", "onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "onSwitchTableChange"] }] }); }
7629
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: { masters: { classPropertyName: "masters", publicName: "masters", isSignal: false, isRequired: false, transformFunction: null }, masterSelecionada: { classPropertyName: "masterSelecionada", publicName: "masterSelecionada", isSignal: false, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMasterSelecionada: "onMasterSelecionada" }, ngImport: i0, template: "<div\r\n class=\"grid m-0 border-round-lg gap-2 p-2 {{\r\n (this.masters.length > 6 || this.widthScreen() < 992) &&\r\n 'overflow-y-auto'\r\n }} max-h-24rem cards-container\"\r\n>\r\n @for(master of this.masters; track $index) {\r\n <div\r\n class=\"{{\r\n $index % 2 == 0 ? 'sm:col-6 col-12' : 'sm:col col-12'\r\n }} p-0 card-option\"\r\n (click)=\"activeItem(master)\"\r\n >\r\n <div class=\"flex flex-column p-3 gap-1\">\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold mb-2\">\r\n <span class=\"material-symbols-outlined text-md\"> article </span>\r\n <span class=\"text-sm\">{{ master.idmaster }}</span>\r\n </div>\r\n\r\n <span style=\"word-break: break-word font-medium\" class=\"text-sm\">{{\r\n transformRazaoSocial()(master.nome)\r\n }}</span>\r\n\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-xs\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n <span class=\"text-xs\">{{ transformCpfCnpj()(master.cpfcnpj) }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n } @if(this.masters.length == 0) {\r\n <p>{{ emptyText() }}</p>\r\n }\r\n</div>\r\n", styles: [".card-option{background-color:#fff;border-radius:.5rem;border:1px solid #eaeaea;height:7.5rem;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer}.card-option:hover{border:1px solid #581999;background-color:#d0b3dd4d}.card-option:hover span{color:#581999}.card-option:active{background-color:#d0b3dd99}span{color:#64748b}\n", ":host{overflow:hidden}.cards-container{overflow-x:hidden}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:1rem}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"] }); }
7655
7630
  }
7656
7631
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceMasterComponent, decorators: [{
7657
7632
  type: Component,
7658
- args: [{ selector: 'kv-workspace-master', template: "<kv-table\r\n [tableSize]=\"5\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfig\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n (doubleClickEvent)=\"doubleClick($event)\"\r\n (onActiveItem)=\"activeItem($event)\"\r\n [isTableScrollable]=\"true\"\r\n [scrollHeight]=\"'300px'\">\r\n</kv-table>" }]
7633
+ args: [{ selector: 'kv-workspace-master', template: "<div\r\n class=\"grid m-0 border-round-lg gap-2 p-2 {{\r\n (this.masters.length > 6 || this.widthScreen() < 992) &&\r\n 'overflow-y-auto'\r\n }} max-h-24rem cards-container\"\r\n>\r\n @for(master of this.masters; track $index) {\r\n <div\r\n class=\"{{\r\n $index % 2 == 0 ? 'sm:col-6 col-12' : 'sm:col col-12'\r\n }} p-0 card-option\"\r\n (click)=\"activeItem(master)\"\r\n >\r\n <div class=\"flex flex-column p-3 gap-1\">\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold mb-2\">\r\n <span class=\"material-symbols-outlined text-md\"> article </span>\r\n <span class=\"text-sm\">{{ master.idmaster }}</span>\r\n </div>\r\n\r\n <span style=\"word-break: break-word font-medium\" class=\"text-sm\">{{\r\n transformRazaoSocial()(master.nome)\r\n }}</span>\r\n\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-xs\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n <span class=\"text-xs\">{{ transformCpfCnpj()(master.cpfcnpj) }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n } @if(this.masters.length == 0) {\r\n <p>{{ emptyText() }}</p>\r\n }\r\n</div>\r\n", styles: [".card-option{background-color:#fff;border-radius:.5rem;border:1px solid #eaeaea;height:7.5rem;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer}.card-option:hover{border:1px solid #581999;background-color:#d0b3dd4d}.card-option:hover span{color:#581999}.card-option:active{background-color:#d0b3dd99}span{color:#64748b}\n", ":host{overflow:hidden}.cards-container{overflow-x:hidden}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:1rem}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"] }]
7659
7634
  }], ctorParameters: () => [], propDecorators: { masters: [{
7660
7635
  type: Input
7661
7636
  }], masterSelecionada: [{
@@ -7667,7 +7642,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
7667
7642
  class WorkspaceComponent {
7668
7643
  constructor() {
7669
7644
  this.backgroundImg = 'https://work-assets.keevo.com.br/img/background-keevocenter-login.jpg';
7670
- this.nomeUsuario = 'Nome do Usuário Logado';
7671
7645
  this.somenteMaster = true;
7672
7646
  this.visivel = true;
7673
7647
  this.showBtnVoltar = false;
@@ -7676,10 +7650,36 @@ class WorkspaceComponent {
7676
7650
  this.onGetEmpresaSelecionada = new EventEmitter();
7677
7651
  this.onPaginate = new EventEmitter();
7678
7652
  this.onBtnVoltarClick = new EventEmitter();
7653
+ this.fb = inject(FormBuilder);
7654
+ this.masters = input([]);
7655
+ this.empresas = input([]);
7656
+ this.nomeUsuario = input('Nome do Usuário Logado');
7657
+ this.filteredMasters = signal([]);
7658
+ this.filteredEmpresas = signal([]);
7659
+ this.widthScreen = signal(window.innerWidth);
7660
+ this.logoKeevoCenter = input('');
7661
+ this.onFilter = output();
7662
+ this.minWidthCard = computed(() => {
7663
+ return this.widthScreen() >= 992 ? '45rem' : '100%';
7664
+ });
7665
+ this.filtrarVisivel = computed(() => {
7666
+ if ((!this.somenteMaster && this.masterSelecionada)) {
7667
+ return this.empresas().length > 9;
7668
+ }
7669
+ return this.masters().length > 6;
7670
+ });
7679
7671
  }
7680
7672
  ngOnInit() {
7681
7673
  this.imgPersonagens = ImagensService.getPersonagensWorkSpace();
7682
7674
  this.imgLogoKeevo = ImagensService.getLogoKeevo();
7675
+ this.workspaceForm = this.fb.group({
7676
+ search: ['']
7677
+ });
7678
+ this.filteredMasters.set(this.masters());
7679
+ this.filteredEmpresas.set(this.empresas());
7680
+ window.addEventListener('resize', () => {
7681
+ this.widthScreen.set(window.innerWidth);
7682
+ });
7683
7683
  }
7684
7684
  paginate(event) {
7685
7685
  this.onPaginate.emit(event);
@@ -7693,32 +7693,41 @@ class WorkspaceComponent {
7693
7693
  selecionarMaster(event) {
7694
7694
  this.onGetMasterSelecionada.emit(event);
7695
7695
  }
7696
+ buscarMasters() {
7697
+ this.onFilter.emit(this.workspaceForm.value.search);
7698
+ const searchValue = this.workspaceForm.value.search.toLowerCase();
7699
+ this.filteredMasters.set(this.masters().filter((master) => {
7700
+ return master.cpfcnpj.includes(searchValue) ||
7701
+ master.nome.toLowerCase().includes(searchValue) ||
7702
+ master.idmaster.toString().includes(searchValue);
7703
+ }));
7704
+ }
7705
+ buscarEmpresas() {
7706
+ this.onFilter.emit(this.workspaceForm.value.search);
7707
+ const searchValue = this.workspaceForm.value.search.toLowerCase();
7708
+ this.filteredEmpresas.set(this.empresas().filter((empresa) => {
7709
+ return empresa.cpfcnpj.includes(searchValue) ||
7710
+ empresa.razaosocial.toLowerCase().includes(searchValue);
7711
+ }));
7712
+ }
7696
7713
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7697
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { backgroundImg: "backgroundImg", logoKeevoCenter: "logoKeevoCenter", nomeUsuario: "nomeUsuario", somenteMaster: "somenteMaster", visivel: "visivel", showBtnVoltar: "showBtnVoltar", empresas: "empresas", empresaSelecionada: "empresaSelecionada", totalEmpresas: "totalEmpresas", masters: "masters", masterSelecionada: "masterSelecionada" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada", onPaginate: "onPaginate", onBtnVoltarClick: "onBtnVoltarClick" }, ngImport: i0, template: "@if(visivel){\r\n<div \r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n id=\"kvworkspace-container\"\r\n [style.background-image]=\"'url(' + backgroundImg + ')'\"\r\n>\r\n <div id=\"card-workspace\" class=\"flex flex-column justify-content-around formgrid p-fluid bg-white border-round p-2\">\r\n\r\n <kv-workspace-logo\r\n [logoKeevoCenter]=\"logoKeevoCenter\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n [nomeUsuario]=\"nomeUsuario\">\r\n </kv-workspace-logo>\r\n\r\n @if(!masterSelecionada){\r\n <div class=\"col-12 z-5\">\r\n <kv-workspace-master\r\n [masters]=\"masters\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n (onMasterSelecionada)=\"selecionarMaster($event)\">\r\n </kv-workspace-master>\r\n </div>\r\n }\r\n\r\n @if(!somenteMaster && masterSelecionada){\r\n <kv-workspace-empresa\r\n [empresas]=\"empresas\"\r\n [totalEmpresas]=\"totalEmpresas\"\r\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\r\n (onPaginate)=\"paginate($event)\">\r\n </kv-workspace-empresa>\r\n }\r\n <!-- <kv-button\r\n class=\"col-2\" \r\n severity=\"secondary\" label=\"Voltar\" /> -->\r\n @if(showBtnVoltar && masterSelecionada) {\r\n <div class=\"flex\">\r\n <div class=\"col\">\r\n </div>\r\n <kv-button\r\n class=\"col-2\" \r\n severity=\"tertiary\" label=\"Voltar\" \r\n (onClick)=\"OnBtnVoltarClick()\"\r\n />\r\n </div>\r\n }\r\n\r\n </div>\r\n</div>\r\n}", styles: ["#card-workspace{width:80%;max-width:800px;box-shadow:#00000059 0 5px 15px}:host{overflow:hidden}#kvworkspace-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}\n"], dependencies: [{ kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled"], outputs: ["onClick"] }, { kind: "component", type: WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: ["empresas", "empresaSelecionada", "totalEmpresas"], outputs: ["onEmpresaSelecionada", "onPaginate"] }, { kind: "component", type: WokspaceLogoComponent, selector: "kv-workspace-logo", inputs: ["logoKeevoCenter", "nomeUsuario", "masterSelecionada"] }, { kind: "component", type: WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: ["masters", "masterSelecionada"], outputs: ["onMasterSelecionada"] }] }); }
7714
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: WorkspaceComponent, selector: "kv-workspace", inputs: { backgroundImg: { classPropertyName: "backgroundImg", publicName: "backgroundImg", isSignal: false, isRequired: false, transformFunction: null }, somenteMaster: { classPropertyName: "somenteMaster", publicName: "somenteMaster", isSignal: false, isRequired: false, transformFunction: null }, visivel: { classPropertyName: "visivel", publicName: "visivel", isSignal: false, isRequired: false, transformFunction: null }, showBtnVoltar: { classPropertyName: "showBtnVoltar", publicName: "showBtnVoltar", isSignal: false, isRequired: false, transformFunction: null }, empresaSelecionada: { classPropertyName: "empresaSelecionada", publicName: "empresaSelecionada", isSignal: false, isRequired: false, transformFunction: null }, totalEmpresas: { classPropertyName: "totalEmpresas", publicName: "totalEmpresas", isSignal: false, isRequired: false, transformFunction: null }, masterSelecionada: { classPropertyName: "masterSelecionada", publicName: "masterSelecionada", isSignal: false, isRequired: false, transformFunction: null }, masters: { classPropertyName: "masters", publicName: "masters", isSignal: true, isRequired: false, transformFunction: null }, empresas: { classPropertyName: "empresas", publicName: "empresas", isSignal: true, isRequired: false, transformFunction: null }, nomeUsuario: { classPropertyName: "nomeUsuario", publicName: "nomeUsuario", isSignal: true, isRequired: false, transformFunction: null }, logoKeevoCenter: { classPropertyName: "logoKeevoCenter", publicName: "logoKeevoCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada", onPaginate: "onPaginate", onBtnVoltarClick: "onBtnVoltarClick", onFilter: "onFilter" }, ngImport: i0, template: "<div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n [style.background-image]=\"'url(' + backgroundImg + ')'\"\r\n>\r\n <div\r\n class=\"bg-white h-auto border-round-lg lg:p-3 p-1 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n >\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logoKeevoCenter()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo (a)! Escolha a\r\n <b>{{ !somenteMaster && masterSelecionada ? \"Empresa\" : \"Licen\u00E7a\" }}</b>\r\n que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n @if(filtrarVisivel()) {\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar {{\r\n !somenteMaster && masterSelecionada ? 'empresa' : 'licen\u00E7a'\r\n }}\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"(!somenteMaster && masterSelecionada) ? buscarEmpresas() : buscarMasters()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n } \r\n \r\n @if(!masterSelecionada){\r\n <kv-workspace-master\r\n [masters]=\"filteredMasters()\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n (onMasterSelecionada)=\"selecionarMaster($event)\"\r\n >\r\n </kv-workspace-master>\r\n } \r\n \r\n @if(!somenteMaster && masterSelecionada){\r\n <kv-workspace-empresa\r\n [empresas]=\"filteredEmpresas()\"\r\n [totalEmpresas]=\"totalEmpresas\"\r\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\r\n (onPaginate)=\"paginate($event)\"\r\n >\r\n </kv-workspace-empresa>\r\n }\r\n\r\n @if(showBtnVoltar && masterSelecionada) {\r\n <div class=\"flex text-left\">\r\n <div\r\n class=\"voltar-box link\"\r\n (onClick)=\"OnBtnVoltarClick()\"\r\n >\r\n <i class=\"material-symbols-outlined text-sm font-semibold\">arrow_back_ios</i>\r\n <span class=\"text-md font-semibold\">Voltar</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n</div>\r\n", styles: [":host{overflow:hidden}.cards-container{overflow-x:hidden}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:1rem}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "component", type: WorkspaceEmpresaComponent, selector: "kv-workspace-empresa", inputs: ["empresas", "empresaSelecionada", "totalEmpresas"], outputs: ["onEmpresaSelecionada", "onPaginate"] }, { kind: "component", type: WorkspaceMasterComponent, selector: "kv-workspace-master", inputs: ["masters", "masterSelecionada", "emptyText"], outputs: ["onMasterSelecionada"] }] }); }
7698
7715
  }
7699
7716
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: WorkspaceComponent, decorators: [{
7700
7717
  type: Component,
7701
- args: [{ selector: 'kv-workspace', template: "@if(visivel){\r\n<div \r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n id=\"kvworkspace-container\"\r\n [style.background-image]=\"'url(' + backgroundImg + ')'\"\r\n>\r\n <div id=\"card-workspace\" class=\"flex flex-column justify-content-around formgrid p-fluid bg-white border-round p-2\">\r\n\r\n <kv-workspace-logo\r\n [logoKeevoCenter]=\"logoKeevoCenter\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n [nomeUsuario]=\"nomeUsuario\">\r\n </kv-workspace-logo>\r\n\r\n @if(!masterSelecionada){\r\n <div class=\"col-12 z-5\">\r\n <kv-workspace-master\r\n [masters]=\"masters\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n (onMasterSelecionada)=\"selecionarMaster($event)\">\r\n </kv-workspace-master>\r\n </div>\r\n }\r\n\r\n @if(!somenteMaster && masterSelecionada){\r\n <kv-workspace-empresa\r\n [empresas]=\"empresas\"\r\n [totalEmpresas]=\"totalEmpresas\"\r\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\r\n (onPaginate)=\"paginate($event)\">\r\n </kv-workspace-empresa>\r\n }\r\n <!-- <kv-button\r\n class=\"col-2\" \r\n severity=\"secondary\" label=\"Voltar\" /> -->\r\n @if(showBtnVoltar && masterSelecionada) {\r\n <div class=\"flex\">\r\n <div class=\"col\">\r\n </div>\r\n <kv-button\r\n class=\"col-2\" \r\n severity=\"tertiary\" label=\"Voltar\" \r\n (onClick)=\"OnBtnVoltarClick()\"\r\n />\r\n </div>\r\n }\r\n\r\n </div>\r\n</div>\r\n}", styles: ["#card-workspace{width:80%;max-width:800px;box-shadow:#00000059 0 5px 15px}:host{overflow:hidden}#kvworkspace-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}\n"] }]
7718
+ args: [{ selector: 'kv-workspace', template: "<div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n [style.background-image]=\"'url(' + backgroundImg + ')'\"\r\n>\r\n <div\r\n class=\"bg-white h-auto border-round-lg lg:p-3 p-1 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n >\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logoKeevoCenter()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo (a)! Escolha a\r\n <b>{{ !somenteMaster && masterSelecionada ? \"Empresa\" : \"Licen\u00E7a\" }}</b>\r\n que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n @if(filtrarVisivel()) {\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar {{\r\n !somenteMaster && masterSelecionada ? 'empresa' : 'licen\u00E7a'\r\n }}\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"(!somenteMaster && masterSelecionada) ? buscarEmpresas() : buscarMasters()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n } \r\n \r\n @if(!masterSelecionada){\r\n <kv-workspace-master\r\n [masters]=\"filteredMasters()\"\r\n [masterSelecionada]=\"masterSelecionada\"\r\n (onMasterSelecionada)=\"selecionarMaster($event)\"\r\n >\r\n </kv-workspace-master>\r\n } \r\n \r\n @if(!somenteMaster && masterSelecionada){\r\n <kv-workspace-empresa\r\n [empresas]=\"filteredEmpresas()\"\r\n [totalEmpresas]=\"totalEmpresas\"\r\n (onEmpresaSelecionada)=\"selecionarEmpresa($event)\"\r\n (onPaginate)=\"paginate($event)\"\r\n >\r\n </kv-workspace-empresa>\r\n }\r\n\r\n @if(showBtnVoltar && masterSelecionada) {\r\n <div class=\"flex text-left\">\r\n <div\r\n class=\"voltar-box link\"\r\n (onClick)=\"OnBtnVoltarClick()\"\r\n >\r\n <i class=\"material-symbols-outlined text-sm font-semibold\">arrow_back_ios</i>\r\n <span class=\"text-md font-semibold\">Voltar</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n</div>\r\n", styles: [":host{overflow:hidden}.cards-container{overflow-x:hidden}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.voltar-box{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;padding:1rem}.link{color:rgba(var(--kv-secondary-color),.9);text-decoration:none;cursor:pointer}.link:active{color:rgba(var(--kv-secondary-color),1)}\n"] }]
7702
7719
  }], ctorParameters: () => [], propDecorators: { backgroundImg: [{
7703
7720
  type: Input
7704
- }], logoKeevoCenter: [{
7705
- type: Input
7706
- }], nomeUsuario: [{
7707
- type: Input
7708
7721
  }], somenteMaster: [{
7709
7722
  type: Input
7710
7723
  }], visivel: [{
7711
7724
  type: Input
7712
7725
  }], showBtnVoltar: [{
7713
7726
  type: Input
7714
- }], empresas: [{
7715
- type: Input
7716
7727
  }], empresaSelecionada: [{
7717
7728
  type: Input
7718
7729
  }], totalEmpresas: [{
7719
7730
  type: Input
7720
- }], masters: [{
7721
- type: Input
7722
7731
  }], masterSelecionada: [{
7723
7732
  type: Input
7724
7733
  }], onGetMasterSelecionada: [{
@@ -7744,7 +7753,8 @@ class KvWorkspaceModule {
7744
7753
  FormsModule,
7745
7754
  KvButtonsModule,
7746
7755
  KvTableModule,
7747
- KvButtonModule], exports: [WorkspaceComponent] }); }
7756
+ KvButtonModule,
7757
+ KvInputsModule], exports: [WorkspaceComponent] }); }
7748
7758
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvWorkspaceModule, imports: [CommonModule,
7749
7759
  PrimeNgModule,
7750
7760
  ReactiveFormsModule,
@@ -7753,7 +7763,8 @@ class KvWorkspaceModule {
7753
7763
  FormsModule,
7754
7764
  KvButtonsModule,
7755
7765
  KvTableModule,
7756
- KvButtonModule] }); }
7766
+ KvButtonModule,
7767
+ KvInputsModule] }); }
7757
7768
  }
7758
7769
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvWorkspaceModule, decorators: [{
7759
7770
  type: NgModule,
@@ -7776,7 +7787,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
7776
7787
  FormsModule,
7777
7788
  KvButtonsModule,
7778
7789
  KvTableModule,
7779
- KvButtonModule
7790
+ KvButtonModule,
7791
+ KvInputsModule
7780
7792
  ]
7781
7793
  }]
7782
7794
  }] });
@@ -8967,11 +8979,11 @@ class KvCardSelectionComponent {
8967
8979
  }));
8968
8980
  }
8969
8981
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCardSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8970
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvCardSelectionComponent, selector: "kv-card-selection", inputs: { masters: { classPropertyName: "masters", publicName: "masters", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null }, logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, nomeUsuario: { classPropertyName: "nomeUsuario", publicName: "nomeUsuario", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectMaster: "onSelectMaster", onFilter: "onFilter" }, ngImport: i0, template: "<div\r\n class=\"bg-white h-auto border-round-lg lg:p-3 p-1 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n>\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logo()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo (a)! Escolha a <b>Licen\u00E7a</b> que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n @if(masters().length > 6) {\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar licen\u00E7a\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"buscarMasters()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"grid m-0 border-round-lg gap-2 p-2 {{\r\n (filteredMasters().length > 6 || this.widthScreen() < 992) &&\r\n 'overflow-y-auto'\r\n }} max-h-24rem cards-container\"\r\n >\r\n @for(master of filteredMasters(); track $index) {\r\n <div\r\n class=\"{{\r\n $index % 2 == 0 ? 'sm:col-6 col-12' : 'sm:col col-12'\r\n }} p-0 card-option\"\r\n (click)=\"selectMaster(master)\"\r\n >\r\n <div class=\"flex flex-column p-3 gap-1\">\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold mb-2\">\r\n <span class=\"material-symbols-outlined text-md\"> article </span>\r\n <span class=\"text-sm\">{{ master.idmaster }}</span>\r\n </div>\r\n\r\n <!-- <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-sm\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n </div> -->\r\n\r\n <span style=\"word-break: break-word font-medium\" class=\"text-sm\">{{\r\n transformRazaoSocial()(master.nome)\r\n }}</span>\r\n\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-xs\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n <span class=\"text-xs\">{{\r\n transformCpfCnpj()(master.cpfcnpj)\r\n }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n } @if(filteredMasters().length == 0) {\r\n <p>{{ emptyText() }}</p>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".card-option{background-color:#fff;border-radius:.5rem;border:1px solid #eaeaea;height:7.5rem;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer}.card-option:hover{border:1px solid #581999;background-color:#d0b3dd4d}.card-option:hover span{color:#581999}.card-option:active{background-color:#d0b3dd99}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}span{color:#64748b}\n"], dependencies: [{ kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
8982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvCardSelectionComponent, selector: "kv-card-selection", inputs: { masters: { classPropertyName: "masters", publicName: "masters", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null }, logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, nomeUsuario: { classPropertyName: "nomeUsuario", publicName: "nomeUsuario", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectMaster: "onSelectMaster", onFilter: "onFilter" }, ngImport: i0, template: "<div\r\n class=\"bg-white h-auto border-round-lg lg:p-3 p-1 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n>\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logo()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo (a)! Escolha a <b>Licen\u00E7a</b> que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n @if(masters().length > 6) {\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar licen\u00E7a\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"buscarMasters()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"grid m-0 border-round-lg gap-2 p-2 {{\r\n (filteredMasters().length > 6 || this.widthScreen() < 992) &&\r\n 'overflow-y-auto'\r\n }} max-h-24rem cards-container\"\r\n >\r\n @for(master of filteredMasters(); track $index) {\r\n <div\r\n class=\"{{\r\n $index % 2 == 0 ? 'sm:col-6 col-12' : 'sm:col col-12'\r\n }} p-0 card-option\"\r\n (click)=\"selectMaster(master)\"\r\n >\r\n <div class=\"flex flex-column p-3 gap-1\">\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold mb-2\">\r\n <span class=\"material-symbols-outlined text-md\"> article </span>\r\n <span class=\"text-sm\">{{ master.idmaster }}</span>\r\n </div>\r\n\r\n <span style=\"word-break: break-word font-medium\" class=\"text-sm\">{{\r\n transformRazaoSocial()(master.nome)\r\n }}</span>\r\n\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-xs\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n <span class=\"text-xs\">{{ transformCpfCnpj()(master.cpfcnpj) }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n } @if(filteredMasters().length == 0) {\r\n <p>{{ emptyText() }}</p>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".card-option{background-color:#fff;border-radius:.5rem;border:1px solid #eaeaea;height:7.5rem;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer}.card-option:hover{border:1px solid #581999;background-color:#d0b3dd4d}.card-option:hover span{color:#581999}.card-option:active{background-color:#d0b3dd99}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}span{color:#64748b}\n"], dependencies: [{ kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
8971
8983
  }
8972
8984
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCardSelectionComponent, decorators: [{
8973
8985
  type: Component,
8974
- args: [{ selector: 'kv-card-selection', standalone: false, template: "<div\r\n class=\"bg-white h-auto border-round-lg lg:p-3 p-1 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n>\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logo()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo (a)! Escolha a <b>Licen\u00E7a</b> que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n @if(masters().length > 6) {\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar licen\u00E7a\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"buscarMasters()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"grid m-0 border-round-lg gap-2 p-2 {{\r\n (filteredMasters().length > 6 || this.widthScreen() < 992) &&\r\n 'overflow-y-auto'\r\n }} max-h-24rem cards-container\"\r\n >\r\n @for(master of filteredMasters(); track $index) {\r\n <div\r\n class=\"{{\r\n $index % 2 == 0 ? 'sm:col-6 col-12' : 'sm:col col-12'\r\n }} p-0 card-option\"\r\n (click)=\"selectMaster(master)\"\r\n >\r\n <div class=\"flex flex-column p-3 gap-1\">\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold mb-2\">\r\n <span class=\"material-symbols-outlined text-md\"> article </span>\r\n <span class=\"text-sm\">{{ master.idmaster }}</span>\r\n </div>\r\n\r\n <!-- <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-sm\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n </div> -->\r\n\r\n <span style=\"word-break: break-word font-medium\" class=\"text-sm\">{{\r\n transformRazaoSocial()(master.nome)\r\n }}</span>\r\n\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-xs\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n <span class=\"text-xs\">{{\r\n transformCpfCnpj()(master.cpfcnpj)\r\n }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n } @if(filteredMasters().length == 0) {\r\n <p>{{ emptyText() }}</p>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".card-option{background-color:#fff;border-radius:.5rem;border:1px solid #eaeaea;height:7.5rem;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer}.card-option:hover{border:1px solid #581999;background-color:#d0b3dd4d}.card-option:hover span{color:#581999}.card-option:active{background-color:#d0b3dd99}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}span{color:#64748b}\n"] }]
8986
+ args: [{ selector: 'kv-card-selection', standalone: false, template: "<div\r\n class=\"bg-white h-auto border-round-lg lg:p-3 p-1 flex flex-column gap-2 overflow-hidden\"\r\n [style.max-width.rem]=\"'45'\"\r\n [style.min-width]=\"minWidthCard()\"\r\n>\r\n <div class=\"px-2 flex flex-column align-items-center gap-2\">\r\n <img [src]=\"logo()\" style=\"height: 4rem\" class=\"py-2\" />\r\n <span class=\"text-sm\">\r\n Ol\u00E1, <b>{{ nomeUsuario() }}</b\r\n >. Bem vindo (a)! Escolha a <b>Licen\u00E7a</b> que deseja acessar:\r\n </span>\r\n </div>\r\n\r\n @if(masters().length > 6) {\r\n <div\r\n class=\"col-12 grid formgrid p-fluid m-0 px-2 pt-2 pb-0\"\r\n [formGroup]=\"workspaceForm\"\r\n >\r\n <kv-input-text\r\n placeholder=\"Buscar licen\u00E7a\"\r\n class=\"col-12 m-0 p-0\"\r\n (onInput)=\"buscarMasters()\"\r\n formControlName=\"search\"\r\n ></kv-input-text>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"grid m-0 border-round-lg gap-2 p-2 {{\r\n (filteredMasters().length > 6 || this.widthScreen() < 992) &&\r\n 'overflow-y-auto'\r\n }} max-h-24rem cards-container\"\r\n >\r\n @for(master of filteredMasters(); track $index) {\r\n <div\r\n class=\"{{\r\n $index % 2 == 0 ? 'sm:col-6 col-12' : 'sm:col col-12'\r\n }} p-0 card-option\"\r\n (click)=\"selectMaster(master)\"\r\n >\r\n <div class=\"flex flex-column p-3 gap-1\">\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold mb-2\">\r\n <span class=\"material-symbols-outlined text-md\"> article </span>\r\n <span class=\"text-sm\">{{ master.idmaster }}</span>\r\n </div>\r\n\r\n <span style=\"word-break: break-word font-medium\" class=\"text-sm\">{{\r\n transformRazaoSocial()(master.nome)\r\n }}</span>\r\n\r\n <div class=\"flex flex-row align-items-center gap-1 font-semibold\">\r\n <span class=\"text-xs\">{{\r\n isEmpresa()(master.cpfcnpj) ? \"CNPJ:\" : \"CPF:\"\r\n }}</span>\r\n <span class=\"text-xs\">{{ transformCpfCnpj()(master.cpfcnpj) }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n } @if(filteredMasters().length == 0) {\r\n <p>{{ emptyText() }}</p>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".card-option{background-color:#fff;border-radius:.5rem;border:1px solid #eaeaea;height:7.5rem;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer}.card-option:hover{border:1px solid #581999;background-color:#d0b3dd4d}.card-option:hover span{color:#581999}.card-option:active{background-color:#d0b3dd99}.cards-container::-webkit-scrollbar{width:6px}.cards-container::-webkit-scrollbar:hover{background-color:#dededebf}.cards-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.cards-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.cards-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}span{color:#64748b}\n"] }]
8975
8987
  }] });
8976
8988
 
8977
8989
  class KvCardSelectionModule {