ngx-sp-auth 2.1.0 → 2.1.6

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.
@@ -281,22 +281,22 @@ class AuthStorageService {
281
281
  * Salva a instância como JSON seguro, ignorando objetos que não podem se tornar um JSON.
282
282
  */
283
283
  toJson() {
284
- const json = `
285
- {
286
- "__ip": "${this.ip}",
287
- "__tenantId": ${this.tenantId},
288
- "__infraUsuarioId": "${this.infraUsuarioId}",
289
- "__infraEstabId": "${this.infraEstabId}",
290
- "__infraEstabNome": "${this.infraEstabNome}",
291
- "__infraEmpresaId": "${this.infraEmpresaId}",
292
- "__infraEmpresaNome": "${this.infraEmpresaNome}",
293
- "__user": "${this.user}",
294
- "__userName": "${this.userName}",
295
- "__authToken": "${this.authToken}",
296
- "__tokenPayload": ${JSON.stringify(this.tokenPayload)},
297
- "__dominio": "${this.dominio}",
298
- "__isExternalLogin": ${this.isExternalLogin}
299
- }
284
+ const json = `
285
+ {
286
+ "__ip": "${this.ip}",
287
+ "__tenantId": ${this.tenantId},
288
+ "__infraUsuarioId": "${this.infraUsuarioId}",
289
+ "__infraEstabId": "${this.infraEstabId}",
290
+ "__infraEstabNome": "${this.infraEstabNome}",
291
+ "__infraEmpresaId": "${this.infraEmpresaId}",
292
+ "__infraEmpresaNome": "${this.infraEmpresaNome}",
293
+ "__user": "${this.user}",
294
+ "__userName": "${this.userName}",
295
+ "__authToken": "${this.authToken}",
296
+ "__tokenPayload": ${JSON.stringify(this.tokenPayload)},
297
+ "__dominio": "${this.dominio}",
298
+ "__isExternalLogin": ${this.isExternalLogin}
299
+ }
300
300
  `;
301
301
  return json;
302
302
  }
@@ -1146,11 +1146,11 @@ class LoginComponent {
1146
1146
  this._bsModalService.hide(this.idFgtPsw);
1147
1147
  }
1148
1148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LoginComponent, deps: [{ token: i1$2.BsModalService }, { token: i5.MessageService }, { token: i3.FormBuilder }, { token: AuthService }, { token: ServerService }, { token: EnvironmentService }, { token: AuthStorageService }, { token: LibCustomLoginService }, { token: i9.Title }, { token: i1$1.Router }, { token: i11.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
1149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: LoginComponent, isStandalone: false, selector: "lib-login", ngImport: i0, template: "<div class=\"container-fluid\">\r\n\t<div class=\"row\">\r\n\t\t<!-- Conte\u00FAdo da DIV do background -->\r\n\t\t<div class=\"col-md-7\">\r\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\r\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\r\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\r\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\r\n\t\t<div class=\"col-md-5\">\r\n\r\n\t\t\t<div class=\"div-size\">\r\n\t\t\t\t<div class=\"logotipo\">\r\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ _customLoginService.loginLogotipo }}\" alt=\"{{ _customLoginService.loginAltLogotipo }}\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"remember-password\">\r\n\t\t\t\t\t<!-- Lembrar Senha\r\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\r\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\r\n \t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\r\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\r\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t<span> Acessar </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\r\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<ng-template #Authentication2Fa>\r\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\r\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\r\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\r\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\r\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\r\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row mb-3\">\r\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\r\n\t\t\t\t\t\t\t\tVoltar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tAcessar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<ng-template #newCode>\r\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</form>\t\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"footer-position\">\r\n\t\t\t\t\t<footer>\r\n\t\t\t\t\t\t<span class=\"footer\"> \r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\r\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \r\n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> SISPRO </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da Informa\u00E7\u00E3o LTDA \u00A9 {{ year }} Todos os direitos reservados </span>\r\n\t\t\t\t\t\t\t<div class=\"icons\">\r\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\r\n\t\t\t\t\t\t\t\t\tConfigurar ERP\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</footer>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- Template do modal de senha esquecida -->\r\n<ng-template #forgottenPasswordModal>\r\n\t<form [formGroup]=\"formFgtPsw\">\r\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\r\n\t\t\t<div class=\"modal-header p-3\">\r\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\r\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\r\n\r\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\r\n\t\t\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-footer\">\r\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t\t<span> Cancelar </span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\r\n\t\t\t\t\t<span> Continuar </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</form>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: i5.LoadingButtonComponent, selector: "app-loading-button, lib-loading-button", inputs: ["isLoading"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }], preserveWhitespaces: true }); }
1149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: LoginComponent, isStandalone: false, selector: "lib-login", ngImport: i0, template: "<div class=\"container-fluid\">\n\t<div class=\"row\">\n\t\t<!-- Conte\u00FAdo da DIV do background -->\n\t\t<div class=\"col-md-7\">\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\n\t\t<div class=\"col-md-5\">\n\n\t\t\t<div class=\"div-size\">\n\t\t\t\t<div class=\"logotipo\">\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ _customLoginService.loginLogotipo }}\" alt=\"{{ _customLoginService.loginAltLogotipo }}\" />\n\t\t\t\t</div>\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"remember-password\">\n\t\t\t\t\t<!-- Lembrar Senha\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\n \t\t\t\t\t-->\n\t\t\t\t\t</div>\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\n\t\t\t\t\t\t<span> Acessar </span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\n\t\t\t\t\t</button>\n\t\t\t\t</form>\n\n\t\t\t\t<ng-template #Authentication2Fa>\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"row mb-3\">\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\n\t\t\t\t\t\t\t\tVoltar\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\n\t\t\t\t\t\t\t\tAcessar\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<ng-template #newCode>\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\t\n\t\t\t\t</ng-template>\n\t\t\t\t\n\t\t\t\t<div class=\"footer-position\">\n\t\t\t\t\t<footer>\n\t\t\t\t\t\t<span class=\"footer\"> \n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> SISPRO </a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da Informa\u00E7\u00E3o LTDA \u00A9 {{ year }} Todos os direitos reservados </span>\n\t\t\t\t\t\t\t<div class=\"icons\">\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\n\t\t\t\t\t\t\t\t\tConfigurar ERP\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t</footer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<!-- Template do modal de senha esquecida -->\n<ng-template #forgottenPasswordModal>\n\t<form [formGroup]=\"formFgtPsw\">\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\n\t\t\t<div class=\"modal-header p-3\">\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\n\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\n\t\t\n\t\t\t</div>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\n\t\t\t\t\t<span> Cancelar </span>\n\t\t\t\t</button>\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\n\t\t\t\t\t<span> Continuar </span>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t</div>\n\t</form>\n</ng-template>\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: i5.LoadingButtonComponent, selector: "app-loading-button, lib-loading-button", inputs: ["isLoading"] }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }], preserveWhitespaces: true }); }
1150
1150
  }
1151
1151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LoginComponent, decorators: [{
1152
1152
  type: Component,
1153
- args: [{ selector: 'lib-login', standalone: false, preserveWhitespaces: true, template: "<div class=\"container-fluid\">\r\n\t<div class=\"row\">\r\n\t\t<!-- Conte\u00FAdo da DIV do background -->\r\n\t\t<div class=\"col-md-7\">\r\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\r\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\r\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\r\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\r\n\t\t<div class=\"col-md-5\">\r\n\r\n\t\t\t<div class=\"div-size\">\r\n\t\t\t\t<div class=\"logotipo\">\r\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ _customLoginService.loginLogotipo }}\" alt=\"{{ _customLoginService.loginAltLogotipo }}\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\r\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\r\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\r\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"remember-password\">\r\n\t\t\t\t\t<!-- Lembrar Senha\r\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\r\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\r\n \t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\r\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\r\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t<span> Acessar </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\r\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<ng-template #Authentication2Fa>\r\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\r\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\r\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\r\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\r\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\r\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\r\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row mb-3\">\r\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\r\n\t\t\t\t\t\t\t\tVoltar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tAcessar\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\r\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\r\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<ng-template #newCode>\r\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</form>\t\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"footer-position\">\r\n\t\t\t\t\t<footer>\r\n\t\t\t\t\t\t<span class=\"footer\"> \r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\r\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\r\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \r\n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> SISPRO </a>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da Informa\u00E7\u00E3o LTDA \u00A9 {{ year }} Todos os direitos reservados </span>\r\n\t\t\t\t\t\t\t<div class=\"icons\">\r\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\r\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\r\n\t\t\t\t\t\t\t\t\tConfigurar ERP\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</footer>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- Template do modal de senha esquecida -->\r\n<ng-template #forgottenPasswordModal>\r\n\t<form [formGroup]=\"formFgtPsw\">\r\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\r\n\t\t\t<div class=\"modal-header p-3\">\r\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\r\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\r\n\r\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\r\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\r\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\r\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\r\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\r\n\t\t\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-footer\">\r\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\r\n\t\t\t\t\t<span> Cancelar </span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\r\n\t\t\t\t\t<span> Continuar </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</form>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"] }]
1153
+ args: [{ selector: 'lib-login', standalone: false, preserveWhitespaces: true, template: "<div class=\"container-fluid\">\n\t<div class=\"row\">\n\t\t<!-- Conte\u00FAdo da DIV do background -->\n\t\t<div class=\"col-md-7\">\n\t\t\t<div class=\"background\" style=\"background-image: linear-gradient(to bottom, rgba(10, 44, 81, 0.9), rgba(10, 44, 81, 0.9)), url({{_customLoginService.loginBackground}})\">\n\t\t\t\t<div class=\"text-position texto-apresentacao ps-5\">\n\t\t\t\t\t<h1 class=\"title\" id=\"title\"></h1>\n\t\t\t\t\t<p class=\"subtitle\" id=\"subtitle\"></p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<!-- Conte\u00FAdo da DIV de Login -->\n\t\t<div class=\"col-md-5\">\n\n\t\t\t<div class=\"div-size\">\n\t\t\t\t<div class=\"logotipo\">\n\t\t\t\t\t<img style=\"height: 95px;\" src=\"{{ _customLoginService.loginLogotipo }}\" alt=\"{{ _customLoginService.loginAltLogotipo }}\" />\n\t\t\t\t</div>\n\t\t\t\t<form *ngIf=\"!showParmsAuthentication2Fa; else Authentication2Fa\" [formGroup]=\"form\" class=\"form-position\">\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"basic-addon1\"\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\n\t\t\t\t\t\t\t<img src=\"assets/icons/cloud.svg\" alt=\"cloud icon\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"dominio\" id=\"dominio\"\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Dom\u00EDnio\" aria-label=\"Dom\u00EDnio\"\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('dominio'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('dominio')\" label=\"Dom\u00EDnio\"></app-field-error-message>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\">\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px\">\n\t\t\t\t\t\t\t<img src=\"assets/icons/at-sign.svg\" alt=\"at-sign icon\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"usuario\" id=\"usuario\"\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Usu\u00E1rio\" aria-label=\"Usu\u00E1rio\"\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('usuario'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('usuario')\" label=\"Usu\u00E1rio\"></app-field-error-message>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"input-group input-group-lg form-item\" style=\"margin-bottom: 8px;\">\n\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\n\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type=\"password\" class=\"form-control\" formControlName=\"senha\" id=\"senha\"\n\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"Senha\" aria-label=\"senha\"\n\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('senha'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('senha')\" label=\"Senha\"></app-field-error-message>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"remember-password\">\n\t\t\t\t\t<!-- Lembrar Senha\n\t\t\t\t\t\t<input id=\"checkboxLembrarSenha\" type=\"checkbox\" />\n\t\t\t\t\t\t<label for=\"checkboxLembrarSenha\"> Lembrar minha senha </label>\n \t\t\t\t\t-->\n\t\t\t\t\t</div>\n\t\t\t\t\t<button [disabled]=\"isLoading\" (click)=\"getServer()\" type=\"submit\"\n\t\t\t\t\t\tclass=\"btn btn-primary btn-acessar btn-lg\">\n\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\n\t\t\t\t\t\t<span> Acessar </span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button type=\"button\" (click)=\"openForgottenPasswordModal(forgottenPasswordModal)\" class=\"forgotten-password\">\n\t\t\t\t\t\t<span> Esqueceu sua senha? </span>\n\t\t\t\t\t</button>\n\t\t\t\t</form>\n\n\t\t\t\t<ng-template #Authentication2Fa>\n\t\t\t\t\t<form [formGroup]=\"formAuthentication2Fa\" class=\"form-position\">\n\t\t\t\t\t\t<div class=\"input-group input-group-lg form-item mb-3\">\n\t\t\t\t\t\t\t<span class=\"input-group-text\" id=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t\tstyle=\"padding: 10px; border-radius: 4px 0px 0px 4px;\">\n\t\t\t\t\t\t\t\t<img src=\"assets/icons/lock.svg\" alt=\"lock-icon\" />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<input type=\"text\" class=\"form-control\" formControlName=\"code\" id=\"code\"\n\t\t\t\t\t\t\t\taria-label=\"Sizing example input\" placeholder=\"C\u00F3digo de 2 fatores\" aria-label=\"C\u00F3digo de 2 fatores\"\n\t\t\t\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formAuthentication2Fa.get('code'))\">\n\t\t\t\t\t\t\t<app-field-error-message [control]=\"formAuthentication2Fa.get('code')\" label=\"C\u00F3digo de 2 fatores\"></app-field-error-message>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"row mb-3\">\n\t\t\t\t\t\t\t<button (click)=\"voltar()\" type=\"button\" class=\"btn btn-acessar glb-btn-outline-dark-disabled col me-1\">\n\t\t\t\t\t\t\t\tVoltar\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button [disabled]=\"isLoadingSendAuthentication2Fa\" (click)=\"sendCode()\" type=\"button\" class=\"btn btn-acessar btn-primary col ms-1\">\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoadingSendAuthentication2Fa\"></app-loading-button>\n\t\t\t\t\t\t\t\tAcessar\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<button *ngIf=\"secondsLeft == 0; else newCode\" \n\t\t\t\t\t\t\t\t[disabled]=\"isLoading\" (click)=\"getNewCode()\" type=\"button\" class=\"btn btn-acessar btn-outline-primary col\">\n\t\t\t\t\t\t\t\t<app-loading-button [isLoading]=\"isLoading\"></app-loading-button>\n\t\t\t\t\t\t\t\tEnviar novo c\u00F3digo\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<ng-template #newCode>\n\t\t\t\t\t\t\t\t<p class=\"text-center\">{{ secondsLeft}} {{ secondsLeft == 1 ? 'segundo' : 'segundos' }} para obter novo c\u00F3digo</p>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\t\n\t\t\t\t</ng-template>\n\t\t\t\t\n\t\t\t\t<div class=\"footer-position\">\n\t\t\t\t\t<footer>\n\t\t\t\t\t\t<span class=\"footer\"> \n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/JmGeNlJdw/1/poli%CC%81tica-de-privacidade/pt_BR?s=1685731510066\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Privacidade </a>\n\t\t\t\t\t\t\t<p class=\"separator\"> | </p>\n\t\t\t\t\t\t\t<a href=\"https://dpo.privacytools.com.br/policy-view/Rork35NN2/2/poli%CC%81tica-de-cookies/pt_BR?s=1685731551976\" target=\"_blank\" class=\"sispro text-primary\"> Pol\u00EDtica de Cookies </a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"footer\"> Desenvolvido por \n\t\t\t\t\t\t\t<a href=\"https://www.sispro.com.br/\" target=\"_blank\" class=\"sispro text-primary\"> SISPRO </a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"footer\"> Servi\u00E7os e Tecnologia da Informa\u00E7\u00E3o LTDA \u00A9 {{ year }} Todos os direitos reservados </span>\n\t\t\t\t\t\t\t<div class=\"icons\">\n\t\t\t\t\t\t\t\t<a href=\"https://pt-br.facebook.com/SisproERP/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"facebook\" iconSize=\"medium-small\"/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a href=\"https://www.instagram.com/accounts/login/?next=/sispro_software/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"instagram\" iconSize=\"medium-small\"/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a href=\"https://br.linkedin.com/company/sispro\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t<lib-icon class=\"text-primary\" iconName=\"linkedin\" iconSize=\"medium-small\"/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\n\t\t\t\t\t\t\t\t<a [href]=\"geturlErpConfig()\" style=\"text-decoration: none; font-size: 12px;\">\n\t\t\t\t\t\t\t\t\tConfigurar ERP\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t</footer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<!-- Template do modal de senha esquecida -->\n<ng-template #forgottenPasswordModal>\n\t<form [formGroup]=\"formFgtPsw\">\n\t\t<div class=\"modal-content\" style=\"box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.5);\">\n\t\t\t<div class=\"modal-header p-3\">\n\t\t\t\t<h4 class=\"modal-title\"> Recupera\u00E7\u00E3o de senha </h4>\n\t\t\t\t<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n\t\t\t\t\t(click)=\"closeForgottenPasswordModal()\">\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<label for=\"inputDominioFgtPsw\" class=\"input-label\"> Dom\u00EDnio <span class=\"text-danger\">*</span></label>\n\t\t\t\t<input type=\"text\" id=\"inputDominioFgtPsw\" formControlName=\"dominioFgtPsw\"\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Dom\u00EDnio\"\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('dominioFgtPsw'))\">\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('dominioFgtPsw')\" label=\"Dom\u00EDnio\"></app-field-error-message>\t\t\t\t\n\n\t\t\t\t<label for=\"inputUsuarioFgtPsw\" class=\"input-label\"> Usu\u00E1rio <span class=\"text-danger\">*</span></label>\n\t\t\t\t<input type=\"text\" id=\"inputUsuarioFgtPsw\" formControlName=\"usuarioFgtPsw\"\n\t\t\t\t\tclass=\"form-control input-text\" aria-label=\"Sizing example input\" aria-label=\"Usu\u00E1rio\"\n\t\t\t\t\taria-describedby=\"inputGroup-sizing-lg\"\n\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(formFgtPsw.get('usuarioFgtPsw'))\">\n\t\t\t\t<app-field-error-message [control]=\"formFgtPsw.get('usuarioFgtPsw')\" label=\"Usu\u00E1rio\"></app-field-error-message>\t\t\t\t\n\t\t\n\t\t\t</div>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<button type=\"button\" class=\"btn glb-btn-dark-disabled modal-button\" (click)=\"closeForgottenPasswordModal()\">\n\t\t\t\t\t<span> Cancelar </span>\n\t\t\t\t</button>\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendForgottenPassword();\">\n\t\t\t\t\t<span> Continuar </span>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t</div>\n\t</form>\n</ng-template>\n", styles: ["@charset \"UTF-8\";*{padding:0;margin:0;font-family:Open Sans,sans-serif}.background{display:grid;height:100vh;align-content:center;background-size:cover;color:#f5f5f5;align-items:center;justify-content:center}.div-size{display:flex;flex-direction:column;justify-content:space-around;width:100%;height:100vh;align-items:center;background-color:#f5f5f5;box-shadow:0 0 15px #333}.title{font-size:3.5vw;text-transform:uppercase;font-weight:700}.subtitle{font-size:21px}.logotipo{display:flex;justify-content:center;margin-top:10%}.form-position{display:flex;flex-direction:column;align-content:center;width:378px}.form-item{margin-bottom:16px}.input-group-text{padding:10px 11px;border-radius:4px 0 0 4px}.remember-password{display:flex;align-items:center;margin-bottom:8px;justify-content:center}.remember-password label{margin-left:8px}.forgotten-password{background-color:#f5f5f5;border:none;text-decoration:underline;font-size:14px;box-shadow:none;margin-top:8px;cursor:pointer}.forgotten-password:focus{outline-style:none}.input-label{font-size:16px;padding:10px 0 8px 16px}.input-label:first-child{font-size:16px;padding-top:16px}.input-text{width:343px;height:38px;margin:0 0 10px 16px;padding:0 8px}.input-text:last-child{font-size:16px;margin-bottom:24px}.form-control{max-width:341px}.footer{display:flex;justify-content:center}.footer-position{font-size:14px;display:flex;justify-content:center;align-items:flex-end}.icons{display:flex;justify-content:center;align-items:center;margin-top:16px}.icons a{padding:4px}.icon-item{margin-left:24px;color:#007bff}.sispro{color:#2847a0;margin-left:5px;text-transform:uppercase;text-decoration:none;font-weight:700}.modal-footer{padding:0}.modal:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.modal-style{display:flex;align-items:center;justify-content:center}.modal-style h4{font-size:20px;font-weight:700;padding:10px}.modal-button{margin:16px 0;padding:7px 12px}.modal-button:last-child{margin-right:16px;margin-left:8px}.modal-close{display:flex;align-content:center;margin-right:10px;padding:6px}.col-md-7,.col-md-5{padding:0}.btn-acessar{height:48px;outline-style:none}.texto-apresentacao{align-items:start}.separator{margin-left:5px}\n"] }]
1154
1154
  }], ctorParameters: () => [{ type: i1$2.BsModalService }, { type: i5.MessageService }, { type: i3.FormBuilder }, { type: AuthService }, { type: ServerService }, { type: EnvironmentService }, { type: AuthStorageService }, { type: LibCustomLoginService }, { type: i9.Title }, { type: i1$1.Router }, { type: i11.ToastrService }] });
1155
1155
 
1156
1156
  class AuthModule {
@@ -1558,11 +1558,11 @@ class SecondaryDropdownComponent {
1558
1558
  window.open(url, '_blank');
1559
1559
  }
1560
1560
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SecondaryDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1561
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SecondaryDropdownComponent, isStandalone: true, selector: "app-secondary-dropdown", inputs: { modulo: "modulo" }, outputs: { backPrimaryDropdown: "backPrimaryDropdown" }, ngImport: i0, template: "<div class=\"d-flex flex-row\">\r\n <button class=\"chevron d-flex m-0 p-0 align-items-start\" (click)=\"backToPrimary()\"> \r\n <lib-icon iconName=\"seta-esquerda\" iconSize=\"small\"/>\r\n </button>\r\n\r\n <div class=\"d-flex flex-column flex-row\">\r\n <li *ngIf=\"modulo != null\">\r\n <img class=\"ms-1 mb-2\" src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\r\n <span>{{ modulo.label }}</span>\r\n </li>\r\n <div *ngIf=\"modulo && modulo.secondary_level != null\">\r\n <li *ngFor=\"let moduloItem of modulo.secondary_level;\" (click)=\"redirectToModulo(moduloItem.URL)\">\r\n <a class=\"dropdown-item mb-2 ms-2\">\r\n <img src=\"{{ moduloItem.icon }}\" alt=\"{{ moduloItem.label }}\">\r\n {{ moduloItem.label }}\r\n </a>\r\n <li>\r\n </div>\r\n </div>\r\n</div>", styles: ["*{padding:0;margin:0}.chevron{margin-bottom:16px;margin-left:14px}li img{margin-left:8px;margin-right:4px}li span{font-weight:700}li a:hover{font-weight:700;background-color:transparent}.dropdown-item{margin-left:32px}button{background-color:transparent;border:none}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }] }); }
1561
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SecondaryDropdownComponent, isStandalone: true, selector: "app-secondary-dropdown", inputs: { modulo: "modulo" }, outputs: { backPrimaryDropdown: "backPrimaryDropdown" }, ngImport: i0, template: "<div class=\"d-flex flex-row\">\n <button class=\"chevron d-flex m-0 p-0 align-items-start\" (click)=\"backToPrimary()\"> \n <lib-icon iconName=\"seta-esquerda\" iconSize=\"small\"/>\n </button>\n\n <div class=\"d-flex flex-column flex-row\">\n <li *ngIf=\"modulo != null\">\n <img class=\"ms-1 mb-2\" src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\n <span>{{ modulo.label }}</span>\n </li>\n <div *ngIf=\"modulo && modulo.secondary_level != null\">\n <li *ngFor=\"let moduloItem of modulo.secondary_level;\" (click)=\"redirectToModulo(moduloItem.URL)\">\n <a class=\"dropdown-item mb-2 ms-2\">\n <img src=\"{{ moduloItem.icon }}\" alt=\"{{ moduloItem.label }}\">\n {{ moduloItem.label }}\n </a>\n <li>\n </div>\n </div>\n</div>", styles: ["*{padding:0;margin:0}.chevron{margin-bottom:16px;margin-left:14px}li img{margin-left:8px;margin-right:4px}li span{font-weight:700}li a:hover{font-weight:700;background-color:transparent}.dropdown-item{margin-left:32px}button{background-color:transparent;border:none}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }] }); }
1562
1562
  }
1563
1563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SecondaryDropdownComponent, decorators: [{
1564
1564
  type: Component,
1565
- args: [{ selector: 'app-secondary-dropdown', imports: [InfraModule], template: "<div class=\"d-flex flex-row\">\r\n <button class=\"chevron d-flex m-0 p-0 align-items-start\" (click)=\"backToPrimary()\"> \r\n <lib-icon iconName=\"seta-esquerda\" iconSize=\"small\"/>\r\n </button>\r\n\r\n <div class=\"d-flex flex-column flex-row\">\r\n <li *ngIf=\"modulo != null\">\r\n <img class=\"ms-1 mb-2\" src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\r\n <span>{{ modulo.label }}</span>\r\n </li>\r\n <div *ngIf=\"modulo && modulo.secondary_level != null\">\r\n <li *ngFor=\"let moduloItem of modulo.secondary_level;\" (click)=\"redirectToModulo(moduloItem.URL)\">\r\n <a class=\"dropdown-item mb-2 ms-2\">\r\n <img src=\"{{ moduloItem.icon }}\" alt=\"{{ moduloItem.label }}\">\r\n {{ moduloItem.label }}\r\n </a>\r\n <li>\r\n </div>\r\n </div>\r\n</div>", styles: ["*{padding:0;margin:0}.chevron{margin-bottom:16px;margin-left:14px}li img{margin-left:8px;margin-right:4px}li span{font-weight:700}li a:hover{font-weight:700;background-color:transparent}.dropdown-item{margin-left:32px}button{background-color:transparent;border:none}\n"] }]
1565
+ args: [{ selector: 'app-secondary-dropdown', imports: [InfraModule], template: "<div class=\"d-flex flex-row\">\n <button class=\"chevron d-flex m-0 p-0 align-items-start\" (click)=\"backToPrimary()\"> \n <lib-icon iconName=\"seta-esquerda\" iconSize=\"small\"/>\n </button>\n\n <div class=\"d-flex flex-column flex-row\">\n <li *ngIf=\"modulo != null\">\n <img class=\"ms-1 mb-2\" src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\n <span>{{ modulo.label }}</span>\n </li>\n <div *ngIf=\"modulo && modulo.secondary_level != null\">\n <li *ngFor=\"let moduloItem of modulo.secondary_level;\" (click)=\"redirectToModulo(moduloItem.URL)\">\n <a class=\"dropdown-item mb-2 ms-2\">\n <img src=\"{{ moduloItem.icon }}\" alt=\"{{ moduloItem.label }}\">\n {{ moduloItem.label }}\n </a>\n <li>\n </div>\n </div>\n</div>", styles: ["*{padding:0;margin:0}.chevron{margin-bottom:16px;margin-left:14px}li img{margin-left:8px;margin-right:4px}li span{font-weight:700}li a:hover{font-weight:700;background-color:transparent}.dropdown-item{margin-left:32px}button{background-color:transparent;border:none}\n"] }]
1566
1566
  }], ctorParameters: () => [], propDecorators: { modulo: [{
1567
1567
  type: Input
1568
1568
  }], backPrimaryDropdown: [{
@@ -1620,11 +1620,11 @@ class PrimaryDropdownComponent {
1620
1620
  window.open(url, '_blank');
1621
1621
  }
1622
1622
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PrimaryDropdownComponent, deps: [{ token: LibCustomMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
1623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PrimaryDropdownComponent, isStandalone: true, selector: "app-primary-dropdown", inputs: { buttonWasClicked: "buttonWasClicked" }, ngImport: i0, template: "<div class=\"p-2\">\r\n <div *ngIf=\"selectDataState; else secondary_dropdown\" class=\"mb-2 w-100\">\r\n <li *ngFor=\"let modulo of primaryDropdown\" (click)=\"(modulo.secondary_level != null ? openDropdown(modulo, secondary_dropdown) : redirectToModulo(modulo.URL))\">\r\n <a class=\"dropdown-item mb-2\">\r\n <img src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\r\n {{ modulo.label }}\r\n </a>\r\n </li>\r\n <hr class=\"dropdown-divider\">\r\n <li>\r\n <a class=\"dropdown-item link-portal mt-2\" (click)=\"redirectToPrePortal()\" target=\"_blank\">Portal Sispro</a>\r\n </li>\r\n </div>\r\n\r\n <ng-template #secondary_dropdown>\r\n <div #secondary_ref (clickOutside)=\"onClickedOutside($event, secondary_ref)\">\r\n <app-secondary-dropdown [modulo]=\"modulo\" (backPrimaryDropdown)=\"backToPrimary($event)\"></app-secondary-dropdown>\r\n </div>\r\n </ng-template>\r\n</div>", styles: ["*{padding:0;margin:0}li a{font-size:14px}li a img{margin-right:4px}li a:hover{font-weight:700;background-color:transparent}.dropdown-divider{height:0}.link-portal{color:#2847a0;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}\n"], dependencies: [{ kind: "component", type: SecondaryDropdownComponent, selector: "app-secondary-dropdown", inputs: ["modulo"], outputs: ["backPrimaryDropdown"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
1623
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PrimaryDropdownComponent, isStandalone: true, selector: "app-primary-dropdown", inputs: { buttonWasClicked: "buttonWasClicked" }, ngImport: i0, template: "<div class=\"p-2\">\n <div *ngIf=\"selectDataState; else secondary_dropdown\" class=\"mb-2 w-100\">\n <li *ngFor=\"let modulo of primaryDropdown\" (click)=\"(modulo.secondary_level != null ? openDropdown(modulo, secondary_dropdown) : redirectToModulo(modulo.URL))\">\n <a class=\"dropdown-item mb-2\">\n <img src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\n {{ modulo.label }}\n </a>\n </li>\n <hr class=\"dropdown-divider\">\n <li>\n <a class=\"dropdown-item link-portal mt-2\" (click)=\"redirectToPrePortal()\" target=\"_blank\">Portal Sispro</a>\n </li>\n </div>\n\n <ng-template #secondary_dropdown>\n <div #secondary_ref (clickOutside)=\"onClickedOutside($event, secondary_ref)\">\n <app-secondary-dropdown [modulo]=\"modulo\" (backPrimaryDropdown)=\"backToPrimary($event)\"></app-secondary-dropdown>\n </div>\n </ng-template>\n</div>", styles: ["*{padding:0;margin:0}li a{font-size:14px}li a img{margin-right:4px}li a:hover{font-weight:700;background-color:transparent}.dropdown-divider{height:0}.link-portal{color:#2847a0;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}\n"], dependencies: [{ kind: "component", type: SecondaryDropdownComponent, selector: "app-secondary-dropdown", inputs: ["modulo"], outputs: ["backPrimaryDropdown"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
1624
1624
  }
1625
1625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PrimaryDropdownComponent, decorators: [{
1626
1626
  type: Component,
1627
- args: [{ selector: 'app-primary-dropdown', imports: [SecondaryDropdownComponent, NgIf, NgFor], template: "<div class=\"p-2\">\r\n <div *ngIf=\"selectDataState; else secondary_dropdown\" class=\"mb-2 w-100\">\r\n <li *ngFor=\"let modulo of primaryDropdown\" (click)=\"(modulo.secondary_level != null ? openDropdown(modulo, secondary_dropdown) : redirectToModulo(modulo.URL))\">\r\n <a class=\"dropdown-item mb-2\">\r\n <img src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\r\n {{ modulo.label }}\r\n </a>\r\n </li>\r\n <hr class=\"dropdown-divider\">\r\n <li>\r\n <a class=\"dropdown-item link-portal mt-2\" (click)=\"redirectToPrePortal()\" target=\"_blank\">Portal Sispro</a>\r\n </li>\r\n </div>\r\n\r\n <ng-template #secondary_dropdown>\r\n <div #secondary_ref (clickOutside)=\"onClickedOutside($event, secondary_ref)\">\r\n <app-secondary-dropdown [modulo]=\"modulo\" (backPrimaryDropdown)=\"backToPrimary($event)\"></app-secondary-dropdown>\r\n </div>\r\n </ng-template>\r\n</div>", styles: ["*{padding:0;margin:0}li a{font-size:14px}li a img{margin-right:4px}li a:hover{font-weight:700;background-color:transparent}.dropdown-divider{height:0}.link-portal{color:#2847a0;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}\n"] }]
1627
+ args: [{ selector: 'app-primary-dropdown', imports: [SecondaryDropdownComponent, NgIf, NgFor], template: "<div class=\"p-2\">\n <div *ngIf=\"selectDataState; else secondary_dropdown\" class=\"mb-2 w-100\">\n <li *ngFor=\"let modulo of primaryDropdown\" (click)=\"(modulo.secondary_level != null ? openDropdown(modulo, secondary_dropdown) : redirectToModulo(modulo.URL))\">\n <a class=\"dropdown-item mb-2\">\n <img src=\"{{ modulo.icon }}\" alt=\"{{ modulo.label }}\">\n {{ modulo.label }}\n </a>\n </li>\n <hr class=\"dropdown-divider\">\n <li>\n <a class=\"dropdown-item link-portal mt-2\" (click)=\"redirectToPrePortal()\" target=\"_blank\">Portal Sispro</a>\n </li>\n </div>\n\n <ng-template #secondary_dropdown>\n <div #secondary_ref (clickOutside)=\"onClickedOutside($event, secondary_ref)\">\n <app-secondary-dropdown [modulo]=\"modulo\" (backPrimaryDropdown)=\"backToPrimary($event)\"></app-secondary-dropdown>\n </div>\n </ng-template>\n</div>", styles: ["*{padding:0;margin:0}li a{font-size:14px}li a img{margin-right:4px}li a:hover{font-weight:700;background-color:transparent}.dropdown-divider{height:0}.link-portal{color:#2847a0;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}\n"] }]
1628
1628
  }], ctorParameters: () => [{ type: LibCustomMenuService }], propDecorators: { buttonWasClicked: [{
1629
1629
  type: Input
1630
1630
  }] } });
@@ -1659,11 +1659,11 @@ class DynamicMenuComponent {
1659
1659
  return `https://siscandesv6.sispro.com.br/SisproErpCloud/${url}`;
1660
1660
  }
1661
1661
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DynamicMenuComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
1662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DynamicMenuComponent, isStandalone: true, selector: "app-dynamic-menu", inputs: { submenuRef: "submenuRef", recebeParam: "recebeParam", titleSubmenu: "titleSubmenu", submenuList: "submenuList" }, outputs: { selectTemplate: "selectTemplate" }, queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div #submenu class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\r\n <div class=\"itens-list\">\r\n <ul style=\"width: 100%\">\r\n \r\n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \r\n class=\"d-flex justify-content-between align-items-center\"\r\n [class]=\"i == 0 ? 'mt-1' : ''\">\r\n \r\n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\r\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(itemList.route)\"\r\n target=\"_blank\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n </ng-template>\r\n\r\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
1662
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DynamicMenuComponent, isStandalone: true, selector: "app-dynamic-menu", inputs: { submenuRef: "submenuRef", recebeParam: "recebeParam", titleSubmenu: "titleSubmenu", submenuList: "submenuList" }, outputs: { selectTemplate: "selectTemplate" }, queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div #submenu class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\n <div class=\"itens-list\">\n <ul style=\"width: 100%\">\n \n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \n class=\"d-flex justify-content-between align-items-center\"\n [class]=\"i == 0 ? 'mt-1' : ''\">\n \n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(itemList.route)\"\n target=\"_blank\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n </ng-template>\n\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\n </li>\n\n </ul>\n </div>\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
1663
1663
  }
1664
1664
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DynamicMenuComponent, decorators: [{
1665
1665
  type: Component,
1666
- args: [{ selector: 'app-dynamic-menu', imports: [RouterModule], template: "<div #submenu class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\r\n <div class=\"itens-list\">\r\n <ul style=\"width: 100%\">\r\n \r\n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \r\n class=\"d-flex justify-content-between align-items-center\"\r\n [class]=\"i == 0 ? 'mt-1' : ''\">\r\n \r\n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\r\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(itemList.route)\"\r\n target=\"_blank\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n </ng-template>\r\n\r\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"] }]
1666
+ args: [{ selector: 'app-dynamic-menu', imports: [RouterModule], template: "<div #submenu class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\n <div class=\"itens-list\">\n <ul style=\"width: 100%\">\n \n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \n class=\"d-flex justify-content-between align-items-center\"\n [class]=\"i == 0 ? 'mt-1' : ''\">\n \n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(itemList.route)\"\n target=\"_blank\" \n (click)=\"recebeParam($event, submenuRef)\">\n <span>{{ itemList!.label }}</span>\n </a>\n </ng-template>\n\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\n </li>\n\n </ul>\n </div>\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"] }]
1667
1667
  }], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { selectTemplate: [{
1668
1668
  type: Output
1669
1669
  }], submenuRef: [{
@@ -1684,11 +1684,11 @@ class NotifSubmenuComponent {
1684
1684
  ngOnInit() {
1685
1685
  }
1686
1686
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NotifSubmenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1687
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: NotifSubmenuComponent, isStandalone: true, selector: "app-notif-submenu", ngImport: i0, template: "<div class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">Notifica\u00E7\u00F5es</h1>\r\n</div>\r\n<div class=\"body-notif\">\r\n <div class=\"new-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Novas (2)</p><p>Marcar todas como Lidas</p>\r\n </div>\r\n <div class=\"scroll\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"read-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Lidas</p>\r\n </div>\r\n <div class=\"scroll-second\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:4px;background:transparent}::-webkit-scrollbar-thumb{background:#fff;border-radius:16px}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}button{position:relative;border:none;background-color:transparent}.session-header{display:flex;justify-content:space-between;background-color:#2847a0}.session-header .session-h-item{font-weight:700}.session{border-bottom:1px solid #fff;overflow:auto;height:100%}.session:last-child{border-bottom:none}.session-start{display:flex}.item-end{display:flex;justify-content:space-between}.scroll{margin-right:2px;overflow:auto;max-height:300px}.scroll-second{margin-right:2px;overflow:auto;max-height:481px}\n"] }); }
1687
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: NotifSubmenuComponent, isStandalone: true, selector: "app-notif-submenu", ngImport: i0, template: "<div class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">Notifica\u00E7\u00F5es</h1>\n</div>\n<div class=\"body-notif\">\n <div class=\"new-notif\">\n <div class=\"session-header p-2\">\n <p class=\"session-h-item\">Novas (2)</p><p>Marcar todas como Lidas</p>\n </div>\n <div class=\"scroll\">\n <div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"read-notif\">\n <div class=\"session-header p-2\">\n <p class=\"session-h-item\">Lidas</p>\n </div>\n <div class=\"scroll-second\">\n <div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:4px;background:transparent}::-webkit-scrollbar-thumb{background:#fff;border-radius:16px}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}button{position:relative;border:none;background-color:transparent}.session-header{display:flex;justify-content:space-between;background-color:#2847a0}.session-header .session-h-item{font-weight:700}.session{border-bottom:1px solid #fff;overflow:auto;height:100%}.session:last-child{border-bottom:none}.session-start{display:flex}.item-end{display:flex;justify-content:space-between}.scroll{margin-right:2px;overflow:auto;max-height:300px}.scroll-second{margin-right:2px;overflow:auto;max-height:481px}\n"] }); }
1688
1688
  }
1689
1689
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NotifSubmenuComponent, decorators: [{
1690
1690
  type: Component,
1691
- args: [{ selector: 'app-notif-submenu', template: "<div class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">Notifica\u00E7\u00F5es</h1>\r\n</div>\r\n<div class=\"body-notif\">\r\n <div class=\"new-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Novas (2)</p><p>Marcar todas como Lidas</p>\r\n </div>\r\n <div class=\"scroll\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"read-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Lidas</p>\r\n </div>\r\n <div class=\"scroll-second\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:4px;background:transparent}::-webkit-scrollbar-thumb{background:#fff;border-radius:16px}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}button{position:relative;border:none;background-color:transparent}.session-header{display:flex;justify-content:space-between;background-color:#2847a0}.session-header .session-h-item{font-weight:700}.session{border-bottom:1px solid #fff;overflow:auto;height:100%}.session:last-child{border-bottom:none}.session-start{display:flex}.item-end{display:flex;justify-content:space-between}.scroll{margin-right:2px;overflow:auto;max-height:300px}.scroll-second{margin-right:2px;overflow:auto;max-height:481px}\n"] }]
1691
+ args: [{ selector: 'app-notif-submenu', template: "<div class=\"header-submenu\">\n <h1 class=\"titulo pb-3 pt-4\">Notifica\u00E7\u00F5es</h1>\n</div>\n<div class=\"body-notif\">\n <div class=\"new-notif\">\n <div class=\"session-header p-2\">\n <p class=\"session-h-item\">Novas (2)</p><p>Marcar todas como Lidas</p>\n </div>\n <div class=\"scroll\">\n <div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"read-notif\">\n <div class=\"session-header p-2\">\n <p class=\"session-h-item\">Lidas</p>\n </div>\n <div class=\"scroll-second\">\n <div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n <div class=\"session mb-3 pb-3\">\n <div class=\"session-start mt-3 ms-3\">\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\n </div>\n <div class=\"m-4\">\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\n </div>\n <div class=\"item-end ms-4 mx-4\">\n <button>Marcar como lida</button>\n <p>2h atr\u00E1s</p>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:4px;background:transparent}::-webkit-scrollbar-thumb{background:#fff;border-radius:16px}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}button{position:relative;border:none;background-color:transparent}.session-header{display:flex;justify-content:space-between;background-color:#2847a0}.session-header .session-h-item{font-weight:700}.session{border-bottom:1px solid #fff;overflow:auto;height:100%}.session:last-child{border-bottom:none}.session-start{display:flex}.item-end{display:flex;justify-content:space-between}.scroll{margin-right:2px;overflow:auto;max-height:300px}.scroll-second{margin-right:2px;overflow:auto;max-height:481px}\n"] }]
1692
1692
  }], ctorParameters: () => [] });
1693
1693
 
1694
1694
  class SelecaoEstabelecimentosModalComponent {
@@ -1869,11 +1869,11 @@ class SelecaoEstabelecimentosModalComponent {
1869
1869
  this.onClose.emit();
1870
1870
  }
1871
1871
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelecaoEstabelecimentosModalComponent, deps: [{ token: AuthStorageService }, { token: i1$2.BsModalService }, { token: LibCustomMenuService }, { token: MenuServicesService }, { token: i5.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
1872
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelecaoEstabelecimentosModalComponent, isStandalone: true, selector: "selecao-estabelecimentos-modal", outputs: { onClose: "onClose", onSelected: "onSelected" }, ngImport: i0, template: "<div class=\"main-container\">\r\n <div class=\"modal-header modal-style modal-dialog-centered\">\r\n <h4 class=\"modal-title pull-left color-modal\" style=\"font-size: 20px; font-weight: bold;\"> Selecione um\r\n estabelecimento </h4>\r\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"modal-message\">\r\n <div class=\"search-and-filters d-flex flex-row align-items-center justify-content-between\">\r\n <div class=\"d-flex flex-row w-100\">\r\n <div class=\"input-group\">\r\n <span class=\"input-group-text px-2\" id=\"basic-addon1\"\r\n style=\"background-color: transparent; border-right: none;\">\r\n <lib-icon iconName=\"lupa\" iconColor=\"gray\"/>\r\n </span>\r\n <input type=\"text\" class=\"form-control border-start-0 ps-0\" id=\"pesquisaInput\" #pesquisa\r\n placeholder=\"Digite o C\u00F3digo\" (keyup.enter)=\"refreshList(pesquisa.value)\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"filters d-flex align-items-center justify-content-between ms-3\">\r\n <div class=\"search-buttons d-flex flex-row align-items-center my-0 mx-0\">\r\n <button id=\"clearFilterBtn\" class=\"btn btn-outline-primary ms-0 no-hover-btn me-2\"\r\n (click)=\"pesquisa.value = ''; refreshList(pesquisa.value)\"> Limpar </button>\r\n <button id=\"searchFilterBtn\" class=\"btn btn-primary me-0\" (click)=\"refreshList(pesquisa.value)\"> Pesquisar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"table-list w-100 mt-3\" *ngIf=\"$estabelecimentosList; else loading\">\r\n <table class=\"table table-bordered table-hover mb-0\">\r\n <thead class=\"fs-6\">\r\n <tr>\r\n <th scope=\"col\" class=\"col-11 align-middle th\">Estabelecimento <span\r\n class=\"text-primary fst-italic\">(duplo-clique para selecionar)</span></th>\r\n <th scope=\"col\" class=\"col-1 align-middle text-center th\">A\u00E7\u00F5es</th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody *ngIf=\"$estabelecimentosList.length > 0; else emptyList\">\r\n <tr\r\n *ngFor=\"let estabelecimento of $estabelecimentosList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }\"\r\n (dblclick)=\"selectEstabelecimento(estabelecimento.ID, estabelecimento.NOMEEXIBICAO)\" role=\"button\">\r\n <td><span class=\"row-name\"> {{ estabelecimento.CODIGO }} - {{ estabelecimento.NOMEEXIBICAO }} </span>\r\n <span class=\"subname\"> {{ estabelecimento.IS_MATRIZ ? \"Matriz \" : null }} CNPJ: {{ estabelecimento.CNPJ\r\n }} </span></td>\r\n <td class=\"text-center align-middle\">\r\n <div class=\"action-icons d-flex flex-row align-items-center justify-content-around\">\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckChecked\"\r\n tooltip=\"Estabelecimento padr\u00E3o\" [checked]=\"estabelecimento.IS_DEFAULT\"\r\n style=\"transform: translateY(3px); height: 1rem; width: 28px;\" #isDefaultRow\r\n (click)=\"estabelecimento.IS_DEFAULT = !estabelecimento.IS_DEFAULT; defineDefaultEstabelecimento(estabelecimento.ID, estabelecimento.IS_DEFAULT)\">\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n\r\n <!-- #region EMPTY LIST CELL -->\r\n <ng-template #emptyList>\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\" class=\"align-middle\"><span class=\"row-name fw-light fst-italic text-center\"> {{\r\n response_messages.emptyMessage }} </span></td>\r\n </tr>\r\n </tbody>\r\n </ng-template>\r\n <!-- #endregion EMPTY LIST CELL -->\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$estabelecimentosList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\">Itens por p\u00E1gina</label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option class=\"selected\" value=\"10\" selected>10</option>\r\n <option value=\"25\">25</option>\r\n <option value=\"50\">50</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\"\r\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\">\r\n </pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n \r\n </div>\r\n\r\n <!-- <div class=\"d-flex justify-content-between align-items-center mt-3\">\r\n <span style=\"color: #6C757D\"> Registros {{$estabelecimentosList.length}} de {{$estabelecimentosList.length}} </span>\r\n <nav aria-label=\"...\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item disabled\"> <a class=\"page-link\" href=\"#\" tabindex=\"-1\">Anterior</a> </li>\r\n <li class=\"page-item active\"> <a class=\"page-link\" href=\"#\">1</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">2</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">3</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">Pr\u00F3ximo</a> </li>\r\n </ul>\r\n </nav>\r\n </div> -->\r\n\r\n\r\n <ng-template #loading>\r\n <lib-spinner></lib-spinner>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>", styles: [".table-list table thead{height:50px;font-size:1rem;background-color:#e9ecef}.table-list table thead .status-header{width:5%}.table-list table thead th:first-child{width:50px;height:50px}.table-list table thead th{font-size:16px}.table-list table .center-content{text-align:center}.table-list table tbody{font-size:.875rem}.table-list table tbody>tr:hover{background-color:#cce5ff}.table-list table tbody span.row-name{display:block;width:100%;font-weight:700}.table-list table tbody span.subname{color:#0f0f0f80}.table-list table tbody .action-icons{color:#007bff}.table-list table tbody .action-icons a{margin:0 .75rem}.table-list table tbody .status{width:13px;height:13px;border-radius:50%}.table-list table tbody .active{background-color:#28a745}.table-list table tbody .inactive{background-color:#a72828}.name-estab{font-size:14px;font-weight:700;text-transform:uppercase;color:#212529}.subname-estab{font-size:12px;color:#212529}#clearFilterBtn,#searchFilterBtn{padding:6px 12px}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i5.LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i6.PaginatePipe, name: "paginate" }, { kind: "component", type: i6.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
1872
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelecaoEstabelecimentosModalComponent, isStandalone: true, selector: "selecao-estabelecimentos-modal", outputs: { onClose: "onClose", onSelected: "onSelected" }, ngImport: i0, template: "<div class=\"main-container\">\n <div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left color-modal\" style=\"font-size: 20px; font-weight: bold;\"> Selecione um\n estabelecimento </h4>\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"modal-message\">\n <div class=\"search-and-filters d-flex flex-row align-items-center justify-content-between\">\n <div class=\"d-flex flex-row w-100\">\n <div class=\"input-group\">\n <span class=\"input-group-text px-2\" id=\"basic-addon1\"\n style=\"background-color: transparent; border-right: none;\">\n <lib-icon iconName=\"lupa\" iconColor=\"gray\"/>\n </span>\n <input type=\"text\" class=\"form-control border-start-0 ps-0\" id=\"pesquisaInput\" #pesquisa\n placeholder=\"Digite o C\u00F3digo\" (keyup.enter)=\"refreshList(pesquisa.value)\">\n </div>\n </div>\n\n <div class=\"filters d-flex align-items-center justify-content-between ms-3\">\n <div class=\"search-buttons d-flex flex-row align-items-center my-0 mx-0\">\n <button id=\"clearFilterBtn\" class=\"btn btn-outline-primary ms-0 no-hover-btn me-2\"\n (click)=\"pesquisa.value = ''; refreshList(pesquisa.value)\"> Limpar </button>\n <button id=\"searchFilterBtn\" class=\"btn btn-primary me-0\" (click)=\"refreshList(pesquisa.value)\"> Pesquisar\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"table-list w-100 mt-3\" *ngIf=\"$estabelecimentosList; else loading\">\n <table class=\"table table-bordered table-hover mb-0\">\n <thead class=\"fs-6\">\n <tr>\n <th scope=\"col\" class=\"col-11 align-middle th\">Estabelecimento <span\n class=\"text-primary fst-italic\">(duplo-clique para selecionar)</span></th>\n <th scope=\"col\" class=\"col-1 align-middle text-center th\">A\u00E7\u00F5es</th>\n </tr>\n </thead>\n\n <tbody *ngIf=\"$estabelecimentosList.length > 0; else emptyList\">\n <tr\n *ngFor=\"let estabelecimento of $estabelecimentosList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }\"\n (dblclick)=\"selectEstabelecimento(estabelecimento.ID, estabelecimento.NOMEEXIBICAO)\" role=\"button\">\n <td><span class=\"row-name\"> {{ estabelecimento.CODIGO }} - {{ estabelecimento.NOMEEXIBICAO }} </span>\n <span class=\"subname\"> {{ estabelecimento.IS_MATRIZ ? \"Matriz \" : null }} CNPJ: {{ estabelecimento.CNPJ\n }} </span></td>\n <td class=\"text-center align-middle\">\n <div class=\"action-icons d-flex flex-row align-items-center justify-content-around\">\n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckChecked\"\n tooltip=\"Estabelecimento padr\u00E3o\" [checked]=\"estabelecimento.IS_DEFAULT\"\n style=\"transform: translateY(3px); height: 1rem; width: 28px;\" #isDefaultRow\n (click)=\"estabelecimento.IS_DEFAULT = !estabelecimento.IS_DEFAULT; defineDefaultEstabelecimento(estabelecimento.ID, estabelecimento.IS_DEFAULT)\">\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n\n <!-- #region EMPTY LIST CELL -->\n <ng-template #emptyList>\n <tbody>\n <tr>\n <td colspan=\"2\" class=\"align-middle\"><span class=\"row-name fw-light fst-italic text-center\"> {{\n response_messages.emptyMessage }} </span></td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST CELL -->\n </table>\n\n <!-- #region PAGINATION -->\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$estabelecimentosList.length > 0\">\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap;\">Itens por p\u00E1gina</label>\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\">\n </pagination-controls>\n </div>\n <!-- #endregion PAGINATION -->\n \n </div>\n\n <!-- <div class=\"d-flex justify-content-between align-items-center mt-3\">\n <span style=\"color: #6C757D\"> Registros {{$estabelecimentosList.length}} de {{$estabelecimentosList.length}} </span>\n <nav aria-label=\"...\">\n <ul class=\"pagination mb-0\">\n <li class=\"page-item disabled\"> <a class=\"page-link\" href=\"#\" tabindex=\"-1\">Anterior</a> </li>\n <li class=\"page-item active\"> <a class=\"page-link\" href=\"#\">1</a> </li>\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">2</a> </li>\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">3</a> </li>\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">Pr\u00F3ximo</a> </li>\n </ul>\n </nav>\n </div> -->\n\n\n <ng-template #loading>\n <lib-spinner></lib-spinner>\n </ng-template>\n </div>\n </div>\n</div>", styles: [".table-list table thead{height:50px;font-size:1rem;background-color:#e9ecef}.table-list table thead .status-header{width:5%}.table-list table thead th:first-child{width:50px;height:50px}.table-list table thead th{font-size:16px}.table-list table .center-content{text-align:center}.table-list table tbody{font-size:.875rem}.table-list table tbody>tr:hover{background-color:#cce5ff}.table-list table tbody span.row-name{display:block;width:100%;font-weight:700}.table-list table tbody span.subname{color:#0f0f0f80}.table-list table tbody .action-icons{color:#007bff}.table-list table tbody .action-icons a{margin:0 .75rem}.table-list table tbody .status{width:13px;height:13px;border-radius:50%}.table-list table tbody .active{background-color:#28a745}.table-list table tbody .inactive{background-color:#a72828}.name-estab{font-size:14px;font-weight:700;text-transform:uppercase;color:#212529}.subname-estab{font-size:12px;color:#212529}#clearFilterBtn,#searchFilterBtn{padding:6px 12px}\n"], dependencies: [{ kind: "ngmodule", type: InfraModule }, { kind: "component", type: i5.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: i5.LibSpinnerComponent, selector: "lib-spinner", inputs: ["type", "theme", "size", "helperText"] }, { kind: "ngmodule", type: NgxPaginationModule }, { kind: "pipe", type: i6.PaginatePipe, name: "paginate" }, { kind: "component", type: i6.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }] }); }
1873
1873
  }
1874
1874
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelecaoEstabelecimentosModalComponent, decorators: [{
1875
1875
  type: Component,
1876
- args: [{ selector: 'selecao-estabelecimentos-modal', imports: [InfraModule, NgxPaginationModule], template: "<div class=\"main-container\">\r\n <div class=\"modal-header modal-style modal-dialog-centered\">\r\n <h4 class=\"modal-title pull-left color-modal\" style=\"font-size: 20px; font-weight: bold;\"> Selecione um\r\n estabelecimento </h4>\r\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"modal-message\">\r\n <div class=\"search-and-filters d-flex flex-row align-items-center justify-content-between\">\r\n <div class=\"d-flex flex-row w-100\">\r\n <div class=\"input-group\">\r\n <span class=\"input-group-text px-2\" id=\"basic-addon1\"\r\n style=\"background-color: transparent; border-right: none;\">\r\n <lib-icon iconName=\"lupa\" iconColor=\"gray\"/>\r\n </span>\r\n <input type=\"text\" class=\"form-control border-start-0 ps-0\" id=\"pesquisaInput\" #pesquisa\r\n placeholder=\"Digite o C\u00F3digo\" (keyup.enter)=\"refreshList(pesquisa.value)\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"filters d-flex align-items-center justify-content-between ms-3\">\r\n <div class=\"search-buttons d-flex flex-row align-items-center my-0 mx-0\">\r\n <button id=\"clearFilterBtn\" class=\"btn btn-outline-primary ms-0 no-hover-btn me-2\"\r\n (click)=\"pesquisa.value = ''; refreshList(pesquisa.value)\"> Limpar </button>\r\n <button id=\"searchFilterBtn\" class=\"btn btn-primary me-0\" (click)=\"refreshList(pesquisa.value)\"> Pesquisar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"table-list w-100 mt-3\" *ngIf=\"$estabelecimentosList; else loading\">\r\n <table class=\"table table-bordered table-hover mb-0\">\r\n <thead class=\"fs-6\">\r\n <tr>\r\n <th scope=\"col\" class=\"col-11 align-middle th\">Estabelecimento <span\r\n class=\"text-primary fst-italic\">(duplo-clique para selecionar)</span></th>\r\n <th scope=\"col\" class=\"col-1 align-middle text-center th\">A\u00E7\u00F5es</th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody *ngIf=\"$estabelecimentosList.length > 0; else emptyList\">\r\n <tr\r\n *ngFor=\"let estabelecimento of $estabelecimentosList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }\"\r\n (dblclick)=\"selectEstabelecimento(estabelecimento.ID, estabelecimento.NOMEEXIBICAO)\" role=\"button\">\r\n <td><span class=\"row-name\"> {{ estabelecimento.CODIGO }} - {{ estabelecimento.NOMEEXIBICAO }} </span>\r\n <span class=\"subname\"> {{ estabelecimento.IS_MATRIZ ? \"Matriz \" : null }} CNPJ: {{ estabelecimento.CNPJ\r\n }} </span></td>\r\n <td class=\"text-center align-middle\">\r\n <div class=\"action-icons d-flex flex-row align-items-center justify-content-around\">\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckChecked\"\r\n tooltip=\"Estabelecimento padr\u00E3o\" [checked]=\"estabelecimento.IS_DEFAULT\"\r\n style=\"transform: translateY(3px); height: 1rem; width: 28px;\" #isDefaultRow\r\n (click)=\"estabelecimento.IS_DEFAULT = !estabelecimento.IS_DEFAULT; defineDefaultEstabelecimento(estabelecimento.ID, estabelecimento.IS_DEFAULT)\">\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n\r\n <!-- #region EMPTY LIST CELL -->\r\n <ng-template #emptyList>\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\" class=\"align-middle\"><span class=\"row-name fw-light fst-italic text-center\"> {{\r\n response_messages.emptyMessage }} </span></td>\r\n </tr>\r\n </tbody>\r\n </ng-template>\r\n <!-- #endregion EMPTY LIST CELL -->\r\n </table>\r\n\r\n <!-- #region PAGINATION -->\r\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$estabelecimentosList.length > 0\">\r\n <div class=\"d-flex align-items-center\">\r\n <label class=\"me-2\" style=\"white-space: nowrap;\">Itens por p\u00E1gina</label>\r\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\r\n <option class=\"selected\" value=\"10\" selected>10</option>\r\n <option value=\"25\">25</option>\r\n <option value=\"50\">50</option>\r\n </select>\r\n </div>\r\n\r\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\"\r\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\">\r\n </pagination-controls>\r\n </div>\r\n <!-- #endregion PAGINATION -->\r\n \r\n </div>\r\n\r\n <!-- <div class=\"d-flex justify-content-between align-items-center mt-3\">\r\n <span style=\"color: #6C757D\"> Registros {{$estabelecimentosList.length}} de {{$estabelecimentosList.length}} </span>\r\n <nav aria-label=\"...\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item disabled\"> <a class=\"page-link\" href=\"#\" tabindex=\"-1\">Anterior</a> </li>\r\n <li class=\"page-item active\"> <a class=\"page-link\" href=\"#\">1</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">2</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">3</a> </li>\r\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">Pr\u00F3ximo</a> </li>\r\n </ul>\r\n </nav>\r\n </div> -->\r\n\r\n\r\n <ng-template #loading>\r\n <lib-spinner></lib-spinner>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>", styles: [".table-list table thead{height:50px;font-size:1rem;background-color:#e9ecef}.table-list table thead .status-header{width:5%}.table-list table thead th:first-child{width:50px;height:50px}.table-list table thead th{font-size:16px}.table-list table .center-content{text-align:center}.table-list table tbody{font-size:.875rem}.table-list table tbody>tr:hover{background-color:#cce5ff}.table-list table tbody span.row-name{display:block;width:100%;font-weight:700}.table-list table tbody span.subname{color:#0f0f0f80}.table-list table tbody .action-icons{color:#007bff}.table-list table tbody .action-icons a{margin:0 .75rem}.table-list table tbody .status{width:13px;height:13px;border-radius:50%}.table-list table tbody .active{background-color:#28a745}.table-list table tbody .inactive{background-color:#a72828}.name-estab{font-size:14px;font-weight:700;text-transform:uppercase;color:#212529}.subname-estab{font-size:12px;color:#212529}#clearFilterBtn,#searchFilterBtn{padding:6px 12px}\n"] }]
1876
+ args: [{ selector: 'selecao-estabelecimentos-modal', imports: [InfraModule, NgxPaginationModule], template: "<div class=\"main-container\">\n <div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left color-modal\" style=\"font-size: 20px; font-weight: bold;\"> Selecione um\n estabelecimento </h4>\n <button (click)=\"closeSelf()\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"modal-message\">\n <div class=\"search-and-filters d-flex flex-row align-items-center justify-content-between\">\n <div class=\"d-flex flex-row w-100\">\n <div class=\"input-group\">\n <span class=\"input-group-text px-2\" id=\"basic-addon1\"\n style=\"background-color: transparent; border-right: none;\">\n <lib-icon iconName=\"lupa\" iconColor=\"gray\"/>\n </span>\n <input type=\"text\" class=\"form-control border-start-0 ps-0\" id=\"pesquisaInput\" #pesquisa\n placeholder=\"Digite o C\u00F3digo\" (keyup.enter)=\"refreshList(pesquisa.value)\">\n </div>\n </div>\n\n <div class=\"filters d-flex align-items-center justify-content-between ms-3\">\n <div class=\"search-buttons d-flex flex-row align-items-center my-0 mx-0\">\n <button id=\"clearFilterBtn\" class=\"btn btn-outline-primary ms-0 no-hover-btn me-2\"\n (click)=\"pesquisa.value = ''; refreshList(pesquisa.value)\"> Limpar </button>\n <button id=\"searchFilterBtn\" class=\"btn btn-primary me-0\" (click)=\"refreshList(pesquisa.value)\"> Pesquisar\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"table-list w-100 mt-3\" *ngIf=\"$estabelecimentosList; else loading\">\n <table class=\"table table-bordered table-hover mb-0\">\n <thead class=\"fs-6\">\n <tr>\n <th scope=\"col\" class=\"col-11 align-middle th\">Estabelecimento <span\n class=\"text-primary fst-italic\">(duplo-clique para selecionar)</span></th>\n <th scope=\"col\" class=\"col-1 align-middle text-center th\">A\u00E7\u00F5es</th>\n </tr>\n </thead>\n\n <tbody *ngIf=\"$estabelecimentosList.length > 0; else emptyList\">\n <tr\n *ngFor=\"let estabelecimento of $estabelecimentosList | paginate: { itemsPerPage: itemsPerPage, currentPage: page }\"\n (dblclick)=\"selectEstabelecimento(estabelecimento.ID, estabelecimento.NOMEEXIBICAO)\" role=\"button\">\n <td><span class=\"row-name\"> {{ estabelecimento.CODIGO }} - {{ estabelecimento.NOMEEXIBICAO }} </span>\n <span class=\"subname\"> {{ estabelecimento.IS_MATRIZ ? \"Matriz \" : null }} CNPJ: {{ estabelecimento.CNPJ\n }} </span></td>\n <td class=\"text-center align-middle\">\n <div class=\"action-icons d-flex flex-row align-items-center justify-content-around\">\n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"flexSwitchCheckChecked\"\n tooltip=\"Estabelecimento padr\u00E3o\" [checked]=\"estabelecimento.IS_DEFAULT\"\n style=\"transform: translateY(3px); height: 1rem; width: 28px;\" #isDefaultRow\n (click)=\"estabelecimento.IS_DEFAULT = !estabelecimento.IS_DEFAULT; defineDefaultEstabelecimento(estabelecimento.ID, estabelecimento.IS_DEFAULT)\">\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n\n <!-- #region EMPTY LIST CELL -->\n <ng-template #emptyList>\n <tbody>\n <tr>\n <td colspan=\"2\" class=\"align-middle\"><span class=\"row-name fw-light fst-italic text-center\"> {{\n response_messages.emptyMessage }} </span></td>\n </tr>\n </tbody>\n </ng-template>\n <!-- #endregion EMPTY LIST CELL -->\n </table>\n\n <!-- #region PAGINATION -->\n <div class=\"d-flex justify-content-end mt-2\" *ngIf=\"$estabelecimentosList.length > 0\">\n <div class=\"d-flex align-items-center\">\n <label class=\"me-2\" style=\"white-space: nowrap;\">Itens por p\u00E1gina</label>\n <select class=\"form-select select-search\" (change)=\"onSelectChange($event)\">\n <option class=\"selected\" value=\"10\" selected>10</option>\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n\n <pagination-controls class=\"sp-pagination mt-3\" (pageChange)=\"page = $event\"\n previousLabel=\"\u00AB&nbsp;&nbsp;&nbsp;\" nextLabel=\"&nbsp;&nbsp;&nbsp;\u00BB\" [maxSize]=\"5\">\n </pagination-controls>\n </div>\n <!-- #endregion PAGINATION -->\n \n </div>\n\n <!-- <div class=\"d-flex justify-content-between align-items-center mt-3\">\n <span style=\"color: #6C757D\"> Registros {{$estabelecimentosList.length}} de {{$estabelecimentosList.length}} </span>\n <nav aria-label=\"...\">\n <ul class=\"pagination mb-0\">\n <li class=\"page-item disabled\"> <a class=\"page-link\" href=\"#\" tabindex=\"-1\">Anterior</a> </li>\n <li class=\"page-item active\"> <a class=\"page-link\" href=\"#\">1</a> </li>\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">2</a> </li>\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">3</a> </li>\n <li class=\"page-item\"> <a class=\"page-link\" href=\"#\">Pr\u00F3ximo</a> </li>\n </ul>\n </nav>\n </div> -->\n\n\n <ng-template #loading>\n <lib-spinner></lib-spinner>\n </ng-template>\n </div>\n </div>\n</div>", styles: [".table-list table thead{height:50px;font-size:1rem;background-color:#e9ecef}.table-list table thead .status-header{width:5%}.table-list table thead th:first-child{width:50px;height:50px}.table-list table thead th{font-size:16px}.table-list table .center-content{text-align:center}.table-list table tbody{font-size:.875rem}.table-list table tbody>tr:hover{background-color:#cce5ff}.table-list table tbody span.row-name{display:block;width:100%;font-weight:700}.table-list table tbody span.subname{color:#0f0f0f80}.table-list table tbody .action-icons{color:#007bff}.table-list table tbody .action-icons a{margin:0 .75rem}.table-list table tbody .status{width:13px;height:13px;border-radius:50%}.table-list table tbody .active{background-color:#28a745}.table-list table tbody .inactive{background-color:#a72828}.name-estab{font-size:14px;font-weight:700;text-transform:uppercase;color:#212529}.subname-estab{font-size:12px;color:#212529}#clearFilterBtn,#searchFilterBtn{padding:6px 12px}\n"] }]
1877
1877
  }], ctorParameters: () => [{ type: AuthStorageService }, { type: i1$2.BsModalService }, { type: LibCustomMenuService }, { type: MenuServicesService }, { type: i5.MessageService }], propDecorators: { onClose: [{
1878
1878
  type: Output
1879
1879
  }], onSelected: [{
@@ -2078,11 +2078,11 @@ class MenuLateralComponent {
2078
2078
  this._bsModalService.hide(modalID);
2079
2079
  }
2080
2080
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuLateralComponent, deps: [{ token: LibCustomMenuService }, { token: AuthStorageService }, { token: i1$2.BsModalService }, { token: MenuServicesService }, { token: i5.MessageService }, { token: i1$1.Router }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
2081
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MenuLateralComponent, isStandalone: true, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\r\n<div class=\"main col-12\">\r\n\r\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \r\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\r\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\r\n <div class=\"menu-header\">\r\n <ul>\r\n <li class=\"mb-3\">\r\n <div class=\"logo-hamburguer\">\r\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\r\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\r\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\r\n </button>\r\n </div>\r\n </li>\r\n\r\n <!-- #region M\u00D3DULOS -->\r\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\r\n <div class=\"btn-group\">\r\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\r\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\r\n\r\n <ng-container>\r\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\r\n <span class=\"ps-2\"> {{ _customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\r\n\r\n <ng-template #moduleSVG>\r\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </button>\r\n <ul class=\"dropdown-menu\" #dropdown_ref>\r\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\r\n </ul>\r\n </div>\r\n </li>\r\n <!-- #endregion M\u00D3DULOS -->\r\n\r\n <!-- #region ESTABELECIMENTOS -->\r\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\r\n <div class=\"icon-estabelecimento\">\r\n <button class=\"row justify-content-between bg-transparent border-0\"\r\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\r\n\r\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\r\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\r\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\r\n </button>\r\n </div>\r\n </li>\r\n <!-- #endregion ESTABELECIMENTOS -->\r\n\r\n </ul>\r\n\r\n </div>\r\n\r\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\r\n <div class=\"main-menu\">\r\n <div class=\"scroll\">\r\n <div class=\"list-menu px-2 pb-1\">\r\n\r\n <!-- #region MENU DIN\u00C2MICO -->\r\n <div class=\"dynamic-menu\">\r\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\r\n\r\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \r\n class=\"p-1 rounded\" \r\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \r\n [class.selectedItem]=\"menuItem.isSelected\">\r\n\r\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\r\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImg>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(menuItem.route)\"\r\n target=\"_blank\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImgExternal>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n </ng-template>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n\r\n <ng-template #isLoading>\r\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\r\n </ng-template>\r\n <!-- #endregion MENU DIN\u00C2MICO -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\r\n\r\n <!-- #region FOOTER -->\r\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\r\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\r\n <div class=\"footer-components ps-1 pt-2\" [class.open]=\"showBalloon\">\r\n <button type=\"button\" class=\"btn btn-primary\">\r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile ms-1\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <span class=\"glb-text-width-120 w-auto fw-bold text-start text-truncate ms-1 me-1\">\r\n {{ footerUserName }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <ng-template #popoverContent>\r\n <div class=\"footer-menu\" style=\"width: 1000px;\">\r\n <div class=\"d-flex align-items-center\"> \r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <div class=\"d-flex flex-column ms-1\"> \r\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\r\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"mb-2 mt-2\">\r\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\r\n </div>\r\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\r\n </div>\r\n </ng-template>\r\n <!-- #endregion FOOTER -->\r\n\r\n </div>\r\n\r\n <div class=\"submenu\" #submenu_ref>\r\n <ng-template [ngIf]=\"desiredContent !== null\">\r\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\r\n </ng-template>\r\n </div>\r\n </div>\r\n \r\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\r\n <div class=\"content\" style=\"position: relative;\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <div app-footer></div>\r\n </div>\r\n\r\n</div>\r\n<!-- #endregion MAIN CONTENT -->\r\n\r\n<!-- #region TEMPLATES -->\r\n<!-- tem que perguntar pro Erick -->\r\n<!-- [submenuRef]=\"submenu_ref\" -->\r\n<ng-template #dynamic_menu let-data>\r\n <app-dynamic-menu \r\n [submenuList]=\"data\"\r\n [titleSubmenu]=\"titleSubmenu\"\r\n [submenuRef]=\"submenu_ref\"\r\n [recebeParam]=\"onClickedOutside.bind(this)\">\r\n </app-dynamic-menu>\r\n</ng-template>\r\n\r\n<ng-template #notif_menu>\r\n <app-notif-submenu></app-notif-submenu>\r\n</ng-template>\r\n\r\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\r\n<ng-template #modalEstabelecimento>\r\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\r\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\r\n</ng-template>\r\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\r\n\r\n<!-- #endregion TEMPLATES -->\r\n", styles: [".main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:212px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento{margin:0}.sidebar.closed .icon-estabelecimento button{justify-content:center}.sidebar.closed .icon-estabelecimento button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column;padding-bottom:8px}.footer-menu .footer-components{display:flex;justify-content:space-between;border-top:1px solid #3265ee;white-space:nowrap;align-items:center}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;padding-bottom:16px;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px}.sidebar.closed span{display:none}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"], dependencies: [{ kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList"], outputs: ["selectTemplate"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i9$1.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }] }); }
2081
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MenuLateralComponent, isStandalone: true, selector: "app-menu-lateral", queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "notif_template", first: true, predicate: ["notif_menu"], descendants: true }, { propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }], ngImport: i0, template: "<!-- #region MAIN CONTENT -->\n<div class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n\n <ng-container>\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\n <span class=\"ps-2\"> {{ _customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n\n <ng-template #moduleSVG>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\n </ng-template>\n </ng-container>\n\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \n class=\"p-1 rounded\" \n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \n [id]=\"'item' + menuItem.id\" \n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route)\"\n target=\"_blank\" \n [id]=\"'item' + menuItem.id\" \n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components ps-1 pt-2\" [class.open]=\"showBalloon\">\n <button type=\"button\" class=\"btn btn-primary\">\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile ms-1\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n </ng-template>\n <span class=\"glb-text-width-120 w-auto fw-bold text-start text-truncate ms-1 me-1\">\n {{ footerUserName }}\n </span>\n </button>\n </div>\n </div>\n \n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\"> \n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\"> \n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n \n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<!-- tem que perguntar pro Erick -->\n<!-- [submenuRef]=\"submenu_ref\" -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu \n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\"\n [submenuRef]=\"submenu_ref\"\n [recebeParam]=\"onClickedOutside.bind(this)\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #endregion TEMPLATES -->\n", styles: [".main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:212px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento{margin:0}.sidebar.closed .icon-estabelecimento button{justify-content:center}.sidebar.closed .icon-estabelecimento button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column;padding-bottom:8px}.footer-menu .footer-components{display:flex;justify-content:space-between;border-top:1px solid #3265ee;white-space:nowrap;align-items:center}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;padding-bottom:16px;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px}.sidebar.closed span{display:none}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"], dependencies: [{ kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: PrimaryDropdownComponent, selector: "app-primary-dropdown", inputs: ["buttonWasClicked"] }, { kind: "component", type: SelecaoEstabelecimentosModalComponent, selector: "selecao-estabelecimentos-modal", outputs: ["onClose", "onSelected"] }, { kind: "component", type: NotifSubmenuComponent, selector: "app-notif-submenu" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: ["submenuRef", "recebeParam", "titleSubmenu", "submenuList"], outputs: ["selectTemplate"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i9$1.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }] }); }
2082
2082
  }
2083
2083
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MenuLateralComponent, decorators: [{
2084
2084
  type: Component,
2085
- args: [{ selector: 'app-menu-lateral', imports: [LibIconsComponent, PrimaryDropdownComponent, SelecaoEstabelecimentosModalComponent, NotifSubmenuComponent, RouterModule, TooltipModule, DynamicMenuComponent, PopoverModule], template: "<!-- #region MAIN CONTENT -->\r\n<div class=\"main col-12\">\r\n\r\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \r\n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\r\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\r\n <div class=\"menu-header\">\r\n <ul>\r\n <li class=\"mb-3\">\r\n <div class=\"logo-hamburguer\">\r\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\r\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\r\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\r\n </button>\r\n </div>\r\n </li>\r\n\r\n <!-- #region M\u00D3DULOS -->\r\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\r\n <div class=\"btn-group\">\r\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\r\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\r\n\r\n <ng-container>\r\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\r\n <span class=\"ps-2\"> {{ _customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\r\n\r\n <ng-template #moduleSVG>\r\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </button>\r\n <ul class=\"dropdown-menu\" #dropdown_ref>\r\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\r\n </ul>\r\n </div>\r\n </li>\r\n <!-- #endregion M\u00D3DULOS -->\r\n\r\n <!-- #region ESTABELECIMENTOS -->\r\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\r\n <div class=\"icon-estabelecimento\">\r\n <button class=\"row justify-content-between bg-transparent border-0\"\r\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\r\n\r\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\r\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\r\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\r\n </button>\r\n </div>\r\n </li>\r\n <!-- #endregion ESTABELECIMENTOS -->\r\n\r\n </ul>\r\n\r\n </div>\r\n\r\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\r\n <div class=\"main-menu\">\r\n <div class=\"scroll\">\r\n <div class=\"list-menu px-2 pb-1\">\r\n\r\n <!-- #region MENU DIN\u00C2MICO -->\r\n <div class=\"dynamic-menu\">\r\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\r\n\r\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \r\n class=\"p-1 rounded\" \r\n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \r\n [class.selectedItem]=\"menuItem.isSelected\">\r\n\r\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\r\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImg>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(menuItem.route)\"\r\n target=\"_blank\" \r\n [id]=\"'item' + menuItem.id\" \r\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \r\n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \r\n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\r\n\r\n <div class=\"container\">\r\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\r\n <span class=\"span-main\">{{ menuItem.label }}</span>\r\n <ng-template #iconImgExternal>\r\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\r\n </ng-template>\r\n </div>\r\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \r\n iconName=\"seta-direita\" iconColor=\"white\"/>\r\n </a>\r\n </ng-template>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n\r\n <ng-template #isLoading>\r\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\r\n </ng-template>\r\n <!-- #endregion MENU DIN\u00C2MICO -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\r\n\r\n <!-- #region FOOTER -->\r\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\r\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\r\n <div class=\"footer-components ps-1 pt-2\" [class.open]=\"showBalloon\">\r\n <button type=\"button\" class=\"btn btn-primary\">\r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile ms-1\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <span class=\"glb-text-width-120 w-auto fw-bold text-start text-truncate ms-1 me-1\">\r\n {{ footerUserName }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <ng-template #popoverContent>\r\n <div class=\"footer-menu\" style=\"width: 1000px;\">\r\n <div class=\"d-flex align-items-center\"> \r\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\r\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \r\n <ng-template #noUserImg>\r\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\r\n </ng-template>\r\n <div class=\"d-flex flex-column ms-1\"> \r\n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\r\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"mb-2 mt-2\">\r\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\r\n </div>\r\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\r\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\r\n </div>\r\n </ng-template>\r\n <!-- #endregion FOOTER -->\r\n\r\n </div>\r\n\r\n <div class=\"submenu\" #submenu_ref>\r\n <ng-template [ngIf]=\"desiredContent !== null\">\r\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\r\n </ng-template>\r\n </div>\r\n </div>\r\n \r\n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\r\n <div class=\"content\" style=\"position: relative;\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <div app-footer></div>\r\n </div>\r\n\r\n</div>\r\n<!-- #endregion MAIN CONTENT -->\r\n\r\n<!-- #region TEMPLATES -->\r\n<!-- tem que perguntar pro Erick -->\r\n<!-- [submenuRef]=\"submenu_ref\" -->\r\n<ng-template #dynamic_menu let-data>\r\n <app-dynamic-menu \r\n [submenuList]=\"data\"\r\n [titleSubmenu]=\"titleSubmenu\"\r\n [submenuRef]=\"submenu_ref\"\r\n [recebeParam]=\"onClickedOutside.bind(this)\">\r\n </app-dynamic-menu>\r\n</ng-template>\r\n\r\n<ng-template #notif_menu>\r\n <app-notif-submenu></app-notif-submenu>\r\n</ng-template>\r\n\r\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\r\n<ng-template #modalEstabelecimento>\r\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\r\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\r\n</ng-template>\r\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\r\n\r\n<!-- #endregion TEMPLATES -->\r\n", styles: [".main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:212px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento{margin:0}.sidebar.closed .icon-estabelecimento button{justify-content:center}.sidebar.closed .icon-estabelecimento button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column;padding-bottom:8px}.footer-menu .footer-components{display:flex;justify-content:space-between;border-top:1px solid #3265ee;white-space:nowrap;align-items:center}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;padding-bottom:16px;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px}.sidebar.closed span{display:none}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"] }]
2085
+ args: [{ selector: 'app-menu-lateral', imports: [LibIconsComponent, PrimaryDropdownComponent, SelecaoEstabelecimentosModalComponent, NotifSubmenuComponent, RouterModule, TooltipModule, DynamicMenuComponent, PopoverModule], template: "<!-- #region MAIN CONTENT -->\n<div class=\"main col-12\">\n\n <div style=\"height: 100vh; z-index: 3;\" class=\"sidebar-control position-relative d-flex flex-row\" \n (clickOutside)=\"closeMenu == true ? onClickedOutside($event, submenu_ref) : closeMenu = true\">\n <div class=\"sidebar {{_customMenuService.themeColor}} closed\" #sidebar>\n <div class=\"menu-header\">\n <ul>\n <li class=\"mb-3\">\n <div class=\"logo-hamburguer\">\n <img src=\"assets/icons/logotipo-sispro.svg\" alt=\"logo-sispro\" class=\"logo-sispro\" title=\"logo\" width=\"136px\" height=\"48px\">\n <button class=\"button-hamburguer\" (click)=\"openExpansibleMenu(sidebar)\">\n <img src=\"assets/icons/menu.svg\" alt=\"menu hamburguer\">\n </button>\n </div>\n </li>\n\n <!-- #region M\u00D3DULOS -->\n <li class=\"mb-3\" style=\"margin-left: 8px; margin-right: 8px\">\n <div class=\"btn-group\">\n <button (click)=\"dropdownWasOpened(true)\" type=\"button\" class=\"dropdown-button\" data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\" data-bs-auto-close=\"outside\">\n\n <ng-container>\n <img *ngIf=\"_customMenuService.moduleImg != ''; else moduleSVG\" [src]=\"_customMenuService.moduleImg\" alt=\"\">\n <span class=\"ps-2\"> {{ _customMenuService.moduleName }} <lib-icon iconName=\"seta-direita\" iconColor=\"white\" /> </span>\n\n <ng-template #moduleSVG>\n <lib-icon iconColor=\"white\" [iconName]=\"_customMenuService.moduleSvg\"/>\n </ng-template>\n </ng-container>\n\n </button>\n <ul class=\"dropdown-menu\" #dropdown_ref>\n <app-primary-dropdown [buttonWasClicked]=\"messageIfClicked\"></app-primary-dropdown>\n </ul>\n </div>\n </li>\n <!-- #endregion M\u00D3DULOS -->\n\n <!-- #region ESTABELECIMENTOS -->\n <li class=\"mx-3\" style=\"margin-bottom: 16px;\">\n <div class=\"icon-estabelecimento\">\n <button class=\"row justify-content-between bg-transparent border-0\"\n (click)=\"openModal(modalEstabelecimento, MODAL_ESTABELECIMENTO)\"\n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : nomeEstabelecimento\" placement=\"right\">\n\n <lib-icon class=\"col-1\" iconName=\"predio\" iconColor=\"white\" />\n <span *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-9 ps-2 glb-text-width-160 text-start text-truncate\"> {{ nomeEstabelecimento }} </span>\n <lib-icon *ngIf=\"!sidebar.classList.contains('closed')\" class=\"col-1\" iconName=\"seta-direita\" iconColor=\"white\" />\n </button>\n </div>\n </li>\n <!-- #endregion ESTABELECIMENTOS -->\n\n </ul>\n\n </div>\n\n <!-- #region MENUS DE NAVEGA\u00C7\u00C3O -->\n <div class=\"main-menu\">\n <div class=\"scroll\">\n <div class=\"list-menu px-2 pb-1\">\n\n <!-- #region MENU DIN\u00C2MICO -->\n <div class=\"dynamic-menu\">\n <ul #dynamic_menu_items *ngIf=\"_customMenuService.menuItems; else isLoading\">\n\n <li *ngFor=\"let menuItem of _customMenuService.menuItems; let i = index\" \n class=\"p-1 rounded\" \n (click)=\"openSubmenu(menuItem, submenu_ref, dynamic_menu)\" \n [class.selectedItem]=\"menuItem.isSelected\">\n\n <a *ngIf=\"!menuItem.isExternal; else externalMenu\"\n [routerLink]=\"menuItem.route != '' ? menuItem.route : null\" \n [id]=\"'item' + menuItem.id\" \n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImg\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImg>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n \n <ng-template #externalMenu>\n <a [href]=\"getExternalUrl(menuItem.route)\"\n target=\"_blank\" \n [id]=\"'item' + menuItem.id\" \n [tooltip]=\"!sidebar.classList.contains('closed') ? '' : menuItem.label\" \n placement=\"left\" class=\"w-100 d-flex align-items-center button-icons text-decoration-none p-1 glb-cursor-pointer\" \n [class]=\"sidebar.classList.contains('closed') ? 'justify-content-center' : 'justify-content-between'\">\n\n <div class=\"container\">\n <lib-icon *ngIf=\"!menuItem.icon.includes('assets/icons'); else iconImgExternal\" [iconName]=\"menuItem.icon\" iconColor=\"white\"/>\n <span class=\"span-main\">{{ menuItem.label }}</span>\n <ng-template #iconImgExternal>\n <img [src]=\"menuItem.icon\" [alt]=\"'icone: ' + menuItem.label\">\n </ng-template>\n </div>\n <lib-icon *ngIf=\"(menuItem.children && menuItem.children.length > 0) && !sidebar.classList.contains('closed')\" \n iconName=\"seta-direita\" iconColor=\"white\"/>\n </a>\n </ng-template>\n </li>\n\n </ul>\n </div>\n\n <ng-template #isLoading>\n <li class=\"spinner-border spinner-border-sm mt-2\" role=\"status\" aria-hidden=\"true\"></li>\n </ng-template>\n <!-- #endregion MENU DIN\u00C2MICO -->\n\n </div>\n </div>\n </div>\n <!-- #endregion MENUS DE NAVEGA\u00C7\u00C3O -->\n\n <!-- #region FOOTER -->\n <div class=\"footer-menu\" (mouseenter)=\"showBalloon = true\" (mouseleave)=\"showBalloon = false\"\n [popover]=\"popoverContent\" placement=\"right bottom\" [outsideClick]=\"true\" containerClass=\"width: 200px\" >\n <div class=\"footer-components ps-1 pt-2\" [class.open]=\"showBalloon\">\n <button type=\"button\" class=\"btn btn-primary\">\n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile ms-1\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\">\n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n </ng-template>\n <span class=\"glb-text-width-120 w-auto fw-bold text-start text-truncate ms-1 me-1\">\n {{ footerUserName }}\n </span>\n </button>\n </div>\n </div>\n \n <ng-template #popoverContent>\n <div class=\"footer-menu\" style=\"width: 1000px;\">\n <div class=\"d-flex align-items-center\"> \n <img *ngIf=\"footerUserImgSrc; else noUserImg\" class=\"photo-profile\"\n [src]=\"['data:image/jpeg;base64,' + footerUserImgSrc]\" alt=\"foto-perfil\"> \n <ng-template #noUserImg>\n <lib-icon iconName=\"contraparte\" iconColor=\"white\"/>\n </ng-template>\n <div class=\"d-flex flex-column ms-1\"> \n <div [tooltip]=\"footerUserName\" class=\"dynamic-container\" style=\"white-space: nowrap; flex-grow: 1;max-width: 200px; font-size: 16px;\">{{footerUserName}}</div>\n <div [tooltip]=\"footerUserEmail\" class=\"dynamic-container\" style=\"white-space: nowrap; font-size: 12px; flex-grow: 1;max-width: 200px;\">{{footerUserEmail}}</div>\n </div>\n </div>\n </div>\n <hr class=\"mb-2 mt-2\">\n <div routerLink=\"meu-perfil\" style=\"cursor: pointer;\" (click)=\"togglePopover(); $event.stopPropagation()\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"contraparte\"/> Meu Perfil\n </div>\n <div class=\"mt-2\" (click)=\"logout()\" style=\"cursor: pointer;\">\n <lib-icon [iconSize]=\"'small'\" iconName=\"logout\"/> Sair\n </div>\n </ng-template>\n <!-- #endregion FOOTER -->\n\n </div>\n\n <div class=\"submenu\" #submenu_ref>\n <ng-template [ngIf]=\"desiredContent !== null\">\n <ng-content *ngTemplateOutlet=\"desiredContent!; context: {$implicit: submenuList}\"></ng-content>\n </ng-template>\n </div>\n </div>\n \n <div class=\"main-content col d-flex flex-column align-content-between\" id=\"body-content\">\n <div class=\"content\" style=\"position: relative;\">\n <router-outlet></router-outlet>\n </div>\n <div app-footer></div>\n </div>\n\n</div>\n<!-- #endregion MAIN CONTENT -->\n\n<!-- #region TEMPLATES -->\n<!-- tem que perguntar pro Erick -->\n<!-- [submenuRef]=\"submenu_ref\" -->\n<ng-template #dynamic_menu let-data>\n <app-dynamic-menu \n [submenuList]=\"data\"\n [titleSubmenu]=\"titleSubmenu\"\n [submenuRef]=\"submenu_ref\"\n [recebeParam]=\"onClickedOutside.bind(this)\">\n </app-dynamic-menu>\n</ng-template>\n\n<ng-template #notif_menu>\n <app-notif-submenu></app-notif-submenu>\n</ng-template>\n\n<!-- #region MODAL SELECAO ESTABELECIMENTO -->\n<ng-template #modalEstabelecimento>\n <selecao-estabelecimentos-modal (onClose)=\"closeModal(MODAL_ESTABELECIMENTO)\"\n (onSelected)=\"closeModal(MODAL_ESTABELECIMENTO); updateLastLogEstabelecimento($event);\"></selecao-estabelecimentos-modal>\n</ng-template>\n<!-- #endregion MODAL SELECAO ESTABELECIMENTO -->\n\n<!-- #endregion TEMPLATES -->\n", styles: [".main{display:flex;width:100%;height:100%;background:#eee}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-thumb{background:#bbb;border-radius:16px}.main-content{width:100%;z-index:0;overflow-y:auto;overflow:overlay;height:100vh}.main-content .content{padding:0 16px 16px;background-color:#eee!important}.disable-scroll{overflow-y:hidden}*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;font-size:14px}span{color:#fff}ul{list-style:none;padding-left:0;white-space:nowrap}.dropdown-button{padding:8px;border-radius:8px;background-color:#3265ee;border:none;font-size:14px;font-weight:700;width:100%;display:flex}.dropdown-button span{width:100%;display:flex;justify-content:space-between}.dropdown-menu{width:212px;border-radius:8px}.dropdown-menu li{margin:16px 8px}.dropdown-menu li a{font-size:14px}.dropdown-menu li a:hover{font-weight:700;background-color:transparent}.dropdown-menu .dropdown-divider{height:0}.link-portal{color:#213b70;text-decoration:underline;text-align:center;font-weight:700;font-size:14px}.container{display:flex;width:max-content}.sidebar{display:flex;flex-direction:column;height:100%;grid-template-rows:min-content;box-sizing:border-box;transition:width .5s;background-color:#213b70;max-width:inherit}.sidebar .footer-menu{justify-content:flex-end}.menu-header{display:flex;flex-direction:column;white-space:nowrap;padding:32px 0 0;background-color:#213b70}.menu-header ul li{margin-left:16px;margin-right:16px}.menu-header ul>li:last-child{border-bottom:1px solid #3265ee;padding-bottom:15px;height:auto}.dropdown{margin:0}.btn-group{width:100%}.sidebar.closed .menu-header ul li{margin-left:0;margin-right:0}.sidebar.closed .menu-header{display:flex;flex-direction:column;align-items:center}.icon-estabelecimento button{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:center}.icon-estabelecimento button span:hover{font-weight:700}.header-content{display:flex;flex-direction:column;justify-content:space-evenly;height:100%;margin:0 20px}.logo-hamburguer{display:flex;justify-content:space-between;margin-right:8px}.logo-hamburguer .button-hamburguer{border:none;background-color:transparent}.sidebar.closed .logo-hamburguer{justify-content:center;margin-right:0}.scroll{overflow-y:auto;overflow-x:hidden;min-height:20%;margin-right:2px}.list-menu{padding-left:16px;padding-right:8px;display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.list-menu .text-closed{padding-top:15px;display:none;color:#fff}.list-menu .text-opened{color:#fff;font-size:12px;padding-top:15px;visibility:visible;white-space:nowrap}.list-menu .li-main{padding:10px 7px;border-radius:8px}.list-menu .onSelect{background-color:#3265ee}.list-menu div.static-menu>ul>li:first-child{margin-top:16px}.list-menu .span-main{font-size:14px;margin-left:8px;opacity:1;pointer-events:auto;white-space:break-spaces}.list-menu .span-main:hover,.list-menu .list-options span:hover{font-weight:700}.list-menu p{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #3265ee;visibility:hidden}.selectedItem{background-color:#3265ee}.selectedItem span{font-weight:700;background-color:transparent}.notif{padding:2px 13px;margin-bottom:none;background-color:#000;border-radius:8px;font-weight:700}.sidebar.closed .chevron{display:none}.sidebar.closed .icon-estabelecimento{margin:0}.sidebar.closed .icon-estabelecimento button{justify-content:center}.sidebar.closed .icon-estabelecimento button img{margin:0}.align-chevron{width:100%;text-align:justify;align-items:center;display:flex;justify-content:space-between}.selected-color{background-color:#3265ee}.main-menu{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:20%}.button-icons{border:none;background-color:transparent}.footer-menu{display:flex;flex-direction:column;padding-bottom:8px}.footer-menu .footer-components{display:flex;justify-content:space-between;border-top:1px solid #3265ee;white-space:nowrap;align-items:center}.footer-menu .footer-components .button-closed{display:none}.footer-menu button{border:none;background-color:transparent;border-radius:8px}.footer-menu .points{padding:4px 0;margin:4px 0;border-radius:8px}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.footer-menu .open-user{background-color:#3265ee}.submenu{width:341px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden;box-shadow:0 4px 8px #0000004d}.submenu ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}.submenu ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}.submenu .itens-list{display:flex;justify-content:space-between;align-items:center}.submenu .itens-list .favoritos,.submenu .itens-list span{cursor:pointer}.submenu .footer-menu{display:flex;flex-direction:row;justify-content:center;padding-bottom:16px;overflow:hidden}.submenu .footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.submenu .footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.submenu .footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu .footer-components{display:flex;justify-content:center;align-items:center}.submenu button{position:relative;left:10%;border:none;background-color:transparent}.submenu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0;box-shadow:0 4px 8px #0000004d}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.search-bar{max-width:368px;height:38px;margin-top:24px;border:1px solid #ced4da;box-sizing:border-box;border-radius:8px}.opened-notif-sub{min-width:452px;display:none;background-color:#3265ee;box-sizing:border-box;flex-direction:column;overflow:hidden}.sidebar.closed{max-width:73px}.sidebar.closed span{display:none}.sidebar.closed span{white-space:nowrap;overflow:hidden}.sidebar.closed .logo-sispro{display:none}.sidebar.closed .list-menu{padding:0;margin-left:0;margin-right:0;display:flex;flex-direction:column;align-items:center}.sidebar.closed .list-menu span{opacity:0;pointer-events:none}.sidebar.closed .list-menu .text-closed{padding-bottom:11px;visibility:visible;display:block}.sidebar.closed .list-menu .text-opened{display:none;font-size:8px}.sidebar.closed .list-menu .chevron,.sidebar.closed .favoritos,.sidebar.closed .footer-components .button-opened{display:none}.sidebar.closed .footer-components .button-closed{display:block}.sidebar.closed .button-icons{border:none;background-color:transparent}.sidebar.closed .footer-components{display:flex;align-items:center}.sidebar.closed button{border:none;background-color:transparent;display:block}.sidebar.closed .photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.sidebar-control{height:100vh;max-width:227.667px}.sidebar-control .main-content.closed{margin-left:0}.glb-text-width-120{max-width:120px}.profile-picture{display:inline-block;position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden}.profile-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%)}.image-div{width:50px;min-width:50px;height:50px;border-radius:100%;position:relative;overflow:hidden;z-index:1}.image-div #photoUser{width:146px;height:146px;top:-1px;left:-1px;object-fit:cover;position:relative;z-index:1;border:none;border-color:transparent}.dynamic-container{display:inline-block;white-space:nowrap;overflow:hidden}.custom-popover{width:1000px}\n"] }]
2086
2086
  }], ctorParameters: () => [{ type: LibCustomMenuService }, { type: AuthStorageService }, { type: i1$2.BsModalService }, { type: MenuServicesService }, { type: i5.MessageService }, { type: i1$1.Router }, { type: AuthService }], propDecorators: { notif_template: [{
2087
2087
  type: ViewChild,
2088
2088
  args: ["notif_menu"]
@@ -2267,11 +2267,11 @@ class NovaSenhaComponent {
2267
2267
  this._router.navigate(["/auth/login"]);
2268
2268
  }
2269
2269
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NovaSenhaComponent, deps: [{ token: i3.FormBuilder }, { token: i5.MessageService }, { token: ServerService }, { token: AuthService }, { token: AuthStorageService }, { token: i9.Title }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: NovaSenhaComponent, isStandalone: true, selector: "app-nova-senha", ngImport: i0, template: "<body>\r\n\t<div id=\"main-container\">\r\n\t\t<!-- #region MAIN CONTENT -->\r\n\t\t<div class=\"glb-main-container password-container\">\r\n\t\t\t<div class=\"password-info-container\">\r\n\t\t\t\t<div class=\"img mb-3\">\r\n\t\t\t\t\t<img [src]=\"statusSenha == 2 ? calendarioImg : statusSenha == 1 ? maoImg : statusSenha == 3 ? cadeadoImg : '' \" width=\"125.69\" height=\"122\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"text\">\r\n\t\t\t\t\t<h4>{{statusSenha == 2 ? 'Senha expirada' : statusSenha == 1 ? 'Primeiro acesso' : statusSenha == 3 ? 'Esqueceu sua senha?' : ''}}</h4>\r\n\t\t\t\t\t<p [innerHTML]=\"statusSenha == 2 ? senhaExpiradaText : statusSenha == 1 ? primeiroAcessoText : statusSenha == 3 ? esqueceuSenhaText : '' \"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<form [formGroup]=\"form\">\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputCode\" class=\"form-label\"> C\u00F3digo de valida\u00E7\u00E3o <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"Insira seu c\u00F3digo aqui...\" id=\"inputCode\" class=\"form-control\" formControlName=\"code\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('code'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('code')\" label=\"C\u00F3digo de valida\u00E7\u00E3o\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputPassword\" class=\"form-label\"> Digite uma nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite sua nova senha...\" id=\"inputPassword\" class=\"form-control\" formControlName=\"password\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('password'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('password')\" label=\"{{ passwordLabel }}\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputConfirmPassword\" class=\"form-label\"> Confirme sua nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite a senha novamente...\" id=\"inputConfirmPassword\" class=\"form-control\" formControlName=\"confirmPassword\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('confirmPassword'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('confirmPassword')\" label=\"Confirme sua Senha\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendPassword()\">\r\n\t\t\t\t\t\t\t<span> Redefinir senha </span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn modal-button cancelar-btn\" (click)=\"cancelar()\">\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<span><span class=\"icon\"><lib-icon iconName=\"p-seta-esquerda\" [iconSize]=\"20\"/></span>Voltar para a tela de login</span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</div>\r\n\t\t<!-- #endregion MAIN CONTENT -->\r\n\t</div>\r\n\t</body>\r\n\t", styles: ["body{background-color:#f5f5f5;height:100%!important;margin:0!important;padding:0!important}#main-container{display:flex;align-items:center;justify-content:center;height:100%}.password-container{padding:30px;width:37%;border:none;box-shadow:0 2px -1px #0000001a}.img{width:26%}.text{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto}.text h4{font-weight:700}.text p{text-align:start}.password-info-container{display:flex;gap:15px}.btns{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}button{width:100%;padding:10px;border:none}button .cancelar-btn{background-color:none}.cancelar-btn span{color:#6c757d;font-weight:700}input{padding:10px}input::placeholder{color:#8d8d8d;font-size:15px}.icon{margin-right:5px;font-weight:700}\n"], dependencies: [{ kind: "component", type: FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], preserveWhitespaces: true }); }
2270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: NovaSenhaComponent, isStandalone: true, selector: "app-nova-senha", ngImport: i0, template: "<body>\n\t<div id=\"main-container\">\n\t\t<!-- #region MAIN CONTENT -->\n\t\t<div class=\"glb-main-container password-container\">\n\t\t\t<div class=\"password-info-container\">\n\t\t\t\t<div class=\"img mb-3\">\n\t\t\t\t\t<img [src]=\"statusSenha == 2 ? calendarioImg : statusSenha == 1 ? maoImg : statusSenha == 3 ? cadeadoImg : '' \" width=\"125.69\" height=\"122\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text\">\n\t\t\t\t\t<h4>{{statusSenha == 2 ? 'Senha expirada' : statusSenha == 1 ? 'Primeiro acesso' : statusSenha == 3 ? 'Esqueceu sua senha?' : ''}}</h4>\n\t\t\t\t\t<p [innerHTML]=\"statusSenha == 2 ? senhaExpiradaText : statusSenha == 1 ? primeiroAcessoText : statusSenha == 3 ? esqueceuSenhaText : '' \"></p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<form [formGroup]=\"form\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-12 mb-3\">\n\t\t\t\t\t\t<label for=\"inputCode\" class=\"form-label\"> C\u00F3digo de valida\u00E7\u00E3o <span class=\"text-danger\">*</span></label>\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"Insira seu c\u00F3digo aqui...\" id=\"inputCode\" class=\"form-control\" formControlName=\"code\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('code'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('code')\" label=\"C\u00F3digo de valida\u00E7\u00E3o\"></app-field-error-message>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-12 mb-3\">\n\t\t\t\t\t\t<label for=\"inputPassword\" class=\"form-label\"> Digite uma nova Senha <span class=\"text-danger\">*</span></label>\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite sua nova senha...\" id=\"inputPassword\" class=\"form-control\" formControlName=\"password\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('password'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('password')\" label=\"{{ passwordLabel }}\"></app-field-error-message>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-12 mb-3\">\n\t\t\t\t\t\t<label for=\"inputConfirmPassword\" class=\"form-label\"> Confirme sua nova Senha <span class=\"text-danger\">*</span></label>\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite a senha novamente...\" id=\"inputConfirmPassword\" class=\"form-control\" formControlName=\"confirmPassword\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('confirmPassword'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('confirmPassword')\" label=\"Confirme sua Senha\"></app-field-error-message>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\n\t\t\t\t\t<div class=\"btns\">\n\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendPassword()\">\n\t\t\t\t\t\t\t<span> Redefinir senha </span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button type=\"button\" class=\"btn modal-button cancelar-btn\" (click)=\"cancelar()\">\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<span><span class=\"icon\"><lib-icon iconName=\"p-seta-esquerda\" [iconSize]=\"20\"/></span>Voltar para a tela de login</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t</form>\n\t\t</div>\n\t\t<!-- #endregion MAIN CONTENT -->\n\t</div>\n\t</body>\n\t", styles: ["body{background-color:#f5f5f5;height:100%!important;margin:0!important;padding:0!important}#main-container{display:flex;align-items:center;justify-content:center;height:100%}.password-container{padding:30px;width:37%;border:none;box-shadow:0 2px -1px #0000001a}.img{width:26%}.text{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto}.text h4{font-weight:700}.text p{text-align:start}.password-info-container{display:flex;gap:15px}.btns{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}button{width:100%;padding:10px;border:none}button .cancelar-btn{background-color:none}.cancelar-btn span{color:#6c757d;font-weight:700}input{padding:10px}input::placeholder{color:#8d8d8d;font-size:15px}.icon{margin-right:5px;font-weight:700}\n"], dependencies: [{ kind: "component", type: FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], preserveWhitespaces: true }); }
2271
2271
  }
2272
2272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NovaSenhaComponent, decorators: [{
2273
2273
  type: Component,
2274
- args: [{ selector: 'app-nova-senha', preserveWhitespaces: true, imports: [FieldErrorMessageComponent, LibIconsComponent, ReactiveFormsModule], template: "<body>\r\n\t<div id=\"main-container\">\r\n\t\t<!-- #region MAIN CONTENT -->\r\n\t\t<div class=\"glb-main-container password-container\">\r\n\t\t\t<div class=\"password-info-container\">\r\n\t\t\t\t<div class=\"img mb-3\">\r\n\t\t\t\t\t<img [src]=\"statusSenha == 2 ? calendarioImg : statusSenha == 1 ? maoImg : statusSenha == 3 ? cadeadoImg : '' \" width=\"125.69\" height=\"122\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"text\">\r\n\t\t\t\t\t<h4>{{statusSenha == 2 ? 'Senha expirada' : statusSenha == 1 ? 'Primeiro acesso' : statusSenha == 3 ? 'Esqueceu sua senha?' : ''}}</h4>\r\n\t\t\t\t\t<p [innerHTML]=\"statusSenha == 2 ? senhaExpiradaText : statusSenha == 1 ? primeiroAcessoText : statusSenha == 3 ? esqueceuSenhaText : '' \"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<form [formGroup]=\"form\">\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputCode\" class=\"form-label\"> C\u00F3digo de valida\u00E7\u00E3o <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"Insira seu c\u00F3digo aqui...\" id=\"inputCode\" class=\"form-control\" formControlName=\"code\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('code'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('code')\" label=\"C\u00F3digo de valida\u00E7\u00E3o\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputPassword\" class=\"form-label\"> Digite uma nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite sua nova senha...\" id=\"inputPassword\" class=\"form-control\" formControlName=\"password\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('password'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('password')\" label=\"{{ passwordLabel }}\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputConfirmPassword\" class=\"form-label\"> Confirme sua nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite a senha novamente...\" id=\"inputConfirmPassword\" class=\"form-control\" formControlName=\"confirmPassword\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('confirmPassword'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('confirmPassword')\" label=\"Confirme sua Senha\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendPassword()\">\r\n\t\t\t\t\t\t\t<span> Redefinir senha </span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn modal-button cancelar-btn\" (click)=\"cancelar()\">\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<span><span class=\"icon\"><lib-icon iconName=\"p-seta-esquerda\" [iconSize]=\"20\"/></span>Voltar para a tela de login</span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</div>\r\n\t\t<!-- #endregion MAIN CONTENT -->\r\n\t</div>\r\n\t</body>\r\n\t", styles: ["body{background-color:#f5f5f5;height:100%!important;margin:0!important;padding:0!important}#main-container{display:flex;align-items:center;justify-content:center;height:100%}.password-container{padding:30px;width:37%;border:none;box-shadow:0 2px -1px #0000001a}.img{width:26%}.text{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto}.text h4{font-weight:700}.text p{text-align:start}.password-info-container{display:flex;gap:15px}.btns{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}button{width:100%;padding:10px;border:none}button .cancelar-btn{background-color:none}.cancelar-btn span{color:#6c757d;font-weight:700}input{padding:10px}input::placeholder{color:#8d8d8d;font-size:15px}.icon{margin-right:5px;font-weight:700}\n"] }]
2274
+ args: [{ selector: 'app-nova-senha', preserveWhitespaces: true, imports: [FieldErrorMessageComponent, LibIconsComponent, ReactiveFormsModule], template: "<body>\n\t<div id=\"main-container\">\n\t\t<!-- #region MAIN CONTENT -->\n\t\t<div class=\"glb-main-container password-container\">\n\t\t\t<div class=\"password-info-container\">\n\t\t\t\t<div class=\"img mb-3\">\n\t\t\t\t\t<img [src]=\"statusSenha == 2 ? calendarioImg : statusSenha == 1 ? maoImg : statusSenha == 3 ? cadeadoImg : '' \" width=\"125.69\" height=\"122\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"text\">\n\t\t\t\t\t<h4>{{statusSenha == 2 ? 'Senha expirada' : statusSenha == 1 ? 'Primeiro acesso' : statusSenha == 3 ? 'Esqueceu sua senha?' : ''}}</h4>\n\t\t\t\t\t<p [innerHTML]=\"statusSenha == 2 ? senhaExpiradaText : statusSenha == 1 ? primeiroAcessoText : statusSenha == 3 ? esqueceuSenhaText : '' \"></p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<form [formGroup]=\"form\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-12 mb-3\">\n\t\t\t\t\t\t<label for=\"inputCode\" class=\"form-label\"> C\u00F3digo de valida\u00E7\u00E3o <span class=\"text-danger\">*</span></label>\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"Insira seu c\u00F3digo aqui...\" id=\"inputCode\" class=\"form-control\" formControlName=\"code\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('code'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('code')\" label=\"C\u00F3digo de valida\u00E7\u00E3o\"></app-field-error-message>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-12 mb-3\">\n\t\t\t\t\t\t<label for=\"inputPassword\" class=\"form-label\"> Digite uma nova Senha <span class=\"text-danger\">*</span></label>\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite sua nova senha...\" id=\"inputPassword\" class=\"form-control\" formControlName=\"password\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('password'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('password')\" label=\"{{ passwordLabel }}\"></app-field-error-message>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-12 mb-3\">\n\t\t\t\t\t\t<label for=\"inputConfirmPassword\" class=\"form-label\"> Confirme sua nova Senha <span class=\"text-danger\">*</span></label>\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite a senha novamente...\" id=\"inputConfirmPassword\" class=\"form-control\" formControlName=\"confirmPassword\"\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('confirmPassword'))\">\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('confirmPassword')\" label=\"Confirme sua Senha\"></app-field-error-message>\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\n\t\t\t\t\t<div class=\"btns\">\n\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendPassword()\">\n\t\t\t\t\t\t\t<span> Redefinir senha </span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button type=\"button\" class=\"btn modal-button cancelar-btn\" (click)=\"cancelar()\">\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<span><span class=\"icon\"><lib-icon iconName=\"p-seta-esquerda\" [iconSize]=\"20\"/></span>Voltar para a tela de login</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t</form>\n\t\t</div>\n\t\t<!-- #endregion MAIN CONTENT -->\n\t</div>\n\t</body>\n\t", styles: ["body{background-color:#f5f5f5;height:100%!important;margin:0!important;padding:0!important}#main-container{display:flex;align-items:center;justify-content:center;height:100%}.password-container{padding:30px;width:37%;border:none;box-shadow:0 2px -1px #0000001a}.img{width:26%}.text{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto}.text h4{font-weight:700}.text p{text-align:start}.password-info-container{display:flex;gap:15px}.btns{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}button{width:100%;padding:10px;border:none}button .cancelar-btn{background-color:none}.cancelar-btn span{color:#6c757d;font-weight:700}input{padding:10px}input::placeholder{color:#8d8d8d;font-size:15px}.icon{margin-right:5px;font-weight:700}\n"] }]
2275
2275
  }], ctorParameters: () => [{ type: i3.FormBuilder }, { type: i5.MessageService }, { type: ServerService }, { type: AuthService }, { type: AuthStorageService }, { type: i9.Title }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }] });
2276
2276
 
2277
2277
  class IMenu {
@@ -2488,7 +2488,7 @@ class AuthInfraInterceptor {
2488
2488
  let changedReq = req;
2489
2489
  if (this.authCheckService.needsAuthRequest(req.url, req.method, this._environmentService.needsAuthInfra)) {
2490
2490
  // Adiciona as autenticações necessárias ao servidor. Autenticação básica.
2491
- let headers = req.headers.set("Authorization", `Basic ${btoa(`${localStorage.getItem('configServerUser')}:${localStorage.getItem('configServerPassword')}`)}
2491
+ let headers = req.headers.set("Authorization", `Basic ${btoa(`${localStorage.getItem('configServerUser')}:${localStorage.getItem('configServerPassword')}`)}
2492
2492
  `);
2493
2493
  changedReq = req.clone({ headers: headers });
2494
2494
  }