xic-presale/assets/w3m-modal-C2YmWEx4.js

468 lines
28 KiB
JavaScript
Executable File

import{M as p,ac as R,R as l,C as re,i as y,r as j,a as C,b as c,l as B,e as le,v as ce,f as h,x as L,ab as de,u as K,E as q,O as T,p as z,k as F,S as A,ad as P,T as ue,ae as pe,P as he,h as we,d as me}from"./index-B6fu-u6K.js";import{c as b,n as u,r as d,o as M,U as fe}from"./if-defined-D6swbWyQ.js";import"./index-CuJMoJHR.js";import"./index-CWdYHdXq.js";import"./index-DUZ-8KUm.js";import"./index-Bl7lS5oY.js";import"./index-Dd9NGLEL.js";import"./index-BqLefJXm.js";import"./index-BmxH4wsL.js";import"./index-DbPFZ4_m.js";import{S as be}from"./SwapController-B_QyDngB.js";const ee={isUnsupportedChainView(){return l.state.view==="UnsupportedChain"||l.state.view==="SwitchNetwork"&&l.state.history.includes("UnsupportedChain")},async safeClose(){if(this.isUnsupportedChainView()){p.shake();return}if(await R.isSIWXCloseDisabled()){p.shake();return}(l.state.view==="DataCapture"||l.state.view==="DataCaptureOtpConfirm")&&re.disconnect(),p.close()}},ge=y`
:host {
display: block;
border-radius: clamp(0px, var(--wui-border-radius-l), 44px);
box-shadow: 0 0 0 1px var(--wui-color-gray-glass-005);
background-color: var(--wui-color-modal-bg);
overflow: hidden;
}
:host([data-embedded='true']) {
box-shadow:
0 0 0 1px var(--wui-color-gray-glass-005),
0px 4px 12px 4px var(--w3m-card-embedded-shadow-color);
}
`;var ve=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};let V=class extends C{render(){return c`<slot></slot>`}};V.styles=[j,ge];V=ve([b("wui-card")],V);const ye=y`
:host {
display: flex;
align-items: center;
justify-content: center;
padding: var(--wui-spacing-s);
border-radius: var(--wui-border-radius-s);
border: 1px solid var(--wui-color-dark-glass-100);
box-sizing: border-box;
background-color: var(--wui-color-bg-325);
box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.25);
}
wui-flex {
width: 100%;
}
wui-text {
word-break: break-word;
flex: 1;
}
.close {
cursor: pointer;
}
.icon-box {
height: 40px;
width: 40px;
border-radius: var(--wui-border-radius-3xs);
background-color: var(--local-icon-bg-value);
}
`;var I=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};let S=class extends C{constructor(){super(...arguments),this.message="",this.backgroundColor="accent-100",this.iconColor="accent-100",this.icon="info"}render(){return this.style.cssText=`
--local-icon-bg-value: var(--wui-color-${this.backgroundColor});
`,c`
<wui-flex flexDirection="row" justifyContent="space-between" alignItems="center">
<wui-flex columnGap="xs" flexDirection="row" alignItems="center">
<wui-flex
flexDirection="row"
alignItems="center"
justifyContent="center"
class="icon-box"
>
<wui-icon color=${this.iconColor} size="md" name=${this.icon}></wui-icon>
</wui-flex>
<wui-text variant="small-500" color="bg-350" data-testid="wui-alertbar-text"
>${this.message}</wui-text
>
</wui-flex>
<wui-icon
class="close"
color="bg-350"
size="sm"
name="close"
@click=${this.onClose}
></wui-icon>
</wui-flex>
`}onClose(){B.close()}};S.styles=[j,ye];I([u()],S.prototype,"message",void 0);I([u()],S.prototype,"backgroundColor",void 0);I([u()],S.prototype,"iconColor",void 0);I([u()],S.prototype,"icon",void 0);S=I([b("wui-alertbar")],S);const Ce=y`
:host {
display: block;
position: absolute;
top: var(--wui-spacing-s);
left: var(--wui-spacing-l);
right: var(--wui-spacing-l);
opacity: 0;
pointer-events: none;
}
`;var te=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};const xe={info:{backgroundColor:"fg-350",iconColor:"fg-325",icon:"info"},success:{backgroundColor:"success-glass-reown-020",iconColor:"success-125",icon:"checkmark"},warning:{backgroundColor:"warning-glass-reown-020",iconColor:"warning-100",icon:"warningCircle"},error:{backgroundColor:"error-glass-reown-020",iconColor:"error-125",icon:"exclamationTriangle"}};let _=class extends C{constructor(){super(),this.unsubscribe=[],this.open=B.state.open,this.onOpen(!0),this.unsubscribe.push(B.subscribeKey("open",e=>{this.open=e,this.onOpen(!1)}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){const{message:e,variant:t}=B.state,i=xe[t];return c`
<wui-alertbar
message=${e}
backgroundColor=${i==null?void 0:i.backgroundColor}
iconColor=${i==null?void 0:i.iconColor}
icon=${i==null?void 0:i.icon}
></wui-alertbar>
`}onOpen(e){this.open?(this.animate([{opacity:0,transform:"scale(0.85)"},{opacity:1,transform:"scale(1)"}],{duration:150,fill:"forwards",easing:"ease"}),this.style.cssText="pointer-events: auto"):e||(this.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.85)"}],{duration:150,fill:"forwards",easing:"ease"}),this.style.cssText="pointer-events: none")}};_.styles=Ce;te([d()],_.prototype,"open",void 0);_=te([b("w3m-alertbar")],_);const ke=y`
button {
display: block;
display: flex;
align-items: center;
padding: var(--wui-spacing-xxs);
gap: var(--wui-spacing-xxs);
transition: all var(--wui-ease-out-power-1) var(--wui-duration-md);
border-radius: var(--wui-border-radius-xxs);
}
wui-image {
border-radius: 100%;
width: var(--wui-spacing-xl);
height: var(--wui-spacing-xl);
}
wui-icon-box {
width: var(--wui-spacing-xl);
height: var(--wui-spacing-xl);
}
button:hover {
background-color: var(--wui-color-gray-glass-002);
}
button:active {
background-color: var(--wui-color-gray-glass-005);
}
`;var oe=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};let D=class extends C{constructor(){super(...arguments),this.imageSrc=""}render(){return c`<button>
${this.imageTemplate()}
<wui-icon size="xs" color="fg-200" name="chevronBottom"></wui-icon>
</button>`}imageTemplate(){return this.imageSrc?c`<wui-image src=${this.imageSrc} alt="select visual"></wui-image>`:c`<wui-icon-box
size="xxs"
iconColor="fg-200"
backgroundColor="fg-100"
background="opaque"
icon="networkPlaceholder"
></wui-icon-box>`}};D.styles=[j,le,ce,ke];oe([u()],D.prototype,"imageSrc",void 0);D=oe([b("wui-select")],D);const Se=y`
:host {
height: 64px;
}
wui-text {
text-transform: capitalize;
}
wui-flex.w3m-header-title {
transform: translateY(0);
opacity: 1;
}
wui-flex.w3m-header-title[view-direction='prev'] {
animation:
slide-down-out 120ms forwards var(--wui-ease-out-power-2),
slide-down-in 120ms forwards var(--wui-ease-out-power-2);
animation-delay: 0ms, 200ms;
}
wui-flex.w3m-header-title[view-direction='next'] {
animation:
slide-up-out 120ms forwards var(--wui-ease-out-power-2),
slide-up-in 120ms forwards var(--wui-ease-out-power-2);
animation-delay: 0ms, 200ms;
}
wui-icon-link[data-hidden='true'] {
opacity: 0 !important;
pointer-events: none;
}
@keyframes slide-up-out {
from {
transform: translateY(0px);
opacity: 1;
}
to {
transform: translateY(3px);
opacity: 0;
}
}
@keyframes slide-up-in {
from {
transform: translateY(-3px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes slide-down-out {
from {
transform: translateY(0px);
opacity: 1;
}
to {
transform: translateY(-3px);
opacity: 0;
}
}
@keyframes slide-down-in {
from {
transform: translateY(3px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
`;var g=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};const We=["SmartSessionList"];function H(){var s,r,k,m,E,$,O;const n=(r=(s=l.state.data)==null?void 0:s.connector)==null?void 0:r.name,e=(m=(k=l.state.data)==null?void 0:k.wallet)==null?void 0:m.name,t=($=(E=l.state.data)==null?void 0:E.network)==null?void 0:$.name,i=e??n,a=z.getConnectors();return{Connect:`Connect ${a.length===1&&((O=a[0])==null?void 0:O.id)==="w3m-email"?"Email":""} Wallet`,Create:"Create Wallet",ChooseAccountName:void 0,Account:void 0,AccountSettings:void 0,AllWallets:"All Wallets",ApproveTransaction:"Approve Transaction",BuyInProgress:"Buy",ConnectingExternal:i??"Connect Wallet",ConnectingWalletConnect:i??"WalletConnect",ConnectingWalletConnectBasic:"WalletConnect",ConnectingSiwe:"Sign In",Convert:"Convert",ConvertSelectToken:"Select token",ConvertPreview:"Preview convert",Downloads:i?`Get ${i}`:"Downloads",EmailLogin:"Email Login",EmailVerifyOtp:"Confirm Email",EmailVerifyDevice:"Register Device",GetWallet:"Get a wallet",Networks:"Choose Network",OnRampProviders:"Choose Provider",OnRampActivity:"Activity",OnRampTokenSelect:"Select Token",OnRampFiatSelect:"Select Currency",Pay:"How you pay",ProfileWallets:"Wallets",SwitchNetwork:t??"Switch Network",Transactions:"Activity",UnsupportedChain:"Switch Network",UpgradeEmailWallet:"Upgrade your Wallet",UpdateEmailWallet:"Edit Email",UpdateEmailPrimaryOtp:"Confirm Current Email",UpdateEmailSecondaryOtp:"Confirm New Email",WhatIsABuy:"What is Buy?",RegisterAccountName:"Choose name",RegisterAccountNameSuccess:"",WalletReceive:"Receive",WalletCompatibleNetworks:"Compatible Networks",Swap:"Swap",SwapSelectToken:"Select token",SwapPreview:"Preview swap",WalletSend:"Send",WalletSendPreview:"Review send",WalletSendSelectToken:"Select Token",WhatIsANetwork:"What is a network?",WhatIsAWallet:"What is a wallet?",ConnectWallets:"Connect wallet",ConnectSocials:"All socials",ConnectingSocial:F.state.socialProvider?F.state.socialProvider:"Connect Social",ConnectingMultiChain:"Select chain",ConnectingFarcaster:"Farcaster",SwitchActiveChain:"Switch chain",SmartSessionCreated:void 0,SmartSessionList:"Smart Sessions",SIWXSignMessage:"Sign In",PayLoading:"Payment in progress",DataCapture:"Profile",DataCaptureOtpConfirm:"Confirm Email",FundWallet:"Fund wallet",PayWithExchange:"Deposit from an exchange"}}let w=class extends C{constructor(){super(),this.unsubscribe=[],this.heading=H()[l.state.view],this.network=h.state.activeCaipNetwork,this.networkImage=L.getNetworkImage(this.network),this.showBack=!1,this.prevHistoryLength=1,this.view=l.state.view,this.viewDirection="",this.headerText=H()[l.state.view],this.unsubscribe.push(de.subscribeNetworkImages(()=>{this.networkImage=L.getNetworkImage(this.network)}),l.subscribeKey("view",e=>{setTimeout(()=>{this.view=e,this.headerText=H()[e]},K.ANIMATION_DURATIONS.HeaderText),this.onViewChange(),this.onHistoryChange()}),h.subscribeKey("activeCaipNetwork",e=>{this.network=e,this.networkImage=L.getNetworkImage(this.network)}))}disconnectCallback(){this.unsubscribe.forEach(e=>e())}render(){return c`
<wui-flex .padding=${this.getPadding()} justifyContent="space-between" alignItems="center">
${this.leftHeaderTemplate()} ${this.titleTemplate()} ${this.rightHeaderTemplate()}
</wui-flex>
`}onWalletHelp(){q.sendEvent({type:"track",event:"CLICK_WALLET_HELP"}),l.push("WhatIsAWallet")}async onClose(){await ee.safeClose()}rightHeaderTemplate(){var t,i,a;const e=(a=(i=(t=T)==null?void 0:t.state)==null?void 0:i.features)==null?void 0:a.smartSessions;return l.state.view!=="Account"||!e?this.closeButtonTemplate():c`<wui-flex>
<wui-icon-link
icon="clock"
@click=${()=>l.push("SmartSessionList")}
data-testid="w3m-header-smart-sessions"
></wui-icon-link>
${this.closeButtonTemplate()}
</wui-flex> `}closeButtonTemplate(){return c`
<wui-icon-link
icon="close"
@click=${this.onClose.bind(this)}
data-testid="w3m-header-close"
></wui-icon-link>
`}titleTemplate(){const e=We.includes(this.view);return c`
<wui-flex
view-direction="${this.viewDirection}"
class="w3m-header-title"
alignItems="center"
gap="xs"
>
<wui-text variant="paragraph-700" color="fg-100" data-testid="w3m-header-text"
>${this.headerText}</wui-text
>
${e?c`<wui-tag variant="main">Beta</wui-tag>`:null}
</wui-flex>
`}leftHeaderTemplate(){var m;const{view:e}=l.state,t=e==="Connect",i=T.state.enableEmbedded,a=e==="ApproveTransaction",o=e==="ConnectingSiwe",s=e==="Account",r=T.state.enableNetworkSwitch,k=a||o||t&&i;return s&&r?c`<wui-select
id="dynamic"
data-testid="w3m-account-select-network"
active-network=${M((m=this.network)==null?void 0:m.name)}
@click=${this.onNetworks.bind(this)}
imageSrc=${M(this.networkImage)}
></wui-select>`:this.showBack&&!k?c`<wui-icon-link
data-testid="header-back"
id="dynamic"
icon="chevronLeft"
@click=${this.onGoBack.bind(this)}
></wui-icon-link>`:c`<wui-icon-link
data-hidden=${!t}
id="dynamic"
icon="helpCircle"
@click=${this.onWalletHelp.bind(this)}
></wui-icon-link>`}onNetworks(){this.isAllowedNetworkSwitch()&&(q.sendEvent({type:"track",event:"CLICK_NETWORKS"}),l.push("Networks"))}isAllowedNetworkSwitch(){const e=h.getAllRequestedCaipNetworks(),t=e?e.length>1:!1,i=e==null?void 0:e.find(({id:a})=>{var o;return a===((o=this.network)==null?void 0:o.id)});return t||!i}getPadding(){return this.heading?["l","2l","l","2l"]:["0","2l","0","2l"]}onViewChange(){const{history:e}=l.state;let t=K.VIEW_DIRECTION.Next;e.length<this.prevHistoryLength&&(t=K.VIEW_DIRECTION.Prev),this.prevHistoryLength=e.length,this.viewDirection=t}async onHistoryChange(){var i;const{history:e}=l.state,t=(i=this.shadowRoot)==null?void 0:i.querySelector("#dynamic");e.length>1&&!this.showBack&&t?(await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!0,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})):e.length<=1&&this.showBack&&t&&(await t.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!1,t.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}onGoBack(){l.goBack()}};w.styles=Se;g([d()],w.prototype,"heading",void 0);g([d()],w.prototype,"network",void 0);g([d()],w.prototype,"networkImage",void 0);g([d()],w.prototype,"showBack",void 0);g([d()],w.prototype,"prevHistoryLength",void 0);g([d()],w.prototype,"view",void 0);g([d()],w.prototype,"viewDirection",void 0);g([d()],w.prototype,"headerText",void 0);w=g([b("w3m-header")],w);const Ee=y`
:host {
display: flex;
column-gap: var(--wui-spacing-s);
align-items: center;
padding: var(--wui-spacing-xs) var(--wui-spacing-m) var(--wui-spacing-xs) var(--wui-spacing-xs);
border-radius: var(--wui-border-radius-s);
border: 1px solid var(--wui-color-gray-glass-005);
box-sizing: border-box;
background-color: var(--wui-color-bg-175);
box-shadow:
0px 14px 64px -4px rgba(0, 0, 0, 0.15),
0px 8px 22px -6px rgba(0, 0, 0, 0.15);
max-width: 300px;
}
:host wui-loading-spinner {
margin-left: var(--wui-spacing-3xs);
}
`;var W=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};let f=class extends C{constructor(){super(...arguments),this.backgroundColor="accent-100",this.iconColor="accent-100",this.icon="checkmark",this.message="",this.loading=!1,this.iconType="default"}render(){return c`
${this.templateIcon()}
<wui-text variant="paragraph-500" color="fg-100" data-testid="wui-snackbar-message"
>${this.message}</wui-text
>
`}templateIcon(){return this.loading?c`<wui-loading-spinner size="md" color="accent-100"></wui-loading-spinner>`:this.iconType==="default"?c`<wui-icon size="xl" color=${this.iconColor} name=${this.icon}></wui-icon>`:c`<wui-icon-box
size="sm"
iconSize="xs"
iconColor=${this.iconColor}
backgroundColor=${this.backgroundColor}
icon=${this.icon}
background="opaque"
></wui-icon-box>`}};f.styles=[j,Ee];W([u()],f.prototype,"backgroundColor",void 0);W([u()],f.prototype,"iconColor",void 0);W([u()],f.prototype,"icon",void 0);W([u()],f.prototype,"message",void 0);W([u()],f.prototype,"loading",void 0);W([u()],f.prototype,"iconType",void 0);f=W([b("wui-snackbar")],f);const $e=y`
:host {
display: block;
position: absolute;
opacity: 0;
pointer-events: none;
top: 11px;
left: 50%;
width: max-content;
}
`;var ie=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};const Ae={loading:void 0,success:{backgroundColor:"success-100",iconColor:"success-100",icon:"checkmark"},error:{backgroundColor:"error-100",iconColor:"error-100",icon:"close"}};let U=class extends C{constructor(){super(),this.unsubscribe=[],this.timeout=void 0,this.open=A.state.open,this.unsubscribe.push(A.subscribeKey("open",e=>{this.open=e,this.onOpen()}))}disconnectedCallback(){clearTimeout(this.timeout),this.unsubscribe.forEach(e=>e())}render(){const{message:e,variant:t,svg:i}=A.state,a=Ae[t],{icon:o,iconColor:s}=i??a??{};return c`
<wui-snackbar
message=${e}
backgroundColor=${a==null?void 0:a.backgroundColor}
iconColor=${s}
icon=${o}
.loading=${t==="loading"}
></wui-snackbar>
`}onOpen(){clearTimeout(this.timeout),this.open?(this.animate([{opacity:0,transform:"translateX(-50%) scale(0.85)"},{opacity:1,transform:"translateX(-50%) scale(1)"}],{duration:150,fill:"forwards",easing:"ease"}),this.timeout&&clearTimeout(this.timeout),A.state.autoClose&&(this.timeout=setTimeout(()=>A.hide(),2500))):this.animate([{opacity:1,transform:"translateX(-50%) scale(1)"},{opacity:0,transform:"translateX(-50%) scale(0.85)"}],{duration:150,fill:"forwards",easing:"ease"})}};U.styles=$e;ie([d()],U.prototype,"open",void 0);U=ie([b("w3m-snackbar")],U);const Ne=y`
:host {
z-index: var(--w3m-z-index);
display: block;
backface-visibility: hidden;
will-change: opacity;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
opacity: 0;
background-color: var(--wui-cover);
transition: opacity 0.2s var(--wui-ease-out-power-2);
will-change: opacity;
}
:host(.open) {
opacity: 1;
}
:host(.appkit-modal) {
position: relative;
pointer-events: unset;
background: none;
width: 100%;
opacity: 1;
}
wui-card {
max-width: var(--w3m-modal-width);
width: 100%;
position: relative;
animation: zoom-in 0.2s var(--wui-ease-out-power-2);
animation-fill-mode: backwards;
outline: none;
transition:
border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1),
background-color var(--wui-duration-lg) var(--wui-ease-out-power-1);
will-change: border-radius, background-color;
}
:host(.appkit-modal) wui-card {
max-width: 400px;
}
wui-card[shake='true'] {
animation:
zoom-in 0.2s var(--wui-ease-out-power-2),
w3m-shake 0.5s var(--wui-ease-out-power-2);
}
wui-flex {
overflow-x: hidden;
overflow-y: auto;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
@media (max-height: 700px) and (min-width: 431px) {
wui-flex {
align-items: flex-start;
}
wui-card {
margin: var(--wui-spacing-xxl) 0px;
}
}
@media (max-width: 430px) {
wui-flex {
align-items: flex-end;
}
wui-card {
max-width: 100%;
border-bottom-left-radius: var(--local-border-bottom-mobile-radius);
border-bottom-right-radius: var(--local-border-bottom-mobile-radius);
border-bottom: none;
animation: slide-in 0.2s var(--wui-ease-out-power-2);
}
wui-card[shake='true'] {
animation:
slide-in 0.2s var(--wui-ease-out-power-2),
w3m-shake 0.5s var(--wui-ease-out-power-2);
}
}
@keyframes zoom-in {
0% {
transform: scale(0.95) translateY(0);
}
100% {
transform: scale(1) translateY(0);
}
}
@keyframes slide-in {
0% {
transform: scale(1) translateY(50px);
}
100% {
transform: scale(1) translateY(0);
}
}
@keyframes w3m-shake {
0% {
transform: scale(1) rotate(0deg);
}
20% {
transform: scale(1) rotate(-1deg);
}
40% {
transform: scale(1) rotate(1.5deg);
}
60% {
transform: scale(1) rotate(-1.5deg);
}
80% {
transform: scale(1) rotate(1deg);
}
100% {
transform: scale(1) rotate(0deg);
}
}
@keyframes w3m-view-height {
from {
height: var(--prev-height);
}
to {
height: var(--new-height);
}
}
`;var x=function(n,e,t,i){var a=arguments.length,o=a<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var r=n.length-1;r>=0;r--)(s=n[r])&&(o=(a<3?s(o):a>3?s(e,t,o):s(e,t))||o);return a>3&&o&&Object.defineProperty(e,t,o),o};const J="scroll-lock";class v extends C{constructor(){super(),this.unsubscribe=[],this.abortController=void 0,this.hasPrefetched=!1,this.enableEmbedded=T.state.enableEmbedded,this.open=p.state.open,this.caipAddress=h.state.activeCaipAddress,this.caipNetwork=h.state.activeCaipNetwork,this.shake=p.state.shake,this.filterByNamespace=z.state.filterByNamespace,this.initializeTheming(),P.prefetchAnalyticsConfig(),this.unsubscribe.push(p.subscribeKey("open",e=>e?this.onOpen():this.onClose()),p.subscribeKey("shake",e=>this.shake=e),h.subscribeKey("activeCaipNetwork",e=>this.onNewNetwork(e)),h.subscribeKey("activeCaipAddress",e=>this.onNewAddress(e)),T.subscribeKey("enableEmbedded",e=>this.enableEmbedded=e),z.subscribeKey("filterByNamespace",e=>{var t;this.filterByNamespace!==e&&!((t=h.getAccountData(e))!=null&&t.caipAddress)&&(P.fetchRecommendedWallets(),this.filterByNamespace=e)}))}firstUpdated(){if(this.caipAddress){if(this.enableEmbedded){p.close(),this.prefetch();return}this.onNewAddress(this.caipAddress)}this.open&&this.onOpen(),this.enableEmbedded&&this.prefetch()}disconnectedCallback(){this.unsubscribe.forEach(e=>e()),this.onRemoveKeyboardListener()}render(){return this.style.cssText=`
--local-border-bottom-mobile-radius: ${this.enableEmbedded?"clamp(0px, var(--wui-border-radius-l), 44px)":"0px"};
`,this.enableEmbedded?c`${this.contentTemplate()}
<w3m-tooltip></w3m-tooltip> `:this.open?c`
<wui-flex @click=${this.onOverlayClick.bind(this)} data-testid="w3m-modal-overlay">
${this.contentTemplate()}
</wui-flex>
<w3m-tooltip></w3m-tooltip>
`:null}contentTemplate(){return c` <wui-card
shake="${this.shake}"
data-embedded="${M(this.enableEmbedded)}"
role="alertdialog"
aria-modal="true"
tabindex="0"
data-testid="w3m-modal-card"
>
<w3m-header></w3m-header>
<w3m-router></w3m-router>
<w3m-snackbar></w3m-snackbar>
<w3m-alertbar></w3m-alertbar>
</wui-card>`}async onOverlayClick(e){e.target===e.currentTarget&&await this.handleClose()}async handleClose(){await ee.safeClose()}initializeTheming(){const{themeVariables:e,themeMode:t}=ue.state,i=fe.getColorTheme(t);pe(e,i)}onClose(){this.open=!1,this.classList.remove("open"),this.onScrollUnlock(),A.hide(),this.onRemoveKeyboardListener()}onOpen(){this.open=!0,this.classList.add("open"),this.onScrollLock(),this.onAddKeyboardListener()}onScrollLock(){const e=document.createElement("style");e.dataset.w3m=J,e.textContent=`
body {
touch-action: none;
overflow: hidden;
overscroll-behavior: contain;
}
w3m-modal {
pointer-events: auto;
}
`,document.head.appendChild(e)}onScrollUnlock(){const e=document.head.querySelector(`style[data-w3m="${J}"]`);e&&e.remove()}onAddKeyboardListener(){var t;this.abortController=new AbortController;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("wui-card");e==null||e.focus(),window.addEventListener("keydown",i=>{if(i.key==="Escape")this.handleClose();else if(i.key==="Tab"){const{tagName:a}=i.target;a&&!a.includes("W3M-")&&!a.includes("WUI-")&&(e==null||e.focus())}},this.abortController)}onRemoveKeyboardListener(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0}async onNewAddress(e){const t=h.state.isSwitchingNamespace,i=l.state.view==="ProfileWallets";e?await this.onConnected({caipAddress:e,isSwitchingNamespace:t,isInProfileView:i}):!t&&!this.enableEmbedded&&!i&&p.close(),await R.initializeIfEnabled(e),this.caipAddress=e,h.setIsSwitchingNamespace(!1)}async onConnected(e){if(e.isInProfileView)return;const{chainNamespace:t,chainId:i,address:a}=he.parseCaipAddress(e.caipAddress),o=`${t}:${i}`,s=!we.getPlainAddress(this.caipAddress),r=await R.getSessions({address:a,caipNetworkId:o}),k=R.getSIWX()?r.some($=>$.data.accountAddress===a):!0,m=e.isSwitchingNamespace&&k&&!this.enableEmbedded,E=this.enableEmbedded&&s;m?l.goBack():E&&p.close()}onNewNetwork(e){var Y,X,G;const t=this.caipNetwork,i=(Y=t==null?void 0:t.caipNetworkId)==null?void 0:Y.toString(),a=t==null?void 0:t.chainNamespace,o=(X=e==null?void 0:e.caipNetworkId)==null?void 0:X.toString(),s=e==null?void 0:e.chainNamespace,r=i!==o,m=r&&!(a!==s),E=(t==null?void 0:t.name)===me.UNSUPPORTED_NETWORK_NAME,$=l.state.view==="ConnectingExternal",O=l.state.view==="ProfileWallets",ae=!((G=h.getAccountData(e==null?void 0:e.chainNamespace))!=null&&G.caipAddress),se=l.state.view==="UnsupportedChain",ne=p.state.open;let N=!1;this.enableEmbedded&&l.state.view==="SwitchNetwork"&&(N=!0),r&&be.resetState(),ne&&!$&&!O&&(ae?r&&(N=!0):(se||m&&!E)&&(N=!0)),N&&l.state.view!=="SIWXSignMessage"&&l.goBack(),this.caipNetwork=e}prefetch(){this.hasPrefetched||(P.prefetch(),P.fetchWalletsByPage({page:1}),this.hasPrefetched=!0)}}v.styles=Ne;x([u({type:Boolean})],v.prototype,"enableEmbedded",void 0);x([d()],v.prototype,"open",void 0);x([d()],v.prototype,"caipAddress",void 0);x([d()],v.prototype,"caipNetwork",void 0);x([d()],v.prototype,"shake",void 0);x([d()],v.prototype,"filterByNamespace",void 0);let Q=class extends v{};Q=x([b("w3m-modal")],Q);let Z=class extends v{};Z=x([b("appkit-modal")],Z);export{Z as AppKitModal,Q as W3mModal,v as W3mModalBase};