1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6792],{26792:(e,t,i)=>{i.r(t),i.d(t,{W3mEmailLoginView:()=>k,W3mEmailOtpWidget:()=>d.H,W3mEmailVerifyDeviceView:()=>y,W3mEmailVerifyOtpView:()=>p,W3mUpdateEmailPrimaryOtpView:()=>O,W3mUpdateEmailSecondaryOtpView:()=>C,W3mUpdateEmailWalletView:()=>x});var r=i(24750),n=i(16905),a=i(30305),o=i(35552),l=i(90586),s=i(11168),c=i(1761),u=i(34658),h=i(45e3),d=i(45538);let p=class extends d.H{constructor(){super(...arguments),this.onOtpSubmit=async e=>{try{if(this.authConnector){let t=r.W.state.activeChain,i=n.x.getConnections(t),u=a.H.state.remoteFeatures?.multiWallet,h=i.length>0;if(await this.authConnector.provider.connectOtp({otp:e}),o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),t)await n.x.connectExternal(this.authConnector,t);else throw Error("Active chain is not set on ChainController");if(a.H.state.remoteFeatures?.emailCapture)return;if(a.H.state.siwx)return void l.W.close();if(h&&u){s.I.replace("ProfileWallets"),c.P.showSuccess("New Wallet Added");return}l.W.close()}}catch(e){throw o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:u.w.parseError(e)}}),e}},this.onOtpResend=async e=>{this.authConnector&&(await this.authConnector.provider.connectEmail({email:e}),o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}))}}};p=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o}([(0,h.EM)("w3m-email-verify-otp-view")],p);var m=i(43159),f=i(40808),w=i(40088);i(48939),i(10693),i(80839),i(53367);let g=(0,h.AH)` 2 wui-icon-box { 3 height: ${({spacing:e})=>e["16"]}; 4 width: ${({spacing:e})=>e["16"]}; 5 } 6`;var v=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};let y=class extends m.WF{constructor(){super(),this.email=s.I.state.data?.email,this.authConnector=w.a.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(0,m.qy)` 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(),o.E.sendEvent({type:"track",event:"DEVICE_REGISTERED_FOR_EMAIL"}),o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),s.I.replace("EmailVerifyOtp",{email:this.email})}catch(e){s.I.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(),c.P.showSuccess("Code email resent")}}catch(e){c.P.showError(e)}finally{this.loading=!1}}};y.styles=g,v([(0,f.wk)()],y.prototype,"loading",void 0),y=v([(0,h.EM)("w3m-email-verify-device-view")],y);var E=i(936);i(90928),i(67725);let b=(0,m.AH)` 38 wui-email-input { 39 width: 100%; 40 } 41 42 form { 43 width: 100%; 44 display: block; 45 position: relative; 46 } 47`;var I=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};let x=class extends m.WF{constructor(){super(...arguments),this.formRef=(0,E._)(),this.initialEmail=s.I.state.data?.email??"",this.redirectView=s.I.state.data?.redirectView,this.email="",this.loading=!1}firstUpdated(){this.formRef.value?.addEventListener("keydown",e=>{"Enter"===e.key&&this.onSubmitEmail(e)})}render(){return(0,m.qy)` 48 <wui-flex flexDirection="column" padding="4" gap="4"> 49 <form ${(0,E.K)(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=w.a.getAuthConnector();if(!t)throw Error("w3m-update-email-wallet: Auth connector not found");let i=await t.provider.updateEmail({email:this.email});o.E.sendEvent({type:"track",event:"EMAIL_EDIT"}),"VERIFY_SECONDARY_OTP"===i.action?s.I.push("UpdateEmailSecondaryOtp",{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView}):s.I.push("UpdateEmailPrimaryOtp",{email:this.initialEmail,newEmail:this.email,redirectView:this.redirectView})}catch(e){c.P.showError(e),this.loading=!1}}buttonsTemplate(){let e=!this.loading&&this.email.length>3&&this.email!==this.initialEmail;return this.redirectView?(0,m.qy)` 61 <wui-flex gap="3"> 62 <wui-button size="md" variant="neutral" fullWidth @click=${s.I.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 `:(0,m.qy)` 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 `}};x.styles=b,I([(0,f.wk)()],x.prototype,"email",void 0),I([(0,f.wk)()],x.prototype,"loading",void 0),x=I([(0,h.EM)("w3m-update-email-wallet-view")],x);let O=class extends d.H{constructor(){super(),this.email=s.I.state.data?.email,this.onOtpSubmit=async e=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailPrimaryOtp({otp:e}),o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),s.I.replace("UpdateEmailSecondaryOtp",s.I.state.data))}catch(e){throw o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:u.w.parseError(e)}}),e}},this.onStartOver=()=>{s.I.replace("UpdateEmailWallet",s.I.state.data)}}};O=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o}([(0,h.EM)("w3m-update-email-primary-otp-view")],O);let C=class extends d.H{constructor(){super(),this.email=s.I.state.data?.newEmail,this.redirectView=s.I.state.data?.redirectView,this.onOtpSubmit=async e=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailSecondaryOtp({otp:e}),o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),this.redirectView&&s.I.reset(this.redirectView))}catch(e){throw o.E.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL",properties:{message:u.w.parseError(e)}}),e}},this.onStartOver=()=>{s.I.replace("UpdateEmailWallet",s.I.state.data)}}};C=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o}([(0,h.EM)("w3m-update-email-secondary-otp-view")],C);var A=i(90043),R=i(49576),$=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};let k=class extends m.WF{constructor(){super(),this.authConnector=w.a.getAuthConnector(),this.isEmailEnabled=a.H.state.remoteFeatures?.email,this.isAuthEnabled=this.checkIfAuthEnabled(w.a.state.connectors),this.connectors=w.a.state.connectors,w.a.subscribeKey("connectors",e=>{this.connectors=e,this.isAuthEnabled=this.checkIfAuthEnabled(this.connectors)})}render(){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(0,m.qy)`<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===R.o.CONNECTOR_TYPE_AUTH).map(e=>e.chain);return A.o.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(e=>t.includes(e))}};$([(0,f.wk)()],k.prototype,"connectors",void 0),k=$([(0,h.EM)("w3m-email-login-view")],k)},45538:(e,t,i)=>{i.d(t,{H:()=>O});var r,n=i(43159),a=i(40808),o=i(11168),l=i(40088),s=i(34658),c=i(1761),u=i(45e3);i(48939),i(80839),i(13520),i(57708);var h=i(56944),d=i(62833),p=i(7611),m=i(73156);let f=(0,m.AH)` 91 :host { 92 position: relative; 93 display: inline-block; 94 } 95 96 input { 97 width: 48px; 98 height: 48px; 99 background: ${({tokens:e})=>e.theme.foregroundPrimary}; 100 border-radius: ${({borderRadius:e})=>e[4]}; 101 border: 1px solid ${({tokens:e})=>e.theme.borderPrimary}; 102 font-family: ${({fontFamily:e})=>e.regular}; 103 font-size: ${({textSize:e})=>e.large}; 104 line-height: 18px; 105 letter-spacing: -0.16px; 106 text-align: center; 107 color: ${({tokens:e})=>e.theme.textPrimary}; 108 caret-color: ${({tokens:e})=>e.core.textAccentPrimary}; 109 transition: 110 background-color ${({durations:e})=>e.lg} 111 ${({easings:e})=>e["ease-out-power-2"]}, 112 border-color ${({durations:e})=>e.lg} 113 ${({easings:e})=>e["ease-out-power-2"]}, 114 box-shadow ${({durations:e})=>e.lg} 115 ${({easings:e})=>e["ease-out-power-2"]}; 116 will-change: background-color, border-color, box-shadow; 117 box-sizing: border-box; 118 -webkit-appearance: none; 119 -moz-appearance: textfield; 120 padding: ${({spacing:e})=>e[4]}; 121 } 122 123 input::-webkit-outer-spin-button, 124 input::-webkit-inner-spin-button { 125 -webkit-appearance: none; 126 margin: 0; 127 } 128 129 input[type='number'] { 130 -moz-appearance: textfield; 131 } 132 133 input:disabled {
134 cursor: not-allowed; 135 opacity: 0.5; 136 } 137 138 input:focus-visible:enabled { 139 background-color: transparent; 140 border: 1px solid ${({tokens:e})=>e.theme.borderSecondary}; 141 box-shadow: 0px 0px 0px 4px ${({tokens:e})=>e.core.foregroundAccent040}; 142 } 143`;var w=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};let g=class extends n.WF{constructor(){super(...arguments),this.disabled=!1,this.value=""}render(){return(0,n.qy)`<input 144 type="number" 145 maxlength="1" 146 inputmode="numeric" 147 autofocus 148 ?disabled=${this.disabled} 149 value=${this.value} 150 /> `}};g.styles=[h.W5,h.fD,f],w([(0,a.MZ)({type:Boolean})],g.prototype,"disabled",void 0),w([(0,a.MZ)({type:String})],g.prototype,"value",void 0),g=w([(0,p.E)("wui-input-numeric")],g);let v=(0,n.AH)` 151 :host { 152 position: relative; 153 display: block; 154 } 155`;var y=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};let E=class extends n.WF{constructor(){super(...arguments),this.length=6,this.otp="",this.values=Array.from({length:this.length}).map(()=>""),this.numerics=[],this.shouldInputBeEnabled=e=>this.values.slice(0,e).every(e=>""!==e),this.handleKeyDown=(e,t)=>{let i=e.target,r=this.getInputElement(i);if(!r)return;["ArrowLeft","ArrowRight","Shift","Delete"].includes(e.key)&&e.preventDefault();let n=r.selectionStart;switch(e.key){case"ArrowLeft":n&&r.setSelectionRange(n+1,n+1),this.focusInputField("prev",t);break;case"ArrowRight":case"Shift":this.focusInputField("next",t);break;case"Delete":case"Backspace":""===r.value?this.focusInputField("prev",t):this.updateInput(r,t,"")}},this.focusInputField=(e,t)=>{if("next"===e){let e=t+1;if(!this.shouldInputBeEnabled(e))return;let i=this.numerics[e<this.length?e:t],r=i?this.getInputElement(i):void 0;r&&(r.disabled=!1,r.focus())}if("prev"===e){let e=t-1,i=this.numerics[e>-1?e:t],r=i?this.getInputElement(i):void 0;r&&r.focus()}}}firstUpdated(){this.otp&&(this.values=this.otp.split(""));let e=this.shadowRoot?.querySelectorAll("wui-input-numeric");e&&(this.numerics=Array.from(e)),this.numerics[0]?.focus()}render(){return(0,n.qy)` 156 <wui-flex gap="1" data-testid="wui-otp-input"> 157 ${Array.from({length:this.length}).map((e,t)=>(0,n.qy)` 158 <wui-input-numeric 159 @input=${e=>this.handleInput(e,t)} 160 @click=${e=>this.selectInput(e)} 161 @keydown=${e=>this.handleKeyDown(e,t)} 162 .disabled=${!this.shouldInputBeEnabled(t)} 163 .value=${this.values[t]||""} 164 > 165 </wui-input-numeric> 166 `)} 167 </wui-flex> 168 `}updateInput(e,t,i){let r=this.numerics[t],n=e||(r?this.getInputElement(r):void 0);n&&(n.value=i,this.values=this.values.map((e,r)=>r===t?i:e))}selectInput(e){let t=e.target;if(t){let e=this.getInputElement(t);e?.select()}}handleInput(e,t){let i=e.target,r=this.getInputElement(i);if(r){let i=r.value;"insertFromPaste"===e.inputType?this.handlePaste(r,i,t):d.Z.isNumber(i)&&e.data?(this.updateInput(r,t,e.data),this.focusInputField("next",t)):this.updateInput(r,t,"")}this.dispatchInputChangeEvent()}handlePaste(e,t,i){let r=t[0];if(r&&d.Z.isNumber(r)){this.updateInput(e,i,r);let n=t.substring(1);if(i+1<this.length&&n.length){let e=this.numerics[i+1],t=e?this.getInputElement(e):void 0;t&&this.handlePaste(t,n,i+1)}else this.focusInputField("next",i)}else this.updateInput(e,i,"")}getInputElement(e){return e.shadowRoot?.querySelector("input")?e.shadowRoot.querySelector("input"):null}dispatchInputChangeEvent(){let e=this.values.join("");this.dispatchEvent(new CustomEvent("inputChange",{detail:e,bubbles:!0,composed:!0}))}};E.styles=[h.W5,v],y([(0,a.MZ)({type:Number})],E.prototype,"length",void 0),y([(0,a.MZ)({type:String})],E.prototype,"otp",void 0),y([(0,a.wk)()],E.prototype,"values",void 0),E=y([(0,p.E)("wui-otp")],E),i(53367);var b=i(28436);let I=(0,n.AH)` 169 wui-loading-spinner { 170 margin: 9px auto; 171 } 172 173 .email-display, 174 .email-display wui-text { 175 max-width: 100%; 176 } 177`;var x=function(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};let O=r=class extends n.WF{firstUpdated(){this.startOTPTimeout()}disconnectedCallback(){clearTimeout(this.OTPTimeout)}constructor(){super(),this.loading=!1,this.timeoutTimeLeft=b.Q.getTimeToNextEmailLogin(),this.error="",this.otp="",this.email=o.I.state.data?.email,this.authConnector=l.a.getAuthConnector()}
177render(){if(!this.email)throw Error("w3m-email-otp-widget: No email provided");let e=!!this.timeoutTimeLeft,t=this.getFooterLabels(e);return(0,n.qy)` 178 <wui-flex 179 flexDirection="column" 180 alignItems="center" 181 .padding=${["4","0","4","0"]} 182 gap="4" 183 > 184 <wui-flex 185 class="email-display" 186 flexDirection="column" 187 alignItems="center" 188 .padding=${["0","5","0","5"]} 189 > 190 <wui-text variant="md-regular" color="primary" align="center"> 191 Enter the code we sent to 192 </wui-text> 193 <wui-text variant="md-medium" color="primary" lineClamp="1" align="center"> 194 ${this.email} 195 </wui-text> 196 </wui-flex> 197 198 <wui-text variant="sm-regular" color="secondary">The code expires in 20 minutes</wui-text> 199 200 ${this.loading?(0,n.qy)`<wui-loading-spinner size="xl" color="accent-primary"></wui-loading-spinner>`:(0,n.qy)` <wui-flex flexDirection="column" alignItems="center" gap="2"> 201 <wui-otp 202 dissabled 203 length="6" 204 @inputChange=${this.onOtpInputChange.bind(this)} 205 .otp=${this.otp} 206 ></wui-otp> 207 ${this.error?(0,n.qy)` 208 <wui-text variant="sm-regular" align="center" color="error"> 209 ${this.error}. Try Again 210 </wui-text> 211 `:null} 212 </wui-flex>`} 213 214 <wui-flex alignItems="center" gap="2"> 215 <wui-text variant="sm-regular" color="secondary">${t.title}</wui-text> 216 <wui-link @click=${this.onResendCode.bind(this)} .disabled=${e}> 217 ${t.action} 218 </wui-link> 219 </wui-flex> 220 </wui-flex> 221 `}startOTPTimeout(){this.timeoutTimeLeft=b.Q.getTimeToNextEmailLogin(),this.OTPTimeout=setInterval(()=>{this.timeoutTimeLeft>0?this.timeoutTimeLeft=b.Q.getTimeToNextEmailLogin():clearInterval(this.OTPTimeout)},1e3)}async onOtpInputChange(e){try{!this.loading&&(this.otp=e.detail,this.shouldSubmitOnOtpChange()&&(this.loading=!0,await this.onOtpSubmit?.(this.otp)))}catch(e){this.error=s.w.parseError(e),this.loading=!1}}async onResendCode(){try{if(this.onOtpResend){if(!this.loading&&!this.timeoutTimeLeft){if(this.error="",this.otp="",!l.a.getAuthConnector()||!this.email)throw Error("w3m-email-otp-widget: Unable to resend email");this.loading=!0,await this.onOtpResend(this.email),this.startOTPTimeout(),c.P.showSuccess("Code email resent")}}else this.onStartOver&&this.onStartOver()}catch(e){c.P.showError(e)}finally{this.loading=!1}}getFooterLabels(e){return this.onStartOver?{title:"Something wrong?",action:`Try again ${e?`in ${this.timeoutTimeLeft}s`:""}`}:{title:"Didn't receive it?",action:`Resend ${e?`in ${this.timeoutTimeLeft}s`:"Code"}`}}shouldSubmitOnOtpChange(){return this.authConnector&&this.otp.length===r.OTP_LENGTH}};O.OTP_LENGTH=6,O.styles=I,x([(0,a.wk)()],O.prototype,"loading",void 0),x([(0,a.wk)()],O.prototype,"timeoutTimeLeft",void 0),x([(0,a.wk)()],O.prototype,"error",void 0),O=r=x([(0,u.EM)("w3m-email-otp-widget")],O)}}]);
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.