PageSourceSearch

https://www.odlo.com/_nuxt/b7Qto9OG.js

js odlo.com collected 2026-10-02 10:19:50 UTC 14,597 bytes, 1 lines download raw bytes

1import{u as he,w as $e,_ as ke,a as qe}from"./BiMStWxv.js";import{Q as Ce,bi as Le,ab as me,u as ae,aq as ce,af as pe,bA as K,bs as Q,bt as W,aA as X,bu as Z,X as J,B as Ue,g as j,bB as xe,_ as Se,aB as Ie,i as ge,s as Ve,r as Be,L as Fe}from"./0TMZ5DbY.js";import{D as ne,M as Ae,g as Pe,b as Re,A as G,I as Te,a_ as D,f as Ge,aN as p,L as U,z as e,aO as A,aY as P,W as n,aP as l,a$ as _,b0 as h,b2 as I,r as ee,C as S,u as T,V as _e,aV as Ne,aS as O,aQ as Oe,b5 as je,b6 as De,aR as He,E as ze,bl as Ee,o as Me,aU as Ye}from"./DwnjgjC8.js";import{_ as fe}from"./CUSV9TQI.js";const ue="last_logged_in_user",Y=()=>({firstName:"",email:""});function re(){const q=Pe(),f=Re(),a=Ce(ue,Y),d=Le(ue,Y(),{serializer:{read:r=>r?JSON.parse(atob(r)):null,write:r=>btoa(JSON.stringify(r))}}),{user:c,isLoggedIn:b,status:t}=me(),$=()=>{d.value=Y(),a.value=Y()};return q?.run(()=>{ne(()=>b.value,r=>{!r||c.value?.status?.isGuestCustomer||(d.value={firstName:c.value.firstName,email:c.value.email||""})})}),Ae(()=>{a.value=d.value},f),{lastLoggedInUser:a,removeLastLoggedInUser:$,isLoggedIn:b,isFetching:t.value==="pending"}}const Je={"data-testid":"ta-login-form",class:"mb-14 flex flex-col gap-6"},Ke={key:1},Qe={class:"mb-12"},We=G({__name:"LoginForm",props:{autofocus:{type:Boolean},hideIdp:{type:Boolean}},emits:["login:submitting","ready"],async setup(q,{emit:f}){let a,d;const c=q,b=f;Te(()=>{b("ready")});const t=ae(),{identifyScarabUser:$}=ce(),{identifyAlgoliaUser:r}=pe(),o=ee({email:"",password:""}),m=S(()=>xe(t.query.redirectUrl)?{queryParams:{redirectUrl:t.query.redirectUrl}}:{queryParams:void 0}),{lastLoggedInUser:g}=re(),[{data:s},{login:v,isSubmitting:i}]=([a,d]=D(()=>Promise.all([he(m,"$ZSYtOStaWC"),K("login")])),a=await a,d(),a);g.value&&(o.email=g.value.email);const y=S(()=>s.value&&Object.keys(s.value).length>0),w=Q(),u={email:{required:w.required,email:w.email},password:{required:w.required}},C=W(u,o);ne(i,()=>b("login:submitting",i.value));const x=Ge($e),V=async()=>{await C.value.$validate()&&(x?.value&&await x.value(),await v(o),$(o.email),r())};return(L,k)=>{const te=ke,H=X,z=Z,oe=Ue,E=j;return p(),U("div",Je,[!q.hideIdp&&e(y)&&e(s)?(p(),A(te,{key:0,class:"mb-6",redirects:e(s)},null,8,["redirects"])):P("",!0),e(C)?(p(),U("form",Ke,[n(z,{errors:e(C).email.$errors,class:"pb-5"},{default:l(({isValid:B})=>[n(H,{id:"login-email","model-value":e(o).email,autocomplete:"username",placeholder:L.$t("form_fields.email"),type:"email","has-errors":!B,required:"",autofocus:c.autofocus,readonly:e(i),"onUpdate:modelValue":k[0]||(k[0]=R=>e(o).email=R),onChange:k[1]||(k[1]=R=>e(C).email.$touch())},null,8,["model-value","placeholder","has-errors","autofocus","readonly"])]),_:1},8,["errors"]),n(z,{errors:e(C).password.$errors,class:"mt-0.5 pb-3.5"},{default:l(({isValid:B})=>[n(H,{id:"login-password","model-value":e(o).password,autocomplete:"current-password",placeholder:L.$t("form_fields.password"),type:"password","has-errors":!B,required:"",readonly:e(i),"onUpdate:modelValue":k[2]||(k[2]=R=>e(o).password=R),onChange:k[3]||(k[3]=R=>e(C).password.$touch())},null,8,["model-value","placeholder","has-errors","readonly"])]),_:1},8,["errors"]),_("div",Qe,[n(oe,{"data-testid":"ta-forgot-password",to:{name:e(J).signin.name,query:{"forgot-password":"true",...e(t).query.redirectUrl&&{redirectUrl:e(t).query.redirectUrl}}},raw:"",class:"group relative text-sm/5.2 font-medium uppercase tracking-normal"},{default:l(()=>[_("span",null,h(L.$t("login_page.forgot_password.title")),1),k[5]||(k[5]=_("span",{class:"bg-gray-800 absolute inset-x-0 -bottom-0.5 h-px transition-all group-hover:inset-x-[-0.313rem] group-hover:bg-black"},null,-1))]),_:1},8,["to"])]),n(E,{"data-testid":"ta-login-submit",class:"w-full hover:border-black",disabled:e(i),loading:e(i),submit:"",onClick:k[4]||(k[4]=B=>V())},{default:l(()=>[I(h(L.$t("global.signin")),1)]),_:1},8,["disabled","loading"])])):P("",!0)])}}}),Xe=Object.assign(We,{__name:"LoginForm"}),Ze={"data-testid":"ta-guest-login-form"},et=G({__name:"GuestLoginForm",async setup(q){let f,a;const d=Q(),{identifyScarabUser:c}=ce(),{identifyAlgoliaUser:b}=pe(),t=ee({gender:"n",first_name:"",last_name:"",email:""}),{guestLogin:$,isSubmitting:r}=([f,a]=D(()=>K("guest_login")),f=await f,a(),f),o=W({first_name:{required:d.required,maxLength:d.maxLength(30)},last_name:{required:d.required,maxLength:d.maxLength(50)},email:{required:d.required,email:d.email}},t),m=async()=>{await o.value.$validate()&&(await $(t),c(t.email),b())};return(g,s)=>{const v=X,i=Z,y=j;return p(),U("form",Ze,[n(i,{errors:e(o).email.$errors},{default:l(({isValid:w}
1)=>[n(v,{id:"guest-login-email","model-value":e(t).email,autocomplete:"username",placeholder:g.$t("form_fields.email"),type:"email","has-errors":!w,required:"","show-label":"",readonly:e(r),"onUpdate:modelValue":s[0]||(s[0]=u=>e(t).email=u),onChange:s[1]||(s[1]=u=>e(o).email.$touch())},null,8,["model-value","placeholder","has-errors","readonly"])]),_:1},8,["errors"]),n(i,{errors:e(o).first_name.$errors},{default:l(({isValid:w})=>[n(v,{id:"guest-login-first-name","model-value":e(t).first_name,autocomplete:"given-name",placeholder:g.$t("form_fields.first_name"),"has-errors":!w,required:"","show-label":"",readonly:e(r),"onUpdate:modelValue":s[2]||(s[2]=u=>e(t).first_name=u),onChange:s[3]||(s[3]=u=>e(o).first_name.$touch())},null,8,["model-value","placeholder","has-errors","readonly"])]),_:1},8,["errors"]),n(i,{errors:e(o).last_name.$errors},{default:l(({isValid:w})=>[n(v,{id:"guest-login-last-name","model-value":e(t).last_name,autocomplete:"family-name",placeholder:g.$t("form_fields.last_name"),"has-errors":!w,required:"","show-label":"",readonly:e(r),"onUpdate:modelValue":s[4]||(s[4]=u=>e(t).last_name=u),onChange:s[5]||(s[5]=u=>e(o).last_name.$touch())},null,8,["model-value","placeholder","has-errors","readonly"])]),_:1},8,["errors"]),n(y,{"data-testid":"ta-continue-as-guest",class:"w-full",disabled:e(r),loading:e(r),submit:"",onClick:s[6]||(s[6]=w=>m())},{default:l(()=>[I(h(g.$t("login_page.guest_login.submit")),1)]),_:1},8,["disabled","loading"])])}}}),tt=Object.assign(et,{__name:"GuestLoginForm"}),ot=["data-testid"],st=["onClick"],at={class:"flex items-center justify-between"},nt={"data-testid":"ta-vertical-accordion-title",class:"font-bold uppercase leading-5 tracking-normal"},rt=G({__name:"VerticalAccordion",props:{tabs:{},initialIndex:{default:0}},setup(q){const a=T(q.initialIndex),d=T({}),c=t=>{a.value=t,ze(()=>{const $=d.value[t],r=$?.getBoundingClientRect().top||0;(r>0||r<=window.innerHeight)&&$?.scrollIntoView({behavior:"smooth",block:"center"})})},b=t=>({"border-black bg-secondary-100":a.value===t,"border-gray-600":a.value!==t,"border-b-0":a.value>t,"border-t-0":a.value<t});return(t,$)=>{const r=Se;return p(),U("div",{class:O([e(Ie)(["mx-auto max-w-[29.0625rem] mobile:px-6"],String(t.$attrs.class||""))])},[(p(!0),U(_e,null,Ne(q.tabs,(o,m)=>(p(),U("div",{ref_for:!0,ref:g=>e(d)[m]=g,key:`accordion-tab-${m}`,"data-testid":`ta-vertical-accordion-${o.title}`,class:O(["flex flex-col gap-4 border-y border-grey-20/30",b(m)])},[_("button",{class:O(["py-4",{"cursor-pointer":e(a)!==m}]),onClick:g=>c(m)},[_("div",at,[_("span",nt,h(o.title),1),n(r,{name:"chevron",direction:"down",class:O(["duration-300",{"rotate-180":e(a)===m}]),size:24},null,8,["class"])]),o.component&&e(a)!==m?(p(),A(Oe(o.component),{key:0})):P("",!0)],10,st),je(_("div",null,[He(t.$slots,m,{activateTab:c})],512),[[De,m===e(a)]])],10,ot))),128))],2)}}}),lt=Object.assign(rt,{__name:"VerticalAccordion"}),it={"data-testid":"ta-forgot-password-description",class:"mb-4 text-sm"},dt={class:"flex flex-row-reverse justify-between"},ut=G({__name:"ForgotPasswordForm",emits:["close:modal"],async setup(q,{emit:f}){let a,d;const c=f,b=T(!1),t=ee({email:""}),{lastLoggedInUser:$}=re(),{forgotPassword:r,isSubmitting:o}=([a,d]=D(()=>K("forgot_password")),a=await a,d(),a),m=Q(),g=async()=>{await v.value.$validate()&&(b.value=await r(t.email),b.value&&c("close:modal"))};ne(()=>$.value,i=>Object.assign(t.email,i.email));const s={required:m.required,email:m.email},v=W({email:s},t);return(i,y)=>{const w=ge,u=X,C=Z,x=j,V=fe;return p(),A(V,{key:"forgot-password-dialog","close-on-overlay":"","close-on-outside":!1,onClose:y[3]||(y[3]=L=>i.$emit("close:modal"))},{headline:l(()=>[_("div",null,[n(w,{"data-testid":"ta-forgot-password-title",size:"xl",tag:"h2",class:"mb-4"},{default:l(()=>[I(h(i.$t("login_page.forgot_password.title")),1)]),_:1}),_("p",it,h(i.$t("login_page.forgot_password.description")),1)])]),default:l(()=>[_("form",null,[n(C,{errors:e(v).email.$errors},{default:l(({isValid:L})=>[n(u,{id:"forgot-password-email","model-value":e(t).email,"data-testid":"ta-forgot-password-email",autocomplete:"username",placeholder:i.$t("form_fields.email"),type:"email","has-errors":!L,required:"",readonly:e(o)||e(b),"onUpdate:modelValue":y[0]||(y[0]=k=>e(t).email=k),onBlur:e(v).email.$touch},null,8,["model-value","placeholder","has-errors","readonly","onBlur"])]),_:1},8,["errors"]),_("div",dt,[n(x,{"data-testid":"ta-forgot-password-submit",disabled:e(o)||e(b),loading:e(o),submit:"",onClick:y[1]||(y[1]=L=>g())},{default:l(()=>[I(h(i.$t("login_page.forgot_password.submit")),1)]),_:1},8,["disabled","loading"]),n(x,{"data-testid":"ta-forgot-password-cancel",type:"tertiary",disabled:e(o),loading:e(o),onClick:y[2]||(y[2]=L=>i.$emit("close:modal"))},{default:l(()=>[I(h(i.$t("login_page.forgot_password.cancel")),1)]),_:1},8,["disabled","loading"])])])]),_:1})}}}),mt=Object.assign(ut,{__name:"ForgotPasswordForm"}),ct={class:"flex flex-row-reverse justify-between"},pt=G({__name:"UpdatePasswordByHashForm",emits:["close:modal"],async setup(q){let f,a;const d=ae(),c=ee({password:""}),{resetPasswordByHash:b,isSubmitting:t}=([f,a]=D(()=>K("reset_password")),f=await f,a(),f),$=Q(),r={password:{required:$.required,password:$.password}},o=W(r,c),m=S(()=>{const s=d.query.hash;return(Array.isArray(s)?s[0]:s)??""}),g=async()=>{await o.value.$validate()&&await b({password:c.password,hash:m.value})};return(s,v)=>{const i=ge,y=X,w=Z,u=j,C=fe;return p(),A(C,{key:"update-password-by-hash","close-on-overlay":"","close-on-outside":!1,"hide-close-button":""},{headline:l(()=>[_("div",null,[n(i,{size:"xl",tag:"h2",class:"mb-4"},{default:l(()=>[I(h(s.$t("login_page.reset_password.title")),1)]),_:1})])]),default:l(()=>[_("form",null,[n(w,{errors:e(o).password.$errors},{default:l(({isValid:x})=>[n(y,{id:"update-password-reset-password","model-value":e(c).password,autocomplete:"current-password",placeholder:s.$t("form_fields.new_password"),type:"password","has-errors":!x,required:"",readonly:e(t),"onUpdate:modelValue":v[0]||(v[0]=V=>e(c).password=V),onBlur:e(o).password.$touch},null,8,["model-value","placeholder","has-errors","readonly","onBlur"])]),_:1},8,["errors"]),_("div",ct,[n(u,{disabled:e(t),loading:e(t),submit:"",onClick:g},{default:l(()=>[I(h(s.$t("login_page.reset_password.submit")),1)]),_:1},8,["disabled","loading"]),n(u,{type:"tertiary",disabled:e(t),loading:e(t),onClick:v[1]||(v[1]=x=>s.$emit("close:modal"))},{default:l(()=>[I(h(s.$t("login_page.reset_password.cancel")),1)]),_:1},8,["disabled","loading"])])])]),_:1})}}}),gt=Object.assign(pt,{__name:"UpdatePasswordByHashForm"}),_t={key:0},ft={key:0,class:"mx-auto mt-10 flex max-w-[29.0625rem] flex-col gap-4 px-2 py-4 mobile:px-6"},bt={"data-testid":"ta-welcome-back-title",class:"font-bold uppercase leading-5 tracking-normal"},vt={key:1,class:"mx-auto my-10 max-w-[29.0625rem] mobile:px-6"},yt={class:"mb-8 font-bold uppercase leading-5 tracking-normal"},wt={key:0},ht={class:"mb-8 font-bold uppercase leading-5 tracking-normal"}
1,$t=G({__name:"SignInForm",props:{classes:{default:void 0},useAccordion:{type:Boolean,default:!0},showGuestLogin:{type:Boolean,default:!0}},emits:["login:submitting"],async setup(q,{emit:f}){let a,d;const c=q,{classes:b,useAccordion:t}=Ee(c),$=f,r=T(!1),o=T({scrollContainer:null}),m=T(),{$i18n:g}=Ve(),{forceRefresh:s,isLoggedIn:v,status:i}=me(),{lastLoggedInUser:y,removeLastLoggedInUser:w}=re();[a,d]=D(()=>s()),await a,d();const u=ae(),C=u,x=S(()=>u.query.redirectUrl===J.checkout.name),V=S(()=>c.showGuestLogin&&x.value),L=S(()=>y.value.firstName||""),k=S(()=>[{title:g.t("login_page.login.title"),component:null},{title:g.t("login_page.sign_up.title"),component:null},...V.value?[{title:g.t("login_page.guest_login.title"),component:null}]:[]]),te=S(()=>!!u.query["forgot-password"]&&!u.query.hash),H=S(()=>u.query.register?1:0),z=S(()=>!!u.query.hash),{localizedNavigateTo:oe}=Be(),E=()=>oe({name:J.signin.name,...u.query.redirectUrl&&{query:{redirectUrl:J.checkout.name}}}),B=F=>{$("login:submitting",F)},R=()=>{r.value=!r.value,m.value=setTimeout(()=>{o.value.scrollContainer&&o.value.scrollContainer.scrollIntoView({behavior:"smooth",block:"center"})},0)};return Me(()=>{m.value&&clearTimeout(m.value)}),(F,M)=>{const se=Xe,le=qe,ie=tt,de=j,be=lt,ve=mt,ye=gt,we=Fe;return p(),A(we,null,{default:l(()=>[!e(v)&&e(i)!=="pending"?(p(),U("div",_t,[e(y).email&&!e(C).query.register?(p(),U("div",ft,[_("div",bt,h(F.$t("login_page.welcome_back.title",{name:e(L)})),1),n(se,{class:"mb-4","onLogin:submitting":M[0]||(M[0]=N=>F.$emit("login:submitting",N))}),_("button",{"data-testid":"ta-not-remembered-user",class:"text-gray-600 group relative mb-12 text-left text-sm hover:text-black",onClick:M[1]||(M[1]=(...N)=>e(w)&&e(w)(...N))},[_("span",null,h(F.$t("login_page.welcome_back.not_user",{name:e(L)})),1)])])):(p(),U(_e,{key:1},[e(t)?(p(),A(be,{key:0,class:O(["my-10",e(b)?.accordion]),"initial-index":e(H),tabs:e(k)},Ye({0:l(()=>[n(se,{"onLogin:submitting":B})]),1:l(()=>[n(le,{"onRegister:submitting":B})]),_:2},[e(V)?{name:"2",fn:l(({activateTab:N})=>[n(ie),n(de,{"data-testid":"ta-open-registration-form",type:"secondary",class:"mt-4 w-full",onClick:kt=>N(1)},{default:l(()=>[I(h(F.$t("login_page.guest_login.cancel")),1)]),_:1},8,["onClick"])]),key:"0"}:void 0]),1032,["class","initial-index","tabs"])):(p(),U("div",vt,[_("div",yt,h(F.$t("login_page.login.title")),1),n(se,{"onLogin:submitting":B}),e(V)?(p(),U("div",wt,[_("div",ht,h(F.$t("login_page.guest_login.title")),1),n(ie),n(de,{"data-testid":"ta-open-registration-form",type:"tertiary",class:"mt-4 w-full",onClick:R},{default:l(()=>[I(h(F.$t("login_page.guest_login.cancel")),1)]),_:1})])):P("",!0),e(r)?(p(),A(le,{key:1,ref_key:"registerFormRef",ref:o,"onRegister:submitting":B},null,512)):P("",!0)]))],64)),e(te)?(p(),A(ve,{key:2,"onClose:modal":E})):P("",!0),e(z)?(p(),A(ye,{key:3,"onClose:modal":E})):P("",!0)])):P("",!0)]),_:1})}}}),xt=Object.assign($t,{__name:"SignInForm"});export{xt as _,Xe as a,mt as b,gt as c};

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.