1import{C as S,F as O,O as d,E as c,aH as _,x as s,S as f,h as b,k as T,m as C,t as m,n as u,o as D,bj as $,u as W}from"./index-c2fc66f8.js";import{c as h}from"./index-58ba9dd2.js";import{W as g}from"./index-ceb326db.js";import{r as E}from"./class-map-57c26684.js";import"./index-0299b85a.js";import"./index-ce39da69.js";import{e as P,n as N}from"./ref-e1e6c463.js";import"./index-d63e03b8.js";import"./index-280db21d.js";import"./index-f85de7b6.js";import"./if-defined-2b5452c9.js";import"./async-directive-73fd2c02.js";import"./index-ee2d6e6a.js";var F=globalThis&&globalThis.__decorate||function(a,e,t,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,r);else for(var l=a.length-1;l>=0;l--)(o=a[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let I=class extends g{constructor(){super(...arguments),this.onOtpSubmit=async e=>{var t,r;try{if(this.authConnector){const n=S.state.activeChain,i=O.getConnections(n),o=(t=d.state.remoteFeatures)==null?void 0:t.multiWallet,l=i.length>0;if(await this.authConnector.provider.connectOtp({otp:e}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),n)await O.connectExternal(this.authConnector,n);else throw new Error("Active chain is not set on ChainController");if((r=d.state.remoteFeatures)!=null&&r.emailCapture)return;if(d.state.siwx){_.close();return}if(l&&o){s.replace("ProfileWallets"),f.showSuccess("New Wallet Added");return}_.close()}}catch(n){throw c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:b.parseError(n)}}),n}},this.onOtpResend=async e=>{this.authConnector&&(await this.authConnector.provider.connectEmail({email:e}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}))}}};I=F([h("w3m-email-verify-otp-view")],I);const j=T` 2 wui-icon-box { 3 height: ${({spacing:a})=>a[16]}; 4 width: ${({spacing:a})=>a[16]}; 5 } 6`;var R=globalThis&&globalThis.__decorate||function(a,e,t,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,r);else for(var l=a.length-1;l>=0;l--)(o=a[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let w=class extends C{constructor(){var e;super(),this.email=(e=s.state.data)==null?void 0:e.email,this.authConnector=m.getAuthConnector(),this.loading=!1,this.listenForDeviceApproval()}render(){if(!this.email)throw new Error("w3m-email-verify-device-view: No email provided");if(!this.authConnector)throw new Error("w3m-email-verify-device-view: No auth connector provided");return u` 7 <wui-flex 8 flexDirection="column" 9 alignItems="center" 10 .padding=${["6","3","6","3"]} 11 gap="4" 12 > 13 <wui-icon-box size="xl" color="accent-primary" icon="sealCheck"></wui-icon-box> 14 15 <wui-flex flexDirection="column" alignItems="center" gap="3"> 16 <wui-flex flexDirection="column" alignItems="center"> 17 <wui-text variant="md-regular" color="primary"> 18 Approve the login link we sent to 19 </wui-text> 20 <wui-text variant="md-regular" color="primary"><b>${this.email}</b></wui-text> 21 </wui-flex> 22 23 <wui-text variant="sm-regular" color="secondary" align="center"> 24 The code expires in 20 minutes 25 </wui-text> 26 27 <wui-flex alignItems="center" id="w3m-resend-section" gap="2"> 28 <wui-text variant="sm-regular" color="primary" align="center"> 29 Didn't receive it? 30 </wui-text> 31 <wui-link @click=${this.onResendCode.bind(this)} .disabled=${this.loading}> 32 Resend email 33 </wui-link> 34 </wui-flex> 35 </wui-flex> 36 </wui-flex> 37 `}async listenForDeviceApproval(){if(this.authConnector)try{await this.authConnector.provider.connectDevice(),c.sendEvent({type:"track",event:"DEVICE_REGISTERED_FOR_EMAIL"}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),s.replace("EmailVerifyOtp",{email:this.email})}catch{s.goBack()}}async onResendCode(){try{if(!this.loading){if(!this.authConnector||!this.email)throw new Error("w3m-email-login-widget: Unable to resend email");this.loading=!0,await this.authConnector.provider.connectEmail({email:this.email}),this.listenForDeviceApproval(),f.showSuccess("Code email resent")}}catch(e){f.showError(e)}finally{this.loading=!1}}};w.styles=j;R([E()],w.prototype,"loading",void 0);w=R([h("w3m-email-verify-device-view")],w);const U=D` 38 wui-email-input { 39 width: 100%; 40 } 41 42 form { 43 width: 100%; 44 display: block; 45 position: relative; 46 } 47`;var y=globalThis&&globalThis.__decorate||function(a,e,t,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,r);else for(var l=a.length-1;l>=0;l--)(o=a[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let p=class extends C{constructor(){var e,t;super(...arguments),this.formRef=P(),this.initialEmail=((e=s.state.data)==null?void 0:e.email)??"",this.redirectView=(t=s.state.data)==null?void 0:t.redirectView,this.email="",this.loading=!1}firstUpdated(){var e;(e=this.formRef.value)==null||e.addEventListener("keydown",t=>{t.key==="Enter"&&this.onSubmitEmail(t)})}render(){return u` 48 <wui-flex flexDirection="column" padding="4" gap="4"> 49 <form ${N(this.formRef)} @submit=${this.onSubmitEmail.bind(this)}> 50 <wui-email-input 51 value=${this.initialEmail} 52 .disabled=${this.loading} 53 @inputChange=${this.onEmailInputChange.bind(this)} 54 > 55 </wui-email-input> 56 <input type="submit" hidden /> 57 </form> 58 ${this.buttonsTemplate()} 59 </wui-flex> 60 `}onEmailInputChange(e){this.email=e.detail}async onSubmitEmail(e){try{if(this.loading)return;this.loading=!0,e.preventDefault();const t=m.getAuthConnector();if(!t)throw new Error("w3m-update-email-wallet: Auth connector not found");const r=await t.provider.updateEmail({email:this.email});c.sendEvent({type:"track",event:"EMAIL_EDIT"}),r.action==="VERIFY_SECONDARY_OTP"?s.push("UpdateEmailSecondaryOtp",{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView}):s.push("UpdateEmailPrimaryOtp",{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView})}catch(t){f.showError(t),this.loading=!1}}buttonsTemplate(){const e=!this.loading&&this.email.length>3&&this.email!==this.initialEmail;return this.redirectView?u` 61 <wui-flex gap="3"> 62 <wui-button size="md" variant="neutral" fullWidth @click=${s.goBack}> 63 Cancel 64 </wui-button>
64 65 66 <wui-button 67 size="md" 68 variant="accent-primary" 69 fullWidth 70 @click=${this.onSubmitEmail.bind(this)} 71 .disabled=${!e} 72 .loading=${this.loading} 73 > 74 Save 75 </wui-button> 76 </wui-flex> 77 `:u` 78 <wui-button 79 size="md" 80 variant="accent-primary" 81 fullWidth 82 @click=${this.onSubmitEmail.bind(this)} 83 .disabled=${!e} 84 .loading=${this.loading} 85 > 86 Save 87 </wui-button> 88 `}};p.styles=U;y([E()],p.prototype,"email",void 0);y([E()],p.prototype,"loading",void 0);p=y([h("w3m-update-email-wallet-view")],p);var L=globalThis&&globalThis.__decorate||function(a,e,t,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,r);else for(var l=a.length-1;l>=0;l--)(o=a[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let A=class extends g{constructor(){var e;super(),this.email=(e=s.state.data)==null?void 0:e.email,this.onOtpSubmit=async t=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailPrimaryOtp({otp:t}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),s.replace("UpdateEmailSecondaryOtp",s.state.data))}catch(r){throw c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:b.parseError(r)}}),r}},this.onStartOver=()=>{s.replace("UpdateEmailWallet",s.state.data)}}};A=L([h("w3m-update-email-primary-otp-view")],A);var M=globalThis&&globalThis.__decorate||function(a,e,t,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,r);else for(var l=a.length-1;l>=0;l--)(o=a[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let x=class extends g{constructor(){var e,t;super(),this.email=(e=s.state.data)==null?void 0:e.newEmail,this.redirectView=(t=s.state.data)==null?void 0:t.redirectView,this.onOtpSubmit=async r=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailSecondaryOtp({otp:r}),c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),this.redirectView&&s.reset(this.redirectView))}catch(n){throw c.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:b.parseError(n)}}),n}},this.onStartOver=()=>{s.replace("UpdateEmailWallet",s.state.data)}}};x=M([h("w3m-update-email-secondary-otp-view")],x);var V=globalThis&&globalThis.__decorate||function(a,e,t,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,r);else for(var l=a.length-1;l>=0;l--)(o=a[l])&&(i=(n<3?o(i):n>3?o(e,t,i):o(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i};let v=class extends C{constructor(){var e;super(),this.authConnector=m.getAuthConnector(),this.isEmailEnabled=(e=d.state.remoteFeatures)==null?void 0:e.email,this.isAuthEnabled=this.checkIfAuthEnabled(m.state.connectors),this.connectors=m.state.connectors,m.subscribeKey("connectors",t=>{this.connectors=t,this.isAuthEnabled=this.checkIfAuthEnabled(this.connectors)})}render(){if(!this.isEmailEnabled)throw new Error("w3m-email-login-view: Email is not enabled");if(!this.isAuthEnabled)throw new Error("w3m-email-login-view: No auth connector provided");return u`<wui-flex flexDirection="column" .padding=${["1","3","3","3"]} gap="4"> 89 <w3m-email-login-widget></w3m-email-login-widget> 90 </wui-flex> `}checkIfAuthEnabled(e){const t=e.filter(n=>n.type===$.CONNECTOR_TYPE_AUTH).map(n=>n.chain);return W.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(n=>t.includes(n))}};V([E()],v.prototype,"connectors",void 0);v=V([h("w3m-email-login-view")],v);export{v as W3mEmailLoginView,g as W3mEmailOtpWidget,w as W3mEmailVerifyDeviceView,I as W3mEmailVerifyOtpView,A as W3mUpdateEmailPrimaryOtpView,x as W3mUpdateEmailSecondaryOtpView,p as W3mUpdateEmailWalletView};
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.