PageSourceSearch

https://opencollective.xyz/_next/static/chunks/2937.e583dfcbaf104c85.js

js opencollective.xyz collected 2026-10-06 12:16:07 UTC 56,212 bytes, 891 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2937],{52937:(e,t,a)=>{a.r(t),a.d(t,{W3mPayLoadingView:()=>B,W3mPayView:()=>j,baseETH:()=>J,baseSepoliaETH:()=>Q,baseUSDC:()=>X,getExchanges:()=>Y,getIsPaymentInProgress:()=>K,getPayError:()=>F,getPayResult:()=>H,openPay:()=>G});var i=a(41270),r=a(12456),o=a(81440),n=a(69485),s=a(18539),c=a(25315),l=a(59085),u=a(10840),d=a(85845),p=a(97778);a(83066),a(58301),a(66571),a(49925),a(12026),a(52847),a(77749),a(93278),a(61856),a(33575),a(85893),a(89991);var h=a(30522),g=a(61156),w=a(71281),v=a(11731),y=a(66699),m=a(83503),b=a(7765);let f={INVALID_PAYMENT_CONFIG:"INVALID_PAYMENT_CONFIG",INVALID_RECIPIENT:"INVALID_RECIPIENT",INVALID_ASSET:"INVALID_ASSET",INVALID_AMOUNT:"INVALID_AMOUNT",UNKNOWN_ERROR:"UNKNOWN_ERROR",UNABLE_TO_INITIATE_PAYMENT:"UNABLE_TO_INITIATE_PAYMENT",INVALID_CHAIN_NAMESPACE:"INVALID_CHAIN_NAMESPACE",GENERIC_PAYMENT_ERROR:"GENERIC_PAYMENT_ERROR",UNABLE_TO_GET_EXCHANGES:"UNABLE_TO_GET_EXCHANGES",ASSET_NOT_SUPPORTED:"ASSET_NOT_SUPPORTED",UNABLE_TO_GET_PAY_URL:"UNABLE_TO_GET_PAY_URL",UNABLE_TO_GET_BUY_STATUS:"UNABLE_TO_GET_BUY_STATUS"},x={[f.INVALID_PAYMENT_CONFIG]:"Invalid payment configuration",[f.INVALID_RECIPIENT]:"Invalid recipient address",[f.INVALID_ASSET]:"Invalid asset specified",[f.INVALID_AMOUNT]:"Invalid payment amount",[f.UNKNOWN_ERROR]:"Unknown payment error occurred",[f.UNABLE_TO_INITIATE_PAYMENT]:"Unable to initiate payment",[f.INVALID_CHAIN_NAMESPACE]:"Invalid chain namespace",[f.GENERIC_PAYMENT_ERROR]:"Unable to process payment",[f.UNABLE_TO_GET_EXCHANGES]:"Unable to get exchanges",[f.ASSET_NOT_SUPPORTED]:"Asset not supported by the selected exchange",[f.UNABLE_TO_GET_PAY_URL]:"Unable to get payment URL",[f.UNABLE_TO_GET_BUY_STATUS]:"Unable to get buy status"};class E extends Error{get message(){return x[this.code]}constructor(e,t){super(x[e]),this.name="AppKitPayError",this.code=e,this.details=t,Error.captureStackTrace&&Error.captureStackTrace(this,E)}}var I=a(68129);class P extends Error{}async function A(e,t){let a=function(){let e=I.H.getSnapshot().projectId;return`https://rpc.walletconnect.org/v1/json-rpc?projectId=${e}`}(),i=await fetch(a,{method:"POST",body:JSON.stringify({jsonrpc:"2.0",id:1,method:e,params:t}),headers:{"Content-Type":"application/json"}}),r=await i.json();if(r.error)throw new P(r.error.message);return r}async function k(e){return(await A("reown_getExchanges",e)).result}async function N(e){return(await A("reown_getExchangePayUrl",e)).result}async function _(e){return(await A("reown_getExchangeBuyStatus",e)).result}let T=["eip155"],S={eip155:{native:{assetNamespace:"slip44",assetReference:"60"},defaultTokenNamespace:"erc20"},solana:{native:{assetNamespace:"slip44",assetReference:"501"},defaultTokenNamespace:"token"}};function C(e,t){let{chainNamespace:a,chainId:i}=w.C.parseCaipNetworkId(e),r=S[a];if(!r)throw Error(`Unsupported chain namespace for CAIP-19 formatting: ${a}`);let o=r.native.assetNamespace,n=r.native.assetReference;"native"!==t&&(o=r.defaultTokenNamespace,n=t);let s=`${a}:${i}`;return`${s}/${o}:${n}`}var R=a(60713);async function z(e){let{paymentAssetNetwork:t,activeCaipNetwork:a,approvedCaipNetworkIds:i,requestedCaipNetworks:r}=e,o=l.w.sortRequestedNetworks(i,r).find(e=>e.caipNetworkId===t);if(!o)throw new E(f.INVALID_PAYMENT_CONFIG);if(o.caipNetworkId===a.caipNetworkId)return;let n=s.W.getNetworkProp("supportsAllNetworks",o.chainNamespace);if(!(i?.includes(o.caipNetworkId)||n))throw new E(f.INVALID_PAYMENT_CONFIG);try{await s.W.switchActiveNetwork(o)}catch(e){throw new E(f.GENERIC_PAYMENT_ERROR,e)}}async function $(e,t,a){if(t!==v.o.CHAIN.EVM)throw new E(f.INVALID_CHAIN_NAMESPACE);if(!a.fromAddress)throw new E(f.INVALID_PAYMENT_CONFIG,"fromAddress is required for native EVM payments.");let i="string"==typeof a.amount?parseFloat(a.amount):a.amount;if(isNaN(i))throw new E(f.INVALID_PAYMENT_CONFIG);let r=e.metadata?.decimals??18,o=d.x.parseUnits(i.toString(),r);if("bigint"!=typeof o)throw new E(f.GENERIC_PAYMENT_ERROR);return await d.x.sendTransaction({chainNamespace:t,to:a.recipient,address:a.fromAddress,value:o,data:"0x"})??void 0}async function M(e,t){if(!t.fromAddress)throw new E(f.INVALID_PAYMENT_CONFIG,"fromAddress is required for ERC20 EVM payments.");let a=e.asset,i=t.recipient,r=Number(e.metadata.decimals),o=d.x.parseUnits(t.amount.toString(),r);if(void 0===o)throw new E(f.GENERIC_PAYMENT_ERROR);return await d.x.writeContract({fromAddress:t.fromAddress,tokenAddress:a,args:[i,o],method:"transfer",abi:R.v.getERC20Abi(a),chainNamespace:v.o.CHAIN.EVM})??void 0}let O="unknown",L=(0,h.BX)({paymentAsset:{network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},recipient:"0x0",amount:0,isConfigured:!1,error:null,isPaymentInProgress:!1,exchanges:[],isLoading:!1,openInNewTab:!0,redirectUrl:void 0,payWithExchange:void 0,currentPayment:void 0,analyticsSet:!1,paymentId:void 0}),U={state:L,subscribe:e=>(0,h.B1)(L,()=>e(L)),subscribeKey:(e,t)=>(0,g.u$)(L,e,t),async handleOpenPay(e){this.resetState(),this.setPaymentConfig(e),this.subscribeEvents(),this.initializeAnalytics(),L.isConfigured=!0,y.E.sendEvent({type:"track",event:"PAY_MODAL_OPEN",properties:{exchanges:L.exchanges,configuration:{network:L.paymentAsset.network,asset:L.paymentAsset.asset,recipient:L.recipient,amount:L.amount}}}),await c.W.open({view:"Pay"})},resetState(){L.paymentAsset={network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},L.recipient="0x0",L.amount=0,L.isConfigured=!1,L.error=null,L.isPaymentInProgress=!1,L.isLoading=!1,L.currentPayment=void 0},setPaymentConfig(e){if(!e.paymentAsset)throw new E(f.INVALID_PAYMENT_CONFIG);try{L.paymentAsset=e.paymentAsset,L.recipient=e.recipient,L.amount=e.amount,L.openInNewTab=e.openInNewTab??!0,L.redirectUrl=e.redirectUrl,L.payWithExchange=e.payWithExchange,L.error=null}catch(e){throw new E(f.INVALID_PAYMENT_CONFIG,e.message)}},getPaymentAsset:()=>
1L.paymentAsset,getExchanges:()=>L.exchanges,async fetchExchanges(){try{L.isLoading=!0;let e=await k({page:0,asset:C(L.paymentAsset.network,L.paymentAsset.asset),amount:L.amount.toString()});L.exchanges=e.exchanges.slice(0,2)}catch(e){throw u.P.showError(x.UNABLE_TO_GET_EXCHANGES),new E(f.UNABLE_TO_GET_EXCHANGES)}finally{L.isLoading=!1}},async getAvailableExchanges(e){try{let t=e?.asset&&e?.network?C(e.network,e.asset):void 0;return await k({page:e?.page??0,asset:t,amount:e?.amount?.toString()})}catch(e){throw new E(f.UNABLE_TO_GET_EXCHANGES)}},async getPayUrl(e,t,a=!1){try{let i=Number(t.amount),r=await N({exchangeId:e,asset:C(t.network,t.asset),amount:i.toString(),recipient:`${t.network}:${t.recipient}`});return y.E.sendEvent({type:"track",event:"PAY_EXCHANGE_SELECTED",properties:{exchange:{id:e},configuration:{network:t.network,asset:t.asset,recipient:t.recipient,amount:i},currentPayment:{type:"exchange",exchangeId:e},headless:a}}),a&&(this.initiatePayment(),y.E.sendEvent({type:"track",event:"PAY_INITIATED",properties:{paymentId:L.paymentId||O,configuration:{network:t.network,asset:t.asset,recipient:t.recipient,amount:i},currentPayment:{type:"exchange",exchangeId:e}}})),r}catch(e){if(e instanceof Error&&e.message.includes("is not supported"))throw new E(f.ASSET_NOT_SUPPORTED);throw Error(e.message)}},async openPayUrl(e,t,a=!1){try{let i=await this.getPayUrl(e.exchangeId,t,a);if(!i)throw new E(f.UNABLE_TO_GET_PAY_URL);let r=e.openInNewTab??!0;return l.w.openHref(i.url,r?"_blank":"_self"),i}catch(e){throw e instanceof E?L.error=e.message:L.error=x.GENERIC_PAYMENT_ERROR,new E(f.UNABLE_TO_GET_PAY_URL)}},subscribeEvents(){L.isConfigured||(b.A.subscribeProviders(async e=>{let t=s.W.state.activeChain;b.A.getProvider(t)&&await this.handlePayment()}),n.U.subscribeKey("caipAddress",async e=>{e&&await this.handlePayment()}))},async handlePayment(){L.currentPayment={type:"wallet",status:"IN_PROGRESS"};let e=n.U.state.caipAddress;if(!e)return;let{chainId:t,address:a}=w.C.parseCaipAddress(e),i=s.W.state.activeChain;if(!a||!t||!i||!b.A.getProvider(i))return;let r=s.W.state.activeCaipNetwork;if(r&&!L.isPaymentInProgress)try{this.initiatePayment();let e=s.W.getAllRequestedCaipNetworks(),t=s.W.getAllApprovedCaipNetworkIds();if(await z({paymentAssetNetwork:L.paymentAsset.network,activeCaipNetwork:r,approvedCaipNetworkIds:t,requestedCaipNetworks:e}),await c.W.open({view:"PayLoading"}),i===v.o.CHAIN.EVM)"native"===L.paymentAsset.asset&&(L.currentPayment.result=await $(L.paymentAsset,i,{recipient:L.recipient,amount:L.amount,fromAddress:a})),L.paymentAsset.asset.startsWith("0x")&&(L.currentPayment.result=await M(L.paymentAsset,{recipient:L.recipient,amount:L.amount,fromAddress:a})),L.currentPayment.status="SUCCESS";else throw new E(f.INVALID_CHAIN_NAMESPACE)}catch(e){e instanceof E?L.error=e.message:L.error=x.GENERIC_PAYMENT_ERROR,L.currentPayment.status="FAILED",u.P.showError(L.error)}finally{L.isPaymentInProgress=!1}},getExchangeById:e=>L.exchanges.find(t=>t.id===e),validatePayConfig(e){let{paymentAsset:t,recipient:a,amount:i}=e;if(!t)throw new E(f.INVALID_PAYMENT_CONFIG);if(!a)throw new E(f.INVALID_RECIPIENT);if(!t.asset)throw new E(f.INVALID_ASSET);if(null==i||i<=0)throw new E(f.INVALID_AMOUNT)},handlePayWithWallet(){let e=n.U.state.caipAddress;if(!e){m.I.push("Connect");return}let{chainId:t,address:a}=w.C.parseCaipAddress(e),i=s.W.state.activeChain;if(!a||!t||!i){m.I.push("Connect");return}this.handlePayment()},async handlePayWithExchange(e){try{L.currentPayment={type:"exchange",exchangeId:e};let{network:t,asset:a}=L.paymentAsset,i={network:t,asset:a,amount:L.amount,recipient:L.recipient},r=await this.getPayUrl(e,i);if(!r)throw new E(f.UNABLE_TO_INITIATE_PAYMENT);return L.currentPayment.sessionId=r.sessionId,L.currentPayment.status="IN_PROGRESS",L.currentPayment.exchangeId=e,this.initiatePayment(),{url:r.url,openInNewTab:L.openInNewTab}}catch(e){return e instanceof E?L.error=e.message:L.error=x.GENERIC_PAYMENT_ERROR,L.isPaymentInProgress=!1,u.P.showError(L.error),null}},async getBuyStatus(e,t){try{let a=await _({sessionId:t,exchangeId:e});return("SUCCESS"===a.status||"FAILED"===a.status)&&y.E.sendEvent({type:"track",event:"SUCCESS"===a.status?"PAY_SUCCESS":"PAY_ERROR",properties:{paymentId:L.paymentId||O,configuration:{network:L.paymentAsset.network,asset:L.paymentAsset.asset,recipient:L.recipient,amount:L.amount},currentPayment:{type:"exchange",exchangeId:L.currentPayment?.exchangeId,sessionId:L.currentPayment?.sessionId,result:a.txHash}}}),a}catch(e){throw new E(f.UNABLE_TO_GET_BUY_STATUS)}},async updateBuyStatus(e,t){try{let a=await this.getBuyStatus(e,t);L.currentPayment&&(L.currentPayment.status=a.status,L.currentPayment.result=a.txHash),("SUCCESS"===a.status||"FAILED"===a.status)&&(L.isPaymentInProgress=!1)}catch(e){throw new E(f.UNABLE_TO_GET_BUY_STATUS)}},initiatePayment(){L.isPaymentInProgress=!0,L.paymentId=crypto.randomUUID()},initializeAnalytics(){L.analyticsSet||(L.analyticsSet=!0,this.subscribeKey("isPaymentInProgress",e=>{if(L.currentPayment?.status&&"UNKNOWN"!==L.currentPayment.status){let e={IN_PROGRESS:"PAY_INITIATED",SUCCESS:"PAY_SUCCESS",FAILED:"PAY_ERROR"}[L.currentPayment.status];y.E.sendEvent({type:"track",event:e,properties:{paymentId:L.paymentId||O,configuration:{network:L.paymentAsset.network,asset:L.paymentAsset.asset,recipient:L.recipient,amount:L.amount},currentPayment:{type:L.currentPayment.type,exchangeId:L.currentPayment.exchangeId,sessionId:L.currentPayment.sessionId,result:L.currentPayment.result}}})}}))}},W=(0,i.AH)`
2  wui-separator {
3    margin: var(--wui-spacing-m) calc(var(--wui-spacing-m) * -1) var(--wui-spacing-xs)
4      calc(var(--wui-spacing-m) * -1);
5    width: calc(100% + var(--wui-spacing-s) * 2);
6  }
7
8  .token-display {
9    padding: var(--wui-spacing-s) var(--wui-spacing-m);
10    border-radius: var(--wui-border-radius-s);
11    background-color: var(--wui-color-bg-125);
12    margin-top: var(--wui-spacing-s);
13    margin-bottom: var(--wui-spacing-s);
14  }
15
16  .token-display wui-text {
17    text-transform: none;
18  }
19
20  wui-loading-spinner {
21    padding: var(--wui-spacing-xs);
22  }
23`;var D=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let j=class extends i.WF{constructor(){super(),this.unsubscribe=[],this.amount="",this.tokenSymbol="",this.networkName="",this.exchanges=U.state.exchanges,this.isLoading=U.state.isLoading,this.loadingExchangeId=null,this.connectedWalletInfo=n.U.state.connectedWalletInfo,this.initializePaymentDetails(),this.unsubscribe.push(U.subscribeKey("exchanges",e=>this.exchanges=e)),this.unsubscribe.push(U.subscribeKey("isLoading",e=>this.isLoading=e)),this.unsubscribe.push(n.U.subscribe(e=>this.connectedWalletInfo=e.connectedWalletInfo)),U.fetchExchanges()}get isWalletConnected(){return"connected"===n.U.state.status}render(){return(0,i.qy)`
24      <wui-flex flexDirection="column">
25        <wui-flex flexDirection="column" .padding=${["0","l","l","l"]} gap="s">
26          ${this.renderPaymentHeader()}
27
28          <wui-flex flexDirection="column" gap="s">
29            ${this.renderPayWithWallet()} ${this.renderExchangeOptions()}
30          </wui-flex>
31        </wui-flex>
32      </wui-flex>
33    `}initializePaymentDetails(){let e=U.getPaymentAsset();this.networkName=e.network,this.tokenSymbol=e.metadata.symbol,this.amount=U.state.amount.toString()}renderPayWithWallet(){return!function(e){let{chainNamespace:t}=w.C.parseCaipNetworkId(e);return T.includes(t)}(this.networkName)?(0,i.qy)``:(0,i.qy)`<wui-flex flexDirection="column" gap="s">
34        ${this.isWalletConnected?this.renderConnectedView():this.renderDisconnectedView()}
35      </wui-flex>
36      <wui-separator text="or"></wui-separator>`}renderPaymentHeader(){let e=this.networkName;if(this.networkName){let t=s.W.getAllRequestedCaipNetworks().find(e=>e.caipNetworkId===this.networkName);t&&(e=t.name)}return(0,i.qy)`
37      <wui-flex flexDirection="column" alignItems="center">
38        <wui-flex alignItems="center" gap="xs">
39          <wui-text variant="large-700" color="fg-100">${this.amount||"0.0000"}</wui-text>
40          <wui-flex class="token-display" alignItems="center" gap="xxs">
41            <wui-text variant="paragraph-600" color="fg-100">
42              ${this.tokenSymbol||"Unknown Asset"}
43            </wui-text>
44            ${e?(0,i.qy)`
45                  <wui-text variant="small-500" color="fg-200"> on ${e} </wui-text>
46                `:""}
47          </wui-flex>
48        </wui-flex>
49      </wui-flex>
50    `}renderConnectedView(){let e=this.connectedWalletInfo?.name||"connected wallet";return(0,i.qy)`
51      <wui-list-item
52        @click=${this.onWalletPayment}
53        ?chevron=${!0}
54        data-testid="wallet-payment-option"
55      >
56        <wui-flex alignItems="center" gap="s">
57          <wui-wallet-image
58            size="sm"
59            imageSrc=${(0,o.J)(this.connectedWalletInfo?.icon)}
60            name=${(0,o.J)(this.connectedWalletInfo?.name)}
61          ></wui-wallet-image>
62          <wui-text variant="paragraph-500" color="inherit">Pay with ${e}</wui-text>
63        </wui-flex>
64      </wui-list-item>
65
66      <wui-list-item
67        variant="icon"
68        iconVariant="overlay"
69        icon="disconnect"
70        @click=${this.onDisconnect}
71        data-testid="disconnect-button"
72        ?chevron=${!1}
73      >
74        <wui-text variant="paragraph-500" color="fg-200">Disconnect</wui-text>
75      </wui-list-item>
76    `}renderDisconnectedView(){return(0,i.qy)`<wui-list-item
77      variant="icon"
78      iconVariant="overlay"
79      icon="walletPlaceholder"
80      @click=${this.onWalletPayment}
81      ?chevron=${!0}
82      data-testid="wallet-payment-option"
83    >
84      <wui-text variant="paragraph-500" color="inherit">Pay from wallet</wui-text>
85    </wui-list-item>`}renderExchangeOptions(){return this.isLoading?(0,i.qy)`<wui-flex justifyContent="center" alignItems="center">
86        <wui-spinner size="md"></wui-spinner>
87      </wui-flex>`:0===this.exchanges.length?(0,i.qy)`<wui-flex justifyContent="center" alignItems="center">
88        <wui-text variant="paragraph-500" color="fg-100">No exchanges available</wui-text>
89      </wui-flex>`:this.exchanges.map(e=>(0,i.qy)`
90        <wui-list-item
91          @click=${()=>this.onExchangePayment(e.id)}
92          data-testid="exchange-option-${e.id}"
93          ?chevron=${!0}
94          ?disabled=${null!==this.loadingExchangeId}
95        >
96          <wui-flex alignItems="center" gap="s">
97            ${this.loadingExchangeId===e.id?(0,i.qy)`<wui-loading-spinner color="accent-100" size="md"></wui-loading-spinner>`:(0,i.qy)`<wui-wallet-image
98                  size="sm"
99                  imageSrc=${(0,o.J)(e.imageUrl)}
100                  name=${e.name}
101                ></wui-wallet-image>`}
102            <wui-text flexGrow="1" variant="paragraph-500" color="inherit"
103              >Pay with ${e.name} <wui-spinner size="sm" color="fg-200"></wui-spinner
104            ></wui-text>
105          </wui-flex>
106        </wui-list-item>
107      `)}onWalletPayment(){U.handlePayWithWallet()}async onExchangePayment(e){try{this.loadingExchangeId=e;let t=await U.handlePayWithExchange(e);t&&(await c.W.open({view:"PayLoading"}),l.w.openHref(t.url,t.openInNewTab?"_blank":"_self"))}catch(e){console.error("Failed to pay with exchange",e),u.P.showError("Failed to pay with exchange")}finally{this.loadingExchangeId=null}}async onDisconnect(e){e.stopPropagation();try{await d.x.disconnect(),c.W.close()}catch{console.error("Failed to disconnect"),u.P.showError("Failed to disconnect")}}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}};j.styles=W,D([(0,r.wk)()],j.prototype,"amount",void 0),D([(0,r.wk)()],j.prototype,"tokenSymbol",void 0),D([(0,r.wk)()],j.prototype,"networkName",void 0),D([(0,r.wk)()],j.prototype,"exchanges",void 0),D([(0,r.wk)()],j.prototype,"isLoading",void 0),D([(0,r.wk)()],j.prototype,"loadingExchangeId",void 0),D([(0,r.wk)()],j.prototype,"connectedWalletInfo",void 0),j=D([(0,p.EM)("w3m-pay-view")],j);var V=a(39519);a(39515);let Z=(0,i.AH)`
108  :host {
109    display: block;
110    height: 100%;
111    width: 100%;
112  }
113`;var q=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let B=class extends i.WF{constructor(){super(),this.loadingMessage="",this.subMessage="",this.paymentState="in-progress",this.paymentState=U.state.isPaymentInProgress?"in-progress":"completed",this.updateMessages(),this.setupSubscription(),this.setupExchangeSubscription()}disconnectedCallback(){clearInterval(this.exchangeSubscription)}render(){return(0,i.qy)`
114      <wui-flex
115        flexDirection="column"
116        alignItems="center"
117        .padding=${["xl","xl","xl","xl"]}
118        gap="xl"
119      >
120        <wui-flex justifyContent="center" alignItems="center"> ${this.getStateIcon()} </wui-flex>
121        <wui-flex flexDirection="column" alignItems="center" gap="xs">
122          <wui-text align="center" variant="paragraph-500" color="fg-100">
123            ${this.loadingMessage}
124          </wui-text>
125          <wui-text align="center" variant="small-400" color="fg-200">
126            ${this.subMessage}
127          </wui-text>
128        </wui-flex>
129      </wui-flex>
130    `}updateMessages(){switch(this.paymentState){case"completed":this.loadingMessage="Payment completed",this.subMessage="Your transaction has been successfully processed";break;case"error":this.loadingMessage="Payment failed",this.subMessage="There was an error processing your transaction";break;default:U.state.currentPayment?.type==="exchange"?(this.loadingMessage="Payment initiated",this.subMessage="Please complete the payment on the exchange"):(this.loadingMessage="Awaiting payment confirmation",this.subMessage="Please confirm the payment transaction in your wallet")}}getStateIcon(){switch(this.paymentState){case"completed":return this.successTemplate();case"error":return this.errorTemplate();default:return this.loaderTemplate()}}setupExchangeSubscription(){U.state.currentPayment?.type==="exchange"&&(this.exchangeSubscription=setInterval(async()=>{let e=U.state.currentPayment?.exchangeId,t=U.state.currentPayment?.sessionId;e&&t&&(await U.updateBuyStatus(e,t),U.state.currentPayment?.status==="SUCCESS"&&clearInterval(this.exchangeSubscription))},4e3))}setupSubscription(){U.subscribeKey("isPaymentInProgress",e=>{e||"in-progress"!==this.paymentState||(U.state.error||!U.state.currentPayment?.result?this.paymentState="error":this.paymentState="completed",this.updateMessages(),setTimeout(()=>{"disconnected"!==d.x.state.status&&c.W.close()},3e3))}),U.subscribeKey("error",e=>{e&&"in-progress"===this.paymentState&&(this.paymentState="error",this.updateMessages())})}loaderTemplate(){let e=V.W.state.themeVariables["--w3m-border-radius-master"],t=e?parseInt(e.replace("px",""),10):4;return(0,i.qy)`<wui-loading-thumbnail radius=${9*t}></wui-loading-thumbnail>`}successTemplate(){return(0,i.qy)`<wui-icon size="xl" color="success-100" name="checkmark"></wui-icon>`}errorTemplate(){return(0,i.qy)`<wui-icon size="xl" color="error-100" name="close"></wui-icon>`}};async function G(e){return U.handleOpenPay(e)}function Y(){return U.getExchanges()}function H(){return U.state.currentPayment?.result}function F(){return U.state.error}function K(){return U.state.isPaymentInProgress}B.styles=Z,q([(0,r.wk)()],B.prototype,"loadingMessage",void 0),q([(0,r.wk)()],B.prototype,"subMessage",void 0),q([(0,r.wk)()],B.prototype,"paymentState",void 0),B=q([(0,p.EM)("w3m-pay-loading-view")],B);let J={network:"eip155:8453",asset:"native",metadata:{name:"Ethereum",symbol
130:"ETH",decimals:18}},X={network:"eip155:8453",asset:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},Q={network:"eip155:84532",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}}},83066:(e,t,a)=>{a(64001)},49925:(e,t,a)=>{var i=a(41270),r=a(12456);a(28009);var o=a(67998),n=a(45857);let s=(0,i.AH)`
131  :host {
132    position: relative;
133  }
134
135  button {
136    display: flex;
137    justify-content: center;
138    align-items: center;
139    height: 48px;
140    width: 100%;
141    background-color: var(--wui-color-accent-glass-010);
142    border-radius: var(--wui-border-radius-xs);
143    border: 1px solid var(--wui-color-accent-glass-010);
144    transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-md);
145    will-change: background-color;
146  }
147
148  wui-tooltip {
149    padding: 7px var(--wui-spacing-s) 8px var(--wui-spacing-s);
150    position: absolute;
151    top: -8px;
152    left: 50%;
153    transform: translate(-50%, -100%);
154    opacity: 0;
155    display: none;
156  }
157
158  @media (hover: hover) and (pointer: fine) {
159    button:hover:enabled {
160      background-color: var(--wui-color-accent-glass-015);
161    }
162
163    button:active:enabled {
164      background-color: var(--wui-color-accent-glass-020);
165    }
166  }
167`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.text="",this.icon="card"}render(){return(0,i.qy)`<button>
168      <wui-icon color="accent-100" name=${this.icon} size="lg"></wui-icon>
169    </button>`}};l.styles=[o.W5,o.fD,s],c([(0,r.MZ)()],l.prototype,"text",void 0),c([(0,r.MZ)()],l.prototype,"icon",void 0),l=c([(0,n.E)("wui-icon-button")],l)},12026:(e,t,a)=>{a(94441)},66571:(e,t,a)=>{a(28009)},52847:(e,t,a)=>{a(55602)},77749:(e,t,a)=>{var i=a(41270),r=a(12456),o=a(81440);a(28009),a(55602),a(88337),a(13076),a(7202);var n=a(67998),s=a(45857);a(38542);let c=(0,i.AH)`
170  button {
171    column-gap: var(--wui-spacing-s);
172    padding: 11px 18px 11px var(--wui-spacing-s);
173    width: 100%;
174    background-color: var(--wui-color-gray-glass-002);
175    border-radius: var(--wui-border-radius-xs);
176    color: var(--wui-color-fg-250);
177    transition:
178      color var(--wui-ease-out-power-1) var(--wui-duration-md),
179      background-color var(--wui-ease-out-power-1) var(--wui-duration-md);
180    will-change: color, background-color;
181  }
182
183  button[data-iconvariant='square'],
184  button[data-iconvariant='square-blue'] {
185    padding: 6px 18px 6px 9px;
186  }
187
188  button > wui-flex {
189    flex: 1;
190  }
191
192  button > wui-image {
193    width: 32px;
194    height: 32px;
195    box-shadow: 0 0 0 2px var(--wui-color-gray-glass-005);
196    border-radius: var(--wui-border-radius-3xl);
197  }
198
199  button > wui-icon {
200    width: 36px;
201    height: 36px;
202    transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);
203    will-change: opacity;
204  }
205
206  button > wui-icon-box[data-variant='blue'] {
207    box-shadow: 0 0 0 2px var(--wui-color-accent-glass-005);
208  }
209
210  button > wui-icon-box[data-variant='overlay'] {
211    box-shadow: 0 0 0 2px var(--wui-color-gray-glass-005);
212  }
213
214  button > wui-icon-box[data-variant='square-blue'] {
215    border-radius: var(--wui-border-radius-3xs);
216    position: relative;
217    border: none;
218    width: 36px;
219    height: 36px;
220  }
221
222  button > wui-icon-box[data-variant='square-blue']::after {
223    content: '';
224    position: absolute;
225    top: 0;
226    bottom: 0;
227    left: 0;
228    right: 0;
229    border-radius: inherit;
230    border: 1px solid var(--wui-color-accent-glass-010);
231    pointer-events: none;
232  }
233
234  button > wui-icon:last-child {
235    width: 14px;
236    height: 14px;
237  }
238
239  button:disabled {
240    color: var(--wui-color-gray-glass-020);
241  }
242
243  button[data-loading='true'] > wui-icon {
244    opacity: 0;
245  }
246
247  wui-loading-spinner {
248    position: absolute;
249    right: 18px;
250    top: 50%;
251    transform: translateY(-50%);
252  }
253`;var l=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let u=class extends i.WF{constructor(){super(...arguments),this.tabIdx=void 0,this.variant="icon",this.disabled=!1,this.imageSrc=void 0,this.alt=void 0,this.chevron=!1,this.loading=!1}render(){return(0,i.qy)`
254      <button
255        ?disabled=${!!this.loading||!!this.disabled}
256        data-loading=${this.loading}
257        data-iconvariant=${(0,o.J)(this.iconVariant)}
258        tabindex=${(0,o.J)(this.tabIdx)}
259      >
260        ${this.loadingTemplate()} ${this.visualTemplate()}
261        <wui-flex gap="3xs">
262          <slot></slot>
263        </wui-flex>
264        ${this.chevronTemplate()}
265      </button>
266    `}visualTemplate(){if("image"===this.variant&&this.imageSrc)return(0,i.qy)`<wui-image src=${this.imageSrc} alt=${this.alt??"list item"}></wui-image>`;if("square"===this.iconVariant&&this.icon&&"icon"===this.variant)return(0,i.qy)`<wui-icon name=${this.icon}></wui-icon>`;if("icon"===this.variant&&this.icon&&this.iconVariant){let e=["blue","square-blue"].includes(this.iconVariant)?"accent-100":"fg-200",t="square-blue"===this.iconVariant?"mdl":"md",a=this.iconSize?this.iconSize:t;return(0,i.qy)`
267        <wui-icon-box
268          data-variant=${this.iconVariant}
269          icon=${this.icon}
270          iconSize=${a}
271          background="transparent"
272          iconColor=${e}
273          backgroundColor=${e}
274          size=${t}
275        ></wui-icon-box>
276      `}return null}loadingTemplate(){return this.loading?(0,i.qy)`<wui-loading-spinner
277        data-testid="wui-list-item-loading-spinner"
278        color="fg-300"
279      ></wui-loading-spinner>`:(0,i.qy)``}chevronTemplate(){return this.chevron?(0,i.qy)`<wui-icon size="inherit" color="fg-200" name="chevronRight"></wui-icon>`:null}};u.styles=[n.W5,n.fD,c],l([(0,r.MZ)()],u.prototype,"icon",void 0),l([(0,r.MZ)()],u.prototype,"iconSize",void 0),l([(0,r.MZ)()],u.prototype,"tabIdx",void 0),l([(0,r.MZ)()],u.prototype,"variant",void 0),l([(0,r.MZ)()],u.prototype,"iconVariant",void 0),l([(0,r.MZ)({type:Boolean})],u.prototype,"disabled",void 0),l([(0,r.MZ)()],u.prototype,"imageSrc",void 0),l([(0,r.MZ)()],u.prototype,"alt",void 0),l([(0,r.MZ)({type:Boolean})],u.prototype,"chevron",void 0),l([(0,r.MZ)({type:Boolean})],u.prototype,"loading",void 0),u=l([(0,s.E)("wui-list-item")],u)},93278:(e,t,a)=>{a(88337)},39515:(e,t,a)=>{var i=a(41270),r=a(12456),o=a(67998),n=a(45857);let s=(0,i.AH)`
280  :host {
281    display: block;
282    width: var(--wui-box-size-md);
283    height: var(--wui-box-size-md);
284  }
285
286  svg {
287    width: var(--wui-box-size-md);
288    height: var(--wui-box-size-md);
289  }
290
291  rect {
292    fill: none;
293    stroke: var(--wui-color-accent-100);
294    stroke-width: 4px;
295    stroke-linecap: round;
296    animation: dash 1s linear infinite;
297  }
298
299  @keyframes dash {
300    to {
301      stroke-dashoffset: 0px;
302    }
303  }
304`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.radius=36}render(){return this.svgLoaderTemplate()}svgLoaderTemplate(){let e=this.radius>50?50:this.radius,t=36-e;return(0,i.qy)`
305      <svg viewBox="0 0 110 110" width="110" height="110">
306        <rect
307          x="2"
308          y="2"
309          width="106"
310          height="106"
311          rx=${e}
312          stroke-dasharray="${116+t} ${245+t}"
313          stroke-dashoffset=${360+1.75*t}
314        />
315      </svg>
316    `}};l.styles=[o.W5,s],c([(0,r.MZ)({type:Number})],l.prototype,"radius",void 0),l=c([(0,n.E)("wui-loading-thumbnail")],l)},61856:(e,t,a)=>{a(83081)},33575:(e,t,a)=>{var i=a(41270),r=a(12456);a(13076);var o=a(67998),n=a(45857);let s=(0,i.AH)`
317  :host {
318    position: relative;
319    display: flex;
320    width: 100%;
321    height: 1px;
322    background-color: var(--wui-color-gray-glass-005);
323    justify-content: center;
324    align-items: center;
325  }
326
327  :host > wui-text {
328    position: absolute;
329    padding: 0px 10px;
330    background-color: var(--wui-color-modal-bg);
331    transition: background-color var(--wui-duration-lg) var(--wui-ease-out-power-1);
332    will-change: background-color;
333  }
334`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.text=""}render(){return(0,i.qy)`${this.template()}`}template(){return this.text?(0,i.qy)`<wui-text variant="small-500" color="fg-200">${this.text}</wui-text>`:null}};l.styles=[o.W5,s],c([(0,r.MZ)()],l.prototype,"text",void 0),l=c([(0,n.E)("wui-separator")],l)},89991:(e,t,a)=>{a(72190)},39211:(e,t,a)=>{a.d(t,{a:()=>r});var i=a(41270);let r=(0,i.JW)`<svg  viewBox="0 0 48 54" fill="none">
335  <path
336    d="M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z"
337  />
338</svg>`},55602:(e,t,a)=>{var i=a(41270),r=a(12456),o=a(67998),n=a(45857);let s=(0,i.AH)`
339  :host {
340    display: block;
341    width: var(--local-width);
342    height: var(--local-height);
343  }
344
345  :host([data-object-fit='cover']) img {
346    object-fit: cover;
347    object-position: center center;
348  }
349
350  :host([data-object-fit='contain']) img {
351    object-fit: contain;
352    object-position: center center;
353  }
354
355  img {
356    display: block;
357    width: 100%;
358    height: 100%;
359    border-radius: inherit;
360  }
361`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.src="./path/to/image.jpg",this.alt="Image",this.size=void 0,this.objectFit="cover"}render(){return this.objectFit&&(this.dataset.objectFit=this.objectFit),this.style.cssText=`
362      --local-width: ${this.size?`var(--wui-icon-size-${this.size});`:"100%"};
363      --local-height: ${this.size?`var(--wui-icon-size-${this.size});`:"100%"};
364      `,(0,i.qy)`<img src=${this.src} alt=${this.alt} @error=${this.handleImageError} />`}handleImageError(){this.dispatchEvent(new CustomEvent("onLoadError",{bubbles:!0,composed:!0}))}};l.styles=[o.W5,o.ck,s],c([(0,r.MZ)()],l.prototype,"src",void 0),c([(0,r.MZ)()],l.prototype,"alt",void 0),c([(0,r.MZ)()],l.prototype,"size",void 0),c([(0,r.MZ)()],l.prototype,"objectFit",void 0),l=c([(0,n.E)("wui-image")],l)},88337:(e,t,a)=>{var i=a(41270),r=a(12456),o=a(67998),n=a(45857);let s=(0,i.AH)`
365  :host {
366    display: flex;
367  }
368
369  :host([data-size='sm']) > svg {
370    width: 12px;
371    height: 12px;
372  }
373
374  :host([data-size='md']) > svg {
375    width: 16px;
376    height: 16px;
377  }
378
379  :host([data-size='lg']) > svg {
380    width: 24px;
381    height: 24px;
382  }
383
384  :host([data-size='xl']) > svg {
385    width: 32px;
386    height: 32px;
387  }
388
389  svg {
390    animation: rotate 2s linear infinite;
391  }
392
393  circle {
394    fill: none;
395    stroke: var(--local-color);
396    stroke-width: 4px;
397    stroke-dasharray: 1, 124;
398    stroke-dashoffset: 0;
399    stroke-linecap: round;
400    animation: dash 1.5s ease-in-out infinite;
401  }
402
403  :host([data-size='md']) > svg > circle {
404    stroke-width: 6px;
405  }
406
407  :host([data-size='sm']) > svg > circle {
408    stroke-width: 8px;
409  }
410
411  @keyframes rotate {
412    100% {
413      transform: rotate(360deg);
414    }
415  }
416
417  @keyframes dash {
418    0% {
419      stroke-dasharray: 1, 124;
420      stroke-dashoffset: 0;
421    }
422
423    50% {
424      stroke-dasharray: 90, 124;
425      stroke-dashoffset: -35;
426    }
427
428    100% {
429      stroke-dashoffset: -125;
430    }
431  }
432`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.color="accent-100",this.size="lg"}render(){return this.style.cssText=`--local-color: ${"inherit"===this.color?"inherit":`var(--wui-color-${this.color})`}`,this.dataset.size=this.size,(0,i.qy)`<svg viewBox="25 25 50 50">
433      <circle r="20" cy="50" cx="50"></circle>
434    </svg>`}};l.styles=[o.W5,s],c([(0,r.MZ)()],l.prototype,"color",void 0),c([(0,r.MZ)()],l.prototype,"size",void 0),l=c([(0,n.E)("wui-loading-spinner")],l)},64001:(e,t,a)=>{var i=a(41270),r=a(12456);a(88337),a(13076);var o=a(67998),n=a(45857);let s=(0,i.AH)`
435  :host {
436    width: var(--local-width);
437    position: relative;
438  }
439
440  button {
441    border: none;
442    border-radius: var(--local-border-radius);
443    width: var(--local-width);
444    white-space: nowrap;
445  }
446
447  /* -- Sizes --------------------------------------------------- */
448  button[data-size='xs'] {
449    padding: var(--wui-spacing-3xs) var(--wui-spacing-s) var(--wui-spacing-3xs) var(--wui-spacing-s);
450    height: 24px;
451  }
452
453  button[data-size='xs'][data-icon-left='true'][data-icon-right='false'] {
454    padding: var(--wui-spacing-3xs) var(--wui-spacing-s) var(--wui-spacing-3xs) var(--wui-spacing-s);
455  }
456
457  button[data-size='xs'][data-icon-right='true'][data-icon-left='false'] {
458    padding: var(--wui-spacing-3xs) var(--wui-spacing-s) var(--wui-spacing-3xs) var(--wui-spacing-s);
459  }
460
461  button[data-size='sm'] {
462    padding: 7.2px var(--wui-spacing-s) 7.2px var(--wui-spacing-s);
463    height: 32px;
464  }
465
466  button[data-size='sm'][data-icon-left='true'][data-icon-right='false'] {
467    padding: 7.2px var(--wui-spacing-s) 7.2px var(--wui-spacing-s);
468  }
469
470  button[data-size='sm'][data-icon-right='true'][data-icon-left='false'] {
471    padding: 7.2px var(--wui-spacing-s) 7.2px var(--wui-spacing-s);
472  }
473
474  button[data-size='md'] {
475    padding: 8.2px var(--wui-spacing-l) 9px var(--wui-spacing-l);
476    height: 36px;
477  }
478
479  button[data-size='md'][data-icon-left='true'][data-icon-right='false'] {
480    padding: 8.2px var(--wui-spacing-l) 9px var(--wui-spacing-s);
481  }
482
483  button[data-size='md'][data-icon-right='true'][data-icon-left='false'] {
484    padding: 8.2px var(--wui-spacing-s) 9px var(--wui-spacing-l);
485  }
486
487  button[data-size='lg'] {
488    padding: var(--wui-spacing-m) var(--wui-spacing-2l);
489    height: 48px;
490  }
491
492  /* -- Variants --------------------------------------------------------- */
493  button[data-variant='main'] {
494    background-color: var(--wui-color-accent-100);
495    color: var(--wui-color-inverse-100);
496    border: none;
497    box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-010);
498  }
499
500  button[data-variant='inverse'] {
501    background-color: var(--wui-color-inverse-100);
502    color: var(--wui-color-inverse-000);
503    border: none;
504    box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-010);
505  }
506
507  button[data-variant='accent'] {
508    background-color: var(--wui-color-accent-glass-010);
509    color: var(--wui-color-accent-100);
510    border: none;
511    box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-005);
512  }
513
514  button[data-variant='accent-error'] {
515    background: var(--wui-color-error-glass-015);
516    color: var(--wui-color-error-100);
517    border: none;
518    box-shadow: inset 0 0 0 1px var(--wui-color-error-glass-010);
519  }
520
521  button[data-variant='accent-success'] {
522    background: var(--wui-color-success-glass-015);
523    color: var(--wui-color-success-100);
524    border: none;
525    box-shadow: inset 0 0 0 1px var(--wui-color-success-glass-010);
526  }
527
528  button[data-variant='neutral'] {
529    background: transparent;
530    color: var(--wui-color-fg-100);
531    border: none;
532    box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-005);
533  }
534
535  /* -- Focus states --------------------------------------------------- */
536  button[data-variant='main']:focus-visible:enabled {
537    background-color: var(--wui-color-accent-090);
538    box-shadow:
539      inset 0 0 0 1px var(--wui-color-accent-100),
540      0 0 0 4px var(--wui-color-accent-glass-020);
541  }
542  button[data-variant='inverse']:focus-visible:enabled {
543    background-color: var(--wui-color-inverse-100);
544    box-shadow:
545      inset 0 0 0 1px var(--wui-color-gray-glass-010),
546      0 0 0 4px var(--wui-color-accent-glass-020);
547  }
548  button[data-variant='accent']:focus-visible:enabled {
549    background-color: var(--wui-color-accent-glass-010);
550    box-shadow:
551      inset 0 0 0 1px var(--wui-color-accent-100),
552      0 0 0 4px var(--wui-color-accent-glass-020);
553  }
554  button[data-variant='accent-error']:focus-visible:enabled {
555    background: var(--wui-color-error-glass-015);
556    box-shadow:
557      inset 0 0 0 1px var(--wui-color-error-100),
558      0 0 0 4px var(--wui-color-error-glass-020);
559  }
560  button[data-variant='accent-success']:focus-visible:enabled {
561    background: var(--wui-color-success-glass-015);
562    box-shadow:
563      inset 0 0 0 1px var(--wui-color-success-100),
564      0 0 0 4px var(--wui-color-success-glass-020);
565  }
566  button[data-variant='neutral']:focus-visible:enabled {
567    background: var(--wui-color-gray-glass-005);
568    box-shadow:
569      inset 0 0 0 1px var(--wui-color-gray-glass-010),
570      0 0 0 4px var(--wui-color-gray-glass-002);
571  }
572
573  /* -- Hover & Active states ----------------------------------------------------------- */
574  @media (hover: hover) and (pointer: fine) {
575    button[data-variant='main']:hover:enabled {
576      background-color: var(--wui-color-accent-090);
577    }
578
579    button[data-variant='main']:active:enabled {
580      background-color: var(--wui-color-accent-080);
581    }
582
583    button[data-variant='accent']:hover:enabled {
584      background-color: var(--wui-color-accent-glass-015);
585    }
586
587    button[data-variant='accent']:active:enabled {
588      background-color: var(--wui-color-accent-glass-020);
589    }
590
591    button[data-variant='accent-error']:hover:enabled {
592      background: var(--wui-color-error-glass-020);
593      color: var(--wui-color-error-100);
594    }
595
596    button[data-variant='accent-error']:active:enabled {
597      background: var(--wui-color-error-glass-030);
598      color: var(--wui-color-error-100);
599    }
600
601    button[data-variant='accent-success']:hover:enabled {
602      background: var(--wui-color-success-glass-020);
603      color: var(--wui-color-success-100);
604    }
605
606    button[data-variant='accent-success']:active:enabled {
607      background: var(--wui-color-success-glass-030);
608      color: var(--wui-color-success-100);
609    }
610
611    button[data-variant='neutral']:hover:enabled {
612      background: var(--wui-color-gray-glass-002);
613    }
614
615    button[data-variant='neutral']:active:enabled {
616      background: var(--wui-color-gray-glass-005);
617    }
618
619    button[data-size='lg'][data-icon-left='true'][data-icon-right='false'] {
620      padding-left: var(--wui-spacing-m);
621    }
622
623    button[data-size='lg'][data-icon-right='true'][data-icon-left='false'] {
624      padding-right: var(--wui-spacing-m);
625    }
626  }
627
628  /* -- Disabled state --------------------------------------------------- */
629  button:disabled {
630    background-color: var(--wui-color-gray-glass-002);
631    box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-002);
632    color: var(--wui-color-gray-glass-020);
633    cursor: not-allowed;
634  }
635
636  button > wui-text {
637    transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);
638    will-change: opacity;
639    opacity: var(--local-opacity-100);
640  }
641
642  ::slotted(*) {
643    transition: opacity var(--wui-ease-out-power-1) var(--wui-duration-md);
644    will-change: opacity;
645    opacity: var(--local-opacity-100);
646  }
647
648  wui-loading-spinner {
649    position: absolute;
650    left: 50%;
651    top: 50%;
652    transform: translate(-50%, -50%);
653    opacity: var(--local-opacity-000);
654  }
655`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l={main:"inverse-100",inverse:"inverse-000",accent:"accent-100","accent-error":"error-100","accent-success":"success-100",neutral:"fg-100",disabled:"gray-glass-020"},u={lg:"paragraph-600",md:"small-600",sm:"small-600",xs:"tiny-600"},d={lg:"md",md:"md",sm:"sm",xs:"sm"},p=class extends i.WF{constructor(){super(...arguments),this.size="lg",this.disabled=!1,this.fullWidth=!1,this.loading=!1,this.variant="main",this.hasIconLeft=!1,this.hasIconRight=!1,this.borderRadius="m"}render(){this.style.cssText=`
656    --local-width: ${this.fullWidth?"100%":"auto"};
657    --local-opacity-100: ${this.loading?0:1};
658    --local-opacity-000: ${this.loading?1:0};
659    --local-border-radius: var(--wui-border-radius-${this.borderRadius});
660    `;let e=this.textVariant??u[this.size];return(0,i.qy)`
661      <button
662        data-variant=${this.variant}
663        data-icon-left=${this.hasIconLeft}
664        data-icon-right=${this.hasIconRight}
665        data-size=${this.size}
666        ?disabled=${this.disabled}
667      >
668        ${this.loadingTemplate()}
669        <slot name="iconLeft" @slotchange=${()=>this.handleSlotLeftChange()}></slot>
670        <wui-text variant=${e} color="inherit">
671          <slot></slot>
672        </wui-text>
673        <slot name="iconRight" @slotchange=${()=>this.handleSlotRightChange()}></slot>
674      </button>
675    `}handleSlotLeftChange(){this.hasIconLeft=!0}handleSlotRightChange(){this.hasIconRight=!0}loadingTemplate(){if(this.loading){let e=d[this.size],t=this.disabled?l.disabled:l[this.variant];return(0,i.qy)`<wui-loading-spinner color=${t} size=${e}></wui-loading-spinner>`}return(0,i.qy)``}};p.styles=[o.W5,o.fD,s],c([(0,r.MZ)()],p.prototype,"size",void 0),c([(0,r.MZ)({type:Boolean})],p.prototype,"disabled",void 0),c([(0,r.MZ)({type:Boolean})],p.prototype,"fullWidth",void 0),c([(0,r.MZ)({type:Boolean})],p.prototype,"loading",void 0),c([(0,r.MZ)()],p.prototype,"variant",void 0),c([(0,r.MZ)({type:Boolean})],p.prototype,"hasIconLeft",void 0),c([(0,r.MZ)({type:Boolean})],p.prototype,"hasIconRight",void 0),c([(0,r.MZ)()],p.prototype,"borderRadius",void 0),c([(0,r.MZ)()],p.prototype,"textVariant",void 0),p=c([(0,n.E)("wui-button")],p)},38542:(e,t,a)=>{var i=a(41270),r=a(12456);a(28009);var o=a(67998),n=a(45857);let s=(0,i.AH)`
676  :host {
677    display: inline-flex;
678    justify-content: center;
679    align-items: center;
680    position: relative;
681    overflow: hidden;
682    background-color: var(--wui-color-gray-glass-020);
683    border-radius: var(--local-border-radius);
684    border: var(--local-border);
685    box-sizing: content-box;
686    width: var(--local-size);
687    height: var(--local-size);
688    min-height: var(--local-size);
689    min-width: var(--local-size);
690  }
691
692  @supports (background: color-mix(in srgb, white 50%, black)) {
693    :host {
694      background-color: color-mix(in srgb, var(--local-bg-value) var(--local-bg-mix), transparent);
695    }
696  }
697`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.size="md",this.backgroundColor="accent-100",this.iconColor="accent-100",this.background="transparent",this.border=!1,this.borderColor="wui-color-bg-125",this.icon="copy"}render(){let e=this.iconSize||this.size,t="lg"===this.size,a="xl"===this.size,r="gray"===this.background,o="opaque"===this.background,n="accent-100"===this.backgroundColor&&o||"success-100"===this.backgroundColor&&o||"error-100"===this.backgroundColor&&o||"inverse-100"===this.backgroundColor&&o,s=`var(--wui-color-${this.backgroundColor})`;return n?s=`var(--wui-icon-box-bg-${this.backgroundColor})`:r&&(s=`var(--wui-color-gray-${this.backgroundColor})`),this.style.cssText=`
698       --local-bg-value: ${s};
699       --local-bg-mix: ${n||r?"100%":t?"12%":"16%"};
700       --local-border-radius: var(--wui-border-radius-${t?"xxs":a?"s":"3xl"});
701       --local-size: var(--wui-icon-box-size-${this.size});
702       --local-border: ${"wui-color-bg-125"===this.borderColor?"2px":"1px"} solid ${this.border?`var(--${this.borderColor})`:"transparent"}
703   `,(0,i.qy)` <wui-icon color=${this.iconColor} size=${e} name=${this.icon}></wui-icon> `}};l.styles=[o.W5,o.fD,s],c([(0,r.MZ)()],l.prototype,"size",void 0),c([(0,r.MZ)()],l.prototype,"backgroundColor",void 0),c([(0,r.MZ)()],l.prototype,"iconColor",void 0),c([(0,r.MZ)()],l.prototype,"iconSize",void 0),c([(0,r.MZ)()],l.prototype,"background",void 0),c([(0,r.MZ)({type:Boolean})],l.prototype,"border",void 0),c([(0,r.MZ)()],l.prototype,"borderColor",void 0),c([(0,r.MZ)()],l.prototype,"icon",void 0),l=c([(0,n.E)("wui-icon-box")],l)},94441:(e,t,a)=>{var i=a(41270),r=a(12456);a(28009);var o=a(67998),n=a(45857);let s=(0,i.AH)`
704  button {
705    border-radius: var(--local-border-radius);
706    color: var(--wui-color-fg-100);
707    padding: var(--local-padding);
708  }
709
710  @media (max-width: 700px) {
711    :host(:not([size='sm'])) button {
712      padding: var(--wui-spacing-s);
713    }
714  }
715
716  button > wui-icon {
717    pointer-events: none;
718  }
719
720  button:disabled > wui-icon {
721    color: var(--wui-color-bg-300) !important;
722  }
723
724  button:disabled {
725    background-color: transparent;
726  }
727`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.size="md",this.disabled=!1,this.icon="copy",this.iconColor="inherit"}render(){this.dataset.size=this.size;let e="",t="";switch(this.size){case"lg":e="--wui-border-radius-xs",t="--wui-spacing-1xs";break;case"sm":e="--wui-border-radius-3xs",t="--wui-spacing-xxs";break;default:e="--wui-border-radius-xxs",t="--wui-spacing-2xs"}return this.style.cssText=`
728    --local-border-radius: var(${e});
729    --local-padding: var(${t});
730    `,(0,i.qy)`
731      <button ?disabled=${this.disabled}>
732        <wui-icon color=${this.iconColor} size=${this.size} name=${this.icon}></wui-icon>
733      </button>
734    `}};l.styles=[o.W5,o.fD,o.ck,s],c([(0,r.MZ)()],l.prototype,"size",void 0),c([(0,r.MZ)({type:Boolean})],l.prototype,"disabled",void 0),c([(0,r.MZ)()],l.prototype,"icon",void 0),c([(0,r.MZ)()],l.prototype,"iconColor",void 0),l=c([(0,n.E)("wui-icon-link")],l)},83081:(e,t,a)=>{var i=a(41270),r=a(12456);let o=(0,i.JW)`<svg width="86" height="96" fill="none">
735  <path
736    d="M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z"
737  />
738</svg>`;var n=a(39211);let s=(0,i.JW)`
739  <svg fill="none" viewBox="0 0 36 40">
740    <path
741      d="M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.
74161 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z"
742    />
743  </svg>
744`;a(28009),a(55602);var c=a(67998),l=a(45857);let u=(0,i.AH)`
745  :host {
746    position: relative;
747    border-radius: inherit;
748    display: flex;
749    justify-content: center;
750    align-items: center;
751    width: var(--local-width);
752    height: var(--local-height);
753  }
754
755  :host([data-round='true']) {
756    background: var(--wui-color-gray-glass-002);
757    border-radius: 100%;
758    outline: 1px solid var(--wui-color-gray-glass-005);
759  }
760
761  svg {
762    position: absolute;
763    top: 0;
764    left: 0;
765    width: 100%;
766    height: 100%;
767    z-index: 1;
768    fill: var(--wui-color-gray-glass-002);
769  }
770
771  svg > path {
772    stroke: var(--local-stroke);
773  }
774
775  wui-image {
776    width: 100%;
777    height: 100%;
778    -webkit-clip-path: var(--local-path);
779    clip-path: var(--local-path);
780    background: var(--wui-color-gray-glass-002);
781  }
782
783  wui-icon {
784    transform: translateY(-5%);
785    width: var(--local-icon-size);
786    height: var(--local-icon-size);
787  }
788`;var d=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let p=class extends i.WF{constructor(){super(...arguments),this.size="md",this.name="uknown",this.networkImagesBySize={sm:s,md:n.a,lg:o},this.selected=!1,this.round=!1}render(){return this.round?(this.dataset.round="true",this.style.cssText=`
789      --local-width: var(--wui-spacing-3xl);
790      --local-height: var(--wui-spacing-3xl);
791      --local-icon-size: var(--wui-spacing-l);
792    `):this.style.cssText=`
793
794      --local-path: var(--wui-path-network-${this.size});
795      --local-width:  var(--wui-width-network-${this.size});
796      --local-height:  var(--wui-height-network-${this.size});
797      --local-icon-size:  var(--wui-icon-size-network-${this.size});
798    `,(0,i.qy)`${this.templateVisual()} ${this.svgTemplate()} `}svgTemplate(){return this.round?null:this.networkImagesBySize[this.size]}templateVisual(){return this.imageSrc?(0,i.qy)`<wui-image src=${this.imageSrc} alt=${this.name}></wui-image>`:(0,i.qy)`<wui-icon size="inherit" color="fg-200" name="networkPlaceholder"></wui-icon>`}};p.styles=[c.W5,u],d([(0,r.MZ)()],p.prototype,"size",void 0),d([(0,r.MZ)()],p.prototype,"name",void 0),d([(0,r.MZ)({type:Object})],p.prototype,"networkImagesBySize",void 0),d([(0,r.MZ)()],p.prototype,"imageSrc",void 0),d([(0,r.MZ)({type:Boolean})],p.prototype,"selected",void 0),d([(0,r.MZ)({type:Boolean})],p.prototype,"round",void 0),p=d([(0,l.E)("wui-network-image")],p)},72190:(e,t,a)=>{var i=a(41270),r=a(12456);a(28009),a(55602),a(7202);var o=a(67998),n=a(45857);a(38542);let s=(0,i.AH)`
799  :host {
800    position: relative;
801    background-color: var(--wui-color-gray-glass-002);
802    display: flex;
803    justify-content: center;
804    align-items: center;
805    width: var(--local-size);
806    height: var(--local-size);
807    border-radius: inherit;
808    border-radius: var(--local-border-radius);
809  }
810
811  :host > wui-flex {
812    overflow: hidden;
813    border-radius: inherit;
814    border-radius: var(--local-border-radius);
815  }
816
817  :host::after {
818    content: '';
819    position: absolute;
820    top: 0;
821    bottom: 0;
822    left: 0;
823    right: 0;
824    border-radius: inherit;
825    border: 1px solid var(--wui-color-gray-glass-010);
826    pointer-events: none;
827  }
828
829  :host([name='Extension'])::after {
830    border: 1px solid var(--wui-color-accent-glass-010);
831  }
832
833  :host([data-wallet-icon='allWallets']) {
834    background-color: var(--wui-all-wallets-bg-100);
835  }
836
837  :host([data-wallet-icon='allWallets'])::after {
838    border: 1px solid var(--wui-color-accent-glass-010);
839  }
840
841  wui-icon[data-parent-size='inherit'] {
842    width: 75%;
843    height: 75%;
844    align-items: center;
845  }
846
847  wui-icon[data-parent-size='sm'] {
848    width: 18px;
849    height: 18px;
850  }
851
852  wui-icon[data-parent-size='md'] {
853    width: 24px;
854    height: 24px;
855  }
856
857  wui-icon[data-parent-size='lg'] {
858    width: 42px;
859    height: 42px;
860  }
861
862  wui-icon[data-parent-size='full'] {
863    width: 100%;
864    height: 100%;
865  }
866
867  :host > wui-icon-box {
868    position: absolute;
869    overflow: hidden;
870    right: -1px;
871    bottom: -2px;
872    z-index: 1;
873    border: 2px solid var(--wui-color-bg-150, #1e1f1f);
874    padding: 1px;
875  }
876`;var c=function(e,t,a,i){var r,o=arguments.length,n=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,a):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(o<3?r(n):o>3?r(t,a,n):r(t,a))||n);return o>3&&n&&Object.defineProperty(t,a,n),n};let l=class extends i.WF{constructor(){super(...arguments),this.size="md",this.name="",this.installed=!1,this.badgeSize="xs"}render(){let e="xxs";return e="lg"===this.size?"m":"md"===this.size?"xs":"xxs",this.style.cssText=`
877       --local-border-radius: var(--wui-border-radius-${e});
878       --local-size: var(--wui-wallet-image-size-${this.size});
879   `,this.walletIcon&&(this.dataset.walletIcon=this.walletIcon),(0,i.qy)`
880      <wui-flex justifyContent="center" alignItems="center"> ${this.templateVisual()} </wui-flex>
881    `}templateVisual(){return this.imageSrc?(0,i.qy)`<wui-image src=${this.imageSrc} alt=${this.name}></wui-image>`:this.walletIcon?(0,i.qy)`<wui-icon
882        data-parent-size="md"
883        size="md"
884        color="inherit"
885        name=${this.walletIcon}
886      ></wui-icon>`:(0,i.qy)`<wui-icon
887      data-parent-size=${this.size}
888      size="inherit"
889      color="inherit"
890      name="walletPlaceholder"
891    ></wui-icon>`}};l.styles=[o.fD,o.W5,s],c([(0,r.MZ)()],l.prototype,"size",void 0),c([(0,r.MZ)()],l.prototype,"name",void 0),c([(0,r.MZ)()],l.prototype,"imageSrc",void 0),c([(0,r.MZ)()],l.prototype,"walletIcon",void 0),c([(0,r.MZ)({type:Boolean})],l.prototype,"installed",void 0),c([(0,r.MZ)()],l.prototype,"badgeSize",void 0),l=c([(0,n.E)("wui-wallet-image")],l)}}]);

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.