PageSourceSearch

https://protocol.art/assets/email-10b1f5e7.js

js protocol.art collected 2026-10-06 19:10:57 UTC 11,013 bytes, 90 lines download raw bytes

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.