keevo-components 2.0.245 → 2.0.247

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/esm2022/lib/api/components/button/button.model.mjs +2 -0
  2. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +2 -2
  3. package/esm2022/lib/components/kv-button/kv-button.component.mjs +3 -3
  4. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +2 -2
  5. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +2 -2
  6. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +2 -2
  7. package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +3 -3
  8. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +2 -2
  9. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +2 -2
  10. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +2 -2
  11. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +2 -2
  12. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +2 -2
  13. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +2 -2
  14. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +2 -2
  15. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +2 -2
  16. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +2 -2
  17. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +2 -2
  18. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +2 -2
  19. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +2 -2
  20. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +2 -2
  21. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +2 -2
  22. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +2 -2
  23. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +2 -2
  24. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +2 -2
  25. package/esm2022/lib/components/kv-instruction-page/components/cards-instruction/kv-cards-instruction.component.mjs +15 -0
  26. package/esm2022/lib/components/kv-instruction-page/kv-instruction-page.component.mjs +29 -0
  27. package/esm2022/lib/components/kv-kanban/kv-kanban-models.model.mjs +1 -1
  28. package/esm2022/lib/components/kv-kanban/kv-kanban.component.mjs +9 -3
  29. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +2 -2
  30. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +2 -2
  31. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +2 -2
  32. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +2 -2
  33. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +2 -2
  34. package/esm2022/lib/components/kv-table/kv-table.component.mjs +2 -2
  35. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.component.mjs +35 -35
  36. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +3 -3
  37. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +3 -3
  38. package/esm2022/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.mjs +3 -3
  39. package/esm2022/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.mjs +3 -3
  40. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +2 -2
  41. package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +3 -3
  42. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +2 -2
  43. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +2 -2
  44. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +2 -2
  45. package/esm2022/public-api.mjs +4 -1
  46. package/fesm2022/keevo-components.mjs +152 -114
  47. package/fesm2022/keevo-components.mjs.map +1 -1
  48. package/{src/lib/components/keevo-components-styles.scss → keevo-components-styles.scss} +4 -13
  49. package/lib/api/components/button/button.model.d.ts +16 -0
  50. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
  51. package/lib/components/kv-icon/kv-icon.component.d.ts +1 -1
  52. package/lib/components/kv-instruction-page/components/cards-instruction/kv-cards-instruction.component.d.ts +15 -0
  53. package/lib/components/kv-instruction-page/kv-instruction-page.component.d.ts +20 -0
  54. package/lib/components/kv-kanban/kv-kanban-models.model.d.ts +5 -2
  55. package/lib/components/kv-kanban/kv-kanban.component.d.ts +1 -0
  56. package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
  57. package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +2 -2
  58. package/package.json +2 -1
  59. package/public-api.d.ts +3 -0
  60. package/src/lib/components/kv-table/kv-table.component.scss +24 -24
@@ -371,11 +371,11 @@ export class KvLayoutComponent {
371
371
  this.showVideoDocEmit.emit(trilha);
372
372
  }
373
373
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
374
- 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 }, useCard: { classPropertyName: "useCard", publicName: "useCard", 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 }, userEmail: { classPropertyName: "userEmail", publicName: "userEmail", 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 }, idsAplicativosMenuHide: { classPropertyName: "idsAplicativosMenuHide", publicName: "idsAplicativosMenuHide", isSignal: false, isRequired: false, transformFunction: null }, useSelectionApps: { classPropertyName: "useSelectionApps", publicName: "useSelectionApps", isSignal: false, isRequired: false, transformFunction: null }, showTrilhaConhecimento: { classPropertyName: "showTrilhaConhecimento", publicName: "showTrilhaConhecimento", isSignal: false, isRequired: false, transformFunction: null }, isDisableSelectionEmpresa: { classPropertyName: "isDisableSelectionEmpresa", publicName: "isDisableSelectionEmpresa", 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", downloadDocEmit: "downloadDocEmit", showVideoDocEmit: "showVideoDocEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"h-full 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 h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\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 <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\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 && (menu.idmenupai == 0 || !menu.idmenupai)){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n\r\n <!-- Menus filhos -->\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <!-- ITEM NORMAL -->\r\n @if (!temFilhos(item)) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n\r\n <!-- ITEM QUE TEM FILHOS (submenu lateral) -->\r\n @if (temFilhos(item)) {\r\n <div\r\n class=\"menu-parent relative w-full\"\r\n id=\"menu-child-parent-{{ item.idmenu }}\"\r\n (mouseenter)=\"exibirSubMenuChild($event, item.idmenu)\"\r\n (mouseleave)=\"menuVisivelChild.set(undefined)\"\r\n >\r\n <div\r\n class=\"side-menu-item flex flex-row align-items-center justify-content-between gap-2 text-sm\"\r\n style=\"padding-top: 0.35rem; padding-bottom: 0.35rem\"\r\n >\r\n <span>{{ item.descricaomenu }}</span>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs fixed\"\r\n id=\"menu-child-sub-{{ item.idmenu }}\"\r\n [style.opacity]=\"menuVisivelChild() === item.idmenu ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivelChild() === item.idmenu ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ item.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider class=\"p-0 m-0\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (filho of returnMenuChild(item.idmenu); track $index) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(filho.link)\"\r\n >\r\n {{ filho.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\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\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\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 </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\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-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\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 mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\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 } @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 } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @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) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\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 [topActions]=\"topMenuOptions\" />\r\n </div>\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 [topActions]=\"topMenuOptions\" />\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 } } @else { @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 <kv-top-icons [topActions]=\"topMenuOptions\" />\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 mb-2\">\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 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\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 <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\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://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;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{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-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::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);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 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-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system 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;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;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;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}.menu-childs .menu-childs-content::-webkit-scrollbar{width:8px}.menu-childs .menu-childs-content::-webkit-scrollbar:hover{background-color:#dededebf}.menu-childs .menu-childs-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.menu-childs .menu-childs-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.menu-childs .menu-childs-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::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-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i7.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.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i9.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i10.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: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i11.TopIconsComponent, selector: "kv-top-icons", inputs: ["topActions"] }, { kind: "component", type: i12.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "component", type: i13.DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: i14.CpfCnpjPipe, name: "cpfCnpj" }] }); }
374
+ 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 }, useCard: { classPropertyName: "useCard", publicName: "useCard", 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 }, userEmail: { classPropertyName: "userEmail", publicName: "userEmail", 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 }, idsAplicativosMenuHide: { classPropertyName: "idsAplicativosMenuHide", publicName: "idsAplicativosMenuHide", isSignal: false, isRequired: false, transformFunction: null }, useSelectionApps: { classPropertyName: "useSelectionApps", publicName: "useSelectionApps", isSignal: false, isRequired: false, transformFunction: null }, showTrilhaConhecimento: { classPropertyName: "showTrilhaConhecimento", publicName: "showTrilhaConhecimento", isSignal: false, isRequired: false, transformFunction: null }, isDisableSelectionEmpresa: { classPropertyName: "isDisableSelectionEmpresa", publicName: "isDisableSelectionEmpresa", 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", downloadDocEmit: "downloadDocEmit", showVideoDocEmit: "showVideoDocEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"h-full 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 h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\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 <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\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 && (menu.idmenupai == 0 || !menu.idmenupai)){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n\r\n <!-- Menus filhos -->\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <!-- ITEM NORMAL -->\r\n @if (!temFilhos(item)) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n\r\n <!-- ITEM QUE TEM FILHOS (submenu lateral) -->\r\n @if (temFilhos(item)) {\r\n <div\r\n class=\"menu-parent relative w-full\"\r\n id=\"menu-child-parent-{{ item.idmenu }}\"\r\n (mouseenter)=\"exibirSubMenuChild($event, item.idmenu)\"\r\n (mouseleave)=\"menuVisivelChild.set(undefined)\"\r\n >\r\n <div\r\n class=\"side-menu-item flex flex-row align-items-center justify-content-between gap-2 text-sm\"\r\n style=\"padding-top: 0.35rem; padding-bottom: 0.35rem\"\r\n >\r\n <span>{{ item.descricaomenu }}</span>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs fixed\"\r\n id=\"menu-child-sub-{{ item.idmenu }}\"\r\n [style.opacity]=\"menuVisivelChild() === item.idmenu ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivelChild() === item.idmenu ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ item.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider class=\"p-0 m-0\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (filho of returnMenuChild(item.idmenu); track $index) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(filho.link)\"\r\n >\r\n {{ filho.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\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\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\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 </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\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-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\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 mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\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 } @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 } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @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) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\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 [topActions]=\"topMenuOptions\" />\r\n </div>\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 [topActions]=\"topMenuOptions\" />\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 } } @else { @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 <kv-top-icons [topActions]=\"topMenuOptions\" />\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 mb-2\">\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 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\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 <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\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://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;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep *::-webkit-scrollbar{width:5px}::ng-deep *::-webkit-scrollbar-thumb{background-color:#00000080}::ng-deep *::-webkit-scrollbar-track{background-color:#dededebf}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::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);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}.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-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system 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;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;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;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}::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-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i7.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.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i9.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i10.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: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i11.TopIconsComponent, selector: "kv-top-icons", inputs: ["topActions"] }, { kind: "component", type: i12.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "component", type: i13.DropdownMasterComponent, selector: "dropdown-master", inputs: ["formControlName", "masters"] }, { kind: "pipe", type: i14.CpfCnpjPipe, name: "cpfCnpj" }] }); }
375
375
  }
376
376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLayoutComponent, decorators: [{
377
377
  type: Component,
378
- args: [{ selector: 'kv-layout', template: "<div class=\"h-full 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 h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\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 <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\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 && (menu.idmenupai == 0 || !menu.idmenupai)){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n\r\n <!-- Menus filhos -->\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <!-- ITEM NORMAL -->\r\n @if (!temFilhos(item)) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n\r\n <!-- ITEM QUE TEM FILHOS (submenu lateral) -->\r\n @if (temFilhos(item)) {\r\n <div\r\n class=\"menu-parent relative w-full\"\r\n id=\"menu-child-parent-{{ item.idmenu }}\"\r\n (mouseenter)=\"exibirSubMenuChild($event, item.idmenu)\"\r\n (mouseleave)=\"menuVisivelChild.set(undefined)\"\r\n >\r\n <div\r\n class=\"side-menu-item flex flex-row align-items-center justify-content-between gap-2 text-sm\"\r\n style=\"padding-top: 0.35rem; padding-bottom: 0.35rem\"\r\n >\r\n <span>{{ item.descricaomenu }}</span>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs fixed\"\r\n id=\"menu-child-sub-{{ item.idmenu }}\"\r\n [style.opacity]=\"menuVisivelChild() === item.idmenu ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivelChild() === item.idmenu ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ item.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider class=\"p-0 m-0\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (filho of returnMenuChild(item.idmenu); track $index) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(filho.link)\"\r\n >\r\n {{ filho.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\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\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\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 </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\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-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\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 mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\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 } @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 } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @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) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\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 [topActions]=\"topMenuOptions\" />\r\n </div>\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 [topActions]=\"topMenuOptions\" />\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 } } @else { @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 <kv-top-icons [topActions]=\"topMenuOptions\" />\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 mb-2\">\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 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\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 <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\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://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;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{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-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::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);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 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-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system 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;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;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;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}.menu-childs .menu-childs-content::-webkit-scrollbar{width:8px}.menu-childs .menu-childs-content::-webkit-scrollbar:hover{background-color:#dededebf}.menu-childs .menu-childs-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}.menu-childs .menu-childs-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}.menu-childs .menu-childs-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::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-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"] }]
378
+ args: [{ selector: 'kv-layout', template: "<div class=\"h-full 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 h-full\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"h-full flex flex-column overflow-hidden p-2\">\r\n <div\r\n class=\"flex-none flex flex-column gap-3 justify-content-between flex-shrink-0 overflow-hidden\"\r\n >\r\n <!-- LOGO -->\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 <!-- <span class=\"material-symbols-outlined side-menu-item\" (click)=\"expandMenu.set(!expandMenu())\">menu</span> -->\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 troca-empresa-container mb-3 py-2 {{\r\n !isDisableSelectionEmpresa && 'selectable-troca-empresa'\r\n }}\"\r\n [pTooltip]=\"isDisableSelectionEmpresa ? '' : 'Trocar de empresa'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"!isDisableSelectionEmpresa && changeEmpresa($event)\"\r\n >\r\n @if(expandMenu() && selectedEmpresa){\r\n <div class=\"flex flex-column w-full\">\r\n @if(this.selectedEmpresa.razaosocial){\r\n <span class=\"text-xs font-semibold mr-2 color-system\">\r\n {{ nameEmpresa(this.selectedEmpresa.razaosocial) }}\r\n </span>\r\n } @if(this.selectedEmpresa.cpfcnpj){\r\n <span class=\"text-xs mt-1 color-system\">{{\r\n this.selectedEmpresa.cpfcnpj | cpfCnpj\r\n }}</span>\r\n }\r\n </div>\r\n\r\n } @if(!isDisableSelectionEmpresa) {\r\n <span class=\"material-symbols-outlined\">swap_horiz</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENUS -->\r\n <div\r\n class=\"flex-1 list-none m-0 overflow-y-auto max-h-full menus-container\"\r\n >\r\n <!-- menus -->\r\n @for (menu of menus(); track $index) {\r\n @if(!idsAplicativosMenuHide.includes(menu.idaplicativo)){\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-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\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 && (menu.idmenupai == 0 || !menu.idmenupai)){\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-parent-{{ $index }}\"\r\n (mouseenter)=\"exibirMenuChild($event, $index)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <div\r\n class=\" flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item\"\r\n style=\"padding-top: 0.75rem; padding-bottom: 0.75rem\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{\r\n menu.icone || \"lens_blur\"\r\n }}</span>\r\n @if(expandMenu()){\r\n <label>{{ menu.descricaomenu }}</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div>\r\n\r\n\r\n <!-- Menus filhos -->\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-child-{{ $index }}\"\r\n [style.opacity]=\"menuVisivel() === $index ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivel() === $index ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ menu.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider\r\n class=\"p-0 m-0\"\r\n [style.opacity]=\"1\"\r\n type=\"solid\"\r\n ></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (item of returnMenuChild(menu.idmenu); track $index) {\r\n\r\n <!-- ITEM NORMAL -->\r\n @if (!temFilhos(item)) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(item.link)\"\r\n >\r\n {{ item.descricaomenu }}\r\n </div>\r\n }\r\n\r\n <!-- ITEM QUE TEM FILHOS (submenu lateral) -->\r\n @if (temFilhos(item)) {\r\n <div\r\n class=\"menu-parent relative w-full\"\r\n id=\"menu-child-parent-{{ item.idmenu }}\"\r\n (mouseenter)=\"exibirSubMenuChild($event, item.idmenu)\"\r\n (mouseleave)=\"menuVisivelChild.set(undefined)\"\r\n >\r\n <div\r\n class=\"side-menu-item flex flex-row align-items-center justify-content-between gap-2 text-sm\"\r\n style=\"padding-top: 0.35rem; padding-bottom: 0.35rem\"\r\n >\r\n <span>{{ item.descricaomenu }}</span>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs fixed\"\r\n id=\"menu-child-sub-{{ item.idmenu }}\"\r\n [style.opacity]=\"menuVisivelChild() === item.idmenu ? '1' : '0'\"\r\n [style.pointerEvents]=\"\r\n menuVisivelChild() === item.idmenu ? 'auto' : 'none'\r\n \"\r\n >\r\n <div class=\"flex align-items-center\">\r\n <p class=\"p-0 m-0 font-bold pt-2 px-2 text-xs\">\r\n {{ item.descricaomenu }}\r\n </p>\r\n </div>\r\n <p-divider class=\"p-0 m-0\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"menu-childs-content p-0 m-0\">\r\n @for (filho of returnMenuChild(item.idmenu); track $index) {\r\n <div\r\n class=\"side-menu-item py-2 px-2 text-sm\"\r\n (click)=\"callRoute(filho.link)\"\r\n >\r\n {{ filho.descricaomenu }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n }\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n }\r\n </li>\r\n } }\r\n </div>\r\n\r\n @if(useSelectionApps) {\r\n <!-- APPS E SAIR -->\r\n <p-divider class=\"px-2\" [style.opacity]=\"1\" type=\"solid\"></p-divider>\r\n\r\n <div class=\"flex-none list-none m-0 overflow-y-auto max-h-full\">\r\n <li>\r\n <div\r\n class=\"menu-parent\"\r\n id=\"menu-sistemas-parent\"\r\n (mouseenter)=\"exibirMenuChild($event, -1)\"\r\n (mouseleave)=\"this.menuVisivel.set(undefined)\"\r\n >\r\n <!-- <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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 <span class=\"material-symbols-outlined\">grid_view</span>\r\n \r\n @if(expandMenu()){\r\n <label>Sistemas</label>\r\n <span class=\"material-symbols-outlined\">chevron_right</span>\r\n }\r\n </div> -->\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} gap-2 side-menu-item-system troca-sistema-container py-2\"\r\n >\r\n <!-- <p-avatar\r\n icon=\"pi pi-th-large\"\r\n styleClass=\"mr-2\"\r\n size=\"normal\"\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), 1)',\r\n color: 'white'\r\n }\"\r\n /> -->\r\n <div\r\n [style]=\"{\r\n 'background-color': 'rgb(var(--kv-color-system), .2)',\r\n color: 'rgb(var(--kv-color-system), 1)',\r\n 'border-radius': '.5rem',\r\n padding: '.25rem'\r\n }\"\r\n class=\"flex align-items-center justify-content-center\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n dashboard_customize\r\n </span>\r\n </div>\r\n\r\n @if(expandMenu()) {\r\n <div class=\"flex flex-column w-full\">\r\n <span class=\"text-sm font-semibold mr-2 color-system\">\r\n Meus Sistemas\r\n </span>\r\n </div>\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [style.color]=\"'rgb(var(--kv-color-system), 1)'\"\r\n >unfold_more</span\r\n >\r\n }\r\n </div>\r\n\r\n <div\r\n class=\"menu-childs\"\r\n id=\"menu-sistemas-child\"\r\n [style.opacity]=\"menuVisivel() === -1 ? '1' : '0'\"\r\n [style.pointerEvents]=\"menuVisivel() === -1 ? 'auto' : 'none'\"\r\n >\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\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item py-2 pl-3 pr-1\"\r\n (click)=\"\r\n callRoute(item.rotapadrao); selectApp(item.idaplicativo)\r\n \"\r\n >\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 </div>\r\n </li>\r\n <!-- <li>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-{{\r\n expandMenu() ? 'between' : 'center'\r\n }} 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]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n @if(expandMenu()){\r\n <label>Sair</label>\r\n }\r\n </div>\r\n </li> -->\r\n </div>\r\n }\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-full page-content flex flex-column ml-3 flex-1 overflow-hidden\"\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 mb-2\"\r\n >\r\n @if(!showMenu) {\r\n <!-- Logo home -->\r\n <div>\r\n <img [src]=\"logoMenuExpand\" class=\"w-auto\" style=\"height: 40px !important;\" />\r\n </div>\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 } @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 } @else {\r\n <!-- GHOST DIV PARA OCPUAR ESPA\u00C7O NO SPACE BETWEEN -->\r\n <div></div>\r\n } } @if (exibirNomes) { @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) {\r\n <span class=\"font-semibold system-color\">{{ masterName }}</span> }\r\n @if(empresaName) {<span class=\"empresa-name\">{{ empresaName }}</span>\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 [topActions]=\"topMenuOptions\" />\r\n </div>\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 [topActions]=\"topMenuOptions\" />\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 } } @else { @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 <kv-top-icons [topActions]=\"topMenuOptions\" />\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 mb-2\">\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 h-full\">\r\n <div\r\n class=\"overflow-y-auto h-full max-h-full {{\r\n !showMenu && 'sm:overflow-y-hidden'\r\n }} card-container\r\n \r\n {{ useCard ? 'use-card' : '' }}\r\n \"\r\n >\r\n <ng-content></ng-content>\r\n </div>\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 <div class=\"p-3 flex flex-column gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{\r\n showTrilhaConhecimento && 'justify-content-between'\r\n }} gap-2\"\r\n >\r\n <p-avatar\r\n icon=\"pi pi-user\"\r\n class=\"mr-2\"\r\n size=\"xlarge\"\r\n shape=\"circle\"\r\n [style]=\"{ width: '4.5rem', height: '4.5rem' }\"\r\n />\r\n\r\n <div\r\n class=\"flex flex-column {{\r\n showTrilhaConhecimento ? 'w-18rem' : 'w-12rem'\r\n }} justify-content-between\"\r\n [style]=\"{ height: '4.5rem' }\"\r\n >\r\n <span\r\n class=\"text-medium text-md overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >Ol\u00E1, {{ userName.split(\" \")[0] }}!</span\r\n >\r\n <span\r\n class=\"text-medium text-xs text-gray-500 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n >{{ userEmail }}</span\r\n >\r\n <kv-button\r\n severity=\"secondary\"\r\n size=\"small\"\r\n label=\"Gerenciar KeePass\"\r\n (onClick)=\"accessKeePass($event)\"\r\n class=\"w-12rem\"\r\n ></kv-button>\r\n </div>\r\n </div>\r\n\r\n @if(actions.length > 0) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column text-sm\">\r\n @for (action of actions; track $index) {\r\n <ng-container>\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 side-menu-item p-2\"\r\n (click)=\"action.action()\"\r\n >\r\n <span class=\"material-symbols-outlined\">{{ action.icon }}</span>\r\n <span>{{ action.label }}</span>\r\n </div>\r\n </ng-container>\r\n }\r\n </div>\r\n } @if(showTrilhaConhecimento) {\r\n <p-divider></p-divider>\r\n\r\n <div class=\"flex flex-column gap-3\">\r\n <span class=\"text-sm font-semibold text-gray-500\"\r\n >Trilha do Conhecimento</span\r\n >\r\n @for(trilha of trilhaConhecimento; track $index) {\r\n\r\n <div class=\"flex flex-row gap-2 max-w-25rem\">\r\n <div\r\n class=\"flex align-items-center justify-content-center border-round-md trilha-icon\"\r\n >\r\n <span class=\"material-symbols-outlined text-2xl\">{{\r\n trilha.icon\r\n }}</span>\r\n </div>\r\n <div class=\"flex flex-column justify-content-between w-20rem\">\r\n <span\r\n class=\"text-sm font-medium overflow-hidden white-space-nowrap text-overflow-ellipsis text-gray-500\"\r\n >{{ trilha.title }}</span\r\n >\r\n <span\r\n class=\"text-xs text-gray-400 overflow-hidden white-space-nowrap text-overflow-ellipsis\"\r\n [pTooltip]=\"trilha.subtitle\"\r\n [tooltipPosition]=\"'left'\"\r\n >{{ trilha.subtitle }}</span\r\n >\r\n <div class=\"flex flex-row gap-2\">\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Baixar Documento'\"\r\n (click)=\"downloadDoc(trilha)\"\r\n >download</span\r\n >\r\n <span\r\n class=\"material-symbols-outlined button-icon\"\r\n [pTooltip]=\"'Assistir V\u00EDdeo'\"\r\n (click)=\"showVideoDoc(trilha)\"\r\n >videocam</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <p-divider></p-divider>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between gap-2 side-menu-item p-2\"\r\n [style.color]=\"'rgba(252, 3, 3, 0.6)'\"\r\n (click)=\"logout($event)\"\r\n >\r\n <span class=\"material-symbols-outlined\">exit_to_app</span>\r\n <label>Sair</label>\r\n </div>\r\n </div>\r\n </ng-template>\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://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;--kv-danger-color: 220, 53, 69;--kv-success-color: 75, 181, 67;--kv-info-color: 58, 170, 208;--kv-warn-color: 241, 90, 36;--kv-contrast-color: 33, 37, 41}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep *::-webkit-scrollbar{width:5px}::ng-deep *::-webkit-scrollbar-thumb{background-color:#00000080}::ng-deep *::-webkit-scrollbar-track{background-color:#dededebf}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}.material-symbols-outlined{font-size:1.3rem}::ng-deep body{margin:0!important}.full-container{background:linear-gradient(to bottom,#f0f2ff,#faf9ff);width:100vw;height:100vh;overflow-x:hidden;overflow-y:hidden;padding:1rem}::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);border-radius:.5rem;z-index:1100!important}.page-content{background:none}.use-card{background-color:rgb(var(--kv-background-card),1);box-shadow:0 0 .8rem #0000001a;border:1px solid rgb(var(--kv-color-system),.1);border-radius:.5rem}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container .p-card-body{padding:.5rem .5rem 0;margin:0;height:100%}::ng-deep .card-container .p-card-content{margin:0;padding:0;height:100%}.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-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.side-menu-item label{width:100%;cursor:pointer}.side-menu-item-system{transition:all .2s ease-in-out;cursor:pointer;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.side-menu-item-system:hover{background-color:rgb(var(--kv-color-system),.08);color:rgb(var(--kv-color-system),1)}.side-menu-item-system 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;min-width:17rem;max-width:50rem;overflow:hidden;padding:.5rem;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;gap:0}.menu-childs p{color:rgb(var(--kv-color-system),1)!important;opacity:.7}.menu-childs .menu-childs-content{max-height:25rem;overflow:auto}::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-empresa-container{font-size:.75rem;opacity:.8;border:1px solid #c1cfe1;color:#0a3a78;background-color:rgb(var(--kv-color-system),.05);transition:all .2s ease-in-out;border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.selectable-troca-empresa:hover{opacity:1;border:1px solid rgb(var(--kv-color-system),1);cursor:pointer;background-color:rgb(var(--kv-color-system),.25);color:rgb(var(--kv-color-system),1)}.menus-container label{font-size:.875rem}.meus-sistemas{background-color:rgb(var(--kv-color-system),.05)}.button-icon{color:rgb(var(--kv-color-system),.75)}.button-icon:hover{color:rgb(var(--kv-color-system),.9);cursor:pointer}.button-icon:active{color:rgb(var(--kv-color-system),1)}.trilha-icon{width:3.5rem;height:3.5rem;background-color:rgb(var(--kv-color-system),.2);color:rgb(var(--kv-color-system),1)}\n"] }]
379
379
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { apps: [{
380
380
  type: Input
381
381
  }], actions: [{
@@ -111,11 +111,11 @@ export class KvPageFormComponent {
111
111
  this.onClickSecundary.emit(event);
112
112
  }
113
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPageFormComponent, selector: "kv-page-form", inputs: { formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", actionsCancelToogle: "actionsCancelToogle", iconBtnCancelToogle: "iconBtnCancelToogle", showBtnCancelToogle: "showBtnCancelToogle", txtBtnCancelToogle: "txtBtnCancelToogle", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", actionsSaveToogle: "actionsSaveToogle", iconBtnSaveToogle: "iconBtnSaveToogle", showBtnSaveToogle: "showBtnSaveToogle", txtBtnSaveToogle: "txtBtnSaveToogle", iconBtnSecundary: "iconBtnSecundary", showBtnSecundary: "showBtnSecundary", txtBtnSecundary: "txtBtnSecundary", colorBtnSecundary: "colorBtnSecundary", actionsToogle: "actionsToogle", iconBtnToogle: "iconBtnToogle", showBtnToogle: "showBtnToogle", txtBtnToogle: "txtBtnToogle", classBtnToogle: "classBtnToogle", disableBtnSair: "disableBtnSair", showMessageCamposObrigatorios: "showMessageCamposObrigatorios" }, outputs: { onSave: "onSave", onCancel: "onCancel", onClickSecundary: "onClickSecundary" }, ngImport: i0, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"h-full flex flex-column overflow-hidden relative p-0 m-0\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"m-0 {{!popup && 'p-3'}} h-full flex-1 overflow-y-auto page-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes flex-init border-round-bottom-md p-2\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-xs text-gray-500 font-medium\">\r\n <span class=\"font-bold\">*</span> Preenchimento obrigat\u00F3rio</span>\r\n }\r\n\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-content{padding:.75rem!important}::ng-deep .page-content{overflow-x:hidden}::ng-deep .page-content::-webkit-scrollbar{width:6px}::ng-deep .page-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .page-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .page-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .page-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{bottom:0;right:0;background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i3.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPageFormComponent, selector: "kv-page-form", inputs: { formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", actionsCancelToogle: "actionsCancelToogle", iconBtnCancelToogle: "iconBtnCancelToogle", showBtnCancelToogle: "showBtnCancelToogle", txtBtnCancelToogle: "txtBtnCancelToogle", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", actionsSaveToogle: "actionsSaveToogle", iconBtnSaveToogle: "iconBtnSaveToogle", showBtnSaveToogle: "showBtnSaveToogle", txtBtnSaveToogle: "txtBtnSaveToogle", iconBtnSecundary: "iconBtnSecundary", showBtnSecundary: "showBtnSecundary", txtBtnSecundary: "txtBtnSecundary", colorBtnSecundary: "colorBtnSecundary", actionsToogle: "actionsToogle", iconBtnToogle: "iconBtnToogle", showBtnToogle: "showBtnToogle", txtBtnToogle: "txtBtnToogle", classBtnToogle: "classBtnToogle", disableBtnSair: "disableBtnSair", showMessageCamposObrigatorios: "showMessageCamposObrigatorios" }, outputs: { onSave: "onSave", onCancel: "onCancel", onClickSecundary: "onClickSecundary" }, ngImport: i0, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"h-full flex flex-column overflow-hidden relative p-0 m-0\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"m-0 {{!popup && 'p-3'}} h-full flex-1 overflow-y-auto page-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes flex-init border-round-bottom-md p-2\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-xs text-gray-500 font-medium\">\r\n <span class=\"font-bold\">*</span> Preenchimento obrigat\u00F3rio</span>\r\n }\r\n\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-content{padding:.75rem!important}::ng-deep .page-content{overflow-x:hidden}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{bottom:0;right:0;background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i3.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, decorators: [{
117
117
  type: Component,
118
- args: [{ selector: 'kv-page-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"h-full flex flex-column overflow-hidden relative p-0 m-0\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"m-0 {{!popup && 'p-3'}} h-full flex-1 overflow-y-auto page-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes flex-init border-round-bottom-md p-2\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-xs text-gray-500 font-medium\">\r\n <span class=\"font-bold\">*</span> Preenchimento obrigat\u00F3rio</span>\r\n }\r\n\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-content{padding:.75rem!important}::ng-deep .page-content{overflow-x:hidden}::ng-deep .page-content::-webkit-scrollbar{width:6px}::ng-deep .page-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .page-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .page-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .page-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{bottom:0;right:0;background-color:#fff}\n"] }]
118
+ args: [{ selector: 'kv-page-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"h-full flex flex-column overflow-hidden relative p-0 m-0\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"m-0 {{!popup && 'p-3'}} h-full flex-1 overflow-y-auto page-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes flex-init border-round-bottom-md p-2\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-xs text-gray-500 font-medium\">\r\n <span class=\"font-bold\">*</span> Preenchimento obrigat\u00F3rio</span>\r\n }\r\n\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-content{padding:.75rem!important}::ng-deep .page-content{overflow-x:hidden}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{bottom:0;right:0;background-color:#fff}\n"] }]
119
119
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
120
120
  type: Input
121
121
  }], TituloForm: [{