wm-menu 1.4.0 → 1.6.0

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.
@@ -1,4 +1,4 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("rxjs"),require("@angular/platform-browser"),require("@angular/material/icon"),require("@auth0/angular-jwt"),require("@angular/material/toolbar"),require("@angular/material/sidenav"),require("@angular/material/list"),require("@angular/material/button"),require("@angular/material/menu"),require("@angular/material/table"),require("@angular/material/tooltip"),require("@angular/material/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("wm-menu",["exports","@angular/core","@angular/common/http","rxjs/operators","rxjs","@angular/platform-browser","@angular/material/icon","@auth0/angular-jwt","@angular/material/toolbar","@angular/material/sidenav","@angular/material/list","@angular/material/button","@angular/material/menu","@angular/material/table","@angular/material/tooltip","@angular/material/core","@angular/forms"],n):n((e=e||self)["wm-menu"]={},e.ng.core,e.ng.common.http,e.rxjs.operators,e.rxjs,e.ng.platformBrowser,e.ng.material.icon,e.angularJwt,e.ng.material.toolbar,e.ng.material.sidenav,e.ng.material.list,e.ng.material.button,e.ng.material.menu,e.ng.material.table,e.ng.material.tooltip,e.ng.material.core,e.ng.forms)}(this,(function(e,n,t,i,o,a,r,s,c,l,u,d,p,m,h,f,g){"use strict";
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("rxjs"),require("@angular/platform-browser"),require("@angular/material/icon"),require("@auth0/angular-jwt"),require("@angular/material/toolbar"),require("@angular/material/sidenav"),require("@angular/material/list"),require("@angular/material/button"),require("@angular/material/menu"),require("@angular/material/table"),require("@angular/material/tooltip"),require("@angular/material/core"),require("@angular/forms"),require("xlsx")):"function"==typeof define&&define.amd?define("wm-menu",["exports","@angular/core","@angular/common/http","rxjs/operators","rxjs","@angular/platform-browser","@angular/material/icon","@auth0/angular-jwt","@angular/material/toolbar","@angular/material/sidenav","@angular/material/list","@angular/material/button","@angular/material/menu","@angular/material/table","@angular/material/tooltip","@angular/material/core","@angular/forms","xlsx"],t):t((e=e||self)["wm-menu"]={},e.ng.core,e.ng.common.http,e.rxjs.operators,e.rxjs,e.ng.platformBrowser,e.ng.material.icon,e.angularJwt,e.ng.material.toolbar,e.ng.material.sidenav,e.ng.material.list,e.ng.material.button,e.ng.material.menu,e.ng.material.table,e.ng.material.tooltip,e.ng.material.core,e.ng.forms,e.xlsx)}(this,(function(e,t,n,i,a,o,r,c,l,s,u,d,p,m,h,f,b,g){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function b(e,n,t,i){var o,a=arguments.length,r=a<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,n,t,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(r=(a<3?o(r):a>3?o(n,t,r):o(n,t))||r);return a>3&&r&&Object.defineProperty(n,t,r),r}var v=function(){this.hijos=[]},x=function(){function e(e,n,t){this.http=e,this.iconRegistry=n,this.sanitizer=t}return e.prototype.menuApiObtener=function(e,n,a,r){void 0===r&&(r="");var s=new t.HttpHeaders({Authorization:"Bearer "+a}),c=new t.HttpParams;return r.length>0&&(c=c.append("codLogica",r)),c=(c=c.append("ctrlActivo","true")).append("conPadres","true"),null!=n&&(c=c.append("idUsuario",n.toString())),this.http.get(e,{headers:s,params:c}).pipe(i.map((function(e){return e})),i.catchError((function(e){return o.throwError(e.error)})))},e.prototype.mapearMenu=function(e){for(var n in e=e.sort((function(e,n){return e.Posicion>n.Posicion?"1":"-1"}))){var t=e[n];if(t.Icono.startsWith("http")){var i="wm-icon-menu-"+n;this.iconRegistry.addSvgIcon(i,this.sanitizer.bypassSecurityTrustResourceUrl(t.Icono)),e[n].Icono=i}}return this.obtenerMenu(e)},e.prototype.obtenerMenu=function(e,n){var t=[];for(var i in e)(e[i].IdMenuPadre==n||!n&&null==e[i].IdMenuPadre)&&t.push({titulo:e[i].IdiomaRecurso,url:e[i].Url,icono:e[i].Icono,descripcion:e[i].Descripcion,hijos:this.obtenerMenu(e,e[i].IdMenu)});return t},e.prototype.menuIdiomasObtener=function(e,n,a){new t.HttpHeaders({Authorization:"Bearer "+a});return this.http.get(e).pipe(i.map((function(e){return e})),i.catchError((function(e){return o.throwError(e.error)})))},e.prototype.almacenamientoApiObtener=function(e,n,a){var r=new t.HttpHeaders({Authorization:"Bearer "+a}),s=new t.HttpParams;return null!=n&&(s=s.append("idUsuario",n.toString())),this.http.get(e,{headers:r,params:s}).pipe(i.map((function(e){return e})),i.catchError((function(e){return o.throwError(e.error)})))},e.prototype.funcionesObtener=function(e,n){var a=new t.HttpHeaders({Authorization:"Bearer "+n});return this.http.get(e,{headers:a}).pipe(i.map((function(e){return e})),i.catchError((function(e){return o.throwError(e.error)})))},e.ctorParameters=function(){return[{type:t.HttpClient},{type:r.MatIconRegistry},{type:a.DomSanitizer}]},e.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.HttpClient),n.ɵɵinject(r.MatIconRegistry),n.ɵɵinject(a.DomSanitizer))},token:e,providedIn:"root"}),e=b([n.Injectable({providedIn:"root"})],e)}(),I=function(){function e(e){this.wmMenuServicioService=e,this.alternateTitle="Alerta de Pánico Recibida",this.audio=null,this.isPlaying=!1,this.IdsAlertasPanicoActivas=new Set,this.soundTimeout=null,this.isRunning=!1}return e.prototype.iniciarProceso=function(e,n,t,i,o){var a=this;this.rutaAudio=o;["drag","click"].forEach((function(o){document.addEventListener(o,(function(){a.wmMenuServicioService.menuApiObtener(t,null,i,"ReporteAlertasPanico").subscribe((function(t){if(t&&t.length>0&&1==t[0].Valor){if(a.isRunning)return;var i=localStorage.getItem("ALERTAS_PANICO_ACTIVAS_WM");a.IdsAlertasPanicoActivas=i?new Set(JSON.parse(i)):new Set;var o=function(){a.isRunning=!0,n(),setTimeout((function(){a.isRunning=!1,o()}),e)};o()}}))}),{once:!0})}))},e.prototype.stopProcess=function(){this.isRunning=!1,this.subscription&&this.subscription.unsubscribe()},e.prototype.ngOnDestroy=function(){this.stopSound(),this.stopFlashingTitle()},e.prototype.playSound=function(){var e=this;this.isPlaying||(this.isPlaying=!0,this.audio||(this.audio=new Audio(this.rutaAudio)),this.audio.loop=!0,this.audio.play().then((function(){e.soundTimeout=setTimeout((function(){e.stopSound()}),1e4)})).catch((function(e){console.log("Error al reproducir el sonido:",e)})))},e.prototype.stopSound=function(){this.audio&&(this.audio.pause(),this.audio.currentTime=0),this.isPlaying=!1,this.soundTimeout&&(clearTimeout(this.soundTimeout),this.soundTimeout=null)},e.prototype.startFlashingTitle=function(){var e=this,n=!1;this.originalTitle||(this.originalTitle=document.title),this.intervalId||(this.intervalId=setInterval((function(){document.title=n?e.alternateTitle:e.originalTitle,n=!n}),1e3))},e.prototype.stopFlashingTitle=function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,document.title=this.originalTitle)},e.prototype.revisarAlertasPendientes=function(e,n){var t=this,i=(new s.JwtHelperService).decodeToken(n);this.wmMenuServicioService.menuApiObtener(e,i.id_usuario,n).subscribe((function(e){if(e&&e.length>0){var n=e.map((function(e){return e.IdAlertaPanico}));t.IdsAlertasPanicoActivas.forEach((function(e){n.includes(e)||t.IdsAlertasPanicoActivas.delete(e)}));var i=e.filter((function(e){return!t.IdsAlertasPanicoActivas.has(e.IdAlertaPanico)}));i.forEach((function(e){return t.IdsAlertasPanicoActivas.add(e.IdAlertaPanico)})),t.IdsAlertasPanicoActivas.size>0&&t.startFlashingTitle(),i.length>0&&t.playSound()}else t.IdsAlertasPanicoActivas.clear(),t.stopFlashingTitle();localStorage.setItem("ALERTAS_PANICO_ACTIVAS_WM",JSON.stringify(Array.from(t.IdsAlertasPanicoActivas)))}))},e.ctorParameters=function(){return[{type:x}]},e.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(x))},token:e,providedIn:"root"}),e=b([n.Injectable({providedIn:"root"})],e)}(),y=function(){function e(e,n){this.wmMenuServicioService=e,this.alertaPanicoService=n,this.mostrarAsistente=!1,this.idiomaAsistente="es-CO",this.asistenteAbierto=!1,this.funcionesUsuario=[],this.menuSecundarioSel=new v,this.menuLateralAbierto=!1,this.menuIdioma=[],this.intervaloPeticionesMs=6e4}return Object.defineProperty(e.prototype,"puedeAsistente",{get:function(){var e=!0===this.mostrarAsistente||"true"===this.mostrarAsistente||"1"===this.mostrarAsistente,n=this.funcionesUsuario.some((function(e){return"WebChatConsultaIA"===e.CodigoLogica}));return e||n},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;if(this.cargarMenuCuenta(),this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs,(function(){return e.alertaPanicoService.revisarAlertasPendientes(e.urlObtenerAlertasPanico,e.token)}),this.urlObtenerParametro,this.token,this.rutaAudio),this.urlObtenerFunciones&&this.token&&this.wmMenuServicioService.funcionesObtener(this.urlObtenerFunciones,this.token).subscribe((function(n){e.funcionesUsuario=null!=n?n:[]}),(function(){e.funcionesUsuario=[]})),this.urlMenu&&this.token){var n=(new s.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuApiObtener(this.urlMenu,n.id_usuario,this.token).subscribe((function(n){e.menuPrincipal=e.wmMenuServicioService.mapearMenu(n)}))}if(this.urlIdiomas&&this.token){n=(new s.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuIdiomasObtener(this.urlIdiomas,n.id_usuario,this.token).subscribe((function(n){e.menuIdioma=n,e.cargarMenuCuenta()}))}if(this.urlBaseAlmacenamiento&&this.token){n=(new s.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.almacenamientoApiObtener(this.urlBaseAlmacenamiento,n.id_usuario,this.token).subscribe((function(n){var t=n[0]&&n[0].Utilizado?n[0].Utilizado:0,i=n[0]&&n[0].Total?n[0].Total:0;e.porcentajeUtilizado=Math.round(t/i*100)}))}},e.prototype.clickMenuPrincipal=function(e){this.menuPrincipal[e].hijos&&this.menuPrincipal[e].hijos.length&&(this.menuPrincipalSel==this.menuPrincipal[e]?this.menuPrincipalSel=null:this.menuPrincipalSel=this.menuPrincipal[e])},e.prototype.clickMenuSecundario=function(e){this.menuSecundarioSel=this.menuSecundario[e],this.menuPrincipalSel=null},e.prototype.cargarMenuCuenta=function(){var e;if(this.urlCuentaSeguridad&&this.token){var n=(new s.JwtHelperService).decodeToken(this.token);this.menuSecundario=[{titulo:n.unique_name,icono:"account_circle",hijos:[{titulo:n.unique_name,url:"",icono:"person"},{titulo:this.menuIdioma&&this.menuIdioma.CambiarContrasenna?this.menuIdioma.CambiarContrasenna:"Cambiar contraseña",url:this.urlCuentaSeguridad+"CambioContrasena",icono:"vpn_key"},"1"==this.activar2fa?{titulo:this.menuIdioma&&this.menuIdioma.Configurar2fa?this.menuIdioma.Configurar2fa:"Configurar 2FA",url:this.urlCuentaSeguridad+"Habilitacion2FA",icono:"verified_user"}:null,null!=this.urlguiasOnline&&""!==this.urlguiasOnline&&0!=(null===(e=this.urlguiasOnline)||void 0===e?void 0:e.length)?{titulo:this.menuIdioma&&this.menuIdioma.guiasOnline?this.menuIdioma.guiasOnline:"Guias Online",url:this.urlguiasOnline,icono:"menu_book"}:null,{titulo:this.menuIdioma&&this.menuIdioma.CerrarSesion?this.menuIdioma.CerrarSesion:"Cerrar sesión",url:this.urlCuentaSeguridad+"CerrarSesion",icono:"exit_to_app"}].filter((function(e){return null!=e}))}]}},e.ctorParameters=function(){return[{type:x},{type:I}]},b([n.Input()],e.prototype,"logo",void 0),b([n.Input()],e.prototype,"colorFondo",void 0),b([n.Input()],e.prototype,"colorTexto",void 0),b([n.Input()],e.prototype,"menuPrincipal",void 0),b([n.Input()],e.prototype,"menuSecundario",void 0),b([n.Input()],e.prototype,"urlMenu",void 0),b([n.Input()],e.prototype,"token",void 0),b([n.Input()],e.prototype,"urlCuentaSeguridad",void 0),b([n.Input()],e.prototype,"activar2fa",void 0),b([n.Input()],e.prototype,"urlguiasOnline",void 0),b([n.Input()],e.prototype,"urlObtenerAlertasPanico",void 0),b([n.Input()],e.prototype,"urlObtenerParametro",void 0),b([n.Input()],e.prototype,"rutaAudio",void 0),b([n.Input()],e.prototype,"nombreCliente",void 0),b([n.Input()],e.prototype,"nombreUsuario",void 0),b([n.Input()],e.prototype,"versionWeb",void 0),b([n.Input()],e.prototype,"urlBaseAlmacenamiento",void 0),b([n.Input()],e.prototype,"urlIdiomas",void 0),b([n.Input()],e.prototype,"urlObtenerFunciones",void 0),b([n.Input()],e.prototype,"mostrarAsistente",void 0),b([n.Input()],e.prototype,"urlAsistenteConsultar",void 0),b([n.Input()],e.prototype,"idiomaAsistente",void 0),e=b([n.Component({selector:"wm-menu",template:'<div class="menu" [ngStyle]="{\'background-color\': colorFondo, \'color\': colorTexto}">\r\n <div class="d-lg-none">\r\n <button mat-icon-button (click)="menuLateralAbierto=!menuLateralAbierto; menuPrincipalSel = null">\r\n <mat-icon *ngIf="!menuLateralAbierto" class="animate__animated animate__fadeInRight animate__faster">menu\r\n </mat-icon>\r\n <mat-icon *ngIf="menuLateralAbierto" class="animate__animated animate__fadeInLeft animate__faster">close\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div class="d-lg-none logo-menu-principal">\r\n <img class="logo" src="{{logo}}">\r\n </div>\r\n <div class="d-none d-lg-block">\r\n <img class="logo" src="{{logo}}">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="d-inline-block">\r\n\r\n <a *ngIf="menuItem.url" mat-button [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </a>\r\n <button *ngIf="!menuItem.url" mat-button (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class="info-adicional">\r\n <div class="datos border-r mt-1 boton-asistente-datos" *ngIf="puedeAsistente" matTooltip="Pregúntale a tus datos" (click)="asistenteAbierto = !asistenteAbierto">\r\n <span class="icono-asistente-fab"></span>\r\n </div>\r\n <div class="datos border-r mt-1" *ngIf="nombreCliente">{{nombreCliente}}<mat-icon>people</mat-icon></div>\r\n <div class="datos border-r mt-1" *ngIf="nombreUsuario">{{nombreUsuario}}<mat-icon>person_outline</mat-icon></div>\r\n <div class="version" *ngIf="versionWeb">{{versionWeb}}</div>\r\n <div class="content-idioma" *ngIf="urlIdiomas">\r\n <mat-menu #menuIdiomas="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuIdioma.Culturas" href="{{urlCuentaSeguridad}}CambiarIdioma?culture={{menuItem.Name}}&ReturnUrl=/">\r\n {{menuItem.NativeName}}\r\n </a>\r\n </mat-menu>\r\n <button mat-button [matMenuTriggerFor]="menuIdiomas"><label class="mt-1">{{menuIdioma.Lenguaje}}</label><mat-icon class="icon-idioma">language</mat-icon></button>\r\n </div>\r\n\r\n </div>\r\n <div>\r\n <mat-menu #submenu="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuSecundarioSel.hijos" href="{{menuItem.url}}"\r\n [disabled]="!menuItem.url">\r\n <mat-icon *ngIf="menuItem.icono">{{menuItem.icono}}</mat-icon>\r\n {{menuItem.titulo}}\r\n </a>\r\n </mat-menu>\r\n <button *ngFor="let menuItem of menuSecundario; let i = index" mat-icon-button [matMenuTriggerFor]="submenu"\r\n (click)="clickMenuSecundario(i)">\r\n <mat-icon>{{menuItem.icono}}</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class="menu-lateral d-lg-none animate__animated animate__fadeInRight animate__faster" *ngIf="menuLateralAbierto">\r\n <div class="row">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="col-sm-6 col-md-4">\r\n <a *ngIf="menuItem.url" [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </a>\r\n <span *ngIf="!menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class="sub-menu-fondo animate__animated animate__fadeIn animate__faster" (click)="menuPrincipalSel=null"\r\n *ngIf="menuPrincipalSel"></div>\r\n\r\n<div class="sub-menu animate__animated animate__fadeIn animate__faster" *ngIf="menuPrincipalSel">\r\n <div class="container-fluid">\r\n <div class="row">\r\n <div class="col-12 col-lg-5">\r\n <div class="px-3 px-sm-5 pt-5 pb-lg-5 text-center descripcion-menu">\r\n <mat-icon [ngStyle]="{\'color\': colorFondo}" svgIcon="{{menuPrincipalSel.icono}}">\r\n {{menuPrincipalSel.icono}}</mat-icon>\r\n <p>{{menuPrincipalSel.titulo}}</p>\r\n <p class="text-secondary">{{menuPrincipalSel.descripcion}}</p>\r\n </div>\r\n </div>\r\n <div class="col-12 col-lg-7 my-4">\r\n <div class="px-3 px-md-4 py-2 py-md-2">\r\n <ul class="list-unstyled">\r\n\r\n <li class="mb-3 d-flex" *ngFor="let menuItem of menuPrincipalSel.hijos">\r\n <mat-icon>{{menuItem.icono}}</mat-icon>\r\n <div class="ml-2 flex-fill">\r\n <a href="{{menuItem.url}}" *ngIf="menuItem.url">\r\n <div class="lead mb-2">{{menuItem.titulo}}</div>\r\n </a>\r\n <div class="lead mb-2" *ngIf="!menuItem.url">{{menuItem.titulo}}</div>\r\n\r\n <a href="{{menuSubItem.url}}" class="pl-2 my-2" *ngFor="let menuSubItem of menuItem.hijos">\r\n <div class="text-secondary">{{menuSubItem.titulo}}</div>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button mat-icon-button class="close-icon d-lg-none" (click)="menuPrincipalSel=null">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n</div>\r\n<div class="alerta-almacenamiento" *ngIf="porcentajeUtilizado >= 100">Su capacidad de almacenamiento ha llegado al {{porcentajeUtilizado}}% , libere espacio o adquiera mayor capacidad</div>\r\n\r\n\x3c!-- Asistente "Pregúntale a tus datos": panel flotante que se abre desde el botón del menú. --\x3e\r\n<wm-asistente-datos *ngIf="puedeAsistente" [abierto]="asistenteAbierto" [urlConsultar]="urlAsistenteConsultar"\r\n [idioma]="idiomaAsistente" (cerrarChange)="asistenteAbierto = false"></wm-asistente-datos>',styles:[".menu{height:46px;display:flex;justify-content:space-between;align-items:center;top:0;left:0;right:0;background-color:#1c98a4;color:#fff;padding:0 4px}.menu .d-lg-block .mat-button{font-weight:400;height:46px;line-height:46px}.menu .logo{display:inline-block;height:40px}.menu .logo-menu-principal{position:absolute;display:block;left:65px}.menu .logo-menu-principal>img{display:block;margin:0 -50%}.menu .info-adicional{color:#fff;display:flex;justify-content:end;font-size:13px;position:absolute;right:47px}.menu .info-adicional .border-r{border-right:1px solid #fff}.menu .info-adicional .version{margin:7px 0 0 7px}.menu .info-adicional div.datos{margin:0 2px 0 5px;height:28px}.menu .info-adicional .boton-asistente-datos{cursor:pointer;padding-right:10px}.menu .info-adicional .mat-icon{vertical-align:middle;font-size:17px;color:#fff;line-height:21px;margin-left:2px}.menu .info-adicional button{padding:0 0 0 15px}.menu .info-adicional .content-idioma{margin:-5px 2px 0 5px;display:block;cursor:pointer}.menu .info-adicional .icon-idioma{font-size:17px!important;vertical-align:text-top!important;color:#fffc}.sub-menu{width:100%;position:absolute;top:46px;z-index:1000;background-color:#fff;display:flex;overflow-y:auto;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.sub-menu .close-icon{position:absolute;left:4px;top:4px}.sub-menu .descripcion-menu .mat-icon{color:#1c98a4;width:100px;height:100px}.sub-menu .descripcion-menu p:first-of-type{font-weight:300;font-size:30px;margin:16px 0}.sub-menu .descripcion-menu p:last-of-type{color:#6c757d}.sub-menu li{float:left;width:50%}.sub-menu li>.mat-icon{color:#444}.sub-menu li:nth-child(even){float:right}.sub-menu li a{transition:.5s;display:block}.sub-menu li a:hover{margin-left:8px}.sub-menu li .lead{line-height:24px;color:#212529;font-size:17px}.sub-menu-fondo{background:#272d3357;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000}.menu-lateral{width:100%;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;overflow-y:auto;background:#f7f7f7;padding:20px}.menu-lateral>div>div>*>div{text-align:center;padding:16px;background-color:#fff;margin:0 0 16px;color:#333;cursor:pointer;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.menu-lateral>div>div>*>div>.mat-icon{width:50px;height:50px}.menu-lateral>div>div>*>div>p{padding:0;margin:8px 0 0}a.mat-menu-item{color:#444!important}.alerta-almacenamiento{background:#ffffec;border-bottom:1px solid #efff00;min-height:39px;line-height:36px;font-size:12px;padding:0 0 0 25px}@media (max-width:767.98px){.sub-menu ul{margin:auto;padding:0 10px}.sub-menu ul li{float:none;width:100%}.sub-menu ul li:nth-child(even){float:none}}@media (max-width:991.98px){.sub-menu{bottom:0}}@media (min-width:600px){.logo-menu-principal{left:50%!important}}* :focus,:active{outline:0!important}.icono-asistente-fab{display:inline-block;width:32px;height:32px;vertical-align:middle;background:url(data:image/png;base64,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) center/contain no-repeat}"]})],e)}(),w=function(){function e(){this.reconocimiento=null}return e.prototype.estaSoportado=function(){return!!this.obtenerConstructor()},e.prototype.iniciar=function(e,n,t){var i=this,o=this.obtenerConstructor();if(o){this.detener(),this.reconocimiento=new o,this.reconocimiento.lang=e,this.reconocimiento.continuous=!1,this.reconocimiento.interimResults=!0,this.reconocimiento.onresult=function(e){var t=Array.from(e.results).map((function(e){return e[0].transcript})).join(" ");n(t)},this.reconocimiento.onerror=function(e){var n;console.error("Reconocimiento de voz: error -",null===(n=e)||void 0===n?void 0:n.error),i.reconocimiento=null,t()},this.reconocimiento.onend=function(){i.reconocimiento=null,t()};try{this.reconocimiento.start()}catch(e){console.error("Reconocimiento de voz: no se pudo iniciar -",e),this.reconocimiento=null,t()}}else t()},e.prototype.detener=function(){this.reconocimiento&&(this.reconocimiento.onend=null,this.reconocimiento.onerror=null,this.reconocimiento.stop(),this.reconocimiento=null)},e.prototype.obtenerConstructor=function(){return window.SpeechRecognition||window.webkitSpeechRecognition||null},e.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e=b([n.Injectable({providedIn:"root"})],e)}(),A=function(){function e(e){this.http=e,this.url="",this.TOKEN_KEY="WMTKN",this.jwtHelper=new s.JwtHelperService}return e.prototype.consultar=function(e,n){var a=new t.HttpHeaders({Authorization:"Bearer "+this.obtenerJWT(),"Content-Type":"application/json; charset=utf-8"});return this.http.post(this.url,{Pregunta:e,Proveedor:n},{headers:a}).pipe(i.catchError((function(e){return o.throwError(e.error)})))},e.prototype.obtenerJWT=function(){var e=localStorage.getItem(this.TOKEN_KEY);if(e)try{return this.jwtHelper.isTokenExpired(e)?null:e}catch(e){}return null},e.ctorParameters=function(){return[{type:t.HttpClient}]},e.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new e(n.ɵɵinject(t.HttpClient))},token:e,providedIn:"root"}),e=b([n.Injectable({providedIn:"root"})],e)}(),k=function(){function e(e,t){this.asistenteDatosApiService=e,this.reconocimientoVoz=t,this.abierto=!1,this.idioma="es-CO",this.cerrarChange=new n.EventEmitter,this.mensajes=[],this.borrador="",this.borradorExpandido=!1,this.consultando=!1,this.proveedorSeleccionado="Gemini",this.escuchando=!1,this.chipsSugeridos=["¿Cuántos formularios se diligenciaron hoy?","¿Cuántos formularios se diligenciaron esta semana?","Muéstrame los últimos 10 formularios diligenciados"]}return Object.defineProperty(e.prototype,"urlConsultar",{set:function(e){e&&(this.asistenteDatosApiService.url=e)},enumerable:!0,configurable:!0}),e.prototype.cerrar=function(){this.cerrarChange.emit()},Object.defineProperty(e.prototype,"filasBorrador",{get:function(){return this.borradorExpandido?6:1},enumerable:!0,configurable:!0}),e.prototype.onClickExpandirBorrador=function(){this.borradorExpandido=!this.borradorExpandido},Object.defineProperty(e.prototype,"micDisponible",{get:function(){return this.reconocimientoVoz.estaSoportado()},enumerable:!0,configurable:!0}),e.prototype.onClickMicrofono=function(){var e=this;if(this.escuchando)return this.reconocimientoVoz.detener(),void(this.escuchando=!1);if(this.reconocimientoVoz.estaSoportado()){var n=this.borrador.trim();this.escuchando=!0,this.reconocimientoVoz.iniciar(this.idioma,(function(t){return e.borrador=n?n+" "+t:t}),(function(){return e.escuchando=!1}))}},e.prototype.onClickEnviar=function(e){var n=this,t=(null!=e?e:this.borrador).trim();if(t&&!this.consultando){if(this.mensajes.push({deUsuario:!0,texto:t}),this.borrador="",!this.asistenteDatosApiService.url)return this.mensajes.push({deUsuario:!1,texto:"No se pudo procesar la consulta.",esError:!0}),void this.scrollAlFinal();this.consultando=!0,this.scrollAlFinal(),this.asistenteDatosApiService.consultar(t,this.proveedorSeleccionado).subscribe({next:function(e){var t;n.consultando=!1,n.mensajes.push({deUsuario:!1,descripcion:e.Descripcion,resultado:(t=e.Resultado,null!=t?t:[]),proveedor:e.Proveedor}),n.scrollAlFinal()},error:function(e){var t;n.consultando=!1,n.mensajes.push({deUsuario:!1,texto:(null===(t=e)||void 0===t?void 0:t.Mensaje)||"No se pudo procesar la consulta.",esError:!0}),n.scrollAlFinal()}})}},e.prototype.scrollAlFinal=function(){var e=this;setTimeout((function(){var n,t=null===(n=e.mensajesContainer)||void 0===n?void 0:n.nativeElement;t&&(t.scrollTop=t.scrollHeight)}))},e.prototype.columnasDe=function(e){return e.length?Object.keys(e[0]):[]},e.prototype.esConteo=function(e){var n;return 1===(null===(n=e)||void 0===n?void 0:n.length)&&1===Object.keys(e[0]).length&&"Resultado"in e[0]},e.prototype.esListaSimple=function(e){var n;return(null===(n=e)||void 0===n?void 0:n.length)>0&&!this.esConteo(e)&&1===this.columnasDe(e).length},e.prototype.textoListaSimple=function(e){var n=this.columnasDe(e)[0];return e.map((function(e){return e[n]})).join(", ")},e.ctorParameters=function(){return[{type:A},{type:w}]},b([n.ViewChild("mensajesContainer")],e.prototype,"mensajesContainer",void 0),b([n.Input()],e.prototype,"abierto",void 0),b([n.Input()],e.prototype,"urlConsultar",null),b([n.Input()],e.prototype,"idioma",void 0),b([n.Output()],e.prototype,"cerrarChange",void 0),e=b([n.Component({selector:"wm-asistente-datos",template:'\x3c!-- Panel (abierto) --\x3e\r\n<div class="chat-ia-panel" *ngIf="abierto">\r\n <div class="chat-ia-header">\r\n <div class="chat-ia-header-info">\r\n <div class="chat-ia-header-icono">\r\n <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.8">\r\n <path d="M4 5h16v10H9l-4 4V15H4z"></path>\r\n </svg>\r\n </div>\r\n <div>\r\n <div class="chat-ia-titulo">Pregúntale a tus Datos</div>\r\n <div class="chat-ia-subtitulo">Consulta tus reportes en lenguaje natural</div>\r\n </div>\r\n </div>\r\n <div class="chat-ia-cerrar" (click)="cerrar()">\r\n <svg width="14" height="14" viewBox="0 0 24 24" stroke="#fff" stroke-width="2" fill="none" stroke-linecap="round">\r\n <path d="M6 6l12 12M18 6L6 18"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n\r\n <div class="chat-ia-mensajes" #mensajesContainer>\r\n <div class="chat-ia-bienvenida-texto">Hola, soy tu asistente de datos de Snap Forms. Pregúntame lo que quieras saber sobre tu operación.</div>\r\n\r\n <div class="chat-ia-mensaje" *ngFor="let mensaje of mensajes" [class.chat-ia-mensaje-usuario]="mensaje.deUsuario">\r\n <div class="chat-ia-burbuja" [class.chat-ia-burbuja-error]="mensaje.esError">\r\n <span *ngIf="mensaje.texto">{{ mensaje.texto }}</span>\r\n\r\n <ng-container *ngIf="mensaje.resultado">\r\n <div class="chat-ia-descripcion" *ngIf="mensaje.descripcion">{{ mensaje.descripcion }}</div>\r\n\r\n <div class="chat-ia-sin-resultados" *ngIf="mensaje.resultado.length === 0">La consulta no encontró resultados.</div>\r\n\r\n <div class="chat-ia-stat" *ngIf="esConteo(mensaje.resultado)">\r\n <div class="chat-ia-stat-valor">{{ mensaje.resultado[0].Resultado | number }}</div>\r\n </div>\r\n\r\n <div class="chat-ia-lista-simple" *ngIf="esListaSimple(mensaje.resultado)">{{ textoListaSimple(mensaje.resultado) }}</div>\r\n\r\n <div class="chat-ia-tabla-resultado" *ngIf="mensaje.resultado.length > 0 && !esConteo(mensaje.resultado) && !esListaSimple(mensaje.resultado)">\r\n <table mat-table [dataSource]="mensaje.resultado">\r\n <ng-container *ngFor="let columna of columnasDe(mensaje.resultado)" [matColumnDef]="columna">\r\n <th mat-header-cell *matHeaderCellDef>{{ columna }}</th>\r\n <td mat-cell *matCellDef="let fila">{{ fila[columna] }}</td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef="columnasDe(mensaje.resultado)"></tr>\r\n <tr mat-row *matRowDef="let fila; columns: columnasDe(mensaje.resultado);"></tr>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class="chat-ia-pensando" *ngIf="consultando">\r\n <span class="chat-ia-dot"></span><span class="chat-ia-dot"></span><span class="chat-ia-dot"></span>\r\n </div>\r\n </div>\r\n\r\n <div class="chips-chat-ia">\r\n <span class="chip-chat-ia" *ngFor="let chip of chipsSugeridos"\r\n (click)="onClickEnviar(chip)">{{ chip }}</span>\r\n </div>\r\n\r\n <div class="chat-ia-entrada">\r\n <div class="chat-ia-caja-entrada">\r\n <mat-icon class="chat-ia-expandir" (click)="onClickExpandirBorrador()">{{ borradorExpandido ? \'close_fullscreen\' : \'open_in_full\' }}</mat-icon>\r\n <textarea [rows]="filasBorrador" [(ngModel)]="borrador" (keydown.enter)="$event.preventDefault(); onClickEnviar()"\r\n [class.chat-ia-textarea-expandido]="borradorExpandido"\r\n placeholder="Escribe tu pregunta..."></textarea>\r\n <div class="chat-ia-pie-entrada">\r\n <button class="chat-ia-selector-modelo" [matMenuTriggerFor]="menuModeloChatIA" type="button">\r\n <span *ngIf="proveedorSeleccionado === \'Gemini\'">Gemini</span>\r\n <span *ngIf="proveedorSeleccionado === \'Groq\'">Groq</span>\r\n <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M6 9l6 6 6-6"></path>\r\n </svg>\r\n </button>\r\n <button class="chat-ia-microfono" [class.chat-ia-microfono-activo]="escuchando" *ngIf="micDisponible"\r\n (click)="onClickMicrofono()" type="button">\r\n <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path>\r\n <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path>\r\n <line x1="12" y1="19" x2="12" y2="23"></line>\r\n </svg>\r\n </button>\r\n <button class="chat-ia-enviar" [disabled]="!borrador.trim() || consultando" (click)="onClickEnviar()" type="button">\r\n <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M12 19V6"></path>\r\n <path d="M5 13l7-7 7 7"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-menu #menuModeloChatIA="matMenu" class="menu-modelo-chat-ia">\r\n <button mat-menu-item [class.opcion-activa]="proveedorSeleccionado === \'Gemini\'"\r\n (click)="proveedorSeleccionado = \'Gemini\'">\r\n <span>Gemini</span>\r\n <svg *ngIf="proveedorSeleccionado === \'Gemini\'" class="chat-ia-check" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M20 6L9 17l-5-5"></path>\r\n </svg>\r\n </button>\r\n <button mat-menu-item [class.opcion-activa]="proveedorSeleccionado === \'Groq\'"\r\n (click)="proveedorSeleccionado = \'Groq\'">\r\n <span>Groq</span>\r\n <svg *ngIf="proveedorSeleccionado === \'Groq\'" class="chat-ia-check" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M20 6L9 17l-5-5"></path>\r\n </svg>\r\n </button>\r\n</mat-menu>\r\n',styles:[":host{position:fixed;right:32px;bottom:32px;z-index:1000;font-family:Roboto,sans-serif}.chat-ia-panel{width:450px;height:650px;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(20,25,30,.28);display:flex;flex-direction:column;overflow:hidden}.chat-ia-header{background:linear-gradient(135deg,#7c5ce0,#5f42bd);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-ia-header-info{display:flex;align-items:center;gap:10px;min-width:0}.chat-ia-header-icono{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:none}.chat-ia-titulo{color:#fff;font-size:14px;font-weight:500}.chat-ia-subtitulo{color:rgba(255,255,255,.75);font-size:11px;margin-top:1px}.chat-ia-cerrar{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;flex:none}.chat-ia-cerrar:hover{opacity:1}.chat-ia-mensajes{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px;background:#fbfafc}.chat-ia-mensaje{display:flex}.chat-ia-mensaje .chat-ia-burbuja{max-width:88%;background:#f2eefb;color:#26313a;border-radius:14px 14px 14px 3px;padding:10px 13px;font-size:13px;line-height:1.5}.chat-ia-mensaje .chat-ia-burbuja-error{background:#fdecea;color:#7a1f14}.chat-ia-mensaje.chat-ia-mensaje-usuario{justify-content:flex-end}.chat-ia-mensaje.chat-ia-mensaje-usuario .chat-ia-burbuja{background:#7c5ce0;color:#fff;border-radius:14px 14px 3px}.chat-ia-bienvenida-texto{align-self:flex-start;max-width:88%;background:#f2eefb;color:#26313a;border-radius:14px 14px 14px 3px;padding:10px 13px;font-size:13px;line-height:1.5}.chips-chat-ia{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.chip-chat-ia{border:1px solid #e7e2f5;background:#f2eefb;color:#5f42bd;border-radius:14px;padding:5px 10px;font-size:11px;cursor:pointer}.chip-chat-ia:hover{background:#e7ddfa}.chat-ia-descripcion{font-size:13px;line-height:1.5;margin-bottom:6px}.chat-ia-sin-resultados{color:#5a5a5a;font-style:italic}.chat-ia-stat{margin-top:4px}.chat-ia-stat-valor{font-size:30px;font-weight:600;color:#5f42bd;line-height:1.15;font-variant-numeric:proportional-nums}.chat-ia-lista-simple,.chat-ia-tabla-resultado{margin-top:4px;background:#fff;border-radius:10px;padding:8px 10px}.chat-ia-lista-simple{font-size:13px;line-height:1.5}.chat-ia-tabla-resultado{overflow-x:auto;max-width:100%;padding:4px 10px}.chat-ia-tabla-resultado table{font-size:12px;background:0 0}.chat-ia-tabla-resultado th.mat-header-cell{color:#6b6478;font-weight:600;padding:0 14px 5px 0;border-bottom:1px solid #f0edf7;white-space:nowrap}.chat-ia-tabla-resultado td.mat-cell{padding:7px 14px 0 0;white-space:nowrap;font-variant-numeric:tabular-nums}.chat-ia-pensando{align-self:flex-start;background:#f2eefb;padding:12px 16px;border-radius:14px 14px 14px 3px;display:flex;gap:5px;flex-shrink:0}.chat-ia-dot{width:6px;height:6px;border-radius:50%;background:#9a93ae;-webkit-animation:1.1s ease-in-out infinite chatIaBlink;animation:1.1s ease-in-out infinite chatIaBlink}.chat-ia-dot:nth-child(2){-webkit-animation-delay:.15s;animation-delay:.15s}.chat-ia-dot:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes chatIaBlink{0%,100%,80%{opacity:.25}40%{opacity:1}}@keyframes chatIaBlink{0%,100%,80%{opacity:.25}40%{opacity:1}}.chat-ia-entrada{padding:10px 14px 14px;border-top:1px solid #e9f2ee;flex-shrink:0}.chat-ia-caja-entrada{position:relative;background:#f2f7f5;border:1px solid #e6efea;border-radius:18px;padding:10px 12px 8px}.chat-ia-caja-entrada textarea{border:none;outline:0;background:0 0;width:100%;font:inherit;font-size:13.5px;color:#26313a;resize:none;line-height:1.45;max-height:110px;overflow-y:auto;display:block;padding:0 28px 0 0}.chat-ia-caja-entrada textarea.chat-ia-textarea-expandido{max-height:160px}.chat-ia-caja-entrada textarea::-webkit-input-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea::-moz-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea:-ms-input-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea::-ms-input-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea::placeholder{color:#9a93ae}.chat-ia-expandir{position:absolute;top:8px;right:10px;font-size:17px;height:17px;width:17px;color:#9a9a9a;cursor:pointer}.chat-ia-pie-entrada{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.chat-ia-selector-modelo{display:inline-flex;align-items:center;gap:4px;border:none;background:0 0;color:#4e5d57;border-radius:14px;padding:5px 9px;font-size:11.5px;font-weight:600;cursor:pointer}.chat-ia-enviar{width:32px;height:32px;border-radius:50%;border:none;background:#7c5ce0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.chat-ia-enviar:disabled{background:#dce6e1;color:#a9bab3;cursor:default}.chat-ia-microfono{width:28px;height:28px;border-radius:50%;border:none;background:0 0;color:#6b6478;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.chat-ia-microfono:hover{background:#f2eefb}.chat-ia-microfono.chat-ia-microfono-activo{color:#fff;background:#e05a5a;-webkit-animation:1.1s ease-in-out infinite chatIaBlink;animation:1.1s ease-in-out infinite chatIaBlink}::ng-deep .mat-menu-panel.menu-modelo-chat-ia{min-width:132px;border:1px solid #e6efea;border-radius:10px;box-shadow:0 12px 26px rgba(20,25,30,.16)}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-content{padding:4px}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;height:auto;line-height:normal;padding:7px 10px;font-size:12px;color:#26313a;border-radius:7px}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-item.opcion-activa{background:#f2f7f5}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-item .chat-ia-check{color:#7c5ce0}"]})],e)}(),j=function(){function e(){}return e=b([n.NgModule({declarations:[y,k],imports:[a.BrowserModule,g.FormsModule,c.MatToolbarModule,l.MatSidenavModule,u.MatListModule,d.MatButtonModule,r.MatIconModule,p.MatMenuModule,m.MatTableModule,h.MatTooltipModule,f.MatRippleModule,t.HttpClientModule,s.JwtModule],exports:[y]})],e)}();e.WmMenuAlertaPanicoService=I,e.WmMenuComponent=y,e.WmMenuModule=j,e.WmMenuServicioService=x,e.ɵa=k,e.ɵb=A,e.ɵc=w,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function v(e,t,n,i){var a,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var c=e.length-1;c>=0;c--)(a=e[c])&&(r=(o<3?a(r):o>3?a(t,n,r):a(t,n))||r);return o>3&&r&&Object.defineProperty(t,n,r),r}function x(e,t,n,i){return new(n||(n=Promise))((function(a,o){function r(e){try{l(i.next(e))}catch(e){o(e)}}function c(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,c)}l((i=i.apply(e,t||[])).next())}))}function y(e,t){var n,i,a,o,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,i&&(a=2&o[0]?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,i=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(a=(a=r.trys).length>0&&a[a.length-1])&&(6===o[0]||2===o[0])){r=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){r.label=o[1];break}if(6===o[0]&&r.label<a[1]){r.label=a[1],a=o;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(o);break}a[2]&&r.ops.pop(),r.trys.pop();continue}o=t.call(e,r)}catch(e){o=[6,e],i=0}finally{n=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,c])}}}function w(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,a,o=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)r.push(i.value)}catch(e){a={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return r}function I(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(w(arguments[t]));return e}var A=function(){this.hijos=[]},k=function(){function e(e,t,n){this.http=e,this.iconRegistry=t,this.sanitizer=n}return e.prototype.menuApiObtener=function(e,t,o,r){void 0===r&&(r="");var c=new n.HttpHeaders({Authorization:"Bearer "+o}),l=new n.HttpParams;return r.length>0&&(l=l.append("codLogica",r)),l=(l=l.append("ctrlActivo","true")).append("conPadres","true"),null!=t&&(l=l.append("idUsuario",t.toString())),this.http.get(e,{headers:c,params:l}).pipe(i.map((function(e){return e})),i.catchError((function(e){return a.throwError(e.error)})))},e.prototype.mapearMenu=function(e){for(var t in e=e.sort((function(e,t){return e.Posicion>t.Posicion?"1":"-1"}))){var n=e[t];if(n.Icono.startsWith("http")){var i="wm-icon-menu-"+t;this.iconRegistry.addSvgIcon(i,this.sanitizer.bypassSecurityTrustResourceUrl(n.Icono)),e[t].Icono=i}}return this.obtenerMenu(e)},e.prototype.obtenerMenu=function(e,t){var n=[];for(var i in e)(e[i].IdMenuPadre==t||!t&&null==e[i].IdMenuPadre)&&n.push({titulo:e[i].IdiomaRecurso,url:e[i].Url,icono:e[i].Icono,descripcion:e[i].Descripcion,hijos:this.obtenerMenu(e,e[i].IdMenu)});return n},e.prototype.menuIdiomasObtener=function(e,t,o){new n.HttpHeaders({Authorization:"Bearer "+o});return this.http.get(e).pipe(i.map((function(e){return e})),i.catchError((function(e){return a.throwError(e.error)})))},e.prototype.almacenamientoApiObtener=function(e,t,o){var r=new n.HttpHeaders({Authorization:"Bearer "+o}),c=new n.HttpParams;return null!=t&&(c=c.append("idUsuario",t.toString())),this.http.get(e,{headers:r,params:c}).pipe(i.map((function(e){return e})),i.catchError((function(e){return a.throwError(e.error)})))},e.prototype.funcionesObtener=function(e,t){var o=new n.HttpHeaders({Authorization:"Bearer "+t});return this.http.get(e,{headers:o}).pipe(i.map((function(e){return e})),i.catchError((function(e){return a.throwError(e.error)})))},e.ctorParameters=function(){return[{type:n.HttpClient},{type:r.MatIconRegistry},{type:o.DomSanitizer}]},e.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(n.HttpClient),t.ɵɵinject(r.MatIconRegistry),t.ɵɵinject(o.DomSanitizer))},token:e,providedIn:"root"}),e=v([t.Injectable({providedIn:"root"})],e)}(),j=function(){function e(e){this.wmMenuServicioService=e,this.alternateTitle="Alerta de Pánico Recibida",this.audio=null,this.isPlaying=!1,this.IdsAlertasPanicoActivas=new Set,this.soundTimeout=null,this.isRunning=!1}return e.prototype.iniciarProceso=function(e,t,n,i,a){var o=this;this.rutaAudio=a;["drag","click"].forEach((function(a){document.addEventListener(a,(function(){o.wmMenuServicioService.menuApiObtener(n,null,i,"ReporteAlertasPanico").subscribe((function(n){if(n&&n.length>0&&1==n[0].Valor){if(o.isRunning)return;var i=localStorage.getItem("ALERTAS_PANICO_ACTIVAS_WM");o.IdsAlertasPanicoActivas=i?new Set(JSON.parse(i)):new Set;var a=function(){o.isRunning=!0,t(),setTimeout((function(){o.isRunning=!1,a()}),e)};a()}}))}),{once:!0})}))},e.prototype.stopProcess=function(){this.isRunning=!1,this.subscription&&this.subscription.unsubscribe()},e.prototype.ngOnDestroy=function(){this.stopSound(),this.stopFlashingTitle()},e.prototype.playSound=function(){var e=this;this.isPlaying||(this.isPlaying=!0,this.audio||(this.audio=new Audio(this.rutaAudio)),this.audio.loop=!0,this.audio.play().then((function(){e.soundTimeout=setTimeout((function(){e.stopSound()}),1e4)})).catch((function(e){console.log("Error al reproducir el sonido:",e)})))},e.prototype.stopSound=function(){this.audio&&(this.audio.pause(),this.audio.currentTime=0),this.isPlaying=!1,this.soundTimeout&&(clearTimeout(this.soundTimeout),this.soundTimeout=null)},e.prototype.startFlashingTitle=function(){var e=this,t=!1;this.originalTitle||(this.originalTitle=document.title),this.intervalId||(this.intervalId=setInterval((function(){document.title=t?e.alternateTitle:e.originalTitle,t=!t}),1e3))},e.prototype.stopFlashingTitle=function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,document.title=this.originalTitle)},e.prototype.revisarAlertasPendientes=function(e,t){var n=this,i=(new c.JwtHelperService).decodeToken(t);this.wmMenuServicioService.menuApiObtener(e,i.id_usuario,t).subscribe((function(e){if(e&&e.length>0){var t=e.map((function(e){return e.IdAlertaPanico}));n.IdsAlertasPanicoActivas.forEach((function(e){t.includes(e)||n.IdsAlertasPanicoActivas.delete(e)}));var i=e.filter((function(e){return!n.IdsAlertasPanicoActivas.has(e.IdAlertaPanico)}));i.forEach((function(e){return n.IdsAlertasPanicoActivas.add(e.IdAlertaPanico)})),n.IdsAlertasPanicoActivas.size>0&&n.startFlashingTitle(),i.length>0&&n.playSound()}else n.IdsAlertasPanicoActivas.clear(),n.stopFlashingTitle();localStorage.setItem("ALERTAS_PANICO_ACTIVAS_WM",JSON.stringify(Array.from(n.IdsAlertasPanicoActivas)))}))},e.ctorParameters=function(){return[{type:k}]},e.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(k))},token:e,providedIn:"root"}),e=v([t.Injectable({providedIn:"root"})],e)}(),S=function(){function e(){this.iniciada=!1}return e.prototype.cargar=function(){if(!this.iniciada){this.iniciada=!0;var e=document.createElement("style");e.textContent=".wm-menu-iconos {\n font-family: 'WM Menu Symbols';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n }",document.head.appendChild(e);var t=document.createElement("style");t.textContent=".wm-menu-iconos { visibility: hidden; }",document.head.appendChild(t),fetch("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,1,0").then((function(e){return e.text()})).then((function(e){var t=/url\(([^)]+)\)/.exec(e)[1],n=new window.FontFace("WM Menu Symbols","url("+t+")");return document.fonts.add(n),n.load()})).catch((function(e){return console.error("wm-menu: no se pudo cargar la fuente de iconos",e)})).then((function(){return document.head.removeChild(t)}))}},e.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e=v([t.Injectable({providedIn:"root"})],e)}(),C=function(){function e(e,t,n){this.wmMenuServicioService=e,this.alertaPanicoService=t,this.fuenteIconosService=n,this.mostrarAsistente=!1,this.idiomaAsistente="es-CO",this.asistenteAbierto=!1,this.funcionesUsuario=[],this.menuSecundarioSel=new A,this.menuLateralAbierto=!1,this.menuIdioma=[],this.intervaloPeticionesMs=6e4}return Object.defineProperty(e.prototype,"puedeAsistente",{get:function(){var e=!0===this.mostrarAsistente||"true"===this.mostrarAsistente||"1"===this.mostrarAsistente,t=this.funcionesUsuario.some((function(e){return"WebChatConsultaIA"===e.CodigoLogica}));return e||t},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;if(this.fuenteIconosService.cargar(),this.cargarMenuCuenta(),this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs,(function(){return e.alertaPanicoService.revisarAlertasPendientes(e.urlObtenerAlertasPanico,e.token)}),this.urlObtenerParametro,this.token,this.rutaAudio),this.urlObtenerFunciones&&this.token&&this.wmMenuServicioService.funcionesObtener(this.urlObtenerFunciones,this.token).subscribe((function(t){e.funcionesUsuario=null!=t?t:[]}),(function(){e.funcionesUsuario=[]})),this.urlMenu&&this.token){var t=(new c.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuApiObtener(this.urlMenu,t.id_usuario,this.token).subscribe((function(t){e.menuPrincipal=e.wmMenuServicioService.mapearMenu(t)}))}if(this.urlIdiomas&&this.token){t=(new c.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuIdiomasObtener(this.urlIdiomas,t.id_usuario,this.token).subscribe((function(t){e.menuIdioma=t,e.cargarMenuCuenta()}))}if(this.urlBaseAlmacenamiento&&this.token){t=(new c.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.almacenamientoApiObtener(this.urlBaseAlmacenamiento,t.id_usuario,this.token).subscribe((function(t){var n=t[0]&&t[0].Utilizado?t[0].Utilizado:0,i=t[0]&&t[0].Total?t[0].Total:0;e.porcentajeUtilizado=Math.round(n/i*100)}))}},e.prototype.clickMenuPrincipal=function(e){this.menuPrincipal[e].hijos&&this.menuPrincipal[e].hijos.length&&(this.menuPrincipalSel==this.menuPrincipal[e]?this.menuPrincipalSel=null:this.menuPrincipalSel=this.menuPrincipal[e])},e.prototype.clickMenuSecundario=function(e){this.menuSecundarioSel=this.menuSecundario[e],this.menuPrincipalSel=null},e.prototype.cargarMenuCuenta=function(){var e;if(this.urlCuentaSeguridad&&this.token){var t=(new c.JwtHelperService).decodeToken(this.token);this.menuSecundario=[{titulo:t.unique_name,icono:"account_circle",hijos:[{titulo:t.unique_name,url:"",icono:"person"},{titulo:this.menuIdioma&&this.menuIdioma.CambiarContrasenna?this.menuIdioma.CambiarContrasenna:"Cambiar contraseña",url:this.urlCuentaSeguridad+"CambioContrasena",icono:"vpn_key"},"1"==this.activar2fa?{titulo:this.menuIdioma&&this.menuIdioma.Configurar2fa?this.menuIdioma.Configurar2fa:"Configurar 2FA",url:this.urlCuentaSeguridad+"Habilitacion2FA",icono:"verified_user"}:null,null!=this.urlguiasOnline&&""!==this.urlguiasOnline&&0!=(null===(e=this.urlguiasOnline)||void 0===e?void 0:e.length)?{titulo:this.menuIdioma&&this.menuIdioma.guiasOnline?this.menuIdioma.guiasOnline:"Guias Online",url:this.urlguiasOnline,icono:"menu_book"}:null,{titulo:this.menuIdioma&&this.menuIdioma.CerrarSesion?this.menuIdioma.CerrarSesion:"Cerrar sesión",url:this.urlCuentaSeguridad+"CerrarSesion",icono:"exit_to_app"}].filter((function(e){return null!=e}))}]}},e.ctorParameters=function(){return[{type:k},{type:j},{type:S}]},v([t.Input()],e.prototype,"logo",void 0),v([t.Input()],e.prototype,"colorFondo",void 0),v([t.Input()],e.prototype,"colorTexto",void 0),v([t.Input()],e.prototype,"menuPrincipal",void 0),v([t.Input()],e.prototype,"menuSecundario",void 0),v([t.Input()],e.prototype,"urlMenu",void 0),v([t.Input()],e.prototype,"token",void 0),v([t.Input()],e.prototype,"urlCuentaSeguridad",void 0),v([t.Input()],e.prototype,"activar2fa",void 0),v([t.Input()],e.prototype,"urlguiasOnline",void 0),v([t.Input()],e.prototype,"urlObtenerAlertasPanico",void 0),v([t.Input()],e.prototype,"urlObtenerParametro",void 0),v([t.Input()],e.prototype,"rutaAudio",void 0),v([t.Input()],e.prototype,"nombreCliente",void 0),v([t.Input()],e.prototype,"nombreUsuario",void 0),v([t.Input()],e.prototype,"versionWeb",void 0),v([t.Input()],e.prototype,"urlBaseAlmacenamiento",void 0),v([t.Input()],e.prototype,"urlIdiomas",void 0),v([t.Input()],e.prototype,"urlObtenerFunciones",void 0),v([t.Input()],e.prototype,"mostrarAsistente",void 0),v([t.Input()],e.prototype,"urlAsistenteConsultar",void 0),v([t.Input()],e.prototype,"idiomaAsistente",void 0),e=v([t.Component({selector:"wm-menu",template:'<div class="menu" [ngStyle]="{\'background-color\': colorFondo, \'color\': colorTexto}">\r\n <div class="d-lg-none">\r\n <button mat-icon-button (click)="menuLateralAbierto=!menuLateralAbierto; menuPrincipalSel = null">\r\n <mat-icon fontSet="wm-menu-iconos" *ngIf="!menuLateralAbierto" class="animate__animated animate__fadeInRight animate__faster">menu\r\n </mat-icon>\r\n <mat-icon fontSet="wm-menu-iconos" *ngIf="menuLateralAbierto" class="animate__animated animate__fadeInLeft animate__faster">close\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div class="d-lg-none logo-menu-principal">\r\n <img class="logo" src="{{logo}}">\r\n </div>\r\n <div class="d-none d-lg-block">\r\n <img class="logo" src="{{logo}}">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="d-inline-block">\r\n\r\n <a *ngIf="menuItem.url" mat-button [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </a>\r\n <button *ngIf="!menuItem.url" mat-button (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class="info-adicional">\r\n <div class="datos border-r mt-1 boton-asistente-datos" *ngIf="puedeAsistente" matTooltip="Pregúntale a tus datos" (click)="asistenteAbierto = !asistenteAbierto">\r\n <span class="icono-asistente-fab"></span>\r\n </div>\r\n <div class="datos border-r mt-1" *ngIf="nombreCliente">{{nombreCliente}}<mat-icon fontSet="wm-menu-iconos">people</mat-icon></div>\r\n <div class="datos border-r mt-1" *ngIf="nombreUsuario">{{nombreUsuario}}<mat-icon fontSet="wm-menu-iconos">person_outline</mat-icon></div>\r\n <div class="version" *ngIf="versionWeb">{{versionWeb}}</div>\r\n <div class="content-idioma" *ngIf="urlIdiomas">\r\n <mat-menu #menuIdiomas="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuIdioma.Culturas" href="{{urlCuentaSeguridad}}CambiarIdioma?culture={{menuItem.Name}}&ReturnUrl=/">\r\n {{menuItem.NativeName}}\r\n </a>\r\n </mat-menu>\r\n <button mat-button [matMenuTriggerFor]="menuIdiomas"><label class="mt-1">{{menuIdioma.Lenguaje}}</label><mat-icon fontSet="wm-menu-iconos" class="icon-idioma">language</mat-icon></button>\r\n </div>\r\n\r\n </div>\r\n <div>\r\n <mat-menu #submenu="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuSecundarioSel.hijos" href="{{menuItem.url}}"\r\n [disabled]="!menuItem.url">\r\n <mat-icon fontSet="wm-menu-iconos" *ngIf="menuItem.icono">{{menuItem.icono}}</mat-icon>\r\n {{menuItem.titulo}}\r\n </a>\r\n </mat-menu>\r\n <button *ngFor="let menuItem of menuSecundario; let i = index" mat-icon-button [matMenuTriggerFor]="submenu"\r\n (click)="clickMenuSecundario(i)">\r\n <mat-icon fontSet="wm-menu-iconos">{{menuItem.icono}}</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class="menu-lateral d-lg-none animate__animated animate__fadeInRight animate__faster" *ngIf="menuLateralAbierto">\r\n <div class="row">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="col-sm-6 col-md-4">\r\n <a *ngIf="menuItem.url" [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </a>\r\n <span *ngIf="!menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class="sub-menu-fondo animate__animated animate__fadeIn animate__faster" (click)="menuPrincipalSel=null"\r\n *ngIf="menuPrincipalSel"></div>\r\n\r\n<div class="sub-menu animate__animated animate__fadeIn animate__faster" *ngIf="menuPrincipalSel">\r\n <div class="container-fluid">\r\n <div class="row">\r\n <div class="col-12 col-lg-5">\r\n <div class="px-3 px-sm-5 pt-5 pb-lg-5 text-center descripcion-menu">\r\n <mat-icon [ngStyle]="{\'color\': colorFondo}" svgIcon="{{menuPrincipalSel.icono}}">\r\n {{menuPrincipalSel.icono}}</mat-icon>\r\n <p>{{menuPrincipalSel.titulo}}</p>\r\n <p class="text-secondary">{{menuPrincipalSel.descripcion}}</p>\r\n </div>\r\n </div>\r\n <div class="col-12 col-lg-7 my-4">\r\n <div class="px-3 px-md-4 py-2 py-md-2">\r\n <ul class="list-unstyled">\r\n\r\n <li class="mb-3 d-flex" *ngFor="let menuItem of menuPrincipalSel.hijos">\r\n <mat-icon fontSet="wm-menu-iconos">{{menuItem.icono}}</mat-icon>\r\n <div class="ml-2 flex-fill">\r\n <a href="{{menuItem.url}}" *ngIf="menuItem.url">\r\n <div class="lead mb-2">{{menuItem.titulo}}</div>\r\n </a>\r\n <div class="lead mb-2" *ngIf="!menuItem.url">{{menuItem.titulo}}</div>\r\n\r\n <a href="{{menuSubItem.url}}" class="pl-2 my-2" *ngFor="let menuSubItem of menuItem.hijos">\r\n <div class="text-secondary">{{menuSubItem.titulo}}</div>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button mat-icon-button class="close-icon d-lg-none" (click)="menuPrincipalSel=null">\r\n <mat-icon fontSet="wm-menu-iconos">arrow_back</mat-icon>\r\n </button>\r\n</div>\r\n<div class="alerta-almacenamiento" *ngIf="porcentajeUtilizado >= 100">Su capacidad de almacenamiento ha llegado al {{porcentajeUtilizado}}% , libere espacio o adquiera mayor capacidad</div>\r\n\r\n\x3c!-- Asistente "Pregúntale a tus datos": panel flotante que se abre desde el botón del menú. --\x3e\r\n<wm-asistente-datos *ngIf="puedeAsistente" [abierto]="asistenteAbierto" [urlConsultar]="urlAsistenteConsultar"\r\n [idioma]="idiomaAsistente" (cerrarChange)="asistenteAbierto = false"></wm-asistente-datos>',styles:[".menu{height:46px;display:flex;justify-content:space-between;align-items:center;top:0;left:0;right:0;background-color:#1c98a4;color:#fff;padding:0 4px}.menu .d-lg-block .mat-button{font-weight:400;height:46px;line-height:46px}.menu .logo{display:inline-block;height:40px}.menu .logo-menu-principal{position:absolute;display:block;left:65px}.menu .logo-menu-principal>img{display:block;margin:0 -50%}.menu .info-adicional{color:#fff;display:flex;justify-content:end;font-size:13px;position:absolute;right:47px}.menu .info-adicional .border-r{border-right:1px solid #fff}.menu .info-adicional .version{margin:7px 0 0 7px}.menu .info-adicional div.datos{margin:0 2px 0 5px;height:28px}.menu .info-adicional .boton-asistente-datos{cursor:pointer;padding-right:10px}.menu .info-adicional .mat-icon{vertical-align:middle;font-size:17px;color:#fff;line-height:21px;margin-left:2px}.menu .info-adicional button{padding:0 0 0 15px}.menu .info-adicional .content-idioma{margin:-5px 2px 0 5px;display:block;cursor:pointer}.menu .info-adicional .icon-idioma{font-size:17px!important;vertical-align:text-top!important;color:#fffc}.sub-menu{width:100%;position:absolute;top:46px;z-index:1000;background-color:#fff;display:flex;overflow-y:auto;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.sub-menu .close-icon{position:absolute;left:4px;top:4px}.sub-menu .descripcion-menu .mat-icon{color:#1c98a4;width:100px;height:100px}.sub-menu .descripcion-menu p:first-of-type{font-weight:300;font-size:30px;margin:16px 0}.sub-menu .descripcion-menu p:last-of-type{color:#6c757d}.sub-menu li{float:left;width:50%}.sub-menu li>.mat-icon{color:#444}.sub-menu li:nth-child(even){float:right}.sub-menu li a{transition:.5s;display:block}.sub-menu li a:hover{margin-left:8px}.sub-menu li .lead{line-height:24px;color:#212529;font-size:17px}.sub-menu-fondo{background:#272d3357;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000}.menu-lateral{width:100%;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;overflow-y:auto;background:#f7f7f7;padding:20px}.menu-lateral>div>div>*>div{text-align:center;padding:16px;background-color:#fff;margin:0 0 16px;color:#333;cursor:pointer;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.menu-lateral>div>div>*>div>.mat-icon{width:50px;height:50px}.menu-lateral>div>div>*>div>p{padding:0;margin:8px 0 0}a.mat-menu-item{color:#444!important}.alerta-almacenamiento{background:#ffffec;border-bottom:1px solid #efff00;min-height:39px;line-height:36px;font-size:12px;padding:0 0 0 25px}@media (max-width:767.98px){.sub-menu ul{margin:auto;padding:0 10px}.sub-menu ul li{float:none;width:100%}.sub-menu ul li:nth-child(even){float:none}}@media (max-width:991.98px){.sub-menu{bottom:0}}@media (min-width:600px){.logo-menu-principal{left:50%!important}}* :focus,:active{outline:0!important}.icono-asistente-fab{display:inline-block;width:32px;height:32px;vertical-align:middle;background:url(data:image/png;base64,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) center/contain no-repeat}"]})],e)}(),M=function(){function e(){this.reconocimiento=null}return e.prototype.estaSoportado=function(){return!!this.obtenerConstructor()},e.prototype.iniciar=function(e,t,n){var i=this,a=this.obtenerConstructor();if(a){this.detener(),this.reconocimiento=new a,this.reconocimiento.lang=e,this.reconocimiento.continuous=!1,this.reconocimiento.interimResults=!0,this.reconocimiento.onresult=function(e){var n=Array.from(e.results).map((function(e){return e[0].transcript})).join(" ");t(n)},this.reconocimiento.onerror=function(e){var t;console.error("Reconocimiento de voz: error -",null===(t=e)||void 0===t?void 0:t.error),i.reconocimiento=null,n()},this.reconocimiento.onend=function(){i.reconocimiento=null,n()};try{this.reconocimiento.start()}catch(e){console.error("Reconocimiento de voz: no se pudo iniciar -",e),this.reconocimiento=null,n()}}else n()},e.prototype.detener=function(){this.reconocimiento&&(this.reconocimiento.onend=null,this.reconocimiento.onerror=null,this.reconocimiento.stop(),this.reconocimiento=null)},e.prototype.obtenerConstructor=function(){return window.SpeechRecognition||window.webkitSpeechRecognition||null},e.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e=v([t.Injectable({providedIn:"root"})],e)}(),P=function(){function e(e){this.http=e,this.url="",this.TOKEN_KEY="WMTKN",this.jwtHelper=new c.JwtHelperService}return e.prototype.consultar=function(e,t){var o=new n.HttpHeaders({Authorization:"Bearer "+this.obtenerJWT(),"Content-Type":"application/json; charset=utf-8"});return this.http.post(this.url,{Pregunta:e,Proveedor:t},{headers:o}).pipe(i.catchError((function(e){return a.throwError(e.error)})))},e.prototype.obtenerJWT=function(){var e=localStorage.getItem(this.TOKEN_KEY);if(e)try{return this.jwtHelper.isTokenExpired(e)?null:e}catch(e){}return null},e.ctorParameters=function(){return[{type:n.HttpClient}]},e.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(n.HttpClient))},token:e,providedIn:"root"}),e=v([t.Injectable({providedIn:"root"})],e)}(),T=function(){function e(){this.SEPARADOR_CSV=";"}return e.prototype.columnas=function(e){return e&&e.length?Object.keys(e[0]):[]},e.prototype.valorCelda=function(e){return null==e?"":String(e)},e.prototype.aTsv=function(e){var t=this,n=this.columnas(e),i=function(e){return e.replace(/\t/g," ").replace(/\r?\n/g," ")};return I([n.map(i).join("\t")],e.map((function(e){return n.map((function(n){return i(t.valorCelda(e[n]))})).join("\t")}))).join("\n")},e.prototype.copiar=function(e){return x(this,void 0,void 0,(function(){var t,n;return y(this,(function(i){switch(i.label){case 0:return t=this.aTsv(e),navigator.clipboard&&navigator.clipboard.writeText?[4,navigator.clipboard.writeText(t)]:[3,2];case 1:return i.sent(),[2];case 2:(n=document.createElement("textarea")).value=t,n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select();try{document.execCommand("copy")}finally{document.body.removeChild(n)}return[2]}}))}))},e.prototype.escaparCsv=function(e){return e.indexOf('"')>=0||e.indexOf(this.SEPARADOR_CSV)>=0||/[\r\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e},e.prototype.descargarCsv=function(e,t){var n=this,i=this.columnas(e),a="\ufeff"+I([i.map((function(e){return n.escaparCsv(e)})).join(this.SEPARADOR_CSV)],e.map((function(e){return i.map((function(t){return n.escaparCsv(n.valorCelda(e[t]))})).join(n.SEPARADOR_CSV)}))).join("\r\n"),o=new Blob([a],{type:"text/csv;charset=utf-8;"});this.descargarBlob(o,t+".csv")},e.prototype.descargarXlsx=function(e,t){var n=g.utils.json_to_sheet(e),i=g.utils.book_new();g.utils.book_append_sheet(i,n,"Datos"),g.writeFile(i,t+".xlsx")},e.prototype.descargarBlob=function(e,t){var n=URL.createObjectURL(e),i=document.createElement("a");i.href=n,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout((function(){return URL.revokeObjectURL(n)}))},e.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e=v([t.Injectable({providedIn:"root"})],e)}(),O=function(){function e(e,n,i){this.asistenteDatosApiService=e,this.reconocimientoVoz=n,this.tablaExport=i,this.abierto=!1,this.idioma="es-CO",this.cerrarChange=new t.EventEmitter,this.mensajes=[],this.borrador="",this.borradorExpandido=!1,this.consultando=!1,this.proveedorSeleccionado="Gemini",this.escuchando=!1,this.tablaAmpliada=null,this.descripcionAmpliada="",this.copiadoAviso=!1,this.chipsSugeridos=["¿Cuántos formularios se diligenciaron hoy?","¿Cuántos formularios se diligenciaron esta semana?","Muéstrame los últimos 10 formularios diligenciados"]}return Object.defineProperty(e.prototype,"urlConsultar",{set:function(e){e&&(this.asistenteDatosApiService.url=e)},enumerable:!0,configurable:!0}),e.prototype.cerrar=function(){this.cerrarChange.emit()},Object.defineProperty(e.prototype,"filasBorrador",{get:function(){return this.borradorExpandido?6:1},enumerable:!0,configurable:!0}),e.prototype.onClickExpandirBorrador=function(){this.borradorExpandido=!this.borradorExpandido},Object.defineProperty(e.prototype,"micDisponible",{get:function(){return this.reconocimientoVoz.estaSoportado()},enumerable:!0,configurable:!0}),e.prototype.onClickMicrofono=function(){var e=this;if(this.escuchando)return this.reconocimientoVoz.detener(),void(this.escuchando=!1);if(this.reconocimientoVoz.estaSoportado()){var t=this.borrador.trim();this.escuchando=!0,this.reconocimientoVoz.iniciar(this.idioma,(function(n){return e.borrador=t?t+" "+n:n}),(function(){return e.escuchando=!1}))}},e.prototype.onClickEnviar=function(e){var t=this,n=(null!=e?e:this.borrador).trim();if(n&&!this.consultando){if(this.mensajes.push({deUsuario:!0,texto:n}),this.borrador="",!this.asistenteDatosApiService.url)return this.mensajes.push({deUsuario:!1,texto:"No se pudo procesar la consulta.",esError:!0}),void this.scrollAlFinal();this.consultando=!0,this.scrollAlFinal(),this.asistenteDatosApiService.consultar(n,this.proveedorSeleccionado).subscribe({next:function(e){var n;t.consultando=!1,t.mensajes.push({deUsuario:!1,descripcion:e.Descripcion,resultado:(n=e.Resultado,null!=n?n:[]),proveedor:e.Proveedor}),t.scrollAlFinal()},error:function(e){var n;t.consultando=!1,t.mensajes.push({deUsuario:!1,texto:(null===(n=e)||void 0===n?void 0:n.Mensaje)||"No se pudo procesar la consulta.",esError:!0}),t.scrollAlFinal()}})}},e.prototype.scrollAlFinal=function(){var e=this;setTimeout((function(){var t,n=null===(t=e.mensajesContainer)||void 0===t?void 0:t.nativeElement;n&&(n.scrollTop=n.scrollHeight)}))},e.prototype.columnasDe=function(e){return e.length?Object.keys(e[0]):[]},e.prototype.esConteo=function(e){var t;return 1===(null===(t=e)||void 0===t?void 0:t.length)&&1===Object.keys(e[0]).length&&"Resultado"in e[0]},e.prototype.esListaSimple=function(e){var t;return(null===(t=e)||void 0===t?void 0:t.length)>0&&!this.esConteo(e)&&1===this.columnasDe(e).length},e.prototype.textoListaSimple=function(e){var t=this.columnasDe(e)[0];return e.map((function(e){return e[t]})).join(", ")},e.prototype.ampliar=function(e,t){this.tablaAmpliada=e,this.descripcionAmpliada=t||""},e.prototype.cerrarAmpliada=function(){this.tablaAmpliada=null,this.descripcionAmpliada=""},e.prototype.copiar=function(e){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.tablaExport.copiar(e)];case 1:return n.sent(),this.copiadoAviso=!0,setTimeout((function(){return t.copiadoAviso=!1}),1800),[3,3];case 2:return n.sent(),[3,3];case 3:return[2]}}))}))},e.prototype.exportarCsv=function(e){this.tablaExport.descargarCsv(e,this.nombreArchivo())},e.prototype.exportarXlsx=function(e){this.tablaExport.descargarXlsx(e,this.nombreArchivo())},e.prototype.nombreArchivo=function(){var e=new Date,t=function(e){return String(e).padStart(2,"0")};return"asistente-datos-"+e.getFullYear()+t(e.getMonth()+1)+t(e.getDate())+"-"+t(e.getHours())+t(e.getMinutes())},e.ctorParameters=function(){return[{type:P},{type:M},{type:T}]},v([t.ViewChild("mensajesContainer")],e.prototype,"mensajesContainer",void 0),v([t.Input()],e.prototype,"abierto",void 0),v([t.Input()],e.prototype,"urlConsultar",null),v([t.Input()],e.prototype,"idioma",void 0),v([t.Output()],e.prototype,"cerrarChange",void 0),e=v([t.Component({selector:"wm-asistente-datos",template:'\x3c!-- Panel (abierto) --\x3e\r\n<div class="chat-ia-panel" *ngIf="abierto">\r\n <div class="chat-ia-header">\r\n <div class="chat-ia-header-info">\r\n <div class="chat-ia-header-icono">\r\n <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.8">\r\n <path d="M4 5h16v10H9l-4 4V15H4z"></path>\r\n </svg>\r\n </div>\r\n <div>\r\n <div class="chat-ia-titulo">Pregúntale a tus Datos</div>\r\n <div class="chat-ia-subtitulo">Consulta tus reportes en lenguaje natural</div>\r\n </div>\r\n </div>\r\n <div class="chat-ia-cerrar" (click)="cerrar()">\r\n <svg width="14" height="14" viewBox="0 0 24 24" stroke="#fff" stroke-width="2" fill="none" stroke-linecap="round">\r\n <path d="M6 6l12 12M18 6L6 18"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n\r\n <div class="chat-ia-mensajes" #mensajesContainer>\r\n <div class="chat-ia-bienvenida-texto">Hola, soy tu asistente de datos de Snap Forms. Pregúntame lo que quieras saber sobre tu operación.</div>\r\n\r\n <div class="chat-ia-mensaje" *ngFor="let mensaje of mensajes" [class.chat-ia-mensaje-usuario]="mensaje.deUsuario">\r\n <div class="chat-ia-burbuja" [class.chat-ia-burbuja-error]="mensaje.esError">\r\n <span *ngIf="mensaje.texto">{{ mensaje.texto }}</span>\r\n\r\n <ng-container *ngIf="mensaje.resultado">\r\n <div class="chat-ia-descripcion" *ngIf="mensaje.descripcion">{{ mensaje.descripcion }}</div>\r\n\r\n <div class="chat-ia-sin-resultados" *ngIf="mensaje.resultado.length === 0">La consulta no encontró resultados.</div>\r\n\r\n <div class="chat-ia-stat" *ngIf="esConteo(mensaje.resultado)">\r\n <div class="chat-ia-stat-valor">{{ mensaje.resultado[0].Resultado | number }}</div>\r\n </div>\r\n\r\n <div class="chat-ia-lista-simple" *ngIf="esListaSimple(mensaje.resultado)">{{ textoListaSimple(mensaje.resultado) }}</div>\r\n\r\n <div class="chat-ia-tabla-bloque" *ngIf="mensaje.resultado.length > 0 && !esConteo(mensaje.resultado) && !esListaSimple(mensaje.resultado)">\r\n <div class="chat-ia-tabla-acciones">\r\n <button type="button" class="chat-ia-accion" matTooltip="Ampliar"\r\n (click)="ampliar(mensaje.resultado, mensaje.descripcion)">\r\n <mat-icon>open_in_full</mat-icon>\r\n </button>\r\n <button type="button" class="chat-ia-accion" matTooltip="Copiar"\r\n (click)="copiar(mensaje.resultado)">\r\n <mat-icon>content_copy</mat-icon>\r\n </button>\r\n <button type="button" class="chat-ia-accion" matTooltip="Exportar"\r\n [matMenuTriggerFor]="menuExport">\r\n <mat-icon>download</mat-icon>\r\n </button>\r\n <mat-menu #menuExport="matMenu" class="menu-export-chat-ia">\r\n <button mat-menu-item type="button" (click)="exportarCsv(mensaje.resultado)">CSV (.csv)</button>\r\n <button mat-menu-item type="button" (click)="exportarXlsx(mensaje.resultado)">Excel (.xlsx)</button>\r\n </mat-menu>\r\n </div>\r\n <div class="chat-ia-tabla-resultado">\r\n <table mat-table [dataSource]="mensaje.resultado">\r\n <ng-container *ngFor="let columna of columnasDe(mensaje.resultado)" [matColumnDef]="columna">\r\n <th mat-header-cell *matHeaderCellDef>{{ columna }}</th>\r\n <td mat-cell *matCellDef="let fila">{{ fila[columna] }}</td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef="columnasDe(mensaje.resultado)"></tr>\r\n <tr mat-row *matRowDef="let fila; columns: columnasDe(mensaje.resultado);"></tr>\r\n </table>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class="chat-ia-pensando" *ngIf="consultando">\r\n <span class="chat-ia-dot"></span><span class="chat-ia-dot"></span><span class="chat-ia-dot"></span>\r\n </div>\r\n </div>\r\n\r\n <div class="chips-chat-ia">\r\n <span class="chip-chat-ia" *ngFor="let chip of chipsSugeridos"\r\n (click)="onClickEnviar(chip)">{{ chip }}</span>\r\n </div>\r\n\r\n <div class="chat-ia-entrada">\r\n <div class="chat-ia-caja-entrada">\r\n <mat-icon fontSet="wm-menu-iconos" class="chat-ia-expandir" (click)="onClickExpandirBorrador()">{{ borradorExpandido ? \'close_fullscreen\' : \'open_in_full\' }}</mat-icon>\r\n <textarea [rows]="filasBorrador" [(ngModel)]="borrador" (keydown.enter)="$event.preventDefault(); onClickEnviar()"\r\n [class.chat-ia-textarea-expandido]="borradorExpandido"\r\n placeholder="Escribe tu pregunta..."></textarea>\r\n <div class="chat-ia-pie-entrada">\r\n <button class="chat-ia-selector-modelo" [matMenuTriggerFor]="menuModeloChatIA" type="button">\r\n <span *ngIf="proveedorSeleccionado === \'Gemini\'">Gemini</span>\r\n <span *ngIf="proveedorSeleccionado === \'Groq\'">Groq</span>\r\n <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M6 9l6 6 6-6"></path>\r\n </svg>\r\n </button>\r\n <button class="chat-ia-microfono" [class.chat-ia-microfono-activo]="escuchando" *ngIf="micDisponible"\r\n (click)="onClickMicrofono()" type="button">\r\n <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path>\r\n <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path>\r\n <line x1="12" y1="19" x2="12" y2="23"></line>\r\n </svg>\r\n </button>\r\n <button class="chat-ia-enviar" [disabled]="!borrador.trim() || consultando" (click)="onClickEnviar()" type="button">\r\n <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M12 19V6"></path>\r\n <path d="M5 13l7-7 7 7"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-menu #menuModeloChatIA="matMenu" class="menu-modelo-chat-ia">\r\n <button mat-menu-item [class.opcion-activa]="proveedorSeleccionado === \'Gemini\'"\r\n (click)="proveedorSeleccionado = \'Gemini\'">\r\n <span>Gemini</span>\r\n <svg *ngIf="proveedorSeleccionado === \'Gemini\'" class="chat-ia-check" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M20 6L9 17l-5-5"></path>\r\n </svg>\r\n </button>\r\n <button mat-menu-item [class.opcion-activa]="proveedorSeleccionado === \'Groq\'"\r\n (click)="proveedorSeleccionado = \'Groq\'">\r\n <span>Groq</span>\r\n <svg *ngIf="proveedorSeleccionado === \'Groq\'" class="chat-ia-check" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">\r\n <path d="M20 6L9 17l-5-5"></path>\r\n </svg>\r\n </button>\r\n</mat-menu>\r\n\r\n\x3c!-- Modal "ampliar": muestra la tabla a todo el ancho de la pantalla (el panel la recorta). Overlay\r\n propio (no CDK) porque el componente se monta como web-component y el overlay de CDK queda fuera\r\n de su contexto de estilos. --\x3e\r\n<div class="chat-ia-modal-overlay" *ngIf="tablaAmpliada" (click)="cerrarAmpliada()">\r\n <div class="chat-ia-modal" (click)="$event.stopPropagation()">\r\n <div class="chat-ia-modal-header">\r\n <div class="chat-ia-modal-titulo">{{ descripcionAmpliada || \'Resultados\' }}</div>\r\n <div class="chat-ia-modal-acciones">\r\n <button type="button" class="chat-ia-accion chat-ia-accion-clara" matTooltip="Copiar"\r\n (click)="copiar(tablaAmpliada)">\r\n <mat-icon>content_copy</mat-icon>\r\n </button>\r\n <button type="button" class="chat-ia-accion chat-ia-accion-clara" matTooltip="Exportar"\r\n [matMenuTriggerFor]="menuExportModal">\r\n <mat-icon>download</mat-icon>\r\n </button>\r\n <mat-menu #menuExportModal="matMenu" class="menu-export-chat-ia">\r\n <button mat-menu-item type="button" (click)="exportarCsv(tablaAmpliada)">CSV (.csv)</button>\r\n <button mat-menu-item type="button" (click)="exportarXlsx(tablaAmpliada)">Excel (.xlsx)</button>\r\n </mat-menu>\r\n <button type="button" class="chat-ia-accion chat-ia-accion-clara" matTooltip="Cerrar"\r\n (click)="cerrarAmpliada()">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class="chat-ia-modal-tabla">\r\n <table mat-table [dataSource]="tablaAmpliada">\r\n <ng-container *ngFor="let columna of columnasDe(tablaAmpliada)" [matColumnDef]="columna">\r\n <th mat-header-cell *matHeaderCellDef>{{ columna }}</th>\r\n <td mat-cell *matCellDef="let fila">{{ fila[columna] }}</td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef="columnasDe(tablaAmpliada)"></tr>\r\n <tr mat-row *matRowDef="let fila; columns: columnasDe(tablaAmpliada);"></tr>\r\n </table>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\x3c!-- Aviso efímero tras copiar al portapapeles. --\x3e\r\n<div class="chat-ia-copiado-aviso" *ngIf="copiadoAviso">Tabla copiada</div>\r\n',styles:[":host{position:fixed;right:32px;bottom:32px;z-index:1000;font-family:Roboto,sans-serif}.chat-ia-panel{width:450px;height:650px;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(20,25,30,.28);display:flex;flex-direction:column;overflow:hidden}.chat-ia-header{background:linear-gradient(135deg,#7c5ce0,#5f42bd);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-ia-header-info{display:flex;align-items:center;gap:10px;min-width:0}.chat-ia-header-icono{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:none}.chat-ia-titulo{color:#fff;font-size:14px;font-weight:500}.chat-ia-subtitulo{color:rgba(255,255,255,.75);font-size:11px;margin-top:1px}.chat-ia-cerrar{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;flex:none}.chat-ia-cerrar:hover{opacity:1}.chat-ia-mensajes{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px;background:#fbfafc}.chat-ia-mensaje{display:flex}.chat-ia-mensaje .chat-ia-burbuja{max-width:88%;background:#f2eefb;color:#26313a;border-radius:14px 14px 14px 3px;padding:10px 13px;font-size:13px;line-height:1.5}.chat-ia-mensaje .chat-ia-burbuja-error{background:#fdecea;color:#7a1f14}.chat-ia-mensaje.chat-ia-mensaje-usuario{justify-content:flex-end}.chat-ia-mensaje.chat-ia-mensaje-usuario .chat-ia-burbuja{background:#7c5ce0;color:#fff;border-radius:14px 14px 3px}.chat-ia-bienvenida-texto{align-self:flex-start;max-width:88%;background:#f2eefb;color:#26313a;border-radius:14px 14px 14px 3px;padding:10px 13px;font-size:13px;line-height:1.5}.chips-chat-ia{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.chip-chat-ia{border:1px solid #e7e2f5;background:#f2eefb;color:#5f42bd;border-radius:14px;padding:5px 10px;font-size:11px;cursor:pointer}.chip-chat-ia:hover{background:#e7ddfa}.chat-ia-descripcion{font-size:13px;line-height:1.5;margin-bottom:6px}.chat-ia-sin-resultados{color:#5a5a5a;font-style:italic}.chat-ia-stat{margin-top:4px}.chat-ia-stat-valor{font-size:30px;font-weight:600;color:#5f42bd;line-height:1.15;font-variant-numeric:proportional-nums}.chat-ia-lista-simple,.chat-ia-tabla-bloque{margin-top:4px;background:#fff;border-radius:10px;padding:8px 10px}.chat-ia-lista-simple{font-size:13px;line-height:1.5}.chat-ia-tabla-acciones{display:flex;justify-content:flex-end;align-items:center;gap:2px;margin-bottom:2px}.chat-ia-accion{width:26px;height:26px;border:none;background:0 0;color:#6b6478;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:none}.chat-ia-accion:hover{background:#f2eefb}.chat-ia-accion .mat-icon{font-size:17px;width:17px;height:17px;line-height:17px}.chat-ia-accion.chat-ia-accion-clara{color:rgba(255,255,255,.9)}.chat-ia-accion.chat-ia-accion-clara:hover{background:rgba(255,255,255,.18);color:#fff}.chat-ia-tabla-resultado{overflow-x:auto;max-width:100%}.chat-ia-tabla-resultado table{font-size:12px;background:0 0}.chat-ia-tabla-resultado th.mat-header-cell{color:#6b6478;font-weight:600;padding:0 14px 5px 0;border-bottom:1px solid #f0edf7;white-space:nowrap}.chat-ia-tabla-resultado td.mat-cell{padding:7px 14px 0 0;white-space:nowrap;font-variant-numeric:tabular-nums}.chat-ia-pensando{align-self:flex-start;background:#f2eefb;padding:12px 16px;border-radius:14px 14px 14px 3px;display:flex;gap:5px;flex-shrink:0}.chat-ia-dot{width:6px;height:6px;border-radius:50%;background:#9a93ae;-webkit-animation:1.1s ease-in-out infinite chatIaBlink;animation:1.1s ease-in-out infinite chatIaBlink}.chat-ia-dot:nth-child(2){-webkit-animation-delay:.15s;animation-delay:.15s}.chat-ia-dot:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes chatIaBlink{0%,100%,80%{opacity:.25}40%{opacity:1}}@keyframes chatIaBlink{0%,100%,80%{opacity:.25}40%{opacity:1}}.chat-ia-entrada{padding:10px 14px 14px;border-top:1px solid #e9f2ee;flex-shrink:0}.chat-ia-caja-entrada{position:relative;background:#f2f7f5;border:1px solid #e6efea;border-radius:18px;padding:10px 12px 8px}.chat-ia-caja-entrada textarea{border:none;outline:0;background:0 0;width:100%;font:inherit;font-size:13.5px;color:#26313a;resize:none;line-height:1.45;max-height:110px;overflow-y:auto;display:block;padding:0 28px 0 0}.chat-ia-caja-entrada textarea.chat-ia-textarea-expandido{max-height:160px}.chat-ia-caja-entrada textarea::-webkit-input-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea::-moz-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea:-ms-input-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea::-ms-input-placeholder{color:#9a93ae}.chat-ia-caja-entrada textarea::placeholder{color:#9a93ae}.chat-ia-expandir{position:absolute;top:8px;right:10px;font-size:17px;height:17px;width:17px;color:#9a9a9a;cursor:pointer}.chat-ia-pie-entrada{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.chat-ia-selector-modelo{display:inline-flex;align-items:center;gap:4px;border:none;background:0 0;color:#4e5d57;border-radius:14px;padding:5px 9px;font-size:11.5px;font-weight:600;cursor:pointer}.chat-ia-enviar{width:32px;height:32px;border-radius:50%;border:none;background:#7c5ce0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.chat-ia-enviar:disabled{background:#dce6e1;color:#a9bab3;cursor:default}.chat-ia-microfono{width:28px;height:28px;border-radius:50%;border:none;background:0 0;color:#6b6478;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.chat-ia-microfono:hover{background:#f2eefb}.chat-ia-microfono.chat-ia-microfono-activo{color:#fff;background:#e05a5a;-webkit-animation:1.1s ease-in-out infinite chatIaBlink;animation:1.1s ease-in-out infinite chatIaBlink}::ng-deep .mat-menu-panel.menu-modelo-chat-ia{min-width:132px;border:1px solid #e6efea;border-radius:10px;box-shadow:0 12px 26px rgba(20,25,30,.16)}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-content{padding:4px}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;height:auto;line-height:normal;padding:7px 10px;font-size:12px;color:#26313a;border-radius:7px}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-item.opcion-activa{background:#f2f7f5}::ng-deep .mat-menu-panel.menu-modelo-chat-ia .mat-menu-item .chat-ia-check{color:#7c5ce0}.chat-ia-modal-overlay{position:fixed;inset:0;background:rgba(20,25,30,.5);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1100}.chat-ia-modal{background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(20,25,30,.32);width:auto;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;overflow:hidden}.chat-ia-modal-header{background:linear-gradient(135deg,#7c5ce0,#5f42bd);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.chat-ia-modal-titulo{color:#fff;font-size:14px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-ia-modal-acciones{display:flex;align-items:center;gap:2px;flex:none}.chat-ia-modal-tabla{flex:1;min-height:0;overflow:auto;padding:10px 16px 16px}.chat-ia-modal-tabla table{font-size:13px;background:0 0;width:100%}.chat-ia-modal-tabla th.mat-header-cell{color:#6b6478;font-weight:600;padding:0 18px 8px 0;border-bottom:1px solid #f0edf7;white-space:nowrap}.chat-ia-modal-tabla td.mat-cell{padding:9px 18px 9px 0;white-space:nowrap;color:#26313a;border-bottom:1px solid #f6f4fb;font-variant-numeric:tabular-nums}.chat-ia-copiado-aviso{position:fixed;top:24px;left:50%;transform:translateX(-50%);background:#26313a;color:#fff;font-size:12.5px;padding:8px 16px;border-radius:20px;box-shadow:0 8px 20px rgba(20,25,30,.25);z-index:1200;-webkit-animation:.15s ease-out chatIaAvisoEntrada;animation:.15s ease-out chatIaAvisoEntrada}@-webkit-keyframes chatIaAvisoEntrada{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes chatIaAvisoEntrada{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}::ng-deep .mat-menu-panel.menu-export-chat-ia{min-width:132px;border:1px solid #e6efea;border-radius:10px;box-shadow:0 12px 26px rgba(20,25,30,.16)}::ng-deep .mat-menu-panel.menu-export-chat-ia .mat-menu-content{padding:4px}::ng-deep .mat-menu-panel.menu-export-chat-ia .mat-menu-item{height:auto;line-height:normal;padding:8px 12px;font-size:12px;color:#26313a;border-radius:7px}::ng-deep .mat-menu-panel.menu-export-chat-ia .mat-menu-item:hover{background:#f2f7f5}"]})],e)}(),z=function(){function e(){}return e=v([t.NgModule({declarations:[C,O],imports:[o.BrowserModule,b.FormsModule,l.MatToolbarModule,s.MatSidenavModule,u.MatListModule,d.MatButtonModule,r.MatIconModule,p.MatMenuModule,m.MatTableModule,h.MatTooltipModule,f.MatRippleModule,n.HttpClientModule,c.JwtModule],exports:[C]})],e)}();e.WmMenuAlertaPanicoService=j,e.WmMenuComponent=C,e.WmMenuModule=z,e.WmMenuServicioService=k,e.ɵa=S,e.ɵb=O,e.ɵc=P,e.ɵd=M,e.ɵe=T,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=wm-menu.umd.min.js.map