{"version":3,"file":"email-C79xtX7E.cjs","sources":["../node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-input-numeric/styles.js","../node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-input-numeric/index.js","../node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-otp/styles.js","../node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-otp/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/w3m-email-otp-widget/styles.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/w3m-email-otp-widget/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-email-verify-otp-view/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-email-verify-device-view/styles.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-email-verify-device-view/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-update-email-wallet-view/styles.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-update-email-wallet-view/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-update-email-primary-otp-view/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-update-email-secondary-otp-view/index.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/views/w3m-email-login-view/index.js"],"sourcesContent":["import { css } from 'lit';\nexport default css `\n  :host {\n    position: relative;\n    display: inline-block;\n  }\n\n  input {\n    width: 50px;\n    height: 50px;\n    background: var(--wui-color-gray-glass-010);\n    border-radius: var(--wui-border-radius-xs);\n    border: 1px solid var(--wui-color-gray-glass-005);\n    font-family: var(--wui-font-family);\n    font-size: var(--wui-font-size-large);\n    font-weight: var(--wui-font-weight-regular);\n    letter-spacing: var(--wui-letter-spacing-large);\n    text-align: center;\n    color: var(--wui-color-fg-100);\n    caret-color: var(--wui-color-accent-100);\n    transition:\n      background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n      border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),\n      box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);\n    will-change: background-color, border-color, box-shadow;\n    box-sizing: border-box;\n    -webkit-appearance: none;\n    -moz-appearance: textfield;\n    padding: 0px;\n  }\n\n  input::-webkit-outer-spin-button,\n  input::-webkit-inner-spin-button {\n    -webkit-appearance: none;\n    margin: 0;\n  }\n\n  input[type='number'] {\n    -moz-appearance: textfield;\n  }\n\n  input:disabled {\n    cursor: not-allowed;\n    border: 1px solid var(--wui-color-gray-glass-010);\n    background: var(--wui-color-gray-glass-005);\n  }\n\n  input:focus:enabled {\n    background-color: var(--wui-color-gray-glass-015);\n    border: 1px solid var(--wui-color-accent-100);\n    -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n    -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n    box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);\n  }\n\n  @media (hover: hover) and (pointer: fine) {\n    input:hover:enabled {\n      background-color: var(--wui-color-gray-glass-015);\n    }\n  }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiInputNumeric = class WuiInputNumeric extends LitElement {\n    constructor() {\n        super(...arguments);\n        this.disabled = false;\n        this.value = '';\n    }\n    render() {\n        return html `<input\n      type=\"number\"\n      maxlength=\"1\"\n      inputmode=\"numeric\"\n      autofocus\n      ?disabled=${this.disabled}\n      value=${this.value}\n    /> `;\n    }\n};\nWuiInputNumeric.styles = [resetStyles, elementStyles, styles];\n__decorate([\n    property({ type: Boolean })\n], WuiInputNumeric.prototype, \"disabled\", void 0);\n__decorate([\n    property({ type: String })\n], WuiInputNumeric.prototype, \"value\", void 0);\nWuiInputNumeric = __decorate([\n    customElement('wui-input-numeric')\n], WuiInputNumeric);\nexport { WuiInputNumeric };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n  :host {\n    position: relative;\n    display: block;\n  }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport '../../layout/wui-flex/index.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { UiHelperUtil } from '../../utils/UiHelperUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport '../wui-input-numeric/index.js';\nimport { WuiInputNumeric } from '../wui-input-numeric/index.js';\nimport styles from './styles.js';\nlet WuiOtp = class WuiOtp extends LitElement {\n    constructor() {\n        super(...arguments);\n        this.length = 6;\n        this.otp = '';\n        this.values = Array.from({ length: this.length }).map(() => '');\n        this.numerics = [];\n        this.shouldInputBeEnabled = (index) => {\n            const previousInputs = this.values.slice(0, index);\n            return previousInputs.every(input => input !== '');\n        };\n        this.handleKeyDown = (e, index) => {\n            const inputElement = e.target;\n            const input = this.getInputElement(inputElement);\n            const keyArr = ['ArrowLeft', 'ArrowRight', 'Shift', 'Delete'];\n            if (!input) {\n                return;\n            }\n            if (keyArr.includes(e.key)) {\n                e.preventDefault();\n            }\n            const currentCaretPos = input.selectionStart;\n            switch (e.key) {\n                case 'ArrowLeft':\n                    if (currentCaretPos) {\n                        input.setSelectionRange(currentCaretPos + 1, currentCaretPos + 1);\n                    }\n                    this.focusInputField('prev', index);\n                    break;\n                case 'ArrowRight':\n                    this.focusInputField('next', index);\n                    break;\n                case 'Shift':\n                    this.focusInputField('next', index);\n                    break;\n                case 'Delete':\n                    if (input.value === '') {\n                        this.focusInputField('prev', index);\n                    }\n                    else {\n                        this.updateInput(input, index, '');\n                    }\n                    break;\n                case 'Backspace':\n                    if (input.value === '') {\n                        this.focusInputField('prev', index);\n                    }\n                    else {\n                        this.updateInput(input, index, '');\n                    }\n                    break;\n                default:\n            }\n        };\n        this.focusInputField = (dir, index) => {\n            if (dir === 'next') {\n                const nextIndex = index + 1;\n                if (!this.shouldInputBeEnabled(nextIndex)) {\n                    return;\n                }\n                const numeric = this.numerics[nextIndex < this.length ? nextIndex : index];\n                const input = numeric ? this.getInputElement(numeric) : undefined;\n                if (input) {\n                    input.disabled = false;\n                    input.focus();\n                }\n            }\n            if (dir === 'prev') {\n                const nextIndex = index - 1;\n                const numeric = this.numerics[nextIndex > -1 ? nextIndex : index];\n                const input = numeric ? this.getInputElement(numeric) : undefined;\n                if (input) {\n                    input.focus();\n                }\n            }\n        };\n    }\n    firstUpdated() {\n        if (this.otp) {\n            this.values = this.otp.split('');\n        }\n        const numericElements = this.shadowRoot?.querySelectorAll('wui-input-numeric');\n        if (numericElements) {\n            this.numerics = Array.from(numericElements);\n        }\n        this.numerics[0]?.focus();\n    }\n    render() {\n        return html `\n      <wui-flex gap=\"xxs\" data-testid=\"wui-otp-input\">\n        ${Array.from({ length: this.length }).map((_, index) => html `\n            <wui-input-numeric\n              @input=${(e) => this.handleInput(e, index)}\n              @click=${(e) => this.selectInput(e)}\n              @keydown=${(e) => this.handleKeyDown(e, index)}\n              .disabled=${!this.shouldInputBeEnabled(index)}\n              .value=${this.values[index] || ''}\n            >\n            </wui-input-numeric>\n          `)}\n      </wui-flex>\n    `;\n    }\n    updateInput(element, index, value) {\n        const numeric = this.numerics[index];\n        const input = element || (numeric ? this.getInputElement(numeric) : undefined);\n        if (input) {\n            input.value = value;\n            this.values = this.values.map((val, i) => (i === index ? value : val));\n        }\n    }\n    selectInput(e) {\n        const targetElement = e.target;\n        if (targetElement) {\n            const inputElement = this.getInputElement(targetElement);\n            inputElement?.select();\n        }\n    }\n    handleInput(e, index) {\n        const inputElement = e.target;\n        const input = this.getInputElement(inputElement);\n        if (input) {\n            const inputValue = input.value;\n            if (e.inputType === 'insertFromPaste') {\n                this.handlePaste(input, inputValue, index);\n            }\n            else {\n                const isValid = UiHelperUtil.isNumber(inputValue);\n                if (isValid && e.data) {\n                    this.updateInput(input, index, e.data);\n                    this.focusInputField('next', index);\n                }\n                else {\n                    this.updateInput(input, index, '');\n                }\n            }\n        }\n        this.dispatchInputChangeEvent();\n    }\n    handlePaste(input, inputValue, index) {\n        const value = inputValue[0];\n        const isValid = value && UiHelperUtil.isNumber(value);\n        if (isValid) {\n            this.updateInput(input, index, value);\n            const inputString = inputValue.substring(1);\n            if (index + 1 < this.length && inputString.length) {\n                const nextNumeric = this.numerics[index + 1];\n                const nextInput = nextNumeric ? this.getInputElement(nextNumeric) : undefined;\n                if (nextInput) {\n                    this.handlePaste(nextInput, inputString, index + 1);\n                }\n            }\n            else {\n                this.focusInputField('next', index);\n            }\n        }\n        else {\n            this.updateInput(input, index, '');\n        }\n    }\n    getInputElement(el) {\n        if (el.shadowRoot?.querySelector('input')) {\n            return el.shadowRoot.querySelector('input');\n        }\n        return null;\n    }\n    dispatchInputChangeEvent() {\n        const value = this.values.join('');\n        this.dispatchEvent(new CustomEvent('inputChange', {\n            detail: value,\n            bubbles: true,\n            composed: true\n        }));\n    }\n};\nWuiOtp.styles = [resetStyles, styles];\n__decorate([\n    property({ type: Number })\n], WuiOtp.prototype, \"length\", void 0);\n__decorate([\n    property({ type: String })\n], WuiOtp.prototype, \"otp\", void 0);\n__decorate([\n    state()\n], WuiOtp.prototype, \"values\", void 0);\nWuiOtp = __decorate([\n    customElement('wui-otp')\n], WuiOtp);\nexport { WuiOtp };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n  wui-loading-spinner {\n    margin: 9px auto;\n  }\n\n  .email-display,\n  .email-display wui-text {\n    max-width: 100%;\n  }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ConnectorController, CoreHelperUtil, RouterController, SnackController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-link';\nimport '@reown/appkit-ui/wui-loading-spinner';\nimport '@reown/appkit-ui/wui-otp';\nimport '@reown/appkit-ui/wui-text';\nimport { W3mFrameHelpers } from '@reown/appkit-wallet';\nimport styles from './styles.js';\nconst OTP_LENGTH = 6;\nlet W3mEmailOtpWidget = class W3mEmailOtpWidget extends LitElement {\n    firstUpdated() {\n        this.startOTPTimeout();\n    }\n    disconnectedCallback() {\n        clearTimeout(this.OTPTimeout);\n    }\n    constructor() {\n        super();\n        this.loading = false;\n        this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n        this.error = '';\n        this.otp = '';\n        this.email = RouterController.state.data?.email;\n        this.authConnector = ConnectorController.getAuthConnector();\n    }\n    render() {\n        if (!this.email) {\n            throw new Error('w3m-email-otp-widget: No email provided');\n        }\n        const isResendDisabled = Boolean(this.timeoutTimeLeft);\n        const footerLabels = this.getFooterLabels(isResendDisabled);\n        return html `\n      <wui-flex\n        flexDirection=\"column\"\n        alignItems=\"center\"\n        .padding=${['l', '0', 'l', '0']}\n        gap=\"l\"\n      >\n        <wui-flex\n          class=\"email-display\"\n          flexDirection=\"column\"\n          alignItems=\"center\"\n          .padding=${['0', 'xl', '0', 'xl']}\n        >\n          <wui-text variant=\"paragraph-400\" color=\"fg-100\" align=\"center\">\n            Enter the code we sent to\n          </wui-text>\n          <wui-text variant=\"paragraph-500\" color=\"fg-100\" lineClamp=\"1\" align=\"center\">\n            ${this.email}\n          </wui-text>\n        </wui-flex>\n\n        <wui-text variant=\"small-400\" color=\"fg-200\">The code expires in 20 minutes</wui-text>\n\n        ${this.loading\n            ? html `<wui-loading-spinner size=\"xl\" color=\"accent-100\"></wui-loading-spinner>`\n            : html ` <wui-flex flexDirection=\"column\" alignItems=\"center\" gap=\"xs\">\n              <wui-otp\n                dissabled\n                length=\"6\"\n                @inputChange=${this.onOtpInputChange.bind(this)}\n                .otp=${this.otp}\n              ></wui-otp>\n              ${this.error\n                ? html `\n                    <wui-text variant=\"small-400\" align=\"center\" color=\"error-100\">\n                      ${this.error}. Try Again\n                    </wui-text>\n                  `\n                : null}\n            </wui-flex>`}\n\n        <wui-flex alignItems=\"center\" gap=\"xs\">\n          <wui-text variant=\"small-400\" color=\"fg-200\">${footerLabels.title}</wui-text>\n          <wui-link @click=${this.onResendCode.bind(this)} .disabled=${isResendDisabled}>\n            ${footerLabels.action}\n          </wui-link>\n        </wui-flex>\n      </wui-flex>\n    `;\n    }\n    startOTPTimeout() {\n        this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n        this.OTPTimeout = setInterval(() => {\n            if (this.timeoutTimeLeft > 0) {\n                this.timeoutTimeLeft = W3mFrameHelpers.getTimeToNextEmailLogin();\n            }\n            else {\n                clearInterval(this.OTPTimeout);\n            }\n        }, 1000);\n    }\n    async onOtpInputChange(event) {\n        try {\n            if (!this.loading) {\n                this.otp = event.detail;\n                if (this.authConnector && this.otp.length === OTP_LENGTH) {\n                    this.loading = true;\n                    await this.onOtpSubmit?.(this.otp);\n                }\n            }\n        }\n        catch (error) {\n            this.error = CoreHelperUtil.parseError(error);\n            this.loading = false;\n        }\n    }\n    async onResendCode() {\n        try {\n            if (this.onOtpResend) {\n                if (!this.loading && !this.timeoutTimeLeft) {\n                    this.error = '';\n                    this.otp = '';\n                    const authConnector = ConnectorController.getAuthConnector();\n                    if (!authConnector || !this.email) {\n                        throw new Error('w3m-email-otp-widget: Unable to resend email');\n                    }\n                    this.loading = true;\n                    await this.onOtpResend(this.email);\n                    this.startOTPTimeout();\n                    SnackController.showSuccess('Code email resent');\n                }\n            }\n            else if (this.onStartOver) {\n                this.onStartOver();\n            }\n        }\n        catch (error) {\n            SnackController.showError(error);\n        }\n        finally {\n            this.loading = false;\n        }\n    }\n    getFooterLabels(isResendDisabled) {\n        if (this.onStartOver) {\n            return {\n                title: 'Something wrong?',\n                action: `Try again ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : ''}`\n            };\n        }\n        return {\n            title: `Didn't receive it?`,\n            action: `Resend ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : 'Code'}`\n        };\n    }\n};\nW3mEmailOtpWidget.styles = styles;\n__decorate([\n    state()\n], W3mEmailOtpWidget.prototype, \"loading\", void 0);\n__decorate([\n    state()\n], W3mEmailOtpWidget.prototype, \"timeoutTimeLeft\", void 0);\n__decorate([\n    state()\n], W3mEmailOtpWidget.prototype, \"error\", void 0);\nW3mEmailOtpWidget = __decorate([\n    customElement('w3m-email-otp-widget')\n], W3mEmailOtpWidget);\nexport { W3mEmailOtpWidget };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ChainController, ConnectionController, CoreHelperUtil, EventsController, ModalController, OptionsController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nlet W3mEmailVerifyOtpView = class W3mEmailVerifyOtpView extends W3mEmailOtpWidget {\n    constructor() {\n        super(...arguments);\n        this.onOtpSubmit = async (otp) => {\n            try {\n                if (this.authConnector) {\n                    await this.authConnector.provider.connectOtp({ otp });\n                    EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n                    if (ChainController.state.activeChain) {\n                        await ConnectionController.connectExternal(this.authConnector, ChainController.state.activeChain);\n                    }\n                    else {\n                        throw new Error('Active chain is not set on ChainControll');\n                    }\n                    EventsController.sendEvent({\n                        type: 'track',\n                        event: 'CONNECT_SUCCESS',\n                        properties: { method: 'email', name: this.authConnector.name || 'Unknown' }\n                    });\n                    if (!OptionsController.state.siwx) {\n                        ModalController.close();\n                    }\n                }\n            }\n            catch (error) {\n                EventsController.sendEvent({\n                    type: 'track',\n                    event: 'EMAIL_VERIFICATION_CODE_FAIL',\n                    properties: { message: CoreHelperUtil.parseError(error) }\n                });\n                throw error;\n            }\n        };\n        this.onOtpResend = async (email) => {\n            if (this.authConnector) {\n                await this.authConnector.provider.connectEmail({ email });\n                EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n            }\n        };\n    }\n};\nW3mEmailVerifyOtpView = __decorate([\n    customElement('w3m-email-verify-otp-view')\n], W3mEmailVerifyOtpView);\nexport { W3mEmailVerifyOtpView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n  wui-icon-box {\n    height: var(--wui-icon-box-size-xl);\n    width: var(--wui-icon-box-size-xl);\n  }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ConnectorController, EventsController, RouterController, SnackController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-icon-box';\nimport '@reown/appkit-ui/wui-link';\nimport '@reown/appkit-ui/wui-text';\nimport styles from './styles.js';\nlet W3mEmailVerifyDeviceView = class W3mEmailVerifyDeviceView extends LitElement {\n    constructor() {\n        super();\n        this.email = RouterController.state.data?.email;\n        this.authConnector = ConnectorController.getAuthConnector();\n        this.loading = false;\n        this.listenForDeviceApproval();\n    }\n    render() {\n        if (!this.email) {\n            throw new Error('w3m-email-verify-device-view: No email provided');\n        }\n        if (!this.authConnector) {\n            throw new Error('w3m-email-verify-device-view: No auth connector provided');\n        }\n        return html `\n      <wui-flex\n        flexDirection=\"column\"\n        alignItems=\"center\"\n        .padding=${['xxl', 's', 'xxl', 's']}\n        gap=\"l\"\n      >\n        <wui-icon-box\n          size=\"xl\"\n          iconcolor=\"accent-100\"\n          backgroundcolor=\"accent-100\"\n          icon=\"verify\"\n          background=\"opaque\"\n        ></wui-icon-box>\n\n        <wui-flex flexDirection=\"column\" alignItems=\"center\" gap=\"s\">\n          <wui-flex flexDirection=\"column\" alignItems=\"center\">\n            <wui-text variant=\"paragraph-400\" color=\"fg-100\">\n              Approve the login link we sent to\n            </wui-text>\n            <wui-text variant=\"paragraph-400\" color=\"fg-100\"><b>${this.email}</b></wui-text>\n          </wui-flex>\n\n          <wui-text variant=\"small-400\" color=\"fg-200\" align=\"center\">\n            The code expires in 20 minutes\n          </wui-text>\n\n          <wui-flex alignItems=\"center\" id=\"w3m-resend-section\" gap=\"xs\">\n            <wui-text variant=\"small-400\" color=\"fg-100\" align=\"center\">\n              Didn't receive it?\n            </wui-text>\n            <wui-link @click=${this.onResendCode.bind(this)} .disabled=${this.loading}>\n              Resend email\n            </wui-link>\n          </wui-flex>\n        </wui-flex>\n      </wui-flex>\n    `;\n    }\n    async listenForDeviceApproval() {\n        if (this.authConnector) {\n            try {\n                await this.authConnector.provider.connectDevice();\n                EventsController.sendEvent({ type: 'track', event: 'DEVICE_REGISTERED_FOR_EMAIL' });\n                EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });\n                RouterController.replace('EmailVerifyOtp', { email: this.email });\n            }\n            catch (error) {\n                RouterController.goBack();\n            }\n        }\n    }\n    async onResendCode() {\n        try {\n            if (!this.loading) {\n                if (!this.authConnector || !this.email) {\n                    throw new Error('w3m-email-login-widget: Unable to resend email');\n                }\n                this.loading = true;\n                await this.authConnector.provider.connectEmail({ email: this.email });\n                this.listenForDeviceApproval();\n                SnackController.showSuccess('Code email resent');\n            }\n        }\n        catch (error) {\n            SnackController.showError(error);\n        }\n        finally {\n            this.loading = false;\n        }\n    }\n};\nW3mEmailVerifyDeviceView.styles = styles;\n__decorate([\n    state()\n], W3mEmailVerifyDeviceView.prototype, \"loading\", void 0);\nW3mEmailVerifyDeviceView = __decorate([\n    customElement('w3m-email-verify-device-view')\n], W3mEmailVerifyDeviceView);\nexport { W3mEmailVerifyDeviceView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n  wui-email-input {\n    width: 100%;\n  }\n\n  form {\n    width: 100%;\n    display: block;\n    position: relative;\n  }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { ConnectorController } from '@reown/appkit-controllers';\nimport { EventsController, RouterController, SnackController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-button';\nimport '@reown/appkit-ui/wui-email-input';\nimport '@reown/appkit-ui/wui-flex';\nimport styles from './styles.js';\nlet W3mUpdateEmailWalletView = class W3mUpdateEmailWalletView extends LitElement {\n    constructor() {\n        super(...arguments);\n        this.formRef = createRef();\n        this.initialEmail = RouterController.state.data?.email ?? '';\n        this.redirectView = RouterController.state.data?.redirectView;\n        this.email = '';\n        this.loading = false;\n    }\n    firstUpdated() {\n        this.formRef.value?.addEventListener('keydown', event => {\n            if (event.key === 'Enter') {\n                this.onSubmitEmail(event);\n            }\n        });\n    }\n    render() {\n        return html `\n      <wui-flex flexDirection=\"column\" padding=\"m\" gap=\"m\">\n        <form ${ref(this.formRef)} @submit=${this.onSubmitEmail.bind(this)}>\n          <wui-email-input\n            value=${this.initialEmail}\n            .disabled=${this.loading}\n            @inputChange=${this.onEmailInputChange.bind(this)}\n          >\n          </wui-email-input>\n          <input type=\"submit\" hidden />\n        </form>\n        ${this.buttonsTemplate()}\n      </wui-flex>\n    `;\n    }\n    onEmailInputChange(event) {\n        this.email = event.detail;\n    }\n    async onSubmitEmail(event) {\n        try {\n            if (this.loading) {\n                return;\n            }\n            this.loading = true;\n            event.preventDefault();\n            const authConnector = ConnectorController.getAuthConnector();\n            if (!authConnector) {\n                throw new Error('w3m-update-email-wallet: Auth connector not found');\n            }\n            const response = await authConnector.provider.updateEmail({ email: this.email });\n            EventsController.sendEvent({ type: 'track', event: 'EMAIL_EDIT' });\n            if (response.action === 'VERIFY_SECONDARY_OTP') {\n                RouterController.push('UpdateEmailSecondaryOtp', {\n                    email: this.initialEmail,\n                    newEmail: this.email,\n                    redirectView: this.redirectView\n                });\n            }\n            else {\n                RouterController.push('UpdateEmailPrimaryOtp', {\n                    email: this.initialEmail,\n                    newEmail: this.email,\n                    redirectView: this.redirectView\n                });\n            }\n        }\n        catch (error) {\n            SnackController.showError(error);\n            this.loading = false;\n        }\n    }\n    buttonsTemplate() {\n        const showSubmit = !this.loading && this.email.length > 3 && this.email !== this.initialEmail;\n        if (!this.redirectView) {\n            return html `\n        <wui-button\n          size=\"md\"\n          variant=\"main\"\n          fullWidth\n          @click=${this.onSubmitEmail.bind(this)}\n          .disabled=${!showSubmit}\n          .loading=${this.loading}\n        >\n          Save\n        </wui-button>\n      `;\n        }\n        return html `\n      <wui-flex gap=\"s\">\n        <wui-button size=\"md\" variant=\"neutral\" fullWidth @click=${RouterController.goBack}>\n          Cancel\n        </wui-button>\n\n        <wui-button\n          size=\"md\"\n          variant=\"main\"\n          fullWidth\n          @click=${this.onSubmitEmail.bind(this)}\n          .disabled=${!showSubmit}\n          .loading=${this.loading}\n        >\n          Save\n        </wui-button>\n      </wui-flex>\n    `;\n    }\n};\nW3mUpdateEmailWalletView.styles = styles;\n__decorate([\n    state()\n], W3mUpdateEmailWalletView.prototype, \"email\", void 0);\n__decorate([\n    state()\n], W3mUpdateEmailWalletView.prototype, \"loading\", void 0);\nW3mUpdateEmailWalletView = __decorate([\n    customElement('w3m-update-email-wallet-view')\n], W3mUpdateEmailWalletView);\nexport { W3mUpdateEmailWalletView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, EventsController, RouterController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nlet W3mUpdateEmailPrimaryOtpView = class W3mUpdateEmailPrimaryOtpView extends W3mEmailOtpWidget {\n    constructor() {\n        super();\n        this.email = RouterController.state.data?.email;\n        this.onOtpSubmit = async (otp) => {\n            try {\n                if (this.authConnector) {\n                    await this.authConnector.provider.updateEmailPrimaryOtp({ otp });\n                    EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n                    RouterController.replace('UpdateEmailSecondaryOtp', RouterController.state.data);\n                }\n            }\n            catch (error) {\n                EventsController.sendEvent({\n                    type: 'track',\n                    event: 'EMAIL_VERIFICATION_CODE_FAIL',\n                    properties: { message: CoreHelperUtil.parseError(error) }\n                });\n                throw error;\n            }\n        };\n        this.onStartOver = () => {\n            RouterController.replace('UpdateEmailWallet', RouterController.state.data);\n        };\n    }\n};\nW3mUpdateEmailPrimaryOtpView = __decorate([\n    customElement('w3m-update-email-primary-otp-view')\n], W3mUpdateEmailPrimaryOtpView);\nexport { W3mUpdateEmailPrimaryOtpView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CoreHelperUtil, EventsController, RouterController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport { W3mEmailOtpWidget } from '../../utils/w3m-email-otp-widget/index.js';\nlet W3mUpdateEmailSecondaryOtpView = class W3mUpdateEmailSecondaryOtpView extends W3mEmailOtpWidget {\n    constructor() {\n        super();\n        this.email = RouterController.state.data?.newEmail;\n        this.redirectView = RouterController.state.data?.redirectView;\n        this.onOtpSubmit = async (otp) => {\n            try {\n                if (this.authConnector) {\n                    await this.authConnector.provider.updateEmailSecondaryOtp({ otp });\n                    EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' });\n                    if (this.redirectView) {\n                        RouterController.reset(this.redirectView);\n                    }\n                }\n            }\n            catch (error) {\n                EventsController.sendEvent({\n                    type: 'track',\n                    event: 'EMAIL_VERIFICATION_CODE_FAIL',\n                    properties: { message: CoreHelperUtil.parseError(error) }\n                });\n                throw error;\n            }\n        };\n        this.onStartOver = () => {\n            RouterController.replace('UpdateEmailWallet', RouterController.state.data);\n        };\n    }\n};\nW3mUpdateEmailSecondaryOtpView = __decorate([\n    customElement('w3m-update-email-secondary-otp-view')\n], W3mUpdateEmailSecondaryOtpView);\nexport { W3mUpdateEmailSecondaryOtpView };\n//# sourceMappingURL=index.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { ConnectorController, OptionsController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport { ConstantsUtil as AppKitConstantsUtil } from '@reown/appkit-utils';\nlet W3mEmailLoginView = class W3mEmailLoginView extends LitElement {\n    constructor() {\n        super();\n        this.authConnector = ConnectorController.getAuthConnector();\n        this.isEmailEnabled = OptionsController.state.features?.email;\n        this.isAuthEnabled = this.checkIfAuthEnabled(ConnectorController.state.connectors);\n        this.connectors = ConnectorController.state.connectors;\n        ConnectorController.subscribeKey('connectors', val => {\n            this.connectors = val;\n            this.isAuthEnabled = this.checkIfAuthEnabled(this.connectors);\n        });\n    }\n    render() {\n        if (!this.isEmailEnabled) {\n            throw new Error('w3m-email-login-view: Email is not enabled');\n        }\n        if (!this.isAuthEnabled) {\n            throw new Error('w3m-email-login-view: No auth connector provided');\n        }\n        return html `<wui-flex\n      flexDirection=\"column\"\n      .padding=${['3xs', 'm', 'm', 'm']}\n      gap=\"l\"\n    >\n      <w3m-email-login-widget></w3m-email-login-widget>\n    </wui-flex> `;\n    }\n    checkIfAuthEnabled(connectors) {\n        const namespacesWithAuthConnector = connectors\n            .filter(c => c.type === AppKitConstantsUtil.CONNECTOR_TYPE_AUTH)\n            .map(i => i.chain);\n        const authSupportedNamespaces = CommonConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS;\n        return authSupportedNamespaces.some(ns => namespacesWithAuthConnector.includes(ns));\n    }\n};\n__decorate([\n    state()\n], W3mEmailLoginView.prototype, \"connectors\", void 0);\nW3mEmailLoginView = __decorate([\n    customElement('w3m-email-login-view')\n], W3mEmailLoginView);\nexport { W3mEmailLoginView };\n//# sourceMappingURL=index.js.map"],"names":["css","__decorate","decorators","target","key","desc","c","r","d","i","WuiInputNumeric","LitElement","html","resetStyles","elementStyles","styles","property","customElement","WuiOtp","index","input","inputElement","keyArr","currentCaretPos","dir","nextIndex","numeric","numericElements","_a","_b","_","e","element","value","val","targetElement","inputValue","UiHelperUtil","inputString","nextNumeric","nextInput","el","state","OTP_LENGTH","W3mEmailOtpWidget","W3mFrameHelpers","RouterController","ConnectorController","isResendDisabled","footerLabels","event","error","CoreHelperUtil","SnackController","W3mEmailVerifyOtpView","otp","EventsController","ChainController","ConnectionController","OptionsController","ModalController","email","W3mEmailVerifyDeviceView","W3mUpdateEmailWalletView","createRef","ref","authConnector","response","showSubmit","W3mUpdateEmailPrimaryOtpView","W3mUpdateEmailSecondaryOtpView","W3mEmailLoginView","connectors","namespacesWithAuthConnector","AppKitConstantsUtil","CommonConstantsUtil","ns"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}