1import{b as H,c as L}from"./chunk-LX5QKIWC.js";import{a as q}from"./chunk-RLZLV5QE.js";import"./chunk-32ZP6B4Q.js";import{b as R,c as j}from"./chunk-R54KPSCW.js";import{a as z}from"./chunk-Q6VU7QAU.js";import"./chunk-5EHEODIO.js";import{a as U}from"./chunk-OKVVEBY3.js";import{a as D}from"./chunk-IXEGNN46.js";import{a as G}from"./chunk-BSJVWSZ5.js";import"./chunk-COJSXH5T.js";import{q as M}from"./chunk-7YJYMVLT.js";import"./chunk-ZWFNLA3Q.js";import"./chunk-ZKSAUKTD.js";import{C as P,E as V,b as A,c as N,e as d,f as I,g as O,l as E,q as w,r as F}from"./chunk-HPM5D2QR.js";import"./chunk-7VKW5GSR.js";import"./chunk-ILZ2WZ2Y.js";import"./chunk-LBHGEV75.js";import{i as x,l as _,u as T}from"./chunk-JW7NPCB3.js";import"./chunk-JCHE3Z7A.js";import"./chunk-RSOFTNO4.js";import"./chunk-FCXDAJ5A.js";import"./chunk-L5L7JCQV.js";import{Ec as k,Hc as a,Ic as S,Jc as C,Wb as m,Xb as u,ac as p,bc as t,cb as g,cc as o,dc as c,hb as r,la as s,qc as f,sc as v,ua as b,zb as y}from"./chunk-E725QQR6.js";import{a as h}from"./chunk-RKIXE2YC.js";function J(l,i){l&1&&(b(),t(0,"svg",3),c(1,"path",17)(2,"path",18)(3,"path",19)(4,"path",20),o())}function K(l,i){l&1&&(t(0,"div",7)(1,"p",21),a(2,"You're joining an existing organization."),o(),t(3,"p",22),a(4," Accept below and you're in \u2014 no company name needed. "),o()())}function Q(l,i){l&1&&(t(0,"p",26),a(1,"Company name is required (2-100 characters)."),o())}function W(l,i){if(l&1&&(t(0,"div",8)(1,"label",23),a(2,"Company name"),o(),c(3,"input",24),t(4,"p",25),a(5,"You can change it later in Settings."),o(),m(6,Q,2,0,"p",26),o()),l&2){let n=v();r(3),k("au-err-field",n.form.controls.tenantName.invalid&&n.form.controls.tenantName.touched),r(3),u(n.form.controls.tenantName.invalid&&n.form.controls.tenantName.touched?6:-1)}}function X(l,i){if(l&1&&(t(0,"p",13),a(1),o()),l&2){let n=v();r(),S(n.error)}}function Z(l,i){l&1&&c(0,"span",15)}var B=class l{marketingUrl=G.marketingUrl;route=s(x);router=s(_);fb=s(P);authApiService=s(D);authService=s(M);ga=s(z);tracker=s(q);visitorIdentity=s(U);form=this.fb.group({tenantName:["",[d.required,d.minLength(2),d.maxLength(100)]],acceptTerms:[!1,[d.requiredTrue]],newsletterOptIn:[!0]});challenge="";email="";firstName="";provider="";providerLabel="";loading=!1;error=null;invitationToken=null;ngOnInit(){let i=this.route.snapshot.queryParamMap;if(this.challenge=i.get("challenge")??"",this.email=i.get("email")??"",this.firstName=i.get("firstName")??"",this.provider=i.get("provider")??"",this.providerLabel=this.formatProvider(this.provider),this.invitationToken=R(),this.invitationToken&&(this.form.get("tenantName")?.clearValidators(),this.form.get("tenantName")?.updateValueAndValidity()),!this.challenge){this.error="This signup link is invalid or has expired.";return}this.tracker.track("acquisition","signup_start")}onSubmit(){if(this.loading||this.form.invalid||!this.challenge)return;this.loading=!0,this.error=null;let i=this.visitorIdentity.anonymousId();this.authApiService.completeOAuthSignup(h(h(h({challenge:this.challenge,tenantName:(this.form.value.tenantName??"").trim(),acceptTerms:this.form.value.acceptTerms,newsletterOptIn:this.form.value.newsletterOptIn===!0},this.invitationToken?{invitationToken:this.invitationToken}:{}),H()),i?{anonymousId:i}:{})).subscribe({next:n=>{j(),L(),this.authService.handleOAuthCallback(n.accessToken,n.refreshToken),this.ga.trackEvent("sign_up",{method:this.provider}),this.router.navigate(["/dashboard"])},error:n=>{this.loading=!1;let e=n.error?.message;n.status===409?this.error=e??"An account with this email already exists. Please sign in instead.":n.status===400?this.error=e??"Please check the form and try again.":n.status===401?this.error=e??"Signup link expired. Please sign in again.":this.error=e??"Something went wrong. Please try again."}})}cancel(){this.router.navigate(["/login"])}formatProvider(i){switch(i){case"google":return"Google";case"github":return"GitHub";case"microsoft":return"Microsoft";case"apple":return"Apple";case"facebook":return"Facebook";case"tiktok":return"TikTok";default:return i?i.charAt(0).toUpperCase()+i.slice(1):"your provider"}}static \u0275fac=function(n){return new(n||l)};static \u0275cmp=y({type:l,selectors:[["app-oauth-signup"]],decls:34,vars:13,consts:[[1,"au-rise","au-h1"],[1,"au-ai-grad"],[1,"au-rise","au-chip","mt-3"],["width","16","height","16","viewBox","0 0 48 48","aria-hidden","true",1,"flex-none"],[1,"au-sub"],[2,"color","var(--txt)"],[1,"flex","flex-col","gap-4","mt-5",3,"ngSubmit","formGroup"],[1,"au-rise","au-banner"],[1,"au-rise"],[1,"au-rise","flex","items-start","gap-2","cursor-pointer","au-sub","select-none"],["type","checkbox","formControlName","acceptTerms",1,"au-check"],["target","_blank","rel","noopener",1,"au-alink",3,"href"],["type","checkbox","formControlName","newsletterOptIn",1,"au-check"],["role","alert",1,"au-field-err"],["type","submit",1,"au-rise","au-btn-p","w-full",3,"disabled"],["aria-hidden","true",1,"au-spinner-sm"],["type","button",1,"au-rise","au-btn-g","w-full",3,"click","disabled"],["fill","#FFC107","d","M43.6 20.1H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.9 1.2 8 3l5.7-5.7C34.3 6.1 29.4 4 24 4 13 4 4 13 4 24s9 20 20 20 20-9 20-20c0-1.3-.1-2.6-.4-3.9z"],["fill","#FF3D00","d","m6.3 14.7 6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.9 1.2 8 3l5.7-5.7C34.3 6.1 29.4 4 24 4 16.3 4 9.7 8.3 6.3 14.7z"],["fill","#4CAF50","d","M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-8l-6.5 5C9.5 39.6 16.2 44 24 44z"],["fill","#1976D2","d","M43.6 20.1H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C36.9 39.2 44 34 44 24c0-1.3-.1-2.6-.4-3.9z"],[1,"font-medium"],[1,"au-hint","mt-1"],["for","org-name",1,"au-lbl"],["id","org-name","type","text","formControlName","tenantName","autocomplete","organization","placeholder","Company name",1,"au-inp"],[1,"au-hint","mt-1.5"],[1,"au-field-err"]],template:function(n,e){n&1&&(t(0,"div")(1,"h1",0),a(2,"Almost there"),t(3,"span",1),a(4,"."),o()(),t(5,"div",2),m(6,J,5,0,":svg:svg",3),t(7,"span",4),a(8),t(9,"b",5),a(10),o()()(),t(11,"form",6),f("ngSubmit",function(){return e.onSubmit()}),m(12,K,5,0,"div",7),m(13,W,7,3,"div",8),t(14,"label",9),c(15,"input",10),t(16,"span"),a(17," I agree to the "),t(18,"a",11),a(19,"Terms"),o(),a(20," and "),t(21,"a",11),a(22,"Privacy Policy"),o(),a(23,". "),o()(),t(24,"label",9),c(25,"input",12),t(26,"span"),a(27,"Email me product updates and show tips \u2014 unsubscribe anytime"),o()(),m(28,X,2,1,"p",13),t(29,"button",14),m(30,Z,1,0,"span",15),a(31),o(),t(32,"button",16),f("click",function(){return e.cancel()}),a(33," Cancel "),o()()()),n&2&&(r(6),u(e.provider==="google"?6:-1),r(2),C("Signing up with ",e.providerLabel," as "),r(2),S(e.email),r(),p("formGroup",e.form),r(),u(e.invitationToken?12:-1),r(),u(e.invitationToken?-1:13),r(5),p("href",e.marketingUrl+"/terms",g),r(3),p("href",e.marketingUrl+"/privacy",g),r(7),u(e.error?28:-1),r(),p("disabled",e.loading||e.form.invali
1d||!e.challenge),r(),u(e.loading?30:-1),r(),C(" ",e.loading?"Creating account\u2026":"Create my account"," "),r(),p("disabled",e.loading))},dependencies:[V,E,N,A,I,O,w,F,T],encapsulation:2,changeDetection:0})};export{B as OAuthSignupComponent};
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.