1import{C as e,E as t,Nt as n,St as r,U as i,V as a,Y as o,_ as s,ct as c,gt as l,h as u,ht as d,it as f,j as p,l as m,nt as h}from"./reown-appkit-umVlJj26.js";import{s as g}from"./wui-text-DfMgpX4V.js";import"./wui-button-C0way9Sp.js";import"./wui-link-DPx9qTC5.js";import{t as _}from"./w3m-email-otp-widget-BBhcSxBk.js";import"./wui-icon-box-DYKrlFv-.js";import{n as v,t as y}from"./ref-1TcGiyAQ.js";import"./wui-email-input-CSsLlaBh.js";var b=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},x=class extends _{constructor(){super(...arguments),this.onOtpSubmit=async e=>{try{if(this.authConnector){let t=i.state.activeChain,n=o.getConnections(t),r=l.state.remoteFeatures?.multiWallet,s=n.length>0;if(await this.authConnector.provider.connectOtp({otp:e}),c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_PASS`}),t)await o.connectExternal(this.authConnector,t);else throw Error(`Active chain is not set on ChainController`);if(l.state.remoteFeatures?.emailCapture)return;if(l.state.siwx){a.close();return}if(s&&r){f.replace(`ProfileWallets`),d.showSuccess(`New Wallet Added`);return}a.close()}}catch(e){throw c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_FAIL`,properties:{message:r.parseError(e)}}),e}},this.onOtpResend=async e=>{this.authConnector&&(await this.authConnector.provider.connectEmail({email:e}),c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_SENT`}))}}};x=b([m(`w3m-email-verify-otp-view`)],x);var S=u` 2 wui-icon-box { 3 height: ${({spacing:e})=>e[16]}; 4 width: ${({spacing:e})=>e[16]}; 5 } 6`,C=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},w=class extends s{constructor(){super(),this.email=f.state.data?.email,this.authConnector=h.getAuthConnector(),this.loading=!1,this.listenForDeviceApproval()}render(){if(!this.email)throw Error(`w3m-email-verify-device-view: No email provided`);if(!this.authConnector)throw Error(`w3m-email-verify-device-view: No auth connector provided`);return e` 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`}),f.replace(`EmailVerifyOtp`,{email:this.email})}catch{f.goBack()}}async onResendCode(){try{if(!this.loading){if(!this.authConnector||!this.email)throw Error(`w3m-email-login-widget: Unable to resend email`);this.loading=!0,await this.authConnector.provider.connectEmail({email:this.email}),this.listenForDeviceApproval(),d.showSuccess(`Code email resent`)}}catch(e){d.showError(e)}finally{this.loading=!1}}};w.styles=S,C([g()],w.prototype,`loading`,void 0),w=C([m(`w3m-email-verify-device-view`)],w);var T=t` 38 wui-email-input { 39 width: 100%; 40 } 41 42 form { 43 width: 100%; 44 display: block; 45 position: relative; 46 } 47`,E=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},D=class extends s{constructor(){super(...arguments),this.formRef=y(),this.initialEmail=f.state.data?.email??``,this.redirectView=f.state.data?.redirectView,this.email=``,this.loading=!1}
47firstUpdated(){this.formRef.value?.addEventListener(`keydown`,e=>{e.key===`Enter`&&this.onSubmitEmail(e)})}render(){return e` 48 <wui-flex flexDirection="column" padding="4" gap="4"> 49 <form ${v(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();let t=h.getAuthConnector();if(!t)throw Error(`w3m-update-email-wallet: Auth connector not found`);let n=await t.provider.updateEmail({email:this.email});c.sendEvent({type:`track`,event:`EMAIL_EDIT`}),n.action===`VERIFY_SECONDARY_OTP`?f.push(`UpdateEmailSecondaryOtp`,{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView}):f.push(`UpdateEmailPrimaryOtp`,{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView})}catch(e){d.showError(e),this.loading=!1}}buttonsTemplate(){let t=!this.loading&&this.email.length>3&&this.email!==this.initialEmail;return this.redirectView?e` 61 <wui-flex gap="3"> 62 <wui-button size="md" variant="neutral" fullWidth @click=${f.goBack}> 63 Cancel 64 </wui-button> 65 66 <wui-button 67 size="md" 68 variant="accent-primary" 69 fullWidth 70 @click=${this.onSubmitEmail.bind(this)} 71 .disabled=${!t} 72 .loading=${this.loading} 73 > 74 Save 75 </wui-button> 76 </wui-flex> 77 `:e` 78 <wui-button 79 size="md" 80 variant="accent-primary" 81 fullWidth 82 @click=${this.onSubmitEmail.bind(this)} 83 .disabled=${!t} 84 .loading=${this.loading} 85 > 86 Save 87 </wui-button> 88 `}};D.styles=T,E([g()],D.prototype,`email`,void 0),E([g()],D.prototype,`loading`,void 0),D=E([m(`w3m-update-email-wallet-view`)],D);var O=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},k=class extends _{constructor(){super(),this.email=f.state.data?.email,this.onOtpSubmit=async e=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailPrimaryOtp({otp:e}),c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_PASS`}),f.replace(`UpdateEmailSecondaryOtp`,f.state.data))}catch(e){throw c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_FAIL`,properties:{message:r.parseError(e)}}),e}},this.onStartOver=()=>{f.replace(`UpdateEmailWallet`,f.state.data)}}};k=O([m(`w3m-update-email-primary-otp-view`)],k);var A=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},j=class extends _{constructor(){super(),this.email=f.state.data?.newEmail,this.redirectView=f.state.data?.redirectView,this.onOtpSubmit=async e=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailSecondaryOtp({otp:e}),c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_PASS`}),this.redirectView&&f.reset(this.redirectView))}catch(e){throw c.sendEvent({type:`track`,event:`EMAIL_VERIFICATION_CODE_FAIL`,properties:{message:r.parseError(e)}}),e}},this.onStartOver=()=>{f.replace(`UpdateEmailWallet`,f.state.data)}}};j=A([m(`w3m-update-email-secondary-otp-view`)],j);var M=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},N=class extends s{constructor(){super(),this.authConnector=h.getAuthConnector(),this.isEmailEnabled=l.state.remoteFeatures?.email,this.isAuthEnabled=this.checkIfAuthEnabled(h.state.connectors),this.connectors=h.state.connectors,h.subscribeKey(`connectors`,e=>{this.connectors=e,this.isAuthEnabled=this.checkIfAuthEnabled(this.connectors)})}
88render(){if(!this.isEmailEnabled)throw Error(`w3m-email-login-view: Email is not enabled`);if(!this.isAuthEnabled)throw Error(`w3m-email-login-view: No auth connector provided`);return e`<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){let t=e.filter(e=>e.type===p.CONNECTOR_TYPE_AUTH).map(e=>e.chain);return n.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(e=>t.includes(e))}};M([g()],N.prototype,`connectors`,void 0),N=M([m(`w3m-email-login-view`)],N);export{N as W3mEmailLoginView,_ as W3mEmailOtpWidget,w as W3mEmailVerifyDeviceView,x as W3mEmailVerifyOtpView,k as W3mUpdateEmailPrimaryOtpView,j as W3mUpdateEmailSecondaryOtpView,D 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.