1import{ref as k,computed as Q,toValue as r,watch as U,defineComponent as X,useTemplateRef as Y,onActivated as _,openBlock as v,createElementBlock as h,Fragment as T,createElementVNode as p,normalizeClass as s,unref as e,toDisplayString as d,createVNode as b,withCtx as Z,createTextVNode as F,createCommentVNode as z}from"vue";import{ai as ee}from"./merge-translations-CwE51ITD.js";import{bz as te,a as G,Z as oe}from"./logger-BOxpBNGt.js";import{c as ae}from"./use-fingerprint-DE4_EPEE.js";import"vue-router";import{o as ie,R as D}from"./index-D8tZys4R.js";import{u as re}from"./use-forgot-password-recover-mutation-CJM3gAEW.js";import{u as ne}from"./use-forgot-password-confirm-mutation-D-5w9JO9.js";import{u as se}from"./get-captcha-enabled-DrcxOLSi.js";import{u as ce}from"./use-countdown-C2HYb50l.js";import{y as de,c as A}from"./plugin-feature-flags-D0H0KyZq.js";import{g as M}from"./test-manager-BlurlTRy.js";import{C as le}from"./code-input-DnE6OGy2.js";import{L as me}from"./button-CTQg7Uw-.js";import"./plugin-server-updates-CfH_eELX.js";import"./socket-io-adapter-CN39NsFq.js";import"./use-i18n-B0hP4Z_U.js";import"./define-widget-dVgL_Ppo.js";import"./modal-info-D8JYLd5L.js";import"./modal.vue_vue_type_script_setup_true_lang-C9HJCC6h.js";import"./use-body-scroll-lock-CkQ2xZd3.js";import"./custom-html-DSkscCoV.js";import"./modal-header-BNZ-O5Tg.js";import"./arrow-back-CC1qmhtQ.js";import"./modal-footer-TVzr8gO8.js";import"./buttons-group-qhSEYaGg.js";import"./use-modal-C0Sd6Ub4.js";import"./use-feature-flag-CgspxHg2.js";import"./use-server-event-CiJxy1t7.js";import"./use-balances-activated-query-BwSnyv2M.js";import"./social-button-DzwFcR_k.js";import"./checkmark-C0P6RrdZ.js";import"./segment-control-4OlPhpYh.js";import"./use-path-based-route-matcher-u_WwO7dQ.js";import"./tab-C-rSRwXz.js";import"./picture-v2-KA_3OvDf.js";import"./create-mask-image-value-BQDVFb7C.js";import"./icon-box-CebUXsN4.js";import"./badge-base-6J2_ZzEN.js";import"./useMutation-BnvjhEUP.js";import"./error-captured.vue_vue_type_script_setup_true_lang-CAKKD8xl.js";import"./skeleton-B0OrSZmr.js";import"./index-DOechJbJ.js";import"./icon-sprite-DxqeX5YZ.js";import"./index-vSUUMbpI.js";import"./list-item-DGMBKJne.js";import"./tooltip-CQ7G7tzQ.js";import"./currency-BIKkeMtT.js";import"./index-BkZBUjIo.js";import"./use-recaptcha-C1-k4II9.js";import"./set-window-href-BCtJEGQE.js";import"./clear-redirect-params-Di-g0-RS.js";import"./setup-window-open-interceptor-DSUDlWrW.js";import"./mask-input-BvALDU__.js";import"./component3-composition-Cx3jgoEb.js";import"./control-CETHERta.js";import"./hint-Bd5W3RbP.js";const ue=({code:n,phone:g,email:m,forgotSessionId:f,verificationCodeError:S,onSuccess:a,onChangeSource:V,onTooManyRequests:C,onErrorRequestCode:c,onErrorCheckCode:R,onRefreshForgotSessionId:u})=>{const y=te(),w=re(),$=ne(),{getGeeTestCaptcha:q}=ie(),x=se()({route:"/api/v1/user/forgot/password/recover"}),t=(o=6e4)=>new Date(Date.now()+o),i=k(t()),{remaining:E,countdown:j}=ce({endTime:i}),I=k(!1),B=k(!1),P=k(),{getFingerprintExtendedData:N,preloadFingerprint:H}=ae({source:"recovery"}),W=Q(()=>({recovery_method:r(g)?"phone":"email",tab_name:"verification"})),J=async()=>{y.send(new D("resend",W.value));try{B.value=!0,u(),await w.mutateAsync({...r(m)?{email:r(m)}:{phone:r(g)},forgotSessionId:r(f),...await x?{captchaResponseV4:await q("recover")}:{},fingerprint:await N()}),i.value=t()}catch(o){if(o instanceof G){if(o.data.code==="credentials.limitReached"){C?.(Date.now()+o.data.waitForSec*1e3);return}o.data.code==="common.rateLimitReached"&&(i.value=t(o.data.waitForSec*1e3)),c?.(o.data.message,o.data.code);return}c?.()}finally{B.value=!1}},K=async()=>{try{I.value=!0;const o=r(n),O=r(f);if(!o)return;await $.mutateAsync({code:o,forgotSessionId:O,fingerprint:await N()}),P.value=void 0,y.send(new D("confirmation_code",W.value)),a?.()}catch(o){if(!(o instanceof G))return;if(o.data.code==="credentials.limitReached"){C?.(Date.now()+o.data.waitForSec*1e3);return}if(o.data.code==="common.rateLimitReached"||o.data.code==="user.hasSelfExclusion"){R?.(o.data.message,o.data.code);return}P.value=r(S)}finally{I.value=!1}};return U(()=>r(n),()=>{P.value=void 0,r(n)?.replaceAll(" ","").length===6&&K()}),U([()=>r(g),()=>r(m)],()=>{i.value=t(),I.value=!1,V?.()}),{isCodeCheckPending:I,isCodeRequestPending:B,codeError:P,remaining:E,requestCode:J,countdown:j,handleView:()=>{H(),y.send(new D("form_view",W.value))}}}
1,pe=["data-testid"],fe=["data-testid"],l="verification-form",ve=X({__name:"verification",props:{forgotSessionId:{},phone:{},email:{}},emits:["success","tooManyRequests","changePhone","changeEmail","refreshForgotSessionId"],setup(n,{emit:g}){const m=n,f=g,S=Y("input"),[a,{suspense:V}]=ee("modal.auth"),{show:C}=de(),c=k(),R={"common.rateLimitReached":()=>a.value.tooManyRequestsTitle(),"user.hasSelfExclusion":()=>a.value.selfExclusion()},{isCodeCheckPending:u,isCodeRequestPending:y,codeError:w,remaining:$,requestCode:q,countdown:L,handleView:x}=ue({forgotSessionId:()=>r(m.forgotSessionId),code:()=>c.value,phone:()=>m.phone,email:()=>m.email,verificationCodeError:a.value.verificationCodeError(),onChangeSource:()=>c.value=void 0,onSuccess:()=>{f("success")},onTooManyRequests:t=>{f("tooManyRequests",t)},onErrorRequestCode:async(t,i)=>{await V(),C({variant:"error",title:a.value.notificationErrorTitle(),text:R[i??""]?.()??t??a.value.notificationErrorUnknownText(),testId:M("requestCodeErrorSnackbar",l)})},onErrorCheckCode:async(t,i)=>{await V(),C({variant:"error",title:a.value.notificationErrorTitle(),text:R[i??""]?.()??t??a.value.notificationErrorUnknownText(),testId:M("checkCodeErrorSnackbar",l)})},onRefreshForgotSessionId(){f("refreshForgotSessionId")}});return _(()=>{x(),c.value=void 0,w.value=void 0,S.value?.focus()}),(t,i)=>(v(),h(T,null,[p("div",{class:s(e(u)&&t.$style.disabled)},[n.phone?(v(),h(T,{key:0},[p("div",{class:s(t.$style.mainText)},d(e(a).verificationPhoneText()),3),p("div",{class:s(t.$style.sourceContainer)},[p("div",{dir:"ltr",class:s(t.$style.source),"data-testid":e(M)("source-phone",l)},d(n.phone),11,pe),b(e(A),{variant:"accent","test-id":`${l}-changePhone`,onClick:i[0]||(i[0]=E=>t.$emit("changePhone",n.phone))},{default:Z(()=>[F(d(e(a).verificationChange()),1)]),_:1},8,["test-id"])],2)],64)):n.email?(v(),h(T,{key:1},[p("div",{class:s(t.$style.mainText)},d(e(a).verificationEmailText()),3),p("div",{class:s(t.$style.sourceContainer)},[p("div",{class:s(t.$style.source),"data-testid":e(M)("source-email",l)},d(n.email),11,fe),b(e(A),{variant:"accent","test-id":`${l}-repeatEmail`,onClick:i[1]||(i[1]=E=>t.$emit("changeEmail",n.email))},{default:Z(()=>[F(d(e(a).verificationChange()),1)]),_:1},8,["test-id"])],2)],64)):z("",!0)],2),b(e(le),{ref_key:"input",ref:S,modelValue:c.value,"onUpdate:modelValue":i[2]||(i[2]=E=>c.value=E),autofocus:"","test-id":`${l}-code`,disabled:e(u),class:s(t.$style.codeInput),"error-message":e(w),length:6,status:e(w)?"error":void 0,autocomplete:"one-time-code"},null,8,["modelValue","test-id","disabled","class","error-message","status"]),b(e(A),{class:s([t.$style.repeatButton,e(u)&&t.$style.disabled]),variant:"accent",disabled:!e(u)&&e($)>0||e(y),"test-id":`${l}-repeatButton`,onClick:e(q)},{default:Z(()=>[e($)>0?(v(),h(T,{key:0},[F(d(e(a).verificationRepeatSendWaiting({countdown:e(L)})),1)],64)):(v(),h(T,{key:1},[F(d(e(a).verificationRepeatSendReady()),1)],64))]),_:1},8,["class","disabled","test-id","onClick"]),e(u)?(v(),h("div",{key:0,class:s(t.$style.loader)},[b(e(me))],2)):z("",!0)],64))}}),he="verification_disabled-pVbWZ",ge="verification_mainText-pVbWZ",Ce="verification_sourceContainer-pVbWZ",ye="verification_source-pVbWZ",we="verification_codeInput-pVbWZ",Ee="verification_repeatButton-pVbWZ",Te="verification_loader-pVbWZ",be={disabled:he,mainText:ge,sourceContainer:Ce,source:ye,codeInput:we,repeatButton:Ee,loader:Te},ke={$style:be},It=oe(ve,[["__cssModules",ke]]);export{It as default}; 2(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".verification_disabled-pVbWZ{opacity:var(--opacity-item-disabled);pointer-events:none}.verification_mainText-pVbWZ{margin-bottom:var(--spacing-4);color:var(--color-content-base-primary);font-family:var(--font-body-font-family);font-size:var(--font-body-regular-font-size);font-weight:var(--font-body-regular-font-weight);letter-spacing:var(--font-body-regular-letter-spacing);line-height:var(--font-body-regular-line-height)}.verification_sourceContainer-pVbWZ{padding:var(--spacing-2) 0;gap:var(--spacing-8);display:flex}.verification_source-pVbWZ{color:var(--color-content-base-primary);font-family:var(--font-body-font-family);font-size:var(--font-body-semibold-font-size);font-weight:var(--font-body-semibold-font-weight);letter-spacing:var(--font-body-semibold-letter-spacing);line-height:var(--font-body-semibold-line-height)}.verification_codeInput-pVbWZ{width:100%;margin:var(--modal-padding-modal-gap-form) 0}.verification_repeatButton-pVbWZ{padding:var(--spacing-2) 0}.verification_loader-pVbWZ{width:var(--size-control-xxs);
2height:var(--size-control-xxs);inset:calc(50% + var(--spacing-16)) 50% auto;position:absolute;transform:translate(-50%,-50%)}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
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.