PageSourceSearch

https://app.cognicube.ai/chunk-MCZUXWAG.js

js cognicube.ai collected 2026-10-05 11:56:22 UTC 5,291 bytes, 1 lines download raw bytes

1import{A as R,C as T,c as O,e as d,h as S,i as k,m as I,q as E,r as N,x as D,y as z}from"./chunk-AVVUPC4U.js";import{a as V}from"./chunk-MXJEMLNA.js";import{b as M}from"./chunk-OHGAKBXO.js";import{d as P}from"./chunk-QPWLRHUH.js";import"./chunk-DHEY2U5O.js";import{n as _,x as v}from"./chunk-KT3MDBFJ.js";import{Ac as a,Bb as b,Bc as y,Cc as C,Da as h,Hb as x,Na as c,Sb as p,bc as r,cc as o,dc as u,la as m,lc as w,mc as g,nb as s,sb as f}from"./chunk-ZYY6ZGPJ.js";import"./chunk-O44YI6V6.js";function q(e,l){if(e&1&&(r(0,"p",13),a(1),o()),e&2){let t=g();s(),C("Length: ",t.form.controls.password.value.length," (min 8)")}}function F(e,l){if(e&1&&(r(0,"p",14),a(1),o()),e&2){let t=g();s(),y(t.error())}}var Y="onboarding_setup_token";function G(e){let l=e.get("password")?.value,t=e.get("confirm")?.value;return l&&t&&l!==t?{passwordMismatch:!0}:null}var $=(()=>{class e{constructor(t,n){this.router=t,this.auth=n,this.destroyRef=m(h),this.loading=c(!1),this.error=c(""),this.fb=m(R),this.form=this.fb.group({password:this.fb.nonNullable.control("",[d.required,d.minLength(8)]),confirm:this.fb.nonNullable.control("",[d.required,d.minLength(8)])},{validators:G})}submit(){if(this.error.set(""),this.form.invalid){this.form.markAllAsTouched(),this.error.set("Passwords must match and be at least 8 characters.");return}let{password:t}=this.form.getRawValue(),n=null;try{n=sessionStorage.getItem(Y)}catch{}if(!n){this.error.set("Your setup session expired. Open the verification link from your email again.");return}this.loading.set(!0),this.auth.postOnboardingSetPassword(t,n).pipe(V(this.destroyRef)).subscribe({next:()=>{try{sessionStorage.removeItem(Y)}catch{}this.router.navigate(["/onboarding/wizard"],{replaceUrl:!0})},error:i=>{this.loading.set(!1),this.error.set(i?.error?.detail||i?.message||"Could not set password.")}})}static{this.\u0275fac=function(n){return new(n||e)(f(P),f(M))}}static{this.\u0275cmp=b({type:e,selectors:[["cognicube-onboarding-password"]],decls:21,vars:4,consts:[[1,"ob-auth-page"],[1,"ob-auth-card"],[1,"ob-kicker"],["id","pw-title"],[1,"muted"],["novalidate","",3,"ngSubmit","formGroup"],[1,"field"],[1,"lbl"],["type","password","name","pw","formControlName","password","required","","minlength","8","autocomplete","new-password","aria-describedby","pw-hint"],["type","password","name","pw2","formControlName","confirm","required","","minlength","8","autocomplete","new-password"],["id","pw-hint","class","hint",4,"ngIf"],["class","error","role","alert",4,"ngIf"],["type","submit",1,"btn",3,"disabled"],["id","pw-hint",1,"hint"],["role","alert",1,"error"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"p",2),a(3,"Security"),o(),r(4,"h1",3),a(5,"Create your password"),o(),r(6,"p",4),a(7,"Choose a strong password for your CogniCube account."),o(),r(8,"form",5),w("ngSubmit",function(){return i.submit()}),r(9,"label",6)(10,"span",7),a(11,"Password"),o(),u(12,"input",8),o(),r(13,"label",6)(14,"span",7),a(15,"Confirm password"),o(),u(16,"input",9),o(),x(17,q,2,1,"p",10)(18,F,2,1,"p",11),r(19,"button",12),a(20,"Continue"),o()()()()),n&2&&(s(8),p("formGroup",i.form),s(9),p("ngIf",i.form.controls.password.value),s(),p("ngIf",i.error()),s(),p("disabled",i.form.invalid||i.loading()))},dependencies:[v,_,T,I,O,S,k,D,z,E,N],styles:["@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1}50%{opacity:.5}}.ob-auth-page[_ngcontent-%COMP%]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#f5f7fa}.ob-auth-card[_ngcontent-%COMP%]{width:100%;max-width:440px;padding:24px;border-radius:8px;background:#fff;box-shadow:0 2px 12px #00000014;border:1px solid #e9ecef}.ob-kicker[_ngcontent-%COMP%]{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#667eea}h1[_ngcontent-%COMP%]{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:22px;color:#2c3e50}.muted[_ngcontent-%COMP%]{margin:0 0 20px;color:#6c757d;font-size:15px}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.lbl[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:#6c757d}input[_ngcontent-%COMP%]{min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid #dee2e6;font-size:15px}input[_ngcontent-%COMP%]:focus{outline:2px solid #667eea;outline-offset:1px}.hint[_ngcontent-%COMP%]{font-size:12px;color:#95a5a6;margin-bottom:12px}.error[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-bottom:12px}
1.btn[_ngcontent-%COMP%]{width:100%;margin-top:12px;min-height:44px;padding:12px;border:none;border-radius:10px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}"],changeDetection:0})}}return e})();export{$ as OnboardingPasswordComponent};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.