import{a as Xt,b as $t}from"./chunk-SXTPHKMF.js";import{a as Yt,b as Jt}from"./chunk-HR7MYYIO.js";import{a as Qt,b as Zt}from"./chunk-NOLX6IIX.js";import{a as Wt,b as At,c as Ft,e as qt,f as Dt}from"./chunk-JL36GBZI.js";import{z as Ht}from"./chunk-XYDYISIG.js";import{$a as Ct,Aa as N,Ab as m,Ba as W,Bb as u,Ca as A,Cb as st,Cg as ye,Da as p,De as Ve,Df as et,Ea as s,Eb as qe,Ee as ge,Ef as ue,Fa as a,Ga as k,Gc as Ge,H as mt,Hg as it,I as D,Ic as Y,J as Ee,Jc as se,K as Ie,Ka as U,Kc as _e,Kf as ve,L as w,La as z,Le as q,M as _,Ma as ht,Me as pe,N as g,Nc as le,Ne as ne,Oc as He,Oe as me,Of as Kt,Pa as P,Pc as Ye,Pe as Bt,Re as Nt,Sc as J,Tg as nt,Ua as S,Ud as Re,Ug as ot,V as ut,Vd as Qe,W as je,Wa as c,Wc as Q,Wd as Mt,Wf as De,X as _t,Xb as vt,Xc as Z,Xd as Et,Xg as he,Yb as wt,Zc as X,Zd as It,Zg as zt,_ as L,_a as ft,_d as Tt,_f as jt,_g as Gt,ab as xt,ac as H,ad as $,ae as ie,bc as yt,bd as ee,be as de,d as ct,da as n,df as Ze,ea as re,eb as v,fa as gt,gb as G,ib as d,j as dt,jb as h,jc as ae,kb as y,kc as St,la as Oe,lb as bt,ma as Fe,oa as F,ob as M,od as te,pa as K,pb as E,qb as I,qd as be,qf as ke,qg as we,r as pt,rb as ze,rd as Je,rf as Xe,sa as Ue,sb as xe,sf as $e,ta as T,tg as Ot,ud as ce,ug as tt,va as V,ve as Pt,wb as j,we as Rt,xa as C,xe as Vt,xg as Ut,ya as x,ye as kt,ze as Lt}from"./chunk-VZVHAHX6.js";import{i as O}from"./chunk-UDPOFCFO.js";var ni=new Ee("recaptcha-language"),oi=new Ee("recaptcha-base-url"),ri=new Ee("recaptcha-nonce-tag"),ai=new Ee("recaptcha-settings"),si=new Ee("recaptcha-v3-site-key"),li=new Ee("recaptcha-loader-options");function ci(t,l,e,{url:o,lang:i,nonce:r}={}){window.ng2recaptchaloaded=()=>{e(grecaptcha)};let f=document.createElement("script");f.innerHTML="";let{url:b,nonce:R}=l(new URL(o||"https://www.google.com/recaptcha/api.js"));b.searchParams.set("render",t==="explicit"?t:t.key),b.searchParams.set("onload","ng2recaptchaloaded"),b.searchParams.set("trustedtypes","true"),i&&b.searchParams.set("hl",i),f.src=b.href;let B=R||r;B&&f.setAttribute("nonce",B),f.async=!0,f.defer=!0,document.head.appendChild(f)}function di({v3SiteKey:t,onBeforeLoad:l,onLoaded:e}){let o=t?{key:t}:"explicit";ei.loadScript(o,l,e)}var ei={loadScript:ci,newLoadScript:di};function pi(t){return t.asObservable().pipe(pt(l=>l!==null))}var ti=(()=>{class t{static{this.ready=null}constructor(e,o,i,r,f,b){this.platformId=e,this.language=o,this.baseUrl=i,this.nonce=r,this.v3SiteKey=f,this.options=b;let R=this.init();this.ready=R?pi(R):dt()}init(){if(t.ready)return t.ready;if(!St(this.platformId))return;let e=new ct(null);return t.ready=e,ei.newLoadScript({v3SiteKey:this.v3SiteKey,onBeforeLoad:o=>{if(this.options?.onBeforeLoad)return this.options.onBeforeLoad(o);let i=new URL(this.baseUrl??o);return this.language&&i.searchParams.set("hl",this.language),{url:i,nonce:this.nonce}},onLoaded:o=>{let i=o;this.options?.onLoaded&&(i=this.options.onLoaded(o)),e.next(i)}}),e}static{this.\u0275fac=function(o){return new(o||t)(Ie(_t),Ie(ni,8),Ie(oi,8),Ie(ri,8),Ie(si,8),Ie(li,8))}}static{this.\u0275prov=mt({token:t,factory:t.\u0275fac})}}return t})(),mi=0,fe=(()=>{class t{constructor(e,o,i,r){this.elementRef=e,this.loader=o,this.zone=i,this.id=`ngrecaptcha-${mi++}`,this.errorMode="default",this.resolved=new re,this.error=new re,this.errored=new re,r&&(this.siteKey=r.siteKey,this.theme=r.theme,this.type=r.type,this.size=r.size,this.badge=r.badge)}ngAfterViewInit(){this.subscription=this.loader.ready.subscribe(e=>{e!=null&&e.render instanceof Function&&(this.grecaptcha=e,this.renderRecaptcha())})}ngOnDestroy(){this.grecaptchaReset(),this.subscription&&this.subscription.unsubscribe()}execute(){this.size==="invisible"&&(this.widget!=null?this.grecaptcha.execute(this.widget):this.executeRequested=!0)}reset(){this.widget!=null&&(this.grecaptcha.getResponse(this.widget)&&this.resolved.emit(null),this.grecaptchaReset())}get __unsafe_widgetValue(){return this.widget!=null?this.grecaptcha.getResponse(this.widget):null}expired(){this.resolved.emit(null)}onError(e){this.error.emit(e),this.errored.emit(e)}captchaResponseCallback(e){this.resolved.emit(e)}grecaptchaReset(){this.widget!=null&&this.zone.runOutsideAngular(()=>this.grecaptcha.reset(this.widget))}renderRecaptcha(){let e={badge:this.badge,callback:o=>{this.zone.run(()=>this.captchaResponseCallback(o))},"expired-callback":()=>{this.zone.run(()=>this.expired())},sitekey:this.siteKey,size:this.size,tabindex:this.tabIndex,theme:this.theme,type:this.type};this.errorMode==="handled"&&(e["error-callback"]=(...o)=>{this.zone.run(()=>this.onError(o))}),this.widget=this.grecaptcha.render(this.elementRef.nativeElement,e),this.executeRequested===!0&&(this.executeRequested=!1,this.execute())}static{this.\u0275fac=function(o){return new(o||t)(Fe(je),Fe(ti),Fe(gt),Fe(ai,8))}}static{this.\u0275cmp=F({type:t,selectors:[["re-captcha"]],hostVars:1,hostBindings:function(o,i){o&2&&V("id",i.id)},inputs:{id:"id",siteKey:"siteKey",theme:"theme",type:"type",size:"size",tabIndex:"tabIndex",badge:"badge",errorMode:"errorMode"},outputs:{resolved:"resolved",error:"error",errored:"errored"},exportAs:["reCaptcha"],standalone:!1,decls:0,vars:0,template:function(o,i){},encapsulation:2})}}return t})(),ui=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({})}}return t})(),Se=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({providers:[ti],imports:[ui]})}}return t})();var Me="image",_i="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".replace(/[RGQIOVMI01]+/g,"");function ii(t,l){let e=t.split(""),o=typeof l>"u"?e.length:l,i=[],r;for(;o>0;)r=Math.floor(Math.random()*256)%e.length,i.push(e.splice(r,1)[0]),o--;return i.join("")}var gi=()=>{let t=ii(_i);return ii(t,6)},hi=t=>{let l=t.length,e,o;for(;l!==0;)o=Math.floor(Math.random()*l),l-=1,e=t[l],t[l]=t[o],t[o]=e;return t},Ce=class{constructor(l=120,e,o){l=typeof l!="number"||l400?400:l,this._canvas=document.createElement("canvas"),this._canvas.width=400,this._canvas.height=l;{let B=155-Math.round(Math.random()*155),We=155-Math.round(Math.random()*155),Pe=155-Math.round(Math.random()*155);this._color=`rgb(${B}, ${We}, ${Pe})`}let i=this._canvas.getContext("2d");if(!i)throw new Error("Canvas not supported");i.globalAlpha=1,i.fillStyle="white",i.beginPath(),i.fillRect(0,0,400,l),i.save();let r=l/150;r>1.3&&(r=1.3),i.strokeStyle=this._color,i.lineWidth=4*r,i.beginPath();let f=[];for(let R=0;R({width:t});function xi(t,l){if(t&1&&(s(0,"li",22),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function bi(t,l){if(t&1&&(s(0,"nb-alert",6)(1,"p",20)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",21),W(6,xi,2,1,"li",22,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Error")),n(3),A(e.errors)}}function vi(t,l){if(t&1&&(s(0,"li",22),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function wi(t,l){if(t&1&&(s(0,"nb-alert",7)(1,"p",20)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",21),W(6,vi,2,1,"li",22,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Hooray!")),n(3),A(e.messages)}}function yi(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function Si(t,l){if(t&1&&C(0,yi,3,3,"p",23),t&2){c();let e=v(11);x(e.errors!=null&&e.errors.required&&e.dirty?0:-1)}}function Mi(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password is required!")," "))}function Ei(t,l){if(t&1&&C(0,Mi,3,3,"p",23),t&2){c();let e=v(19);x(e.errors!=null&&e.errors.required?0:-1)}}function Ii(t,l){if(t&1){let e=P();s(0,"a",24),S("focus",function(i){_(e);let r=c();return g(r.scrollIntoView(i))}),d(1),m(2,"translate"),a()}if(t&2){let e=c();p("href",xe("#",e.config.requestPasswordLink),L),n(),h(u(2,3,"Forgot Password?"))}}function Ti(t,l){if(t&1){let e=P();s(0,"div",17)(1,"nb-checkbox",25),S("focus",function(i){_(e);let r=c();return g(r.scrollIntoView(i))}),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.rememberMe,i)||(r.user.rememberMe=i),g(i)}),d(2),m(3,"translate"),a()()}if(t&2){let e=c();n(),M("ngModel",e.user.rememberMe),n(),h(u(3,2,"Remember me"))}}function Pi(t,l){if(t&1){let e=P();s(0,"div",17)(1,"re-captcha",26),S("resolved",function(){_(e);let i=c(2);return g(i.resolved())}),a()()}if(t&2){let e=c(2);n(),p("siteKey",e.config.captchaKey)}}function Ri(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Captcha is required!")," "))}function Vi(t,l){if(t&1&&C(0,Ri,3,3,"p",23),t&2){c();let e=v(8);x(e.errors!=null&&e.errors.required?0:-1)}}function ki(t,l){if(t&1){let e=P();s(0,"span",27),d(1,"Click to change"),a(),s(2,"img",28),S("click",function(){_(e);let i=c(2);return g(i.resetCaptcha())}),a(),s(3,"div",9)(4,"label",29),d(5),m(6,"translate"),a(),s(7,"input",30,3),S("blur",function(i){_(e);let r=c(2);return g(r.trimText(i.target))})("focus",function(i){_(e);let r=c(2);return g(r.scrollIntoView(i))}),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.captchaGuess,i)||(r.captchaGuess=i),g(i)}),a(),C(9,Vi,1,1),a()}if(t&2){let e=v(8),o=c(2);n(2),p("src",o.captchaUrl,L),n(3),h(u(6,6,"Enter Captcha Text:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",o.captchaGuess),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),x(e.invalid&&e.touched?9:-1)}}function Li(t,l){if(t&1&&C(0,Pi,2,1,"div",17)(1,ki,10,8),t&2){let e=c();x(e.config.captchaKey!==e.imageCaptchaKey?0:1)}}function Bi(t,l){if(t&1&&(s(0,"section",19),d(1),m(2,"translate"),s(3,"a",31),d(4),m(5,"translate"),m(6,"translate"),a()()),t&2){let e=c();n(),y(" ",u(2,4,"Do not have an account?")," "),n(2),p("href",xe("#",e.config.allowRegister?e.config.registerLink:e.config.contactSalesLink),L),n(),y(" ",e.config.allowRegister?u(5,6,"Register"):u(6,8,"Contact Sales")," ")}}var rt=(()=>{class t{constructor(){this.service=w(ue),this.tokenService=w(et),this.globalState=w(we),this.router=w(le),this.route=w(_e),this.register=w(tt),this.config=w("config"),this.encryptionService=w(ye),this.renderer=w(Oe),this.redirectDelay=0,this.showMessages={error:!0,success:!0},this.strategy="email",this.errors=[],this.messages=[],this.user={},this.submitted=!1,this.rememberMe=!1,this.showPassword=!1,this.captchaResolved=!1,this.captchaUrl="",this.captchaGuess="",this.imageCaptchaKey=Me,this.viewportResizeListener=null,this.initialViewportHeight=0;let e=this.route.snapshot.paramMap.get("token");e&&this.activateToken(e);let o=this.route.snapshot.queryParamMap.get("login");o&&this.tokenLogin(o),this.resetCaptcha()}ngAfterViewInit(){this._listenForViewportChanges()}ngOnDestroy(){this.viewportResizeListener&&(this.viewportResizeListener(),this.viewportResizeListener=null)}tokenLogin(e){localStorage.setItem("auth_app_token",JSON.stringify({value:e,name:"nb:auth:jwt:token",ownerStrategyName:"email"})),location.replace("/")}activateToken(e){this.register.post({token:e}).then(o=>O(this,null,function*(){o.error?this.errors=[o.error?.error?.errors?.[0]?.message??""]:(this.messages=["Account is successfully activated"],localStorage.setItem("auth_app_token",JSON.stringify({value:o.token,name:"nb:auth:jwt:token",ownerStrategyName:"email"})),yield this.router.navigateByUrl(""),setTimeout(()=>{window.location.reload()},500))}))}login(){return O(this,null,function*(){if(this.config.useCaptchaLogin){let o=document.getElementById("captcha")?.children.length;if(this.config.captchaKey===this.imageCaptchaKey){if(this.captchaGuess.toLocaleLowerCase()!==this.captcha?.value.toLocaleLowerCase()){this.errors=["Invalid captcha response. Please try again."],this.resetCaptcha();return}}else if(!this.captchaResolved&&this.config.captchaKey&&o){this.errors=["You must complete the captcha."];return}}this.errors=[],this.messages=[];let e={};this.submitted=!0,e.serviceTypeId=this.config.service,e.email=this.user.email.toLowerCase(),e.password=yield this.encryptionService.encryptToHash(this.user.password),this.service.authenticate(this.strategy,e).subscribe(this.handleLogin.bind(this))})}handleLogin(e){this.submitted=!1;let o=e.getResponse(),i=o.error,r=o.error?.redirect;e.isSuccess()?(this.messages=e.getMessages(),this.globalState.feedMe()):i?.errors&&i.errors[0]?.message==="Customer is inactive"?this.errors=["Account not activated. Check your email for the activation link that was sent when the account was created."]:i?.errors&&i.errors[0]?.message==="No portal access"?this.errors=["This user is not allowed to login to the portal"]:o.status===401?this.errors=typeof i=="string"?[i]:e.getErrors():this.errors=[o.name+" "+o.statusText+" "+o.status],!r&&!i&&(r="/"),r&&setTimeout(()=>{let f=nt(o.error);return this.router.navigateByUrl(r,{state:{reason:f}})},this.redirectDelay)}resetCaptcha(){this.captcha=new Ce,this.captchaUrl=this.captcha.dataURL,this.captchaGuess=""}resolved(){this.captchaResolved=!0}trimText(e){e instanceof HTMLInputElement&&(e.value=e.value.trim())}_listenForViewportChanges(){"visualViewport"in window&&window.visualViewport&&window.visualViewport.height&&this.form&&(this.initialViewportHeight=window.visualViewport.height,this.viewportResizeListener=this.renderer.listen(window.visualViewport,"resize",()=>{let e=window.visualViewport?.height||this.initialViewportHeight;if(this.form?.nativeElement){let o=this.initialViewportHeight-e;this.renderer.setStyle(this.form.nativeElement,"paddingBottom",`${o>0?o:0}px`)}}))}scrollIntoView(e){setTimeout(()=>{let o=e.target;o&&o.scrollIntoView({behavior:"smooth",block:"center"})},300)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-login"]],viewQuery:function(o,i){if(o&1&&ft(fi,5,je),o&2){let r;Ct(r=xt())&&(i.form=r.first)}},standalone:!1,decls:30,vars:34,consts:[["form","ngForm"],["email","ngModel"],["password","ngModel"],["captcha","ngModel"],[1,"d-flex","justify-content-center"],[3,"ngStyle","src"],["outline","danger","role","alert"],["outline","success","role","alert"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-email"],["nbInput","","fullWidth","","name","email","id","input-email","placeholder","Email address","autofocus","","required","","autocomplete","username",3,"ngModelChange","focus","ngModel","maxlength","status"],["for","input-password"],["nbInput","","fullWidth","","name","password","id","input-password","placeholder","Password","required","","autocomplete","current-password",3,"ngModelChange","focus","ngModel","maxlength","type","status"],["nbSuffix","","nbButton","","type","button","ghost","",1,"eye-btn",3,"click"],["pack","far",1,"d-flex","justify-content-center",3,"icon"],[1,"forgot-password",3,"href"],[1,"form-control-group","accept-group"],["nbButton","","fullWidth","","status","warning",3,"focus","disabled"],["aria-label","Register",1,"another-action"],[1,"alert-title"],[1,"alert-message-list"],[1,"alert-message"],[1,"error-message"],[1,"forgot-password",3,"focus","href"],["name","rememberMe",3,"focus","ngModelChange","ngModel"],["id","captcha",3,"resolved","siteKey"],[1,"label"],[3,"click","src"],["for","input-captcha",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","captcha","id","input-captcha",3,"blur","focus","ngModelChange","status","ngModel"],[1,"text-link","register",3,"href"]],template:function(o,i){if(o&1){let r=P();s(0,"div",4),k(1,"img",5),a(),C(2,bi,8,3,"nb-alert",6),C(3,wi,8,3,"nb-alert",7),s(4,"form",8,0),S("ngSubmit",function(){return _(r),g(i.login())}),s(6,"div",9)(7,"label",10),d(8),m(9,"translate"),a(),s(10,"input",11,1),I("ngModelChange",function(b){return _(r),E(i.user.email,b)||(i.user.email=b),g(b)}),S("focus",function(b){return _(r),g(i.scrollIntoView(b))}),a(),C(12,Si,1,1),a(),s(13,"div",9)(14,"label",12),d(15),m(16,"translate"),a(),s(17,"nb-form-field")(18,"input",13,2),I("ngModelChange",function(b){return _(r),E(i.user.password,b)||(i.user.password=b),g(b)}),S("focus",function(b){return _(r),g(i.scrollIntoView(b))}),a(),s(20,"button",14),S("click",function(b){return _(r),b.preventDefault(),g(i.showPassword=!i.showPassword)}),k(21,"nb-icon",15),a()(),C(22,Ei,1,1),C(23,Ii,3,5,"a",16),a(),C(24,Ti,4,4,"div",17),C(25,Li,2,1),s(26,"button",18),S("focus",function(b){return _(r),g(i.scrollIntoView(b))}),d(27),m(28,"translate"),a(),C(29,Bi,7,10,"section",19),a()}if(o&2){let r=v(5),f=v(11),b=v(19);n(),p("ngStyle",j(32,Ci,i.config.logoWidth??"50vh"))("src",i.config.logoPath,L),n(),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?2:-1),n(),x(i.showMessages.success&&(i.messages!=null&&i.messages.length)&&!i.submitted?3:-1),n(5),h(u(9,26,"Email address:")),n(2),M("ngModel",i.user.email),p("maxlength",i.config.maxEmailLength)("status",f.dirty?f.invalid?"danger":"success":"basic"),V("aria-invalid",f.invalid&&f.touched?!0:null),n(2),x(f.invalid&&f.touched?12:-1),n(3),h(u(16,28,"Password:")),n(3),M("ngModel",i.user.password),p("maxlength",i.config.maxPasswordLength)("type",i.showPassword?"text":"password")("status",b.dirty?b.invalid?"danger":"success":"basic"),V("aria-invalid",b.invalid&&b.touched?!0:null),n(3),p("icon",i.showPassword?"eye-slash":"eye"),n(),x(b.invalid&&b.touched?22:-1),n(),x(i.config.requestPasswordLink!==""?23:-1),n(),x(i.rememberMe?24:-1),n(),x(i.config.captchaKey&&i.config.useCaptchaLogin?25:-1),n(),G("btn-pulse",i.submitted),p("disabled",i.submitted||!r.valid),n(),y(" ",u(28,30,"Log In")," "),n(2),x(i.config.registerLink!==""?29:-1)}},dependencies:[H,ee,J,Q,Z,te,be,$,X,Ve,q,ne,Re,ie,Xe,ke,fe,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px} .nb-theme-default .eye-btn[nbButton]:focus, .nb-theme-default .eye-btn[nbButtonToggle]:focus{-webkit-box-shadow:none!important;box-shadow:none!important}.error-message[_ngcontent-%COMP%]{margin-top:.25rem;color:#e7473b}.forgot-password[_ngcontent-%COMP%]{float:right;margin-top:2px}.forgot-password[_ngcontent-%COMP%], a.register[_ngcontent-%COMP%]{color:#438bbb}"]})}}return t})();var Ni=t=>({width:t});function Wi(t,l){if(t&1&&(s(0,"li",22),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function Ai(t,l){if(t&1&&(s(0,"nb-alert",6)(1,"p",20)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",21),W(6,Wi,2,1,"li",22,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Error")),n(3),A(e.errors)}}function Fi(t,l){if(t&1&&(s(0,"li",22),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function qi(t,l){if(t&1&&(s(0,"nb-alert",7)(1,"p",20)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",21),W(6,Fi,2,1,"li",22,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Hooray!")),n(3),A(e.messages)}}function Di(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function Ki(t,l){if(t&1&&C(0,Di,3,3,"p",23),t&2){c();let e=v(11);x(e.errors!=null&&e.errors.required&&e.dirty?0:-1)}}function ji(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password is required!")," "))}function Oi(t,l){if(t&1&&C(0,ji,3,3,"p",23),t&2){c();let e=v(19);x(e.errors!=null&&e.errors.required?0:-1)}}function Ui(t,l){if(t&1){let e=P();s(0,"a",24),S("focus",function(i){_(e);let r=c();return g(r.scrollIntoView(i))}),d(1),m(2,"translate"),a()}if(t&2){let e=c();p("href",xe("#",e.config.requestPasswordLink),L),n(),h(u(2,3,"Forgot Password?"))}}function zi(t,l){if(t&1){let e=P();s(0,"div",17)(1,"nb-checkbox",25),S("focus",function(i){_(e);let r=c();return g(r.scrollIntoView(i))}),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.rememberMe,i)||(r.user.rememberMe=i),g(i)}),d(2),m(3,"translate"),a()()}if(t&2){let e=c();n(),M("ngModel",e.user.rememberMe),n(),h(u(3,2,"Remember me"))}}function Gi(t,l){if(t&1){let e=P();s(0,"div",17)(1,"re-captcha",26),S("resolved",function(){_(e);let i=c(2);return g(i.resolved())}),a()()}if(t&2){let e=c(2);n(),p("siteKey",e.config.captchaKey)}}function Hi(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Captcha is required!")," "))}function Yi(t,l){if(t&1&&C(0,Hi,3,3,"p",23),t&2){c();let e=v(8);x(e.errors!=null&&e.errors.required?0:-1)}}function Ji(t,l){if(t&1){let e=P();s(0,"span",27),d(1,"Click to change"),a(),s(2,"img",28),S("click",function(){_(e);let i=c(2);return g(i.resetCaptcha())}),a(),s(3,"div",9)(4,"label",29),d(5),m(6,"translate"),a(),s(7,"input",30,3),S("blur",function(i){_(e);let r=c(2);return g(r.trimText(i.target))})("focus",function(i){_(e);let r=c(2);return g(r.scrollIntoView(i))}),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.captchaGuess,i)||(r.captchaGuess=i),g(i)}),a(),C(9,Yi,1,1),a()}if(t&2){let e=v(8),o=c(2);n(2),p("src",o.captchaUrl,L),n(3),h(u(6,6,"Enter Captcha Text:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",o.captchaGuess),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),x(e.invalid&&e.touched?9:-1)}}function Qi(t,l){if(t&1&&C(0,Gi,2,1,"div",17)(1,Ji,10,8),t&2){let e=c();x(e.config.captchaKey!==e.imageCaptchaKey?0:1)}}function Zi(t,l){if(t&1&&(s(0,"section",19),d(1),m(2,"translate"),s(3,"a",31),d(4),m(5,"translate"),m(6,"translate"),a()()),t&2){let e=c();n(),y(" ",u(2,4,"Do not have an account?")," "),n(2),p("href",xe("#",e.config.allowRegister?e.config.registerLink:e.config.contactSalesLink),L),n(),y(" ",e.config.allowRegister?u(5,6,"Register"):u(6,8,"Contact Sales")," ")}}var Or=(()=>{class t extends rt{constructor(){super(...arguments),this.strategy="adminEmail"}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=ut(t)))(i||t)}})()}static{this.\u0275cmp=F({type:t,selectors:[["tm-admin-login"]],standalone:!1,features:[Ue],decls:30,vars:34,consts:[["form","ngForm"],["email","ngModel"],["password","ngModel"],["captcha","ngModel"],[1,"d-flex","justify-content-center"],[3,"ngStyle","src"],["outline","danger","role","alert"],["outline","success","role","alert"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-email"],["nbInput","","fullWidth","","name","email","id","input-email","placeholder","Email address","autofocus","","required","","autocomplete","username",3,"ngModelChange","focus","ngModel","maxlength","status"],["for","input-password"],["nbInput","","fullWidth","","name","password","id","input-password","placeholder","Password","required","","autocomplete","current-password",3,"ngModelChange","focus","ngModel","maxlength","type","status"],["nbSuffix","","nbButton","","type","button","ghost","",1,"eye-btn",3,"click"],["pack","far",1,"d-flex","justify-content-center",3,"icon"],[1,"forgot-password",3,"href"],[1,"form-control-group","accept-group"],["nbButton","","fullWidth","","status","warning",3,"focus","disabled"],["aria-label","Register",1,"another-action"],[1,"alert-title"],[1,"alert-message-list"],[1,"alert-message"],[1,"error-message"],[1,"forgot-password",3,"focus","href"],["name","rememberMe",3,"focus","ngModelChange","ngModel"],["id","captcha",3,"resolved","siteKey"],[1,"label"],[3,"click","src"],["for","input-captcha",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","captcha","id","input-captcha",3,"blur","focus","ngModelChange","status","ngModel"],[1,"text-link","register",3,"href"]],template:function(o,i){if(o&1){let r=P();s(0,"div",4),k(1,"img",5),a(),C(2,Ai,8,3,"nb-alert",6),C(3,qi,8,3,"nb-alert",7),s(4,"form",8,0),S("ngSubmit",function(){return _(r),g(i.login())}),s(6,"div",9)(7,"label",10),d(8),m(9,"translate"),a(),s(10,"input",11,1),I("ngModelChange",function(b){return _(r),E(i.user.email,b)||(i.user.email=b),g(b)}),S("focus",function(b){return _(r),g(i.scrollIntoView(b))}),a(),C(12,Ki,1,1),a(),s(13,"div",9)(14,"label",12),d(15),m(16,"translate"),a(),s(17,"nb-form-field")(18,"input",13,2),I("ngModelChange",function(b){return _(r),E(i.user.password,b)||(i.user.password=b),g(b)}),S("focus",function(b){return _(r),g(i.scrollIntoView(b))}),a(),s(20,"button",14),S("click",function(b){return _(r),b.preventDefault(),g(i.showPassword=!i.showPassword)}),k(21,"nb-icon",15),a()(),C(22,Oi,1,1),C(23,Ui,3,5,"a",16),a(),C(24,zi,4,4,"div",17),C(25,Qi,2,1),s(26,"button",18),S("focus",function(b){return _(r),g(i.scrollIntoView(b))}),d(27),m(28,"translate"),a(),C(29,Zi,7,10,"section",19),a()}if(o&2){let r=v(5),f=v(11),b=v(19);n(),p("ngStyle",j(32,Ni,i.config.logoWidth??"50vh"))("src",i.config.logoPath,L),n(),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?2:-1),n(),x(i.showMessages.success&&(i.messages!=null&&i.messages.length)&&!i.submitted?3:-1),n(5),h(u(9,26,"Email address:")),n(2),M("ngModel",i.user.email),p("maxlength",i.config.maxEmailLength)("status",f.dirty?f.invalid?"danger":"success":"basic"),V("aria-invalid",f.invalid&&f.touched?!0:null),n(2),x(f.invalid&&f.touched?12:-1),n(3),h(u(16,28,"Password:")),n(3),M("ngModel",i.user.password),p("maxlength",i.config.maxPasswordLength)("type",i.showPassword?"text":"password")("status",b.dirty?b.invalid?"danger":"success":"basic"),V("aria-invalid",b.invalid&&b.touched?!0:null),n(3),p("icon",i.showPassword?"eye-slash":"eye"),n(),x(b.invalid&&b.touched?22:-1),n(),x(i.config.requestPasswordLink!==""?23:-1),n(),x(i.rememberMe?24:-1),n(),x(i.config.captchaKey&&i.config.useCaptchaLogin?25:-1),n(),G("btn-pulse",i.submitted),p("disabled",i.submitted||!r.valid),n(),y(" ",u(28,30,"Log In")," "),n(2),x(i.config.registerLink!==""?29:-1)}},dependencies:[H,ee,J,Q,Z,te,be,$,X,Ve,q,ne,Re,ie,Xe,ke,fe,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px} .nb-theme-default .eye-btn[nbButton]:focus, .nb-theme-default .eye-btn[nbButtonToggle]:focus{-webkit-box-shadow:none!important;box-shadow:none!important}.error-message[_ngcontent-%COMP%]{margin-top:.25rem;color:#e7473b}.forgot-password[_ngcontent-%COMP%]{float:right;margin-top:2px}.forgot-password[_ngcontent-%COMP%], a.register[_ngcontent-%COMP%]{color:#438bbb}"]})}}return t})();function Xi(t,l){t&1&&(s(0,"p"),d(1,"Logging out..."),a())}function $i(t,l){if(t&1&&(s(0,"nb-alert",0)(1,"p"),d(2,"Logout failed: "),a(),s(3,"p"),d(4),a()()),t&2){let e=c();n(4),h(e.error)}}var Qr=(()=>{class t{constructor(){this.router=w(le),this.api=w(ve),this.globalStateService=w(we),this.error=""}ngOnInit(){return O(this,null,function*(){if(!Ut()){yield this.router.navigate(["auth/login"]),window.location.reload();return}let e=yield this.api.postPath("logout",{}).toPromise();if(this.globalStateService.clearLocalStorage(),!e.result){this.error=he.extractError(e,"Other sessions may still be active.");return}yield this.router.navigate(["auth/login"]),window.location.reload()})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-logout"]],standalone:!1,decls:2,vars:2,consts:[["status","danger"]],template:function(o,i){o&1&&(C(0,Xi,2,0,"p"),C(1,$i,5,1,"nb-alert",0)),o&2&&(x(i.error?-1:0),n(),x(i.error?1:-1))},dependencies:[q],encapsulation:2})}}return t})();var da=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({imports:[ae,ce,ge,pe,me,Qe,de,$e,se,Se]})}}return t})();var en=t=>({width:t});function tn(t,l){if(t&1&&(s(0,"li",11),d(1),m(2,"translate"),a()),t&2){let e=l.$implicit;n(),h(u(2,1,e))}}function nn(t,l){if(t&1&&(s(0,"nb-alert",7)(1,"ul",10),W(2,tn,3,3,"li",11,N),a()()),t&2){let e=c();n(2),A(e.errors)}}function on(t,l){if(t&1&&(s(0,"li",11),d(1),m(2,"translate"),a()),t&2){let e=l.$implicit;n(),h(u(2,1,e))}}function rn(t,l){if(t&1&&(s(0,"nb-alert",8)(1,"ul",10),W(2,on,3,3,"li",11,N),a()()),t&2){let e=c();n(2),A(e.messages)}}function an(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Company Name is required!")," "))}function sn(t,l){if(t&1&&C(0,an,3,3,"p",23),t&2){c();let e=v(7);x(e.errors!=null&&e.errors.required?0:-1)}}function ln(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Name is required!")," "))}function cn(t,l){if(t&1&&C(0,ln,3,3,"p",23),t&2){c();let e=v(14);x(e.errors!=null&&e.errors.required?0:-1)}}function dn(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function pn(t,l){if(t&1&&C(0,dn,3,3,"p",23),t&2){c();let e=v(21);x(e.errors!=null&&e.errors.required?0:-1)}}function mn(t,l){if(t&1){let e=P();s(0,"div",24)(1,"re-captcha",25),S("resolved",function(){_(e);let i=c(3);return g(i.resolved())}),a()()}if(t&2){let e=c(3);n(),p("siteKey",e.config.captchaKey)}}function un(t,l){t&1&&(s(0,"p",23),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Captcha is required!")," "))}function _n(t,l){if(t&1&&C(0,un,3,3,"p",23),t&2){c();let e=v(8);x(e.errors!=null&&e.errors.required?0:-1)}}function gn(t,l){if(t&1){let e=P();s(0,"span",26),d(1,"Click to change"),a(),s(2,"img",27),S("click",function(){_(e);let i=c(3);return g(i.resetCaptcha())}),a(),s(3,"div",13)(4,"label",28),d(5),m(6,"translate"),a(),s(7,"input",29,4),S("blur",function(i){_(e);let r=c(3);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.captchaGuess,i)||(r.captchaGuess=i),g(i)}),a(),C(9,_n,1,1),a()}if(t&2){let e=v(8),o=c(3);n(2),p("src",o.captchaUrl,L),n(3),h(u(6,6,"Enter Captcha Text:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",o.captchaGuess),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),x(e.invalid&&e.touched?9:-1)}}function hn(t,l){if(t&1&&C(0,mn,2,1,"div",24)(1,gn,10,8),t&2){let e=c(2);x(e.config.captchaKey!==e.imageCaptchaKey?0:1)}}function fn(t,l){if(t&1){let e=P();s(0,"form",12,0),S("ngSubmit",function(){_(e);let i=v(1),r=c();return g(r.contactSales(i))}),s(2,"div",13)(3,"label",14),d(4),m(5,"translate"),a(),s(6,"input",15,1),S("blur",function(i){_(e);let r=c();return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.companyName,i)||(r.user.companyName=i),g(i)}),a(),C(8,sn,1,1),a(),s(9,"div",13)(10,"label",16),d(11),m(12,"translate"),a(),s(13,"input",17,2),S("blur",function(i){_(e);let r=c();return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.name,i)||(r.user.name=i),g(i)}),a(),C(15,cn,1,1),a(),s(16,"div",13)(17,"label",18),d(18),m(19,"translate"),a(),s(20,"input",19,3),S("blur",function(i){_(e);let r=c();return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.email,i)||(r.user.email=i),g(i)}),a(),C(22,pn,1,1),a(),s(23,"div",13)(24,"label",20),d(25),m(26,"translate"),a(),s(27,"tm-intl-phone-input",21),I("valueChange",function(i){_(e);let r=c();return E(r.user.phone,i)||(r.user.phone=i),g(i)}),a()(),C(28,hn,2,1),s(29,"button",22),d(30),m(31,"translate"),a()()}if(t&2){let e=v(1),o=v(7),i=v(14),r=v(21),f=c();n(4),h(u(5,23,"Company Name:")),n(2),p("status",o.dirty?o.invalid?"danger":"success":"basic"),M("ngModel",f.user.companyName),V("aria-invalid",o.invalid&&o.touched?!0:null),n(2),x(o.invalid&&o.touched?8:-1),n(3),h(u(12,25,"Name:")),n(2),p("status",i.dirty?i.invalid?"danger":"success":"basic"),M("ngModel",f.user.name),V("aria-invalid",i.invalid&&i.touched?!0:null),n(2),x(i.invalid&&i.touched?15:-1),n(3),h(u(19,27,"Email:")),n(2),p("status",r.dirty?r.invalid?"danger":"success":"basic"),M("ngModel",f.user.email),V("aria-invalid",r.invalid&&r.touched?!0:null),n(2),x(r.invalid&&r.touched?22:-1),n(3),h(u(26,29,"Phone Number:")),n(2),p("phonePattern",f.phonePattern),M("value",f.user.phone),n(),x(f.config.captchaKey?28:-1),n(),G("btn-pulse",f.submitted),p("disabled",f.submitted||!e.valid),n(),y(" ",u(31,31,"Send")," ")}}var Pa=(()=>{class t{constructor(){this.service=w(ue),this.api=w(ve),this.route=w(_e),this.tmCustomerService=w(it),this.ref=w(Ze,{optional:!0}),this.config=w("config"),this.failed=new re,this.showMessages={error:!0,success:!0},this.user={phone:""},this.showLogo=!0,this.token="",this.errors=[],this.messages=[],this.submitted=!1,this.captchaResolved=!1,this.phonePattern="",this.captchaUrl="",this.captchaGuess="",this.imageCaptchaKey=Me;let o=this.route.snapshot.paramMap.get("token");o&&(this.token=o),this.phonePattern=he.phoneCheck(),this.resetCaptcha()}resetCaptcha(){this.captcha=new Ce,this.captchaUrl=this.captcha.dataURL,this.captchaGuess=""}resolved(){this.captchaResolved=!0}contactSales(e){return O(this,null,function*(){let o=document.getElementById("captcha")?.children.length;if(this.config.captchaKey===this.imageCaptchaKey){if(this.captchaGuess.toLocaleLowerCase()!==this.captcha?.value.toLocaleLowerCase()){this.errors=["Invalid captcha response. Please try again."],this.resetCaptcha();return}}else if(!this.captchaResolved&&this.config.captchaKey&&o){this.errors=["You must complete the captcha."];return}if(this.errors=[],!e.valid){for(let i in e.controls)e.controls[i].markAsTouched();return}this.messages=[],this.user.service=this.config.service,this.user.email=this.user.email?.toLowerCase(),this.token!==""&&(this.user.token=this.token),this.user.userJson=De.json,this.submitted=!0,this.api.postPath("contactsales",this.user).subscribe(i=>{this.submitted=!1,i.error?(this.errors=he.extractErrors(i.error),this.failed.emit(this.errors)):(this.messages=["Your message has been sent! Thank you for contacting us. Our team will be getting back to you shortly."],this.onSave&&this.onSave(this.user),this.ref&&this.ref.close())})})}trimText(e){e instanceof HTMLInputElement&&(e.value=e.value.trim())}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-contact-sales"]],inputs:{onSave:"onSave",showMessages:"showMessages",user:"user",showLogo:"showLogo"},outputs:{failed:"failed"},standalone:!1,decls:5,vars:7,consts:[["form","ngForm"],["companyName","ngModel"],["name","ngModel"],["email","ngModel"],["captcha","ngModel"],[1,"d-flex","justify-content-center"],[3,"ngStyle","src"],["outline","danger","role","alert"],["outline","success","role","alert"],["aria-labelledby","title"],[1,"alert-message-list"],[1,"alert-message"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-companyName",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","companyName","id","input-companyName",3,"blur","ngModelChange","status","ngModel"],["for","input-name",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","name","id","input-name",3,"blur","ngModelChange","status","ngModel"],["for","input-email",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","email","id","input-email","pattern",".+@.+..+",3,"blur","ngModelChange","status","ngModel"],["for","input-phone",1,"label"],["id","inputPhone","name","inputPhone",3,"valueChange","phonePattern","value"],["nbButton","","fullWidth","","status","warning",3,"disabled"],[1,"error-message"],[1,"form-control-group","accept-group"],["id","captcha",3,"resolved","siteKey"],[1,"label"],[3,"click","src"],["for","input-captcha",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","captcha","id","input-captcha",3,"blur","ngModelChange","status","ngModel"]],template:function(o,i){o&1&&(s(0,"div",5),k(1,"img",6),a(),C(2,nn,4,0,"nb-alert",7),C(3,rn,4,0,"nb-alert",8),C(4,fn,32,33,"form",9)),o&2&&(n(),p("ngStyle",j(5,en,i.config.logoWidth??"50vh"))("src",i.config.logoPath,L),n(),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?2:-1),n(),x(i.showMessages.success&&(i.messages!=null&&i.messages.length)&&!i.submitted?3:-1),n(),x(i.messages!=null&&i.messages.length?-1:4))},dependencies:[H,ee,J,Q,Z,te,Je,$,X,q,ne,ie,Yt,Ht,fe,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px}"]})}}return t})();var Da=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({imports:[ae,ce,ge,pe,me,de,se,Jt,Se]})}}return t})();var xn=t=>({width:t});function bn(t,l){if(t&1&&(s(0,"li",8),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function vn(t,l){if(t&1&&(s(0,"nb-alert",5)(1,"p",6)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",7),W(6,bn,2,1,"li",8,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Error")),n(3),A(e.errors)}}function wn(t,l){if(t&1&&(s(0,"li",8),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function yn(t,l){if(t&1&&(s(0,"nb-alert",9)(1,"p",6)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",7),W(6,wn,2,1,"li",8,N),a()(),s(8,"div",10)(9,"a",11),d(10),m(11,"translate"),a()()),t&2){let e=c();n(3),h(u(4,3,"Hooray!")),n(3),A(e.messages),n(3),p("routerLink","/auth/login"),n(),y(" ",u(11,5,"Back to Login")," ")}}function Sn(t,l){if(t&1){let e=P();s(0,"div",19)(1,"re-captcha",20),S("resolved",function(i){_(e);let r=c(3);return g(r.resolved(i))}),a()()}if(t&2){let e=c(3);n(),p("siteKey",e.config.captchaKey)}}function Mn(t,l){t&1&&(s(0,"p",25),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Captcha is required!")," "))}function En(t,l){if(t&1&&C(0,Mn,3,3,"p",25),t&2){c();let e=v(8);x(e.errors!=null&&e.errors.required?0:-1)}}function In(t,l){if(t&1){let e=P();s(0,"span",21),d(1,"Click to change"),a(),s(2,"img",22),S("click",function(){_(e);let i=c(3);return g(i.resetCaptcha())}),a(),s(3,"div",13)(4,"label",23),d(5),m(6,"translate"),a(),s(7,"input",24,2),S("blur",function(i){_(e);let r=c(3);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.captchaGuess,i)||(r.captchaGuess=i),g(i)}),a(),C(9,En,1,1),a()}if(t&2){let e=v(8),o=c(3);n(2),p("src",o.captchaUrl,L),n(3),h(u(6,6,"Enter Captcha Text:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",o.captchaGuess),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),x(e.invalid&&e.touched?9:-1)}}function Tn(t,l){if(t&1&&C(0,Sn,2,1,"div",19)(1,In,10,8),t&2){let e=c(2);x(e.config.captchaKey!==e.imageCaptchaKey?0:1)}}function Pn(t,l){t&1&&(s(0,"p",25),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function Rn(t,l){if(t&1&&C(0,Pn,3,3,"p",25),t&2){c();let e=v(7);x(e.errors!=null&&e.errors.required?0:-1)}}function Vn(t,l){if(t&1){let e=P();s(0,"form",12,0),S("ngSubmit",function(){_(e);let i=c();return g(i.login())}),s(2,"div",13)(3,"label",14),d(4),m(5,"translate"),a(),s(6,"input",15,1),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.email,i)||(r.user.email=i),g(i)}),a(),C(8,Tn,2,1),C(9,Rn,1,1),a(),s(10,"button",16),d(11),m(12,"translate"),a()(),s(13,"section",17)(14,"p")(15,"a",18),d(16),m(17,"translate"),a()()()}if(t&2){let e=v(1),o=v(7),i=c();n(4),h(u(5,12,"Email address:")),n(2),M("ngModel",i.user.email),p("status",o.dirty?o.invalid?"danger":"success":"basic"),V("aria-invalid",o.invalid&&o.touched?!0:null),n(2),x(i.config.captchaKey?8:-1),n(),x(o.invalid&&o.touched?9:-1),n(),G("btn-pulse",i.submitted),p("disabled",i.submitted||!e.valid),n(),y(" ",u(12,14,"Submit")," "),n(4),p("routerLink","/auth/login"),n(),h(u(17,16,"Back to Log In"))}}var Xa=(()=>{class t{constructor(){this.service=w(ue),this.router=w(le),this.config=w("config"),this.translate=w(Ge),this.emailSent=new re,this.failed=new re,this.showMessages={error:!0,success:!0},this.strategy="email",this.errors=[],this.messages=[],this.user={},this.submitted=!1,this.rememberMe=!1,this.captchaResolved=!1,this.captchaUrl="",this.captchaGuess="",this.imageCaptchaKey=Me,this.resetCaptcha()}login(){let e=document.getElementById("captcha")?.children.length;if(this.config.captchaKey===this.imageCaptchaKey){if(this.captchaGuess.toLocaleLowerCase()!==this.captcha?.value.toLocaleLowerCase()){this.errors=["Invalid captcha response. Please try again."],this.resetCaptcha();return}}else if(!this.captchaResolved&&this.config.captchaKey&&e){this.errors=["You must complete the captcha."];return}this.errors=[],this.messages=[],this.submitted=!0,this.user.email=this.user.email.toLowerCase(),this.service.requestPassword(this.strategy,this.user).subscribe(o=>{if(this.submitted=!1,o.isSuccess())this.messages=[this.translate.instant("A password recovery email has been sent to the provided email if it exists in the system.")],this.emailSent.emit(o.getMessages());else{let i=o.getResponse();this.errors=ot(i,"Something went wrong, please try again."),this.failed.emit(this.errors)}})}resetCaptcha(){this.captcha=new Ce,this.captchaUrl=this.captcha.dataURL,this.captchaGuess=""}resolved(e){this.captchaResolved=!0,this.user.captchaResponse=e}trimText(e){e instanceof HTMLInputElement&&(e.value=e.value.trim())}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-request-password"]],inputs:{showMessages:"showMessages"},outputs:{emailSent:"emailSent",failed:"failed"},standalone:!1,decls:5,vars:7,consts:[["form","ngForm"],["email","ngModel"],["captcha","ngModel"],[1,"d-flex","justify-content-center"],[3,"ngStyle","src"],["outline","danger","role","alert"],[1,"alert-title"],[1,"alert-message-list"],[1,"alert-message"],["outline","success","role","alert"],[1,"mt-3"],["nbButton","","status","primary","fullWidth","",1,"d-block","text-center","text-decoration-none",3,"routerLink"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-email",1,"label"],["nbInput","","fullWidth","","name","email","id","input-email","placeholder","Email address","autofocus","","required","",3,"ngModelChange","ngModel","status"],["nbButton","","fullWidth","","status","warning",3,"disabled"],["aria-label","Sign in or sign up",1,"sign-in-or-up"],[3,"routerLink"],[1,"form-control-group","accept-group"],["id","captcha",3,"resolved","siteKey"],[1,"label"],[3,"click","src"],["for","input-captcha",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","captcha","id","input-captcha",3,"blur","ngModelChange","status","ngModel"],[1,"error-message"]],template:function(o,i){o&1&&(s(0,"div",3),k(1,"img",4),a(),C(2,vn,8,3,"nb-alert",5),C(3,yn,12,7),C(4,Vn,18,18)),o&2&&(n(),p("ngStyle",j(5,xn,i.config.logoWidth??"50vh"))("src",i.config.logoPath,L),n(),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?2:-1),n(),x(i.showMessages.success&&(i.messages!=null&&i.messages.length)&&!i.submitted?3:-1),n(),x(i.messages!=null&&i.messages.length?-1:4))},dependencies:[H,ee,J,Q,Z,te,$,X,q,ne,ie,He,fe,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px}"]})}}return t})();var ls=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({imports:[ae,ce,ge,pe,me,de,Ye,se,Se]})}}return t})();var kn=t=>({"max-height":t}),Ln=t=>({width:t});function Bn(t,l){if(t&1&&(s(0,"nb-card-header"),d(1),m(2,"translate"),a()),t&2){let e=c();n(),h(u(2,1,e.isUserForm?"User":"Customer"))}}function Nn(t,l){t&1&&(s(0,"span"),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Check your email for an activation link. It should arrive shortly.")," "))}function Wn(t,l){t&1&&(s(0,"span")(1,"a",20),d(2),m(3,"translate"),a()()),t&2&&(n(2),h(u(3,1,"Click here to login")))}function An(t,l){if(t&1&&T(0,Nn,3,3,"span",19)(1,Wn,4,3,"span",19),t&2){let e=c();p("ngIf",!e.token&&!e.startKitId),n(),p("ngIf",e.token||e.startKitId)}}function Fn(t,l){if(t&1&&(s(0,"div",21),k(1,"img",22),a()),t&2){let e=c();n(),p("ngStyle",j(2,Ln,e.config.logoWidth??"100%"))("src",e.config.logoPath,L)}}function qn(t,l){if(t&1&&(s(0,"li",25),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function Dn(t,l){if(t&1&&(s(0,"nb-alert",17)(1,"p",23)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",24),W(6,qn,2,1,"li",25,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Error")),n(3),A(e.errors)}}function Kn(t,l){t&1&&(s(0,"ul",26)(1,"strong"),d(2,"Get Your Free API Key"),a(),k(3,"br"),s(4,"li"),d(5,"Sign up now to receive a free API key by email\u2014usually within just a few minutes. To activate your key, you'll need to verify your email address by clicking the link in the confirmation email."),a(),s(6,"li"),d(7,"You can then use the key to test our service through our "),s(8,"a",28)(9,"strong"),d(10),a()(),d(11," or directly from your own application."),a(),s(12,"li"),d(13,"If you don't see the email within 10 minutes, be sure to check your spam folder."),a(),s(14,"li"),d(15,"Your test key includes 100 free requests and is valid for 30 days."),a(),s(16,"li"),d(17,"Please note: Wi-Fi and Bluetooth-based indoor positioning (Combain Indoor) is not enabled by default. Check the box below if you'd like to test this feature."),a(),s(18,"li"),d(19,"Join more than 10,000 developers who have already signed up - we are flattered!"),a()()),t&2&&(n(10),h("Online Demo"))}function jn(t,l){if(t&1&&(s(0,"nb-alert",27)(1,"h4"),d(2),m(3,"translate"),a(),s(4,"p"),d(5),m(6,"translate"),a()()),t&2){let e=c(3);n(2),h(u(3,3,"Nali Tag Kit Registration")),n(3),bt("",u(6,5,"Kit id:")," ",e.startKitId)}}function On(t,l){if(t&1&&T(0,jn,7,7,"nb-alert",29),t&2){let e=c(2);p("ngIf",e.startKitId)}}function Un(t,l){t&1&&(s(0,"p",48),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function zn(t,l){t&1&&(s(0,"p",48),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email should be the real one!")," "))}function Gn(t,l){if(t&1&&(U(0),T(1,Un,3,3,"p",47)(2,zn,3,3,"p",47),z()),t&2){c();let e=v(10);n(),p("ngIf",e.errors==null?null:e.errors.required),n(),p("ngIf",e.errors==null?null:e.errors.pattern)}}function Hn(t,l){if(t&1&&(s(0,"b"),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function Yn(t,l){if(t&1&&(s(0,"p",23),T(1,Hn,2,1,"b",54),a()),t&2){let e=c(5);n(),p("ngForOf",e.messages)}}function Jn(t,l){t&1&&(s(0,"p",23)(1,"b"),d(2),m(3,"translate"),a()()),t&2&&(n(2),h(u(3,1,"We have sent invitations to the following emails.")))}function Qn(t,l){if(t&1&&(s(0,"li",25),d(1),a()),t&2){let e=l.$implicit;n(),h(e.email)}}function Zn(t,l){if(t&1&&(s(0,"nb-alert",51),T(1,Yn,2,1,"p",52)(2,Jn,4,3,"p",52),s(3,"ul",24),T(4,Qn,2,1,"li",53),a()()),t&2){let e=c(4);n(),p("ngIf",e.messages),n(),p("ngIf",e.successfulInvitedEmails.length),n(2),p("ngForOf",e.successfulInvitedEmails)}}function Xn(t,l){if(t&1&&(s(0,"p",25)(1,"b"),d(2),a()()),t&2){let e=l.$implicit;n(2),h(e)}}function $n(t,l){t&1&&(s(0,"p",23)(1,"b"),d(2),m(3,"translate"),a()()),t&2&&(n(2),h(u(3,1,"Failed to send emails")))}function eo(t,l){if(t&1&&(s(0,"li",25),d(1),a()),t&2){let e=l.$implicit;n(),h(e.email)}}function to(t,l){if(t&1&&(s(0,"nb-alert",55),T(1,Xn,3,1,"p",53)(2,$n,4,3,"p",52),s(3,"ul",24),T(4,eo,2,1,"li",53),a()()),t&2){let e=c(4);n(),p("ngForOf",e.errors),n(),p("ngIf",e.failedInvitedEmails.length),n(2),p("ngForOf",e.failedInvitedEmails)}}function io(t,l){if(t&1&&(s(0,"li",25),d(1),a()),t&2){let e=l.$implicit;n(),h(e.email)}}function no(t,l){if(t&1&&(s(0,"nb-alert",55)(1,"p",23)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",24),T(6,io,2,1,"li",53),a()()),t&2){let e=c(4);n(3),h(u(4,2,"Already registered emails")),n(3),p("ngForOf",e.registeredInvitedEmails)}}function oo(t,l){if(t&1&&(U(0),T(1,Zn,5,3,"nb-alert",49)(2,to,5,3,"nb-alert",50)(3,no,7,4,"nb-alert",50),z()),t&2){let e=c(3);n(),p("ngIf",e.showMessages.success&&(e.messages==null?null:e.messages.length)&&!e.submitted||e.successfulInvitedEmails.length),n(),p("ngIf",e.showMessages.error&&(e.errors==null?null:e.errors.length)&&!e.submitted||e.failedInvitedEmails.length),n(),p("ngIf",e.registeredInvitedEmails.length)}}function ro(t,l){if(t&1&&(s(0,"li",25),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function ao(t,l){if(t&1&&(s(0,"nb-alert",51)(1,"p",23)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",24),T(6,ro,2,1,"li",53),a()()),t&2){let e=c(4);n(3),h(u(4,2,"Hooray!")),n(3),p("ngForOf",e.messages)}}function so(t,l){if(t&1&&(s(0,"li",25),d(1),m(2,"translate"),a()),t&2){let e=l.$implicit;n(),h(u(2,1,e))}}function lo(t,l){if(t&1&&(s(0,"nb-alert",55)(1,"p",23)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",24),T(6,so,3,3,"li",53),a()()),t&2){let e=c(4);n(3),h(u(4,2,"Error")),n(3),p("ngForOf",e.errors)}}function co(t,l){if(t&1&&T(0,ao,7,4,"nb-alert",49)(1,lo,7,4,"nb-alert",50),t&2){let e=c(3);p("ngIf",e.showMessages.success&&(e.messages==null?null:e.messages.length)&&!e.submitted),n(),p("ngIf",e.showMessages.error&&(e.errors==null?null:e.errors.length)&&!e.submitted)}}function po(t,l){if(t&1){let e=P();s(0,"div",56)(1,"p"),d(2),m(3,"translate"),a(),s(4,"div",57)(5,"input",58),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.invitationURL,i)||(r.invitationURL=i),g(i)}),a(),s(6,"button",59),S("click",function(){_(e);let i=c(3);return g(i.copyInvitationURL())}),k(7,"nb-icon",60),d(8),m(9,"translate"),a()()()}if(t&2){let e=c(3);n(2),h(u(3,3,"The link is valid until 24h")),n(3),M("ngModel",e.invitationURL),n(3),y(" ",u(9,5,"COPY")," ")}}function mo(t,l){t&1&&ht(0)}function uo(t,l){if(t&1){let e=P();U(0),s(1,"nb-tabset",30),S("changeTab",function(i){_(e);let r=c(2);return g(r.selectTab(i))}),s(2,"nb-tab",31),m(3,"translate"),s(4,"div",32)(5,"label",33)(6,"h6"),d(7),m(8,"translate"),a()(),s(9,"textarea",34,2),m(11,"translate"),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.emails,i)||(r.emails=i),g(i)}),a(),s(12,"p"),d(13),m(14,"translate"),a(),T(15,Gn,3,2,"ng-container",19)(16,oo,4,3,"ng-container",18)(17,co,2,2,"ng-template",null,3,qe),a(),k(19,"div",35),s(20,"div",36)(21,"button",37),S("click",function(){_(e);let i=c(2);return g(i.getInvitationLink())}),k(22,"nb-icon",38),d(23),m(24,"translate"),a(),s(25,"nb-checkbox",39),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.isDistributor,i)||(r.isDistributor=i),g(i)}),s(26,"span",40),d(27),m(28,"translate"),a()()(),T(29,po,10,7,"div",41),s(30,"div",42)(31,"button",43),S("click",function(){_(e);let i=c(2);return g(i.cancel())}),d(32),m(33,"translate"),a(),s(34,"button",44),S("click",function(){_(e);let i=c(2);return g(i.send())}),d(35),m(36,"translate"),a()()(),s(37,"nb-tab",45),m(38,"translate"),T(39,mo,1,0,"ng-container",46),a()(),z()}if(t&2){let e=v(10),o=v(18);c();let i=v(5),r=c();n(2),p("tabTitle",ze(u(3,25,"Invite Customer"))),n(5),h(u(8,27,"Email invite")),n(2),p("placeholder",ze(u(11,29,"Enter emails here")))("readonly",r.blockAutofill),M("ngModel",r.emails),p("status",e.dirty?e.invalid?"danger":"success":"basic"),V("aria-invalid",e.invalid&&e.touched?!0:null),n(4),h(u(14,31,"Enter email addresses separated by line brake, comma or space.")),n(2),p("ngIf",e.invalid&&e.touched),n(),p("ngIf",r.selectedTab==="invite_customer")("ngIfElse",o),n(5),p("disabled",r.disableAllActions),n(2),y("",u(24,33,"Invite with link")," "),n(2),M("ngModel",r.isDistributor),n(2),h(u(28,35,"Invite to become distributor")),n(2),p("ngIf",r.invitationURL),n(2),p("disabled",r.disableAllActions),n(),y(" ",u(33,37,"CANCEL")," "),n(2),p("disabled",r.disableAllActions||!r.emails),n(),y(" ",u(36,39,"SEND INVITATION")," "),n(2),p("tabTitle",ze(u(38,41,"Add Customer"))),n(2),p("ngTemplateOutlet",i)}}function _o(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Company name is required!")," "))}function go(t,l){if(t&1&&(U(0),T(1,_o,3,3,"p",75),z()),t&2){c();let e=v(5);n(),p("ngIf",e.errors==null?null:e.errors.required)}}function ho(t,l){if(t&1){let e=P();U(0),s(1,"label",63),d(2),m(3,"translate"),a(),s(4,"input",74,10),S("blur",function(i){_(e);let r=c(4);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(4);return E(r.user.name,i)||(r.user.name=i),g(i)}),a(),T(6,go,2,1,"ng-container",19),z()}if(t&2){let e=v(5),o=c(4);n(2),h(u(3,5,"Company name:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",o.user.name),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),p("ngIf",e.invalid&&e.touched)}}function fo(t,l){if(t&1&&(s(0,"div",62),T(1,ho,7,7,"ng-container",19),a()),t&2){let e=c(3);n(),p("ngIf",!e.isUserForm)}}function Co(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"First name is required!")," "))}function xo(t,l){if(t&1&&(U(0),T(1,Co,3,3,"p",75),z()),t&2){c();let e=v(8);n(),p("ngIf",e.errors==null?null:e.errors.required)}}function bo(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function vo(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email should be the real one!")," "))}function wo(t,l){if(t&1&&(U(0),T(1,bo,3,3,"p",75)(2,vo,3,3,"p",75),z()),t&2){c();let e=v(21);n(),p("ngIf",e.errors==null?null:e.errors.required),n(),p("ngIf",e.errors==null?null:e.errors.pattern)}}function yo(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password is required!")," "))}function So(t,l){if(t&1&&(U(0),T(1,yo,3,3,"p",75),z()),t&2){c();let e=v(28);n(),p("ngIf",e.errors==null?null:e.errors.required)}}function Mo(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password confirmation is required!")," "))}function Eo(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password does not match the confirm password.")," "))}function Io(t,l){if(t&1&&(U(0),T(1,Mo,3,3,"p",75)(2,Eo,3,3,"p",75),z()),t&2){c();let e=v(28),o=v(36);n(),p("ngIf",o.errors==null?null:o.errors.required),n(),p("ngIf",e.value!==o.value&&!(o.errors!=null&&o.errors.required))}}function To(t,l){if(t&1){let e=P();s(0,"div",77)(1,"nb-checkbox",78),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.user.crowdindoor,i)||(r.user.crowdindoor=i),g(i)}),s(2,"strong"),d(3),a(),k(4,"br"),a()(),s(5,"div",77)(6,"nb-checkbox",79),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.user.aiindoor,i)||(r.user.aiindoor=i),g(i)}),s(7,"strong"),d(8),a(),k(9,"br"),a()(),s(10,"div",77)(11,"nb-checkbox",80),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.user.traxmate,i)||(r.user.traxmate=i),g(i)}),s(12,"strong"),d(13),a(),k(14,"br"),a()(),s(15,"div",77)(16,"nb-checkbox",81),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.user.learning,i)||(r.user.learning=i),g(i)}),s(17,"strong"),d(18),a(),k(19,"br"),a()(),s(20,"div",77)(21,"nb-checkbox",82),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.user.terms,i)||(r.user.terms=i),g(i)}),d(22),s(23,"a",83)(24,"strong"),d(25),a()(),s(26,"strong"),d(27," *"),a()()(),s(28,"div",77)(29,"nb-checkbox",84),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.gdpr,i)||(r.gdpr=i),g(i)}),s(30,"strong"),d(31),a(),k(32,"br"),d(33," By checking this box, I acknowledge that my email address will be stored by Combain per our "),s(34,"a",85)(35,"strong"),d(36),a()(),d(37,". Combain might, from time to time, contact you at this email address with updates and new information. We will also add a cookie for your convenience so you can download documents without entering your email address again. However, your downloads will still be tracked by Combain. You can, at any time, unsubscribe from these updates. "),a()()}if(t&2){let e=c(3);n(),M("ngModel",e.user.crowdindoor),n(2),h("Activate Crowd Indoor (Crowdsourced indoor Positioning in 2D)"),n(3),M("ngModel",e.user.aiindoor),n(2),h("Contact me regarding AI Indoor (Survey based Indoor Positioning in 3D)"),n(3),M("ngModel",e.user.traxmate),n(2),h("Contact me regarding Traxmate IoT Tracking Platform (Map, Geofencing, Alerts, etc)"),n(3),M("ngModel",e.user.learning),n(2),h("Can provide training data with GPS for free credits"),n(3),M("ngModel",e.user.terms),n(),y(" ","Agree to"," "),n(),p("href",e.config.termsLink,L),n(2),h("Terms & Conditions"),n(4),M("ngModel",e.gdpr),n(2),h("I agree to terms and conditions ( GDPR ) *"),n(5),h("Privacy Policy")}}function Po(t,l){t&1&&k(0,"nb-spinner",96)}function Ro(t,l){if(t&1&&(k(0,"nb-user",97),m(1,"imageAuth")),t&2){let e=l.item;p("name",e.name)("title",e.shortDescription||e.description||"")("picture",st(1,3,e.pictureurl,!1))}}function Vo(t,l){if(t&1){let e=P();s(0,"span",98),k(1,"nb-user",99),m(2,"imageAuth"),a(),s(3,"span",100),S("click",function(){let i=_(e),r=i.item,f=i.clear;return g(f(r))}),d(4,"\xD7"),a()}if(t&2){let e=l.item;n(),p("name",e.name)("title",e.shortDescription||e.description||"")("picture",st(2,3,e.pictureurl,!1))}}function ko(t,l){if(t&1){let e=P();s(0,"div",62)(1,"label",91),d(2),m(3,"translate"),a(),s(4,"ng-select",92),I("ngModelChange",function(i){_(e);let r=c(4);return E(r.user.accountTemplateId,i)||(r.user.accountTemplateId=i),g(i)}),T(5,Po,1,0,"ng-template",93)(6,Ro,2,6,"ng-template",94)(7,Vo,5,6,"ng-template",95),a()()}if(t&2){let e=c(4);n(2),y("",u(3,9,"Account Template (Optional)"),":"),n(2),M("ngModel",e.user.accountTemplateId),p("items",e.accountTemplates)("clearable",!0)("searchable",!0)("searchFn",e.searchAccTemplateFn)("multiple",!1)("virtualScroll",!0)("loading",e.isFetchingAccountTemplates)}}function Lo(t,l){if(t&1){let e=P();U(0),s(1,"label",63),d(2),m(3,"translate"),a(),s(4,"input",101,11),I("ngModelChange",function(i){_(e);let r=c(4);return E(r.user.apiKey,i)||(r.user.apiKey=i),g(i)}),a(),z()}if(t&2){let e=c(4);n(2),h(e.config.apiKeyDescription||u(3,2,"API Key (Optional):")),n(2),M("ngModel",e.user.apiKey)}}function Bo(t,l){if(t&1){let e=P();s(0,"div",102)(1,"nb-checkbox",103),I("ngModelChange",function(i){_(e);let r=c(4);return E(r.user.roleId,i)||(r.user.roleId=i),g(i)}),s(2,"span",89),d(3),m(4,"translate"),a()()()}if(t&2){let e=c(4);n(),M("ngModel",e.user.roleId),n(2),h(u(4,2,"Add as a Distributor"))}}function No(t,l){if(t&1){let e=P();T(0,ko,8,11,"div",86),s(1,"div",62),T(2,Lo,6,4,"ng-container",19),a(),T(3,Bo,5,4,"div",87),s(4,"div",88)(5,"nb-checkbox",82),I("ngModelChange",function(i){_(e);let r=c(3);return E(r.user.terms,i)||(r.user.terms=i),g(i)}),s(6,"span",89),d(7),m(8,"translate"),a(),s(9,"a",90)(10,"strong"),d(11),m(12,"translate"),a()()()()}if(t&2){let e=c(3);p("ngIf",!e.isUserForm),n(2),p("ngIf",!e.isUserForm),n(),p("ngIf",!e.isUserForm&&(e.globalState.customer==null?null:e.globalState.customer.id)),n(2),M("ngModel",e.user.terms),n(2),y("",u(8,7,"Agree to")," "),n(2),p("href",e.config.termsLink,L),n(2),h(u(12,9,"Terms & Conditions"))}}function Wo(t,l){if(t&1){let e=P();s(0,"div",77)(1,"re-captcha",105),S("resolved",function(i){_(e);let r=c(4);return g(r.resolved(i))}),a()()}if(t&2){let e=c(4);n(),p("siteKey",e.config.captchaKey)}}function Ao(t,l){t&1&&(s(0,"p",76),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Captcha is required!")," "))}function Fo(t,l){if(t&1&&(U(0),T(1,Ao,3,3,"p",75),z()),t&2){c();let e=v(8);n(),p("ngIf",e.errors==null?null:e.errors.required)}}function qo(t,l){if(t&1){let e=P();s(0,"span",89),d(1,"Click to change"),a(),s(2,"img",106),S("click",function(){_(e);let i=c(4);return g(i.resetCaptcha())}),a(),s(3,"div",62)(4,"label",107),d(5),m(6,"translate"),a(),s(7,"input",108,13),S("blur",function(i){_(e);let r=c(4);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(4);return E(r.captchaGuess,i)||(r.captchaGuess=i),g(i)}),a(),T(9,Fo,2,1,"ng-container",19),a()}if(t&2){let e=v(8),o=c(4);n(2),p("src",o.captchaUrl,L),n(3),h(u(6,6,"Enter Captcha Text:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",o.captchaGuess),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),p("ngIf",e.invalid&&e.touched)}}function Do(t,l){if(t&1&&(U(0),T(1,Wo,2,1,"div",104)(2,qo,10,8,"ng-template",null,12,qe),z()),t&2){let e=v(3),o=c(3);n(),p("ngIf",o.config.captchaKey!==o.imageCaptchaKey)("ngIfElse",e)}}function Ko(t,l){if(t&1){let e=P();s(0,"form",61,4),S("ngSubmit",function(){_(e);let i=v(1),r=c(2);return g(r.register(i))}),C(2,fo,2,1,"div",62),s(3,"div",62)(4,"label",63),d(5),m(6,"translate"),a(),s(7,"input",64,5),S("blur",function(i){_(e);let r=c(2);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.user.firstname,i)||(r.user.firstname=i),g(i)}),a(),T(9,xo,2,1,"ng-container",19),a(),s(10,"div",62)(11,"label",63),d(12),m(13,"translate"),a(),s(14,"input",65,6),S("blur",function(i){_(e);let r=c(2);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.user.lastname,i)||(r.user.lastname=i),g(i)}),a()(),s(16,"div",62)(17,"label",66),d(18),m(19,"translate"),a(),s(20,"input",67,7),S("blur",function(i){_(e);let r=c(2);return g(r.trimText(i.target))}),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.user.email,i)||(r.user.email=i),g(i)}),a(),T(22,wo,3,2,"ng-container",19),a(),s(23,"div",62)(24,"label",68),d(25),m(26,"translate"),a(),s(27,"input",69,8),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.user.password,i)||(r.user.password=i),g(i)}),a(),T(29,So,2,1,"ng-container",19),s(30,"tm-password-strength",70),S("strengthChange",function(i){_(e);let r=c(2);return g(r.passStrength=i)}),a()(),s(31,"div",62)(32,"label",71),d(33),m(34,"translate"),a(),s(35,"input",72,9),I("ngModelChange",function(i){_(e);let r=c(2);return E(r.user.confirmPassword,i)||(r.user.confirmPassword=i),g(i)}),a(),T(37,Io,3,2,"ng-container",19),a(),C(38,To,38,15)(39,No,13,11),T(40,Do,4,2,"ng-container",19),s(41,"button",73),d(42),m(43,"translate"),a()()}if(t&2){let e=v(8),o=v(15),i=v(21),r=v(28),f=v(36),b=c(2);n(2),x(b.token?-1:2),n(3),h(u(6,38,"First name:")),n(2),p("status",e.dirty?e.invalid?"danger":"success":"basic"),M("ngModel",b.user.firstname),V("aria-invalid",e.invalid&&e.touched?!0:null),n(2),p("ngIf",e.invalid&&e.touched),n(3),h(u(13,40,"Last name:")),n(2),p("status",o.dirty?o.invalid?"danger":"success":"basic"),M("ngModel",b.user.lastname),V("aria-invalid",o.invalid&&o.touched?!0:null),n(4),h(u(19,42,"Email address:")),n(2),p("maxlength",b.config.maxEmailLength)("status",i.dirty?i.invalid?"danger":"success":"basic")("readonly",b.blockAutofill),M("ngModel",b.user.email),V("aria-invalid",i.invalid&&i.touched?!0:null),n(2),p("ngIf",i.invalid&&i.touched),n(3),h(u(26,44,"Password:")),n(2),M("ngModel",b.user.password),p("readonly",b.blockAutofill)("maxlength",b.config.maxPasswordLength)("status",r.dirty?r.invalid?"danger":"success":"basic"),V("aria-invalid",r.invalid&&r.touched?!0:null),n(2),p("ngIf",r.invalid&&r.touched),n(),p("password",b.user.password||"")("enableFeedback",!0),n(3),h(u(34,46,"Repeat password:")),n(2),M("ngModel",b.user.confirmPassword),p("readonly",b.blockAutofill)("status",f.dirty?f.invalid||r.value!==f.value?"danger":"success":"basic"),V("aria-invalid",f.invalid&&f.touched?!0:null),n(2),p("ngIf",f.invalid&&f.touched),n(),x(b.config.service===2?38:39),n(2),p("ngIf",b.config.captchaKey),n(),G("btn-pulse",b.submitted),p("disabled",b.submitted),n(),y(" ",u(43,48,"Register")," ")}}function jo(t,l){if(t&1&&(U(0),C(1,Kn,20,1,"ul",26),C(2,On,1,1,"nb-alert",27),T(3,uo,40,43,"ng-container",18)(4,Ko,44,50,"ng-template",null,1,qe),z()),t&2){let e=v(5),o=c();n(),x(o.config.service==2&&!o.token?1:-1),n(),x(o.config.service!=2?2:-1),n(),p("ngIf",o.showTabs)("ngIfElse",e)}}var Ts=(()=>{class t{constructor(){this.translate=w(Ge),this.service=w(ue),this.api=w(ve),this.router=w(le),this.route=w(_e),this.tmCustomerService=w(it),this.globalState=w(we),this.ref=w(Ze,{optional:!0}),this.config=w("config"),this.clipboard=w(Qt),this.encryptionService=w(ye),this.meService=w(Ot),this.customerSettingsService=w(Kt),this.registered=new re,this.failed=new re,this.showMessages={error:!0,success:!0},this.user={},this.showLogo=!0,this.showTabs=!1,this.token="",this.startKitId="",this.strategy="email",this.selectedTab="invite_customer",this.errors=[],this.messages=[],this.submitted=!1,this.blockAutofill=!0,this.passStrength=0,this.captchaResolved=!1,this.captchaUrl="",this.captchaGuess="",this.imageCaptchaKey=Me,this.emails="",this.failedInvitedEmails=[],this.successfulInvitedEmails=[],this.registeredInvitedEmails=[],this.isDistributor=!1,this.invitationURL="",this.disableAllActions=!1,this.isUserForm=!1,this.accountTemplates=[],this.isFetchingAccountTemplates=!1,this.customerSettings=jt();let e=this.route.snapshot,o=e.paramMap.get("token");o&&(this.token=o);let i=e.queryParamMap.get("krc");i&&(this.startKitId=i),this.route.data.subscribe(r=>{this.isUserForm=r.isUserForm}),this.resetCaptcha()}ngOnInit(){let e=location.hostname.split(".");e[0]==="indoorsuite2"&&(this.config.termsLink="https://"+e[1]+".com/terms-of-service/"),setTimeout(()=>this.blockAutofill=!1,1e3),this.fetchAccountTemplates()}resetCaptcha(){this.captcha=new Ce,this.captchaUrl=this.captcha.dataURL,this.captchaGuess=""}copyInvitationURL(){this.clipboard.copy(this.invitationURL)}cancel(){this.ref.close()}getInvitationLink(){return O(this,null,function*(){this.disableAllActions=!0;let e=yield this.api.getPath("customer/invite",{params:{distributor:this.isDistributor}}).toPromise();this.disableAllActions=!1,e.error?(console.error("Something went wrong on fetching customer invitation link",e.error),this.errors=[this.translate.instant("Something went wrong on fetching customer invitation link"),he.extractError(e.error)],this.showMessages.error=!0):(this.invitationURL=e.url,this.errors=[])})}processTranslate(e){let o=[];for(let i of e){let r=i.lastIndexOf('"'),f=i.substring(r+1),b=this.translate.instant(f.trim());o.push({email:i.substring(0,r+1)+" "+b})}return o}sendInvites(e){return O(this,null,function*(){if(!e)return;let o=yield this.api.postPath("customer/invite",{distributor:this.isDistributor,emails:e}).toPromise();if(o.error||o.invited[0].status==="Failed"){let r=he.extractErrors(o.error)[0].split(". ");this.failedInvitedEmails.push(...this.processTranslate(r)),this.showMessages.error=!0}else{for(let i of o.invited)i.status==="Success"?this.successfulInvitedEmails.push(i):i.status==="Already registered"&&this.registeredInvitedEmails.push(i);this.showMessages.success=!0}})}send(){let e=/.+@.+\.\w{2,10}/,o=this.emails.split(/[,;\n ]/),i=[],r=" "+this.translate.instant("must be a valid email");this.showMessages.error=!1,this.showMessages.success=!1,this.successfulInvitedEmails=[],this.registeredInvitedEmails=[],this.failedInvitedEmails=[];for(let f of o)e.test(f)?i.push(f.toLowerCase()):f.length>0&&(this.failedInvitedEmails.push({email:`"${f}"`+r}),this.showMessages.error=!0);i.length!==0&&this.sendInvites(i)}resolved(e){this.captchaResolved=!0,this.user.captchaResponse=e}selectTab(e){(e.tabId==="invite_customer"||e.tabId==="add_customer")&&(this.selectedTab=e.tabId)}register(e){return O(this,null,function*(){let o=document.getElementById("captcha")?.children.length;if(this.config.captchaKey===this.imageCaptchaKey){if(this.captchaGuess.toLocaleLowerCase()!==this.captcha?.value.toLocaleLowerCase()){this.errors=["Invalid captcha response. Please try again."],this.resetCaptcha(),this.scrollToErrors();return}}else if(!this.captchaResolved&&this.config.captchaKey&&o){this.errors=["You must complete the captcha."],this.scrollToErrors();return}if(!this.user.terms){this.errors=[this.translate.instant("You must agree to the terms and conditions.")],this.scrollToErrors();return}if(!this.gdpr){this.errors=[this.translate.instant("You must agree to GDPR.")],this.scrollToErrors();return}if(this.user.confirmPassword!==this.user.password){this.errors=[this.translate.instant("Password mismatch.")],this.scrollToErrors();return}if(this.errors=[],!e.valid){for(let r in e.controls)e.controls[r].markAsTouched();return}this.messages=[],this.user.serviceTypeId=this.config.service,this.user.email=this.user.email?.toLowerCase(),this.token&&(this.user.token=this.token),this.startKitId!==""&&(this.user.startKitId=this.startKitId),this.isUserForm?this.user.json=De.json:this.user.userJson=De.json,this.user.roleId=Number(this.user.roleId)||null,this.user.apiKey?.trim().length===0&&delete this.user.apiKey;let i=this.user.password;if(this.user.password&&this.user.confirmPassword&&(this.user.password=yield this.encryptionService.encryptToHash(this.user.password),this.user.confirmPassword=yield this.encryptionService.encryptToHash(this.user.confirmPassword)),(yield this.service.isAuthenticated().toPromise())&&this.token===""&&!this.isUserForm){let r=yield this.tmCustomerService.post(this.user);this.submitted=!1,this.user.password=i,this.user.confirmPassword=i,r.error?(this.errors=he.extractErrors(r.error),this.failed.emit(this.errors)):(r?.roleId===1&&(yield this.meService.updateCustomerRole(r),this.customerSettings.scope="distributor",yield this.customerSettingsService.postCustomerSettings(this.customerSettings,r.service.id)),this.registered.emit(this.user),this.onSave&&this.onSave(this.user),this.ref&&this.ref.close())}else this.api.postPath(this.isUserForm?"register":"register/customer",this.user).subscribe(r=>{this.submitted=!1,this.user.password=i,this.user.confirmPassword=i,r.id?(this.messages=[this.translate.instant("Your account has been successfully registered.")],this.registered.emit(this.user),this.onSave&&this.onSave(this.user),this.ref&&this.ref.close()):(this.errors=he.extractErrors(r.error),this.errors.map(f=>this.translate.instant(f)),this.failed.emit(this.errors),this.scrollToErrors())})})}fetchAccountTemplates(){this.isFetchingAccountTemplates=!0,this.api.getPath("account-template").toPromise().then(e=>{e.data?.length&&(this.accountTemplates=e.data,this.user.accountTemplateId=this.accountTemplates.filter(o=>o.isDefault)[0].id)}).finally(()=>this.isFetchingAccountTemplates=!1)}searchAccTemplateFn(e,o){return o.name.toLowerCase().includes(e.toLowerCase())}trimText(e){e instanceof HTMLInputElement&&(e.value=e.value.trim())}scrollToErrors(){setTimeout(function(){document.getElementById("errors")?.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})},100)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-register"]],inputs:{onSave:"onSave",showMessages:"showMessages",user:"user",showLogo:"showLogo",showTabs:"showTabs"},outputs:{registered:"registered",failed:"failed"},standalone:!1,decls:8,vars:8,consts:[["login",""],["registerTemplate",""],["invEmail","ngModel"],["notPopup",""],["form","ngForm"],["firstname","ngModel"],["lastname","ngModel"],["email","ngModel"],["password","ngModel"],["rePass","ngModel"],["companyName","ngModel"],["apikey","ngModel"],["imageCaptcha",""],["captcha","ngModel"],["status","primary"],[3,"ngStyle"],["class","d-flex justify-content-center p-3",4,"ngIf"],["id","errors","outline","danger","role","alert"],[4,"ngIf","ngIfElse"],[4,"ngIf"],["href","#/auth/login",1,"text-link"],[1,"d-flex","justify-content-center","p-3"],[3,"ngStyle","src"],[1,"alert-title"],[1,"alert-message-list"],[1,"alert-message"],[1,"regInfo"],["status","primary",1,"startkit"],["href","https://combain.com/api","target","_blank"],["class","startkit","status","primary",4,"ngIf"],["fullWidth","",3,"changeTab"],["tabId","invite_customer",3,"tabTitle"],[1,"form-control-group","inv-email-wrapper"],["for","input-inv-mail",1,"label"],["nbInput","","required","","id","input-inv-email","name","email","fullWidth","","role","presentation","autocomplete","off","aria-autocomplete","none",3,"ngModelChange","readonly","ngModel","placeholder","status"],[1,"separator"],[1,"mb-2","d-flex","justify-content-between","align-items-center"],["nbButton","","ghost","",1,"text-deco-unset",3,"click","disabled"],["icon","link",2,"font-size","1.15rem"],[1,"ml-5",3,"ngModelChange","ngModel"],[1,"same-with-btn"],["class","w-100",4,"ngIf"],[1,"d-flex","justify-content-between","align-items-center","w-100","mt-5"],["nbButton","","status","warning",3,"click","disabled"],["nbButton","","status","primary",3,"click","disabled"],["tabId","add_customer",3,"tabTitle"],[4,"ngTemplateOutlet"],["class","error-message mt-2 text-danger",4,"ngIf"],[1,"error-message","mt-2","text-danger"],["outline","success","role","alert",4,"ngIf"],["outline","danger","role","alert",4,"ngIf"],["outline","success","role","alert"],["class","alert-title",4,"ngIf"],["class","alert-message",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],["outline","danger","role","alert"],[1,"w-100"],[1,"d-flex","gap-2"],["id","callback-url","type","text","nbInput","","fullWidth","","fieldSize","small","readonly","",3,"ngModelChange","ngModel"],["nbSuffix","","nbButton","","status","success",1,"fieldsize-small","copy-btn",3,"click"],["icon","copy","pack","far"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-name",1,"label"],["nbInput","","required","","fullWidth","","id","input-firstname","name","firstname",3,"blur","ngModelChange","status","ngModel"],["nbInput","","fullWidth","","id","input-lastname","name","lastname",3,"blur","ngModelChange","status","ngModel"],["for","input-email",1,"label"],["nbInput","","required","","fullWidth","","id","input-email","name","email","pattern",".+@.+..+","role","presentation","autocomplete","off","aria-autocomplete","none",3,"blur","ngModelChange","maxlength","status","readonly","ngModel"],["for","input-password",1,"label"],["nbInput","","required","","type","password","id","input-password","name","password","autoComplete","new-password","aria-autocomplete","none","fullWidth","",3,"ngModelChange","ngModel","readonly","maxlength","status"],[3,"strengthChange","password","enableFeedback"],["for","input-re-password",1,"label"],["nbInput","","required","","type","password","id","input-re-password","name","rePass","fullWidth","",3,"ngModelChange","ngModel","readonly","status"],["nbButton","","type","submit","fullWidth","","status","success",3,"disabled"],["nbInput","","required","","fullWidth","","name","companyName",3,"blur","ngModelChange","status","ngModel"],["class","error-message",4,"ngIf"],[1,"error-message"],[1,"form-control-group","accept-group"],["name","crowdindoor",3,"ngModelChange","ngModel"],["name","aiindoor",3,"ngModelChange","ngModel"],["name","traxmate",3,"ngModelChange","ngModel"],["name","learning",3,"ngModelChange","ngModel"],["name","terms",3,"ngModelChange","ngModel"],["target","_blank",3,"href"],["name","gdpr","required","",3,"ngModelChange","ngModel"],["href","https://combain.com/about/privacy-policy/","target","_blank"],["class","form-control-group",4,"ngIf"],["class","form-control-group input-checkbox",4,"ngIf"],[1,"form-control-group","accept-group","checkbox-input","mt-3"],[1,"label"],["target","_blank",1,"label-text-a",3,"href"],["for","accountTemplateId",1,"label"],["id","accountTemplateId","name","accountTemplateId","bindValue","id","bindLabel","name",3,"ngModelChange","ngModel","items","clearable","searchable","searchFn","multiple","virtualScroll","loading"],["ng-loadingspinner-tmp",""],["ng-option-tmp",""],["ng-label-tmp",""],["size","tiny","status","primary","message","",1,"ng-select-spinner"],["size","medium",1,"fill-width",3,"name","title","picture"],[1,"ng-value-label"],["size","medium",1,"fill-width",2,"max-width","312px",3,"name","title","picture"],["aria-hidden","true",1,"ng-value-icon","right",2,"font-size","1rem",3,"click"],["nbInput","","name","apikey","fullWidth","",3,"ngModelChange","ngModel"],[1,"form-control-group","input-checkbox"],["name","roleId",3,"ngModelChange","ngModel"],["class","form-control-group accept-group",4,"ngIf","ngIfElse"],["id","captcha",3,"resolved","siteKey"],[3,"click","src"],["for","input-captcha",1,"label"],["nbInput","","fullWidth","","autofocus","","required","","name","captcha","id","input-captcha",3,"blur","ngModelChange","status","ngModel"]],template:function(o,i){if(o&1&&(s(0,"nb-card",14),C(1,Bn,3,3,"nb-card-header"),s(2,"nb-card-body",15),T(3,An,2,2,"ng-template",null,0,qe)(5,Fn,2,4,"div",16),C(6,Dn,8,3,"nb-alert",17),T(7,jo,6,4,"ng-container",18),a()()),o&2){let r=v(4);n(),x(i.config.service!=2?1:-1),n(),p("ngStyle",j(6,kn,i.ref?"90vh":"unset")),n(3),p("ngIf",i.showLogo),n(),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?6:-1),n(),p("ngIf",!i.messages||!i.messages.length)("ngIfElse",r)}},dependencies:[vt,wt,yt,H,ee,J,Q,Z,te,be,Je,$,X,Ve,q,ne,It,Et,Mt,ie,Bt,Rt,Pt,kt,Re,ke,qt,Wt,At,Ft,fe,Xt,zt,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px;width:100%}.startkit[_ngcontent-%COMP%]{text-align:center}.startkit[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{color:#eee!important}.startkit[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:0}.separator[_ngcontent-%COMP%]{margin-top:1rem;margin-bottom:1rem;border-bottom:1px solid #edf1f7}.inv-email-wrapper[_ngcontent-%COMP%]{min-height:7.5rem}.checkbox-input[_ngcontent-%COMP%]{margin-top:.5rem;margin-bottom:.5rem}.text-deco-unset[_ngcontent-%COMP%]{text-transform:unset!important}.same-with-btn[_ngcontent-%COMP%]{font-size:.875rem;color:#8f9bb3;font-weight:600}.ng-select-spinner[_ngcontent-%COMP%]{position:relative;background-color:transparent!important}.form-control-group[_ngcontent-%COMP%]{margin-bottom:.5rem}textarea[_ngcontent-%COMP%]{height:10vh;font-size:.9375rem!important}ul.regInfo[_ngcontent-%COMP%]{padding-left:24px;margin-bottom:24px}"]})}}return t})();var js=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({imports:[ae,Zt,ce,Gt,ge,pe,me,Tt,de,Nt,Vt,Lt,Qe,$e,Dt,se,Se,$t]})}}return t})();var Oo=t=>({width:t});function Uo(t,l){if(t&1&&(s(0,"li",12),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function zo(t,l){if(t&1&&(s(0,"nb-alert",6)(1,"p",10)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",11),W(6,Uo,2,1,"li",12,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Error")),n(3),A(e.errors)}}function Go(t,l){if(t&1&&(s(0,"li",12),d(1),a()),t&2){let e=l.$implicit;n(),h(e)}}function Ho(t,l){if(t&1&&(s(0,"nb-alert",13)(1,"p",10)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",11),W(6,Go,2,1,"li",12,N),a()(),s(8,"div",14)(9,"a",15),d(10),m(11,"translate"),a()()),t&2){let e=c();n(3),h(u(4,3,"Hooray!")),n(3),A(e.messages),n(3),p("routerLink","/auth/login"),n(),y(" ",u(11,5,"Back to Login")," ")}}function Yo(t,l){t&1&&(s(0,"p",24),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password is required!")," "))}function Jo(t,l){if(t&1&&C(0,Yo,3,3,"p",24),t&2){c();let e=v(7);x(e.errors!=null&&e.errors.required?0:-1)}}function Qo(t,l){t&1&&(s(0,"p",24),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password confirmation is required!")," "))}function Zo(t,l){t&1&&(s(0,"p",24),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password does not match the confirm password.")," "))}function Xo(t,l){if(t&1&&(C(0,Qo,3,3,"p",24),C(1,Zo,3,3,"p",24)),t&2){c();let e=v(7),o=v(14);x(o.invalid&&(o.errors!=null&&o.errors.required)?0:-1),n(),x(e.value!==o.value&&!(o.errors!=null&&o.errors.required)?1:-1)}}function $o(t,l){if(t&1){let e=P();s(0,"form",16,0),S("ngSubmit",function(){_(e);let i=c();return g(i.resetPass())}),s(2,"div",17)(3,"label",18),d(4),m(5,"translate"),a(),s(6,"input",19,1),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.password,i)||(r.user.password=i),g(i)}),a(),C(8,Jo,1,1),a(),s(9,"div",20)(10,"label",21),d(11),m(12,"translate"),a(),s(13,"input",22,2),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.confirmPassword,i)||(r.user.confirmPassword=i),g(i)}),a(),C(15,Xo,2,2),a(),s(16,"button",23),d(17),m(18,"translate"),a()()}if(t&2){let e=v(1),o=v(7),i=v(14),r=c();n(4),h(u(5,16,"New Password:")),n(2),M("ngModel",r.user.password),p("maxlength",r.config.maxPasswordLength)("status",o.dirty?o.invalid?"danger":"success":"basic"),V("aria-invalid",o.invalid&&o.touched?!0:null),n(2),x(o.invalid&&o.touched?8:-1),n(3),h(u(12,18,"Confirm Password:")),n(2),M("ngModel",r.user.confirmPassword),p("maxlength",r.config.maxPasswordLength)("status",i.touched?i.invalid||o.value!==i.value?"danger":"success":"basic"),V("aria-invalid",i.invalid&&i.touched?!0:null),n(2),x(i.touched?15:-1),n(),G("btn-pulse",r.submitted),p("disabled",r.submitted||!e.valid||r.user.password!==r.user.confirmPassword),n(),y(" ",u(18,20,"Change password")," ")}}var Zs=(()=>{class t{constructor(){this.service=w(ue),this.router=w(le),this.route=w(_e),this.config=w("config"),this.encryptionService=w(ye),this.showMessages={error:!0},this.strategy="email",this.errors=[],this.messages=[],this.user={},this.submitted=!1,this.rememberMe=!1,this.fakePass=0,this.reason="Please set a new password.",this.user.token=this.route.snapshot.paramMap.get("token"),this.fakePass=+(localStorage.getItem("fake-pass")||0),localStorage.removeItem("fake-pass");let e=this.router.currentNavigation()?.extras.state?.reason;e&&(this.reason=e)}resetPass(){return O(this,null,function*(){this.errors=[],this.messages=[],this.submitted=!0,this.user.email=this.user.email?.toLowerCase();let e=this.user.password;this.user.password&&this.user.confirmPassword&&(this.user.password=yield this.encryptionService.encryptToHash(this.user.password),this.user.confirmPassword=yield this.encryptionService.encryptToHash(this.user.confirmPassword)),this.service.resetPassword(this.strategy,this.user).subscribe(o=>{if(this.submitted=!1,this.user.password=e,this.user.confirmPassword=e,o.isSuccess())this.messages=o.getMessages(),this.showMessages.success=!0,this.fakePass&&setTimeout(()=>O(this,null,function*(){yield this.router.navigate(["/pages/settings/accountedit"]),window.location.reload()}),500);else{let i=o.getResponse();this.errors=ot(i,"Something went wrong, please try again.")}})})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-reset-password"]],standalone:!1,decls:13,vars:14,consts:[["resetPassForm","ngForm"],["password","ngModel"],["rePass","ngModel"],[1,"d-flex","justify-content-center"],[3,"ngStyle","src"],[1,"sub-title"],["outline","danger","role","alert"],["aria-labelledby","title"],["aria-label","Sign in or sign up",1,"sign-in-or-up"],[3,"routerLink"],[1,"alert-title"],[1,"alert-message-list"],[1,"alert-message"],["outline","success","role","alert"],[1,"mt-3"],["nbButton","","status","primary","fullWidth","",1,"d-block","text-center","text-decoration-none",3,"routerLink"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-password",1,"label"],["nbInput","","required","","type","password","id","input-password","name","password","placeholder","New Password","autofocus","","fullWidth","","autocomplete","new-password",1,"first",3,"ngModelChange","ngModel","maxlength","status"],[1,"form-group"],["for","input-re-password",1,"label"],["nbInput","","required","","id","input-re-password","name","rePass","type","password","placeholder","Confirm Password","fullWidth","","autocomplete","new-password",1,"last",3,"ngModelChange","ngModel","maxlength","status"],["nbButton","","status","success","fullWidth","",3,"disabled"],[1,"error-message"]],template:function(o,i){o&1&&(s(0,"div",3),k(1,"img",4),a(),s(2,"p",5),d(3),m(4,"translate"),a(),C(5,zo,8,3,"nb-alert",6),C(6,Ho,12,7),C(7,$o,19,22,"form",7),s(8,"section",8)(9,"p")(10,"a",9),d(11),m(12,"translate"),a()()()),o&2&&(n(),p("ngStyle",j(12,Oo,i.config.logoWidth??"50vh"))("src",i.config.logoPath,L),n(2),h(u(4,8,i.reason)),n(2),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?5:-1),n(),x(i.showMessages.success&&(i.messages!=null&&i.messages.length)&&!i.submitted?6:-1),n(),x(i.messages!=null&&i.messages.length?-1:7),n(3),p("routerLink","/auth/login"),n(),h(u(12,10,"Back to Log In")))},dependencies:[H,ee,J,Q,Z,te,be,$,X,q,ne,ie,He,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px}"]})}}return t})();var sl=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({imports:[ae,ce,ge,pe,me,de,Ye,se]})}}return t})();var er=t=>({width:t});function tr(t,l){if(t&1&&(s(0,"h4"),d(1),a()),t&2){let e=c();n(),y("Connect your customer account to ",e.config.copyright,".")}}function ir(t,l){if(t&1&&(s(0,"h4"),d(1),a()),t&2){let e=c();n(),y("Connect your user account to ",e.config.copyright,".")}}function nr(t,l){if(t&1&&(s(0,"li",10),d(1),m(2,"translate"),a()),t&2){let e=l.$implicit;n(),h(u(2,1,e))}}function or(t,l){if(t&1&&(s(0,"nb-alert",5)(1,"p",8)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",9),W(6,nr,3,3,"li",10,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Error")),n(3),A(e.errors)}}function rr(t,l){if(t&1&&(s(0,"li",10),d(1),m(2,"translate"),a()),t&2){let e=l.$implicit;n(),h(u(2,1,e))}}function ar(t,l){if(t&1&&(s(0,"nb-alert",6)(1,"p",8)(2,"b"),d(3),m(4,"translate"),a()(),s(5,"ul",9),W(6,rr,3,3,"li",10,N),a()()),t&2){let e=c();n(3),h(u(4,1,"Hooray!")),n(3),A(e.messages)}}function sr(t,l){t&1&&(s(0,"p",19),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Email is required!")," "))}function lr(t,l){if(t&1&&C(0,sr,3,3,"p",19),t&2){c();let e=v(7);x(e.errors!=null&&e.errors.required?0:-1)}}function cr(t,l){t&1&&(s(0,"p",19),d(1),m(2,"translate"),a()),t&2&&(n(),y(" ",u(2,1,"Password is required!")," "))}function dr(t,l){if(t&1&&C(0,cr,3,3,"p",19),t&2){c();let e=v(14);x(e.errors!=null&&e.errors.required?0:-1)}}function pr(t,l){if(t&1&&(s(0,"a",17),d(1),m(2,"translate"),a()),t&2){let e=c(2);p("href",xe("#",e.config.requestPasswordLink),L),n(),h(u(2,3,"Forgot Password?"))}}function mr(t,l){if(t&1){let e=P();s(0,"form",11,0),S("ngSubmit",function(){_(e);let i=c();return g(i.login())}),s(2,"div",12)(3,"label",13),d(4),m(5,"translate"),a(),s(6,"input",14,1),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.email,i)||(r.user.email=i),g(i)}),a(),C(8,lr,1,1),a(),s(9,"div",12)(10,"label",15),d(11),m(12,"translate"),a(),s(13,"input",16,2),I("ngModelChange",function(i){_(e);let r=c();return E(r.user.password,i)||(r.user.password=i),g(i)}),a(),C(15,dr,1,1),C(16,pr,3,5,"a",17),a(),s(17,"button",18),d(18),m(19,"translate"),a()()}if(t&2){let e=v(1),o=v(7),i=v(14),r=c();n(4),h(u(5,15,"Email address:")),n(2),M("ngModel",r.user.email),p("status",o.dirty?o.invalid?"danger":"success":"basic"),V("aria-invalid",o.invalid&&o.touched?!0:null),n(2),x(o.invalid&&o.touched?8:-1),n(3),h(u(12,17,"Password:")),n(2),M("ngModel",r.user.password),p("status",i.dirty?i.invalid?"danger":"success":"basic"),V("aria-invalid",i.invalid&&i.touched?!0:null),n(2),x(i.invalid&&i.touched?15:-1),n(),x(r.config.requestPasswordLink!==""?16:-1),n(),G("btn-pulse",r.submitted),p("disabled",r.submitted||!e.valid||!r.mode),n(),y(" ",u(19,19,"Log In")," ")}}var at=(function(t){return t.SLACK_ADMIN="slack-admin",t.SLACK_USER="slack-user",t})(at||{}),fl=(()=>{class t extends rt{constructor(){let e=w(ue),o=w(et),i=w(we),r=w(le),f=w(_e),b=w(tt),R=w("config"),B=w(ye),We=w(Oe);super(e,o,i,r,f,b,R,B,We),this.api=w(ve),this.Modes=at,this.handleResult=lt=>{if(this.submitted=!1,!lt.error)this.messages=["Account linked to Slack!","You can close this tab and use the "+this.config.copyright+" App in your workspace now."];else{let Ae=nt(lt.error);Ae==="Customer is inactive"?Ae="Account not activated. Check your email for the activation link that was sent when the account was created.":Ae==="Unauthorized"&&(Ae="Wrong email or password"),this.errors=[Ae]}};let Pe=f.snapshot.queryParamMap;this.user.code=Pe.get("code")||void 0,this.user.state=Pe.get("state")||void 0,this.user.userId=Pe.get("user_id")||void 0,this.user.teamId=Pe.get("team_id")||void 0,this.user.code&&this.user.state?this.mode=at.SLACK_ADMIN:this.user.userId&&this.user.teamId&&(this.mode=at.SLACK_USER),!this.mode&&(this.errors=["Invalid request"])}login(){return this.mode&&(this.errors=[],this.messages=[],this.submitted=!0,this.user.email=this.user.email.toLowerCase(),this.api.postPath("slack-register",this.user).subscribe(this.handleResult.bind(this))),Promise.resolve()}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=F({type:t,selectors:[["tm-slack"]],standalone:!1,features:[Ue],decls:9,vars:9,consts:[["form","ngForm"],["email","ngModel"],["password","ngModel"],[1,"d-flex","justify-content-center"],[3,"ngStyle","src"],["outline","danger","role","alert"],["outline","success","role","alert"],["aria-labelledby","title"],[1,"alert-title"],[1,"alert-message-list"],[1,"alert-message"],["aria-labelledby","title",3,"ngSubmit"],[1,"form-control-group"],["for","input-email",1,"label"],["nbInput","","fullWidth","","name","email","id","input-email","placeholder","Email address","autofocus","","required","",3,"ngModelChange","ngModel","status"],["for","input-password",1,"label"],["nbInput","","fullWidth","","name","password","type","password","id","input-password","placeholder","Password","required","",3,"ngModelChange","ngModel","status"],[1,"forgot-password",2,"float","right","margin-top","2px",3,"href"],["nbButton","","fullWidth","","status","warning",3,"disabled"],[1,"error-message"]],template:function(o,i){o&1&&(s(0,"div",3),k(1,"img",4),a(),C(2,tr,2,1,"h4"),C(3,ir,2,1,"h4"),k(4,"br")(5,"br"),C(6,or,8,3,"nb-alert",5),C(7,ar,8,3,"nb-alert",6),C(8,mr,20,21,"form",7)),o&2&&(n(),p("ngStyle",j(7,er,i.config.logoWidth??"50vh"))("src",i.config.logoPath,L),n(),x(i.mode===i.Modes.SLACK_ADMIN?2:-1),n(),x(i.mode===i.Modes.SLACK_USER?3:-1),n(3),x(i.showMessages.error&&(i.errors!=null&&i.errors.length)&&!i.submitted?6:-1),n(),x(i.showMessages.success&&(i.messages!=null&&i.messages.length)&&!i.submitted?7:-1),n(),x(i.messages!=null&&i.messages.length?-1:8))},dependencies:[H,ee,J,Q,Z,te,$,X,ie,ne,q,Y],styles:["img[_ngcontent-%COMP%]{margin-bottom:32px}h4[_ngcontent-%COMP%]{text-align:center}"]})}}return t})();var Ml=(()=>{class t{static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275mod=K({type:t})}static{this.\u0275inj=D({imports:[ae,ce,de,me,pe,se]})}}return t})();export{rt as a,Or as b,Qr as c,da as d,Pa as e,Da as f,Xa as g,ls as h,Ts as i,js as j,Zs as k,sl as l,fl as m,Ml as n};