@tuwaio/nova-connect 1.0.0-fix-test-alpha.55.f5b462c → 1.0.0-fix-test-alpha.56.a984de3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- 'use strict';var orbitSolana=require('@tuwaio/orbit-solana'),novaCore=require('@tuwaio/nova-core'),v=require('react'),reactToastify=require('react-toastify'),reactWeb3Icons=require('@bgd-labs/react-web3-icons');require('@bgd-labs/react-web3-icons/dist/utils');var d=require('@radix-ui/react-select'),jsxRuntime=require('react/jsx-runtime'),orbitCore=require('@tuwaio/orbit-core'),framerMotion=require('framer-motion'),solid=require('@heroicons/react/24/solid'),Un=require('ethereum-blockies-base64');require('@heroicons/react/24/outline'),require('gill'),require('viem'),require('@tuwaio/pulsar-core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var v__namespace=/*#__PURE__*/_interopNamespace(v);var d__namespace=/*#__PURE__*/_interopNamespace(d);var Un__default=/*#__PURE__*/_interopDefault(Un);var nn=Object.defineProperty;var F=(n,o)=>()=>(n&&(o=n(n=0)),o);var O=(n,o)=>{for(var a in o)nn(n,a,{get:o[a],enumerable:true});};var ao={};O(ao,{getEvmChains:()=>hn,isEvmChainList:()=>Cn});function ln(n){return n!=null&&typeof n=="number"&&n>0}function hn(n){return !n||n.length===0?[]:n.map(o=>o.id).filter(ln)}function Cn(n){return n.length>0&&n.every(o=>typeof o=="number")}var eo=F(()=>{});var Ao={};O(Ao,{createEvmAdapter:()=>gn,isEvmAdapterAvailable:()=>Zn});async function Gn(){try{return await Promise.resolve().then(()=>(eo(),ao))}catch(n){return console.warn("EVM utilities not available:",n),null}}async function gn(){let n=await Gn();return {getChains(o){return n?.getEvmChains?n.getEvmChains(o):!Array.isArray(o)||o.length===0?[]:o.map(a=>typeof a=="object"&&a?.id!==void 0?a.id:typeof a=="number"||typeof a=="string"?a:null).filter(a=>a!==null&&(typeof a=="string"||typeof a=="number"))},isChainList(o){return n?.isEvmChainList?n.isEvmChainList(o):o.length>0&&o.every(a=>typeof a=="number")}}}async function Zn(){try{return await Promise.resolve().then(()=>(eo(),ao)),!0}catch{return false}}var to={};O(to,{getAvailableSolanaClusters:()=>In,getSolanaClusters:()=>En,isSolanaChainList:()=>pn,isValidSolanaCluster:()=>An});function Qn(n){let o=n.split(":");if(o.length<2)return null;let a=o[1];return a in orbitSolana.defaultRpcUrlsByMoniker?a:null}function zn(n,o){let a={};for(let t of n){if(typeof t!="string")continue;let i=Qn(t);if(!i)continue;let e=o?.[i]??orbitSolana.defaultRpcUrlsByMoniker[i];e&&(a[i]=e);}return a}function En(n,o){if(o&&o.length>0){let a=zn(o,n);return Object.keys(a)}return Object.keys(n||orbitSolana.defaultRpcUrlsByMoniker)}function pn(n){return n.length>0&&n.every(o=>typeof o=="string")}function In(){return Object.keys(orbitSolana.defaultRpcUrlsByMoniker)}function An(n){return n in orbitSolana.defaultRpcUrlsByMoniker}var io=F(()=>{});var No={};O(No,{createSolanaAdapter:()=>dn,isSolanaAdapterAvailable:()=>Nn});async function wn(){try{return await Promise.resolve().then(()=>(io(),to))}catch(n){return console.warn("Solana utilities not available:",n),null}}async function dn(){let n=await wn();return {getChains(o,a){return n?.getSolanaClusters?n.getSolanaClusters(o,a):o&&typeof o=="object"?Object.keys(o):[]},isChainList(o){return n?.isSolanaChainList?n.isSolanaChainList(o):o.length>0&&o.every(a=>typeof a=="string")},getAvailableClusters(){return n?.getAvailableSolanaClusters?n.getAvailableSolanaClusters():[]},isValidCluster(o){return n?.isValidSolanaCluster?n.isValidSolanaCluster(o):false}}}async function Nn(){try{return await Promise.resolve().then(()=>(io(),to)),!0}catch{return false}}var J={connectWallet:"Connect Wallet",disconnect:"Disconnect",connecting:"Connecting...",connected:"Connected",tryAgain:"Try again",back:"Back",connect:"Connect",close:"Close",all:"All",connectionError:"Connection error",connectedSuccessfully:"Connected successfully!",connectingTo:"Connecting to",walletConnectionError:"Wallet connection error",errorWhenChainSwitching:"Error when chain switching",cannotConnectWallet:"Cannot connect to the wallet. Please try again or use another connector.",success:"Success",error:"Error",replaced:"Replaced",recent:"Recent",transactionLoading:"Transaction loading",transactionSuccess:"Transaction successful",transactionError:"Transaction failed",transactionReplaced:"Transaction replaced",aboutWallets:"About wallets",getWallet:"Get a wallet",connectImpersonatedWallet:"Connect impersonated wallet",transactionsInApp:"Transactions in app",switchNetwork:"Switch network",switchNetworks:"Switch Networks",connectingEllipsis:"Connecting...",installed:"Installed",popular:"Popular",impersonate:"Impersonate",readOnlyMode:"Read-only mode",whatIsWallet:"What is a wallet?",walletDescription:"Wallets are essential for managing your crypto\u2014they let you send, receive, and securely hold digital assets. Connecting your wallet grants you safe access and interaction with decentralized applications (dApps).",whatIsNetwork:"What is a network?",networkDescription:"A network (or blockchain) is a decentralized digital ledger that records transactions. Selecting a network lets you choose which blockchain you want to connect to.",learnMore:"Learn more",listOfNetworks:"List of networks",viewOnExplorer:"View on explorer",viewTransactions:"View transactions",enterWalletAddress:"Enter wallet address to impersonate",walletAddressPlaceholder:"0x...",noConnectorsFound:"No Connectors Found",noConnectorsDescription:"We couldn't find any wallets or connection methods for the selected network.",somethingWentWrong:"Something went wrong",networkPickingError:"Something went wrong with wallet network selection. Please go back and try again.",pulsarAdapterRequired:"Pulsar Adapter Required",pulsarAdapterDescription:"Additional configuration is needed for viewing transactions in app. Please contact your admin.",selectAvailableNetwork:"Select one of available network",startExploringWeb3:"Start Exploring Web3",walletKeyToDigitalWorld:"Your wallet is the key to the digital world and the technology that makes exploring web3 possible.",iDontHaveWallet:"I don't have a wallet",choseWallet:"Choose a wallet",keyToNewInternet:"The Key to a New Internet",keyToNewInternetDescription:"Your wallet is more than just storage. Think of it as your digital passport that lets you truly own, display, and exchange every digital asset you hold, from crypto tokens to unique NFTs.",logInWithoutHassle:"Log In Without the Hassle",logInWithoutHassleDescription:"Skip the endless sign-up forms! Your wallet is your unique access pass. Just connect it, and the website instantly recognizes you. It saves you time and protects your privacy.",copyRawError:"Copy raw error",copied:"Copied!",chainSelector:"Chain Selector",closeModal:"Close modal",selectChain:"Select chain",chainOption:"Chain option",openChainSelector:"Open chain selector",currentChain:"Current chain",scrollToTop:"Scroll to top",scrollToBottom:"Scroll to bottom",chainListContainer:"Chain list container",walletControls:"Wallet controls",openWalletModal:"Open wallet modal",walletConnected:"Wallet connected",walletNotConnected:"Wallet not connected",walletBalance:"Wallet balance",walletAddress:"Wallet address",transactionStatus:"Transaction status",successIcon:"Success icon",errorIcon:"Error icon",replacedIcon:"Replaced icon",statusIcon:"Status icon",loading:"Loading",idle:"Idle",unknownWallet:"Unknown wallet",walletAvatar:"Wallet avatar",ensAvatar:"ENS avatar",walletIcon:"Wallet icon",impersonateAddressEmpty:"Enter a wallet address to impersonate.",impersonateAddressNotCorrect:"Entered wallet address is not correct. Please try again.",impersonateAddressConnected:"First disconnect the wallet to impersonate another address."};var _=v.createContext(J),r=()=>v.useContext(_);var sn=v.forwardRef(({children:n,className:o,...a},t)=>{let i=r(),e=a.value===a["aria-label"];return jsxRuntime.jsxs(d__namespace.Item,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center novacon:w-full novacon:text-left novacon:px-2 novacon:py-2 novacon:rounded-md novacon:transition-colors novacon:space-x-3 novacon:cursor-pointer novacon:outline-none","novacon:text-[var(--tuwa-text-primary)] novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:focus:bg-[var(--tuwa-bg-muted)] novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-border-primary)] novacon:focus:ring-offset-2",{"novacon:bg-[var(--tuwa-bg-muted)]":e},o),role:"option","aria-selected":e,tabIndex:0,...a,children:[n,e&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"novacon:ml-auto novacon:text-xs novacon:font-semibold novacon:w-2 novacon:h-2 novacon:rounded-full novacon:bg-[var(--tuwa-success-text)]","aria-label":i.connected,role:"status"}),jsxRuntime.jsx("span",{className:"novacon:sr-only",children:i.connected})]})]})});sn.displayName="SelectItemBase";var oo=class extends Error{constructor(o="useNovaConnect must be used within NovaConnectProvider"){super(o),this.name="NovaConnectProviderError";}},no=v.createContext(void 0),I=()=>{let n=v.useContext(no);if(!n)throw new oo;return n};({[orbitCore.OrbitAdapter.EVM]:1,[orbitCore.OrbitAdapter.SOLANA]:"mainnet",[orbitCore.OrbitAdapter.Starknet]:"0x534e5f4d41494e"});({[orbitCore.OrbitAdapter.EVM]:{},[orbitCore.OrbitAdapter.SOLANA]:{}});var K=v.forwardRef(({className:n,"aria-label":o,onClick:a,disabled:t=false,...i},e)=>{let s=r();return jsxRuntime.jsx("button",{ref:e,type:"button",onClick:c=>{a&&(c.preventDefault(),a(c));},onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&a&&(c.preventDefault(),a(c));},disabled:t,className:novaCore.cn("novacon:flex novacon:w-full novacon:h-6 novacon:items-center novacon:justify-center","novacon:bg-[var(--tuwa-bg-secondary)] novacon:text-[var(--tuwa-text-primary)]","novacon:transition-colors novacon:duration-200","novacon:hover:bg-[var(--tuwa-bg-tertiary)] novacon:hover:text-[var(--tuwa-text-secondary)]","novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-text-accent)] novacon:focus:ring-inset","novacon:active:bg-[var(--tuwa-bg-quaternary)]","novacon:disabled:opacity-50 novacon:disabled:cursor-not-allowed novacon:disabled:hover:bg-[var(--tuwa-bg-secondary)]",a?"novacon:cursor-pointer":"novacon:cursor-default",n),"aria-label":o||s.scrollToBottom,title:o||s.scrollToBottom,...i,children:jsxRuntime.jsx(solid.ChevronDownIcon,{className:novaCore.cn("novacon:w-4 novacon:h-4 novacon:transition-transform novacon:duration-200",t&&"novacon:opacity-50"),"aria-hidden":"true"})})});K.displayName="ToBottomButton";var P=v.forwardRef(({className:n,"aria-label":o,onClick:a,disabled:t=false,...i},e)=>{let s=r();return jsxRuntime.jsx("button",{ref:e,type:"button",onClick:c=>{a&&(c.preventDefault(),a(c));},onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&a&&(c.preventDefault(),a(c));},disabled:t,className:novaCore.cn("novacon:flex novacon:w-full novacon:h-6 novacon:items-center novacon:justify-center","novacon:bg-[var(--tuwa-bg-secondary)] novacon:text-[var(--tuwa-text-primary)]","novacon:transition-colors novacon:duration-200","novacon:hover:bg-[var(--tuwa-bg-tertiary)] novacon:hover:text-[var(--tuwa-text-secondary)]","novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-text-accent)] novacon:focus:ring-inset","novacon:active:bg-[var(--tuwa-bg-quaternary)]","novacon:disabled:opacity-50 novacon:disabled:cursor-not-allowed novacon:disabled:hover:bg-[var(--tuwa-bg-secondary)]",a?"novacon:cursor-pointer":"novacon:cursor-default",n),"aria-label":o||s.scrollToTop,title:o||s.scrollToTop,...i,children:jsxRuntime.jsx(solid.ChevronUpIcon,{className:novaCore.cn("novacon:w-4 novacon:h-4 novacon:transition-transform novacon:duration-200",t&&"novacon:opacity-50"),"aria-hidden":"true"})})});P.displayName="ToTopButton";var fo=v.forwardRef(({className:n,children:o,position:a="popper","aria-label":t,reduceMotion:i=false,...e},s)=>{let m=r(),G=v.useMemo(()=>i?{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15}}:{initial:{opacity:0,scaleY:.8,y:-5},animate:{opacity:1,scaleY:1,y:0},exit:{opacity:0,scaleY:.8,y:-5},transition:{duration:.2,ease:"easeOut"}},[i]),c=v.useMemo(()=>i?{}:{duration:.15,ease:"easeOut"},[i]),Q=v.useMemo(()=>novaCore.cn("novacon:p-1 novacon:bg-[var(--tuwa-bg-secondary)] novacon:rounded-lg novacon:shadow-xl","novacon:ring-1 novacon:ring-[var(--tuwa-border-primary)] novacon:overflow-hidden",n),[n]),M=v.useMemo(()=>novaCore.cn("novacon:max-h-[300px] novacon:w-[--radix-select-trigger-width] novacon:overflow-hidden","novacon:data-[state=open]:animate-in novacon:data-[state=closed]:animate-out","novacon:data-[state=closed]:fade-out-0 novacon:data-[state=open]:novacon:fade-in-0","novacon:data-[state=closed]:zoom-out-95 novacon:data-[state=open]:novacon:zoom-in-95","novacon:data-[side=bottom]:slide-in-from-top-2 novacon:data-[side=left]:slide-in-from-right-2","novacon:data-[side=right]:slide-in-from-left-2 novacon:data-[side=top]:slide-in-from-bottom-2"),[]);return jsxRuntime.jsx(d__namespace.Portal,{children:jsxRuntime.jsxs(d__namespace.Content,{className:M,ref:s,position:a,role:"listbox","aria-label":t||m.chainListContainer,...e,children:[jsxRuntime.jsx(d__namespace.ScrollUpButton,{asChild:true,children:jsxRuntime.jsx(P,{})}),jsxRuntime.jsx(d__namespace.Viewport,{role:"presentation",children:jsxRuntime.jsx(framerMotion.AnimatePresence,{mode:"wait",initial:false,children:jsxRuntime.jsx(framerMotion.motion.div,{...G,className:Q,layout:!i,transition:{layout:c},role:"group","aria-live":"polite",children:o})})}),jsxRuntime.jsx(d__namespace.ScrollDownButton,{asChild:true,children:jsxRuntime.jsx(K,{})})]})})});fo.displayName="SelectContentAnimated";function Uo(n,{strict:o=true}={}){return !n||typeof n!="string"?false:o?/^0x[0-9a-fA-F]*$/.test(n):n.startsWith("0x")}var On="0x0000000000000000000000000000000000000000",Jn={sm:"novacon:h-4 novacon:w-4",md:"novacon:h-6 novacon:w-6",lg:"novacon:h-8 novacon:w-8",xl:"novacon:h-12 novacon:w-12"},lo=v.forwardRef(({address:n,ensAvatar:o,className:a,altText:t,size:i="md",showLoading:e=true,onImageLoad:s,onImageError:m,disableAnimation:G=false,...c},Q)=>{let M=r(),[l,E]=v.useState(o??null),[h,p]=v.useState(!!o),[g,Z]=v.useState(false),C=v.useRef(null),z=v.useMemo(()=>{try{return Un__default.default(Uo(n)?n:On)}catch(u){return console.warn("Failed to generate blockie for address:",n,u),null}},[n]),N=v.useMemo(()=>{try{if(!Uo(n))return "#6B7280";let u=n.slice(2,8);return u.length===6?`#${u}`:"#6B7280"}catch{return "#6B7280"}},[n]),B=v.useMemo(()=>n?`${n.slice(0,6)}...${n.slice(-4)}`:M.unknownWallet,[n,M.unknownWallet]),y=v.useMemo(()=>t||(g||!o?`${M.walletAvatar} ${B}`:`${M.ensAvatar} ${B}`),[t,g,o,B,M.walletAvatar,M.ensAvatar]),D=v.useMemo(()=>o??null,[o]);v.useMemo(()=>{E(D),p(!!D),Z(false);},[D]);let w=v.useCallback(()=>{p(false),Z(false),s?.();},[s]),V=v.useCallback(u=>{p(false),Z(true),E(z),m?.(u.nativeEvent);},[z,m]),X=v.useMemo(()=>novaCore.cn(Jn[i],"novacon:flex-shrink-0 novacon:rounded-full novacon:relative novacon:overflow-hidden","novacon:ring-1 novacon:ring-[var(--tuwa-border-primary)]","novacon:focus-within:ring-2 novacon:focus-within:ring-[var(--tuwa-text-accent)]",a),[i,a]),$=v.useMemo(()=>novaCore.cn("novacon:absolute novacon:inset-0 novacon:rounded-full novacon:bg-[var(--tuwa-bg-muted)]",!G&&e&&h&&"novacon:animate-pulse",(!h||!e)&&"novacon:opacity-0","novacon:transition-opacity novacon:duration-300"),[G,e,h]),j=l||z||"";return jsxRuntime.jsxs("div",{ref:Q,className:X,style:{backgroundColor:N},role:"img","aria-label":y,title:y,...c,children:[jsxRuntime.jsx("div",{className:$,"aria-hidden":"true"}),j&&jsxRuntime.jsx("img",{ref:C,className:novaCore.cn("novacon:h-full novacon:w-full novacon:rounded-full novacon:object-cover novacon:relative novacon:z-10","novacon:transition-opacity novacon:duration-300",h?"novacon:opacity-0":"novacon:opacity-100"),src:j,alt:"",onLoad:w,onError:V,loading:"lazy",decoding:"async",draggable:false},`${o||"blockie"}-${n}`),!j&&jsxRuntime.jsx("div",{className:"novacon:absolute novacon:inset-0 novacon:flex novacon:items-center novacon:justify-center novacon:text-white novacon:text-xs novacon:font-mono","aria-hidden":"true",children:B.slice(0,2)})]})});lo.displayName="WalletAvatar";var T=v.forwardRef(({icon:n,name:o,size:a=32,className:t,altText:i,showLoading:e=false,onImageLoad:s,onImageError:m,lazy:G=false,...c},Q)=>{let M=r(),[l,E]=v.useState(false),[h,p]=v.useState(!!n),g=v.useMemo(()=>orbitCore.formatWalletName(o),[o]),Z=v.useMemo(()=>i||`${g} ${M.walletIcon}`,[i,g,M.walletIcon]),C=v.useMemo(()=>{if(!n)return null;try{let w=n.trim();return w&&(w.startsWith("http://")||w.startsWith("https://")||w.startsWith("/")||w.startsWith("data:"))?w:null}catch{return null}},[n]),z=v.useCallback(()=>{p(false),E(false),s?.();},[s]),N=v.useCallback(()=>{p(false),E(true),m?.();},[m]),B=v.useMemo(()=>novaCore.cn("novacon:relative novacon:inline-flex novacon:items-center novacon:justify-center novacon:flex-shrink-0","novacon:overflow-hidden",e&&h&&"novacon:animate-pulse novacon:bg-[var(--tuwa-bg-muted)]",t),[e,h,t]),y=v.useMemo(()=>novaCore.cn("novacon:object-cover novacon:transition-opacity novacon:duration-200","novacon:max-w-full novacon:max-h-full",h&&e?"novacon:opacity-0":"novacon:opacity-100"),[h,e]),D=v.useMemo(()=>({width:a,height:a}),[a]);return jsxRuntime.jsxs("div",{ref:Q,className:B,role:"img","aria-label":Z,title:Z,style:{lineHeight:0},...c,children:[e&&h&&jsxRuntime.jsx("div",{className:"novacon:absolute novacon:inset-0 novacon:bg-[var(--tuwa-bg-muted)] novacon:animate-pulse novacon:rounded-full","aria-hidden":"true"}),C&&!l?jsxRuntime.jsx("img",{src:C,alt:"",className:y,style:D,onLoad:z,onError:N,loading:G?"lazy":"eager",decoding:"async",crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):jsxRuntime.jsx(reactWeb3Icons.Web3Icon,{walletKey:g,className:novaCore.cn(y,"novacon:flex-shrink-0"),style:D}),l&&process.env.NODE_ENV==="development"&&jsxRuntime.jsx("div",{className:"novacon:absolute novacon:top-0 novacon:right-0 novacon:w-2 novacon:h-2 novacon:bg-red-500 novacon:rounded-full",title:`Failed to load icon for ${g}`,"aria-hidden":"true"})]})});T.displayName="WalletIcon";var Oo=v.forwardRef(({walletIcon:n,walletName:o,walletChainId:a,items:t=0,onClick:i,className:e,disabled:s=false,loading:m=false,"aria-label":G,title:c},Q)=>{let M=r(),l=v.useMemo(()=>!!(i&&!s&&!m&&t>1),[i,s,m,t]),E=v.useMemo(()=>{if(a)return typeof a=="string"?`${orbitCore.OrbitAdapter.SOLANA}:${a}`:a},[a]),h=v.useMemo(()=>{if(G)return G;let C=[];return o&&C.push(`${o} wallet`),a&&C.push("network selector"),l&&C.push("button"),m&&C.push("loading"),s&&C.push("disabled"),C.join(", ")||"Wallet controls"},[G,o,a,l,m,s]),p=v.useMemo(()=>c||(m?"Loading...":s?"Button is disabled":l?`Click to select ${o?o+" ":""}options`:o?`${o} wallet`:"Wallet information"),[c,m,s,l,o]),g=v.useMemo(()=>novaCore.cn("novacon:flex novacon:items-center novacon:justify-center novacon:gap-1 novacon:rounded-full","novacon:bg-[var(--tuwa-bg-primary)] novacon:border novacon:border-[var(--tuwa-border-primary)]","novacon:p-1.5 novacon:transition-all novacon:duration-200","novacon:[&_img]:w-6! novacon:[&_img]:h-6! novacon:[&_img]:transition-transform novacon:[&_img]:duration-200",{"novacon:cursor-pointer novacon:hover:[&_img]:scale-95 novacon:active:[&_img]:scale-85 novacon:hover:shadow-sm":l,"novacon:cursor-not-allowed novacon:opacity-50":s&&!m,"novacon:cursor-wait novacon:opacity-75":m,"novacon:cursor-default":!l&&!s&&!m},"novacon:focus-visible:outline-none novacon:focus-visible:ring-2 novacon:focus-visible:ring-[var(--tuwa-border-accent)] novacon:focus-visible:ring-offset-2",e),[l,s,m,e]);return jsxRuntime.jsxs("button",{ref:Q,type:"button",className:g,onClick:()=>{l&&i&&i();},disabled:s||m,"aria-label":h,title:p,role:"button",tabIndex:s||m?-1:0,children:[o&&jsxRuntime.jsx(T,{name:o,icon:n,altText:`${o} ${M.walletIcon}`,showLoading:m,className:"novacon:flex-shrink-0"}),E&&jsxRuntime.jsx(reactWeb3Icons.Web3Icon,{chainId:E,className:"novacon:flex-shrink-0",title:`Network: ${a}`}),l&&jsxRuntime.jsx(novaCore.ChevronArrowWithAnim,{className:"novacon:flex-shrink-0","aria-hidden":"true"}),m&&jsxRuntime.jsx("div",{className:"novacon:absolute novacon:inset-0 novacon:bg-[var(--tuwa-bg-primary)]/50 novacon:rounded-full novacon:flex novacon:items-center novacon:justify-center","aria-hidden":"true",children:jsxRuntime.jsx("div",{className:"novacon:w-3 novacon:h-3 novacon:border-2 novacon:border-[var(--tuwa-text-accent)] novacon:border-t-transparent novacon:rounded-full novacon:animate-spin"})})]})});Oo.displayName="IconButton";v.lazy(()=>{try{return import('@tuwaio/nova-transactions').then(n=>({default:n.TransactionsHistory}))}catch(n){return console.warn("Failed to load @tuwaio/nova-transactions package:",n),new Promise(()=>{})}});var Ko=v.memo(({className:n,children:o="Recent",animated:a=true})=>{let t=v.useMemo(()=>novaCore.isTouchDevice(),[]),i=v.useMemo(()=>`linear-gradient(90deg,
1
+ 'use strict';var orbitSolana=require('@tuwaio/orbit-solana'),novaCore=require('@tuwaio/nova-core'),ve=require('react'),reactToastify=require('react-toastify'),reactWeb3Icons=require('@bgd-labs/react-web3-icons');require('@bgd-labs/react-web3-icons/dist/utils');var F=require('@radix-ui/react-select'),framerMotion=require('framer-motion'),jsxRuntime=require('react/jsx-runtime'),orbitCore=require('@tuwaio/orbit-core'),solid=require('@heroicons/react/24/solid'),ye=require('ethereum-blockies-base64');require('@heroicons/react/24/outline'),require('gill'),require('viem'),require('@tuwaio/pulsar-core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var ve__default=/*#__PURE__*/_interopDefault(ve);var F__namespace=/*#__PURE__*/_interopNamespace(F);var ye__default=/*#__PURE__*/_interopDefault(ye);var fn=Object.defineProperty;var po=(n,o)=>()=>(n&&(o=n(n=0)),o);var go=(n,o)=>{for(var e in o)fn(n,e,{get:o[e],enumerable:true});};var xo={};go(xo,{getEvmChains:()=>Sn,isEvmChainList:()=>Wn});function Kn(n){return n!=null&&typeof n=="number"&&n>0}function Sn(n){return !n||n.length===0?[]:n.map(o=>o.id).filter(Kn)}function Wn(n){return n.length>0&&n.every(o=>typeof o=="number")}var To=po(()=>{});var $o={};go($o,{createEvmAdapter:()=>Hn,isEvmAdapterAvailable:()=>qn});async function Ln(){try{return await Promise.resolve().then(()=>(To(),xo))}catch(n){return console.warn("EVM utilities not available:",n),null}}async function Hn(){let n=await Ln();return {getChains(o){return n?.getEvmChains?n.getEvmChains(o):!Array.isArray(o)||o.length===0?[]:o.map(e=>typeof e=="object"&&e?.id!==void 0?e.id:typeof e=="number"||typeof e=="string"?e:null).filter(e=>e!==null&&(typeof e=="string"||typeof e=="number"))},isChainList(o){return n?.isEvmChainList?n.isEvmChainList(o):o.length>0&&o.every(e=>typeof e=="number")}}}async function qn(){try{return await Promise.resolve().then(()=>(To(),xo)),!0}catch{return false}}var fo={};go(fo,{getAvailableSolanaClusters:()=>oe,getSolanaClusters:()=>$n,isSolanaChainList:()=>_n,isValidSolanaCluster:()=>ne});function Vn(n){let o=n.split(":");if(o.length<2)return null;let e=o[1];return e in orbitSolana.defaultRpcUrlsByMoniker?e:null}function Xn(n,o){let e={};for(let t of n){if(typeof t!="string")continue;let r=Vn(t);if(!r)continue;let a=o?.[r]??orbitSolana.defaultRpcUrlsByMoniker[r];a&&(e[r]=a);}return e}function $n(n,o){if(o&&o.length>0){let e=Xn(o,n);return Object.keys(e)}return Object.keys(n||orbitSolana.defaultRpcUrlsByMoniker)}function _n(n){return n.length>0&&n.every(o=>typeof o=="string")}function oe(){return Object.keys(orbitSolana.defaultRpcUrlsByMoniker)}function ne(n){return n in orbitSolana.defaultRpcUrlsByMoniker}var Ro=po(()=>{});var on={};go(on,{createSolanaAdapter:()=>ae,isSolanaAdapterAvailable:()=>te});async function ee(){try{return await Promise.resolve().then(()=>(Ro(),fo))}catch(n){return console.warn("Solana utilities not available:",n),null}}async function ae(){let n=await ee();return {getChains(o,e){return n?.getSolanaClusters?n.getSolanaClusters(o,e):o&&typeof o=="object"?Object.keys(o):[]},isChainList(o){return n?.isSolanaChainList?n.isSolanaChainList(o):o.length>0&&o.every(e=>typeof e=="string")},getAvailableClusters(){return n?.getAvailableSolanaClusters?n.getAvailableSolanaClusters():[]},isValidCluster(o){return n?.isValidSolanaCluster?n.isValidSolanaCluster(o):false}}}async function te(){try{return await Promise.resolve().then(()=>(Ro(),fo)),!0}catch{return false}}var Go={connectWallet:"Connect Wallet",disconnect:"Disconnect",connecting:"Connecting...",connected:"Connected",tryAgain:"Try again",back:"Back",connect:"Connect",close:"Close",all:"All",connectionError:"Connection error",connectedSuccessfully:"Connected successfully!",connectingTo:"Connecting to",walletConnectionError:"Wallet connection error",errorWhenChainSwitching:"Error when chain switching",cannotConnectWallet:"Cannot connect to the wallet. Please try again or use another connector.",success:"Success",error:"Error",replaced:"Replaced",recent:"Recent",transactionLoading:"Transaction loading",transactionSuccess:"Transaction successful",transactionError:"Transaction failed",transactionReplaced:"Transaction replaced",aboutWallets:"About wallets",getWallet:"Get a wallet",connectImpersonatedWallet:"Connect impersonated wallet",transactionsInApp:"Transactions in app",switchNetwork:"Switch network",switchNetworks:"Switch Networks",connectingEllipsis:"Connecting...",installed:"Installed",popular:"Popular",impersonate:"Impersonate",readOnlyMode:"Read-only mode",whatIsWallet:"What is a wallet?",walletDescription:"Wallets are essential for managing your crypto\u2014they let you send, receive, and securely hold digital assets. Connecting your wallet grants you safe access and interaction with decentralized applications (dApps).",whatIsNetwork:"What is a network?",networkDescription:"A network (or blockchain) is a decentralized digital ledger that records transactions. Selecting a network lets you choose which blockchain you want to connect to.",learnMore:"Learn more",listOfNetworks:"List of networks",viewOnExplorer:"View on explorer",viewTransactions:"View transactions",enterWalletAddress:"Enter wallet address to impersonate",walletAddressPlaceholder:"0x...",noConnectorsFound:"No Connectors Found",noConnectorsDescription:"We couldn't find any wallets or connection methods for the selected network.",somethingWentWrong:"Something went wrong",networkPickingError:"Something went wrong with wallet network selection. Please go back and try again.",pulsarAdapterRequired:"Pulsar Adapter Required",pulsarAdapterDescription:"Additional configuration is needed for viewing transactions in app. Please contact your admin.",selectAvailableNetwork:"Select one of available network",startExploringWeb3:"Start Exploring Web3",walletKeyToDigitalWorld:"Your wallet is the key to the digital world and the technology that makes exploring web3 possible.",iDontHaveWallet:"I don't have a wallet",choseWallet:"Choose a wallet",keyToNewInternet:"The Key to a New Internet",keyToNewInternetDescription:"Your wallet is more than just storage. Think of it as your digital passport that lets you truly own, display, and exchange every digital asset you hold, from crypto tokens to unique NFTs.",logInWithoutHassle:"Log In Without the Hassle",logInWithoutHassleDescription:"Skip the endless sign-up forms! Your wallet is your unique access pass. Just connect it, and the website instantly recognizes you. It saves you time and protects your privacy.",copyRawError:"Copy raw error",copied:"Copied!",chainSelector:"Chain Selector",closeModal:"Close modal",selectChain:"Select chain",chainOption:"Chain option",openChainSelector:"Open chain selector",currentChain:"Current chain",scrollToTop:"Scroll to top",scrollToBottom:"Scroll to bottom",chainListContainer:"Chain list container",walletControls:"Wallet controls",openWalletModal:"Open wallet modal",walletConnected:"Wallet connected",walletNotConnected:"Wallet not connected",walletBalance:"Wallet balance",walletAddress:"Wallet address",transactionStatus:"Transaction status",successIcon:"Success icon",errorIcon:"Error icon",replacedIcon:"Replaced icon",statusIcon:"Status icon",loading:"Loading",idle:"Idle",unknownWallet:"Unknown wallet",walletAvatar:"Wallet avatar",ensAvatar:"ENS avatar",walletIcon:"Wallet icon",impersonateAddressEmpty:"Enter a wallet address to impersonate.",impersonateAddressNotCorrect:"Entered wallet address is not correct. Please try again.",impersonateAddressConnected:"First disconnect the wallet to impersonate another address."};var yo=ve.createContext(Go),m=()=>ve.useContext(yo);var kn=({isActive:n,label:o,className:e,style:t})=>n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:novaCore.cn("novacon:ml-auto novacon:text-xs novacon:font-semibold novacon:w-2 novacon:h-2 novacon:rounded-full novacon:bg-[var(--tuwa-success-text)]",e),style:t,"aria-label":o,role:"status"}),jsxRuntime.jsx("span",{className:"novacon:sr-only",children:o})]}):null,Pn=ve.forwardRef(({children:n,className:o,...e},t)=>{let r=m(),a=e.value===e["aria-selected"];return jsxRuntime.jsxs(F__namespace.Item,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center novacon:w-full novacon:text-left novacon:px-2 novacon:py-2","novacon:rounded-md novacon:transition-colors novacon:space-x-3 novacon:cursor-pointer novacon:outline-none","novacon:text-[var(--tuwa-text-primary)] novacon:hover:bg-[var(--tuwa-bg-muted)]","novacon:focus:bg-[var(--tuwa-bg-muted)] novacon:focus:outline-none","novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-border-primary)] novacon:focus:ring-offset-2",{"novacon:bg-[var(--tuwa-bg-muted)]":a},o),role:"option","aria-selected":a,tabIndex:0,...e,children:[n,a&&jsxRuntime.jsx(kn,{isActive:true,label:r.connected,className:"novacon:ml-auto"})]})});Pn.displayName="SelectItemBase";var bo=class extends Error{constructor(o="useNovaConnect must be used within NovaConnectProvider"){super(o),this.name="NovaConnectProviderError";}},Eo=ve.createContext(void 0),f=()=>{let n=ve.useContext(Eo);if(!n)throw new bo;return n};({[orbitCore.OrbitAdapter.EVM]:1,[orbitCore.OrbitAdapter.SOLANA]:"mainnet",[orbitCore.OrbitAdapter.Starknet]:"0x534e5f4d41494e"});({[orbitCore.OrbitAdapter.EVM]:{},[orbitCore.OrbitAdapter.SOLANA]:{}});var le=({disabled:n,className:o,style:e,...t})=>jsxRuntime.jsx(solid.ChevronDownIcon,{className:novaCore.cn("novacon:w-4 novacon:h-4 novacon:transition-transform novacon:duration-200",n&&"novacon:opacity-50",o),style:e,...t}),me=({icon:n})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:n}),Me=(n,o)=>{n(o);},he=(n,o)=>{n(o);},Zo=ve.forwardRef(({className:n,"aria-label":o,onClick:e,disabled:t=false,customization:r,...a},c)=>{let l=m(),{Icon:g=le,Content:s=me}=r?.components??{},{onClick:Q=Me,onKeyDown:z=he}=r?.handlers??{},M=ve.useCallback(h=>{Q(C=>{e&&(C.preventDefault(),e(C));},h);},[e,Q]),d=ve.useCallback(h=>{z(C=>{if((C.key==="Enter"||C.key===" ")&&e){C.preventDefault();let B={...C,button:0,buttons:1,clientX:0,clientY:0,movementX:0,movementY:0,offsetX:0,offsetY:0,pageX:0,pageY:0,relatedTarget:null,screenX:0,screenY:0,x:0,y:0,getModifierState:()=>false,initMouseEvent:()=>{}};e(B);}},h);},[e,z]),G=ve.useMemo(()=>r?.classNames?.button?r.classNames.button({disabled:t,hasOnClick:!!e}):novaCore.cn("novacon:flex novacon:w-full novacon:h-6 novacon:items-center novacon:justify-center","novacon:bg-[var(--tuwa-bg-secondary)] novacon:text-[var(--tuwa-text-primary)]","novacon:transition-colors novacon:duration-200","novacon:hover:bg-[var(--tuwa-bg-tertiary)] novacon:hover:text-[var(--tuwa-text-secondary)]","novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-text-accent)] novacon:focus:ring-inset","novacon:active:bg-[var(--tuwa-bg-quaternary)]","novacon:disabled:opacity-50 novacon:disabled:cursor-not-allowed novacon:disabled:hover:bg-[var(--tuwa-bg-secondary)]",e?"novacon:cursor-pointer":"novacon:cursor-default",n),[r,t,e,n]),E=ve.useMemo(()=>{if(r?.classNames?.icon)return r.classNames.icon({disabled:t})},[r,t]),Z=ve.useMemo(()=>{if(r?.styles?.button)return r.styles.button({disabled:t,hasOnClick:!!e})},[r,t,e]),I=ve.useMemo(()=>{if(r?.styles?.icon)return r.styles.icon({disabled:t})},[r,t]),p=ve.useMemo(()=>jsxRuntime.jsx(g,{disabled:t,className:E,style:I,"aria-hidden":true}),[g,t,E,I]),i=ve.useMemo(()=>({...r?.buttonProps,...a,ref:c,type:"button",onClick:M,onKeyDown:d,disabled:t,className:G,style:{...Z,...r?.buttonProps?.style,...a.style},"aria-label":o||l.scrollToBottom,title:o||l.scrollToBottom}),[r?.buttonProps,a,c,M,d,t,G,Z,o,l.scrollToBottom]);return jsxRuntime.jsx("button",{...i,children:jsxRuntime.jsx(s,{icon:p,disabled:t,ariaLabel:o})})});Zo.displayName="ToBottomButton";var de=({disabled:n,className:o,style:e,...t})=>jsxRuntime.jsx(solid.ChevronUpIcon,{className:novaCore.cn("novacon:w-4 novacon:h-4 novacon:transition-transform novacon:duration-200",n&&"novacon:opacity-50",o),style:e,...t}),Ge=({icon:n})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:n}),Ee=(n,o)=>{n(o);},Ze=(n,o)=>{n(o);},Qo=ve.forwardRef(({className:n,"aria-label":o,onClick:e,disabled:t=false,customization:r,...a},c)=>{let l=m(),{Icon:g=de,Content:s=Ge}=r?.components??{},{onClick:Q=Ee,onKeyDown:z=Ze}=r?.handlers??{},M=ve.useCallback(h=>{Q(C=>{e&&(C.preventDefault(),e(C));},h);},[e,Q]),d=ve.useCallback(h=>{z(C=>{if((C.key==="Enter"||C.key===" ")&&e){C.preventDefault();let B={...C,button:0,buttons:1,clientX:0,clientY:0,movementX:0,movementY:0,offsetX:0,offsetY:0,pageX:0,pageY:0,relatedTarget:null,screenX:0,screenY:0,x:0,y:0,getModifierState:()=>false,initMouseEvent:()=>{}};e(B);}},h);},[e,z]),G=ve.useMemo(()=>r?.classNames?.button?r.classNames.button({disabled:t,hasOnClick:!!e}):novaCore.cn("novacon:flex novacon:w-full novacon:h-6 novacon:items-center novacon:justify-center","novacon:bg-[var(--tuwa-bg-secondary)] novacon:text-[var(--tuwa-text-primary)]","novacon:transition-colors novacon:duration-200","novacon:hover:bg-[var(--tuwa-bg-tertiary)] novacon:hover:text-[var(--tuwa-text-secondary)]","novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-text-accent)] novacon:focus:ring-inset","novacon:active:bg-[var(--tuwa-bg-quaternary)]","novacon:disabled:opacity-50 novacon:disabled:cursor-not-allowed novacon:disabled:hover:bg-[var(--tuwa-bg-secondary)]",e?"novacon:cursor-pointer":"novacon:cursor-default",n),[r,t,e,n]),E=ve.useMemo(()=>{if(r?.classNames?.icon)return r.classNames.icon({disabled:t})},[r,t]),Z=ve.useMemo(()=>{if(r?.styles?.button)return r.styles.button({disabled:t,hasOnClick:!!e})},[r,t,e]),I=ve.useMemo(()=>{if(r?.styles?.icon)return r.styles.icon({disabled:t})},[r,t]),p=ve.useMemo(()=>jsxRuntime.jsx(g,{disabled:t,className:E,style:I,"aria-hidden":true}),[g,t,E,I]),i=ve.useMemo(()=>({...r?.buttonProps,...a,ref:c,type:"button",onClick:M,onKeyDown:d,disabled:t,className:G,style:{...Z,...r?.buttonProps?.style,...a.style},"aria-label":o||l.scrollToTop,title:o||l.scrollToTop}),[r?.buttonProps,a,c,M,d,t,G,Z,o,l.scrollToTop]);return jsxRuntime.jsx("button",{...i,children:jsxRuntime.jsx(s,{icon:p,disabled:t,ariaLabel:o})})});Qo.displayName="ToTopButton";var Mn=ve.forwardRef(({className:n,contentClassName:o,viewportClassName:e,children:t,position:r="popper","aria-label":a,reduceMotion:c=false,maxHeight:l=300,animationDuration:g=.2,showScrollButtons:s=true,topButtonProps:Q,bottomButtonProps:z,topButtonCustomization:M,bottomButtonCustomization:d,style:G,contentStyle:E,viewportStyle:Z,...I},p)=>{let i=m(),h=ve.useMemo(()=>c?{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15,layout:{duration:0}}}:{initial:{opacity:0,scaleY:.8,y:-5},animate:{opacity:1,scaleY:1,y:0},exit:{opacity:0,scaleY:.8,y:-5},transition:{duration:g,ease:"easeOut",layout:{duration:.15,ease:"easeOut"}}},[c,g]),u=ve.useMemo(()=>novaCore.cn("novacon:p-1 novacon:bg-[var(--tuwa-bg-secondary)] novacon:rounded-lg novacon:shadow-xl","novacon:ring-1 novacon:ring-[var(--tuwa-border-primary)] novacon:overflow-hidden",o),[o]),C=ve.useMemo(()=>novaCore.cn("novacon:overflow-hidden","novacon:w-[--radix-select-trigger-width]","novacon:data-[state=open]:animate-in novacon:data-[state=closed]:animate-out","novacon:data-[state=closed]:fade-out-0 novacon:data-[state=open]:fade-in-0","novacon:data-[state=closed]:zoom-out-95 novacon:data-[state=open]:zoom-in-95","novacon:data-[side=bottom]:slide-in-from-top-2 novacon:data-[side=left]:slide-in-from-right-2","novacon:data-[side=right]:slide-in-from-left-2 novacon:data-[side=top]:slide-in-from-bottom-2",n),[n]),B=ve.useMemo(()=>novaCore.cn("",e),[e]),D=ve.useMemo(()=>({maxHeight:`${l}px`,...G}),[l,G]),b=ve.useMemo(()=>({...E}),[E]),v=ve.useMemo(()=>({...Z}),[Z]),Y=a||i.chainListContainer;return jsxRuntime.jsx(F__namespace.Portal,{children:jsxRuntime.jsxs(F__namespace.Content,{className:C,style:D,ref:p,position:r,role:"listbox","aria-label":Y,...I,children:[s&&jsxRuntime.jsx(F__namespace.ScrollUpButton,{asChild:true,children:jsxRuntime.jsx(Qo,{customization:M,...Q})}),jsxRuntime.jsx(F__namespace.Viewport,{role:"presentation",className:B,style:v,children:jsxRuntime.jsx(framerMotion.AnimatePresence,{mode:"wait",initial:false,children:jsxRuntime.jsx(framerMotion.motion.div,{initial:h.initial,animate:h.animate,exit:h.exit,transition:h.transition,className:u,style:b,layout:!c,role:"group","aria-live":"polite",children:t})})}),s&&jsxRuntime.jsx(F__namespace.ScrollDownButton,{asChild:true,children:jsxRuntime.jsx(Zo,{customization:d,...z})})]})})});Mn.displayName="SelectContentAnimated";var we=ve__default.default.forwardRef(({children:n,className:o,style:e,onKeyDown:t,...r},a)=>jsxRuntime.jsx("div",{ref:a,className:o,style:e,onKeyDown:t,...r,children:n}));we.displayName="DefaultScrollContainer";function Cn(n,{strict:o=true}={}){return !n||typeof n!="string"?false:o?/^0x[0-9a-fA-F]*$/.test(n):n.startsWith("0x")}var be="0x0000000000000000000000000000000000000000",xe={sm:"novacon:h-4 novacon:w-4",md:"novacon:h-6 novacon:w-6",lg:"novacon:h-8 novacon:w-8",xl:"novacon:h-12 novacon:w-12"},Te=({isLoading:n,showLoading:o,disableAnimation:e})=>{let t=novaCore.cn("novacon:absolute novacon:inset-0 novacon:rounded-full novacon:bg-[var(--tuwa-bg-muted)]",!e&&o&&n&&"novacon:animate-pulse",(!n||!o)&&"novacon:opacity-0","novacon:transition-opacity novacon:duration-300");return jsxRuntime.jsx("div",{className:t,"aria-hidden":"true"})},fe=({src:n,isLoading:o,onLoad:e,onError:t,address:r,ensAvatar:a})=>jsxRuntime.jsx("img",{className:novaCore.cn("novacon:h-full novacon:w-full novacon:rounded-full novacon:object-cover novacon:relative novacon:z-10","novacon:transition-opacity novacon:duration-300",o?"novacon:opacity-0":"novacon:opacity-100"),src:n,alt:"",onLoad:e,onError:t,loading:"lazy",decoding:"async",draggable:false},`${a||"blockie"}-${r}`),Re=({formattedAddress:n})=>jsxRuntime.jsx("div",{className:"novacon:absolute novacon:inset-0 novacon:flex novacon:items-center novacon:justify-center novacon:text-white novacon:text-xs novacon:font-mono","aria-hidden":"true",children:n.slice(0,2)}),je=n=>{try{return ye__default.default(Cn(n)?n:be)}catch(o){return console.warn("Failed to generate blockie for address:",n,o),null}},Ue=n=>{try{if(!Cn(n))return "#6B7280";let o=n.slice(2,8);return o.length===6?`#${o}`:"#6B7280"}catch{return "#6B7280"}},ke=(n,o)=>n?`${n.slice(0,6)}...${n.slice(-4)}`:o.unknownWallet,Fo=ve.forwardRef(({address:n,ensAvatar:o,className:e,altText:t,size:r="md",showLoading:a=true,onImageLoad:c,onImageError:l,disableAnimation:g=false,customization:s,...Q},z)=>{let M=m(),[d,G]=ve.useState(o??null),[E,Z]=ve.useState(!!o),[I,p]=ve.useState(false),{LoadingOverlay:i=Te,AvatarImage:h=fe,FallbackContent:u=Re}=s?.components??{},{generateBlockie:C=je,generateBgColor:B=Ue,formatAddress:D=ke}=s?.utils??{},b=ve.useMemo(()=>C(n),[n,C]),v=ve.useMemo(()=>B(n),[n,B]),Y=ve.useMemo(()=>D(n,M),[n,M,D]),x=ve.useMemo(()=>t||(I||!o?`${M.walletAvatar} ${Y}`:`${M.ensAvatar} ${Y}`),[t,I,o,Y,M.walletAvatar,M.ensAvatar]),j=ve.useMemo(()=>o??null,[o]);ve.useMemo(()=>{G(j),Z(!!j),p(false);},[j]);let T=ve.useCallback(()=>{Z(false),p(false),c?.();},[c]),J=ve.useCallback(N=>{Z(false),p(true),G(b),l?.(N.nativeEvent);},[b,l]),A=ve.useMemo(()=>s?.classNames?.container?s.classNames.container({size:r,bgColor:v,address:n}):novaCore.cn(xe[r],"novacon:flex-shrink-0 novacon:rounded-full novacon:relative novacon:overflow-hidden","novacon:ring-1 novacon:ring-[var(--tuwa-border-primary)]","novacon:focus-within:ring-2 novacon:focus-within:ring-[var(--tuwa-text-accent)]",e),[s?.classNames?.container,r,v,n,e]),w=ve.useMemo(()=>{let N={backgroundColor:v};return s?.styles?.container?{...N,...s.styles.container({bgColor:v,size:r,address:n})}:N},[s?.styles?.container,v,r,n]),y=d||b||"",P=ve.useMemo(()=>({...s?.containerProps,...Q,ref:z,className:A,style:{...w,...s?.containerProps?.style,...Q.style},role:"img","aria-label":x,title:x}),[s?.containerProps,Q,z,A,w,x]);return jsxRuntime.jsxs("div",{...P,children:[jsxRuntime.jsx(i,{isLoading:E,showLoading:a,disableAnimation:g,size:r}),y&&jsxRuntime.jsx(h,{src:y,isLoading:E,onLoad:T,onError:J,address:n,ensAvatar:o,size:r}),!y&&jsxRuntime.jsx(u,{address:n,formattedAddress:Y,size:r})]})});Fo.displayName="WalletAvatar";var Ke=({isLoading:n})=>n?jsxRuntime.jsx("div",{className:"novacon:absolute novacon:inset-0 novacon:bg-[var(--tuwa-bg-muted)] novacon:animate-pulse novacon:rounded-full","aria-hidden":"true"}):null,Se=({walletName:n,hasError:o})=>!o||process.env.NODE_ENV!=="development"?null:jsxRuntime.jsx("div",{className:"novacon:absolute novacon:top-0 novacon:right-0 novacon:w-2 novacon:h-2 novacon:bg-red-500 novacon:rounded-full",title:`Failed to load icon for ${n}`,"aria-hidden":"true"}),We=({walletName:n,className:o,style:e})=>jsxRuntime.jsx(reactWeb3Icons.Web3Icon,{walletKey:n,className:novaCore.cn("novacon:flex-shrink-0",o),style:e}),eo=ve.forwardRef(({icon:n,name:o,size:e=32,className:t,altText:r,showLoading:a=false,onImageLoad:c,onImageError:l,lazy:g=false,customization:s,...Q},z)=>{let M=m(),[d,G]=ve.useState(false),[E,Z]=ve.useState(!!n),{LoadingOverlay:I=Ke,ErrorIndicator:p=Se,FallbackIcon:i=We}=s?.components??{},h=ve.useMemo(()=>orbitCore.formatWalletName(o),[o]),u=ve.useMemo(()=>r||`${h} ${M.walletIcon}`,[r,h,M.walletIcon]),C=ve.useMemo(()=>{if(!n)return null;try{let T=n.trim();return T&&(T.startsWith("http://")||T.startsWith("https://")||T.startsWith("/")||T.startsWith("data:"))?T:null}catch{return null}},[n]),B=ve.useCallback(()=>{Z(false),G(false),c?.();},[c]),D=ve.useCallback(()=>{Z(false),G(true),l?.();},[l]),b=ve.useMemo(()=>s?.classNames?.container?s.classNames.container({isLoading:E,showLoading:a,size:e}):novaCore.cn("novacon:relative novacon:inline-flex novacon:items-center novacon:justify-center novacon:flex-shrink-0","novacon:overflow-hidden",a&&E&&"novacon:animate-pulse novacon:bg-[var(--tuwa-bg-muted)]",t),[s?.classNames?.container,E,a,e,t]),v=ve.useMemo(()=>s?.classNames?.image?s.classNames.image({isLoading:E,showLoading:a,hasError:d}):novaCore.cn("novacon:object-cover novacon:transition-opacity novacon:duration-200","novacon:max-w-full novacon:max-h-full",E&&a?"novacon:opacity-0":"novacon:opacity-100"),[s?.classNames?.image,E,a,d]),Y=ve.useMemo(()=>({width:e,height:e}),[e]),x=ve.useMemo(()=>({...s?.containerProps,...Q,ref:z,className:b,role:"img","aria-label":u,title:u,style:{lineHeight:0,...s?.containerProps?.style,...Q.style}}),[s?.containerProps,Q,z,b,u]),j=ve.useMemo(()=>({...s?.imageProps,src:C,alt:"",className:novaCore.cn(v,s?.imageProps?.className),style:{...Y,...s?.imageProps?.style},onLoad:B,onError:D,loading:g?"lazy":"eager",decoding:"async",crossOrigin:"anonymous",referrerPolicy:"no-referrer"}),[s?.imageProps,C,v,Y,B,D,g]);return jsxRuntime.jsxs("div",{...x,children:[jsxRuntime.jsx(I,{size:e,isLoading:a&&E}),C&&!d?jsxRuntime.jsx("img",{...j}):jsxRuntime.jsx(i,{walletName:h,size:e,className:v,style:Y}),jsxRuntime.jsx(p,{walletName:h,hasError:d})]})});eo.displayName="WalletIcon";var dn=ve.forwardRef(({walletIcon:n,walletName:o,walletChainId:e,items:t=0,onClick:r,className:a,disabled:c=false,loading:l=false,"aria-label":g,title:s},Q)=>{let z=m(),M=ve.useMemo(()=>!!(r&&!c&&!l&&t>1),[r,c,l,t]),d=ve.useMemo(()=>{if(e)return typeof e=="string"?`${orbitCore.OrbitAdapter.SOLANA}:${e}`:e},[e]),G=ve.useMemo(()=>{if(g)return g;let p=[];return o&&p.push(`${o} wallet`),e&&p.push("network selector"),M&&p.push("button"),l&&p.push("loading"),c&&p.push("disabled"),p.join(", ")||"Wallet controls"},[g,o,e,M,l,c]),E=ve.useMemo(()=>s||(l?"Loading...":c?"Button is disabled":M?`Click to select ${o?o+" ":""}options`:o?`${o} wallet`:"Wallet information"),[s,l,c,M,o]),Z=ve.useMemo(()=>novaCore.cn("novacon:flex novacon:items-center novacon:justify-center novacon:gap-1 novacon:rounded-full","novacon:bg-[var(--tuwa-bg-primary)] novacon:border novacon:border-[var(--tuwa-border-primary)]","novacon:p-1.5 novacon:transition-all novacon:duration-200","novacon:[&_img]:w-6! novacon:[&_img]:h-6! novacon:[&_img]:transition-transform novacon:[&_img]:duration-200",{"novacon:cursor-pointer novacon:hover:[&_img]:scale-95 novacon:active:[&_img]:scale-85 novacon:hover:shadow-sm":M,"novacon:cursor-not-allowed novacon:opacity-50":c&&!l,"novacon:cursor-wait novacon:opacity-75":l,"novacon:cursor-default":!M&&!c&&!l},"novacon:focus-visible:outline-none novacon:focus-visible:ring-2 novacon:focus-visible:ring-[var(--tuwa-border-accent)] novacon:focus-visible:ring-offset-2",a),[M,c,l,a]);return jsxRuntime.jsxs("button",{ref:Q,type:"button",className:Z,onClick:()=>{M&&r&&r();},disabled:c||l,"aria-label":G,title:E,role:"button",tabIndex:c||l?-1:0,children:[o&&jsxRuntime.jsx(eo,{name:o,icon:n,altText:`${o} ${z.walletIcon}`,showLoading:l,className:"novacon:flex-shrink-0"}),d&&jsxRuntime.jsx(reactWeb3Icons.Web3Icon,{chainId:d,className:"novacon:flex-shrink-0",title:`Network: ${e}`}),M&&jsxRuntime.jsx(novaCore.ChevronArrowWithAnim,{className:"novacon:flex-shrink-0","aria-hidden":"true"}),l&&jsxRuntime.jsx("div",{className:"novacon:absolute novacon:inset-0 novacon:bg-[var(--tuwa-bg-primary)]/50 novacon:rounded-full novacon:flex novacon:items-center novacon:justify-center","aria-hidden":"true",children:jsxRuntime.jsx("div",{className:"novacon:w-3 novacon:h-3 novacon:border-2 novacon:border-[var(--tuwa-text-accent)] novacon:border-t-transparent novacon:rounded-full novacon:animate-spin"})})]})});dn.displayName="IconButton";ve.lazy(()=>{try{return import('@tuwaio/nova-transactions').then(n=>({default:n.TransactionsHistory}))}catch(n){return console.warn("Failed to load @tuwaio/nova-transactions package:",n),new Promise(()=>{})}});var En=ve.memo(({className:n,children:o="Recent",animated:e=true})=>{let t=ve.useMemo(()=>novaCore.isTouchDevice(),[]),r=ve.useMemo(()=>`linear-gradient(90deg,
2
2
  rgba(255, 255, 255, 0) 0%,
3
3
  var(--tuwa-text-secondary) 20%,
4
4
  rgba(255, 255, 255, 0) 40%
5
- )`,[]);return jsxRuntime.jsxs("span",{className:novaCore.cn("novacon:inline-flex novacon:items-center novacon:rounded-full novacon:font-medium novacon:relative novacon:overflow-hidden","novacon:text-[var(--tuwa-text-secondary)] novacon:border novacon:border-[var(--tuwa-border-primary)]",t?"novacon:px-1.5 novacon:py-0 novacon:text-[10px]":"novacon:px-2.5 novacon:py-0.5 novacon:text-xs",n),role:"status","aria-label":typeof o=="string"?o:"Recent",children:[jsxRuntime.jsx(framerMotion.motion.span,{className:"novacon:absolute novacon:inset-0 novacon:z-0 novacon:pointer-events-none novacon:rounded-full",style:{background:i,backgroundSize:"200% 100%"},initial:{backgroundPositionX:"100%"},animate:a?{backgroundPositionX:"-100%"}:{},transition:{duration:4,ease:"linear",repeat:a?1/0:0}}),jsxRuntime.jsx("span",{className:"novacon:absolute novacon:z-10 novacon:pointer-events-none novacon:rounded-full novacon:bg-[var(--tuwa-bg-primary)] novacon:inset-[1px]"}),jsxRuntime.jsx("span",{className:"novacon:relative novacon:z-20 novacon:whitespace-nowrap",children:o})]})});Ko.displayName="RecentBadge";var So=0;function qo({title:n,rawError:o,className:a,"aria-label":t,onCopyComplete:i}){let e=r(),{isCopied:s,copy:m}=novaCore.useCopyToClipboard(),[G]=v__namespace.useState(()=>(So+=1,`${So}-${Date.now()}`)),c=`error-title-${G}`,Q=`error-description-${G}`,M=v__namespace.useMemo(()=>o,[o]),l=v__namespace.useCallback(async g=>{g.stopPropagation(),g.preventDefault();try{await m(M),i?.(!0);}catch(Z){console.error("Failed to copy error:",Z),i?.(false);}},[m,M,i]),E=v__namespace.useCallback(g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),l(g));},[l]),h=v__namespace.useMemo(()=>novaCore.cn("novacon:bg-[var(--tuwa-bg-primary)] novacon:p-4 novacon:rounded-md novacon:w-full","novacon:border novacon:border-[var(--tuwa-border-primary)]",a),[a]),p=v__namespace.useMemo(()=>novaCore.cn("novacon:cursor-pointer novacon:mt-2 novacon:text-xs novacon:font-medium novacon:inline-flex novacon:items-center novacon:space-x-1.5","novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-error-text)] novacon:focus:ring-opacity-50","novacon:rounded-md novacon:px-2 novacon:py-1 novacon:transition-all novacon:duration-200","novacon:hover:bg-[var(--tuwa-error-text)] novacon:hover:bg-opacity-10","novacon:active:bg-[var(--tuwa-error-text)] novacon:active:bg-opacity-20","novacon:text-[var(--tuwa-error-text)] novacon:hover:text-[var(--tuwa-error-text)]",s&&"novacon:bg-[var(--tuwa-success-text)] novacon:bg-opacity-10 novacon:text-[var(--tuwa-success-text)]"),[s]);return jsxRuntime.jsxs("div",{className:h,role:"alert","aria-live":"assertive","aria-labelledby":c,"aria-describedby":Q,"aria-label":t,children:[jsxRuntime.jsx("p",{id:c,className:"novacon:text-sm novacon:font-semibold novacon:truncate novacon:text-[var(--tuwa-error-text)]",role:"heading","aria-level":3,title:n,children:n}),jsxRuntime.jsx("p",{id:Q,className:"novacon:mt-1 novacon:text-xs novacon:break-words novacon:text-[var(--tuwa-error-text)] novacon:opacity-80",role:"text",children:o}),jsxRuntime.jsxs("button",{onClick:l,onKeyDown:E,className:p,type:"button","aria-label":s?`${e.copied} ${e.copyRawError}`:e.copyRawError,"aria-describedby":`${c} ${Q}`,disabled:!M.trim(),children:[jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:novaCore.cn("novacon:w-4 novacon:h-4 novacon:transition-colors",s&&"novacon:text-[var(--tuwa-success-text)]"),"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"novacon:select-none novacon:transition-colors","aria-live":"polite",role:"status",children:s?e.copied:e.copyRawError})]})]})}function Zo({store:n,containerId:o="nova-connect-errors",position:a="top-center",autoClose:t=7e3,draggable:i=false}){let e=r(),{activeWallet:s,walletConnectionError:m}=I(),G=n.getState().switchNetworkError,c=v.useRef(new Set),Q=v.useRef(null),M=v.useMemo(()=>{let Z=!!m,C=!!G,z=!!s?.isConnected;return {hasWalletError:Z,hasSwitchError:C,isConnected:z,hasAnyError:Z||C,primaryError:m||G,errorType:Z?"wallet":C?"switch":null}},[m,G,s?.isConnected]),l=v.useMemo(()=>{switch(M.errorType){case "wallet":return e.walletConnectionError;case "switch":return e.errorWhenChainSwitching;default:return e.somethingWentWrong}},[M.errorType,e]),E=v.useMemo(()=>M.primaryError?`${M.errorType}-${M.primaryError.substring(0,50)}`:null,[M.primaryError,M.errorType]),h=v.useCallback(()=>{Q.current&&(reactToastify.toast.dismiss(Q.current),Q.current=null),reactToastify.toast.dismiss({containerId:o});},[o]),p=v.useCallback((Z,C,z)=>{if(h(),!c.current.has(z))try{reactToastify.toast.error(jsxRuntime.jsx(qo,{title:Z,rawError:C,onCopyComplete:N=>{N&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",C.substring(0,100));}}),{containerId:o,toastId:z,onClose:()=>{c.current.delete(z),Q.current=null;}}),c.current.add(z),Q.current=z;}catch(N){console.error("Failed to show error toast:",N);}},[o,h]);v.useEffect(()=>{let{hasAnyError:Z,isConnected:C,primaryError:z}=M;if(C&&!Z){h(),c.current.clear();return}if(Z&&z&&E){if(C&&M.errorType!=="switch")return;p(l,z,E);}},[M,l,E,p,h]),v.useEffect(()=>()=>{h(),c.current.clear();},[h]);let g=v.useMemo(()=>({containerId:o,position:a,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:t,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:i,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce,className:"novacon:p-0 novacon:bg-transparent"}),[o,a,t,i]);return jsxRuntime.jsx(reactToastify.ToastContainer,{...g,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})}Zo.displayName="ErrorsProvider";function Qo({labels:n,children:o}){let a=v.useMemo(()=>n,[n]);if(process.env.NODE_ENV==="development"){(!n||typeof n!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let i=["connectWallet","disconnect","connecting","connected","error","success"].filter(e=>!(e in n));i.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${i.join(", ")}`);}return jsxRuntime.jsx(_.Provider,{value:a,children:o})}Qo.displayName="NovaConnectLabelsProvider";function Ma({labels:n,store:o,children:a}){let t=v.useMemo(()=>novaCore.deepMerge(J,n||{}),[n]),[i,e]=v.useState(o.getState().activeWallet),[s,m]=v.useState(o.getState().walletConnectionError),[G,c]=v.useState(false),[Q,M]=v.useState(false),[l,E]=v.useState(false),[h,p]=v.useState(false),[g,Z]=v.useState("idle"),[C,z]=v.useState("connectors"),[N,B]=v.useState(void 0),[y,D]=v.useState(void 0),[w,V]=v.useState(""),[X,$]=v.useState(false),[j,u]=v.useState("main");v.useEffect(()=>o.subscribe(zo=>{e(zo.activeWallet),m(zo.walletConnectionError);}),[]);let on={walletConnectionError:s,activeWallet:i,isConnectModalOpen:G,setIsConnectModalOpen:c,isConnectedModalOpen:Q,setIsConnectedModalOpen:M,isChainsListOpen:l,setIsChainsListOpen:E,isChainsListOpenMobile:h,setIsChainsListOpenMobile:p,connectedButtonStatus:g,setConnectedButtonStatus:Z,connectedModalContentType:j,setConnectedModalContentType:u,connectModalContentType:C,setConnectModalContentType:z,selectedAdapter:N,setSelectedAdapter:B,activeConnector:y,setActiveConnector:D,impersonatedAddress:w,setImpersonatedAddress:V,isConnected:X,setIsConnected:$};return jsxRuntime.jsxs(no.Provider,{value:on,children:[jsxRuntime.jsx(Zo,{store:o}),jsxRuntime.jsx(Qo,{labels:t,children:a})]})}exports.ErrorsProvider=Zo;exports.NovaConnectLabelsProvider=Qo;exports.NovaConnectProvider=Ma;//# sourceMappingURL=index.cjs.map
5
+ )`,[]);return jsxRuntime.jsxs("span",{className:novaCore.cn("novacon:inline-flex novacon:items-center novacon:rounded-full novacon:font-medium novacon:relative novacon:overflow-hidden","novacon:text-[var(--tuwa-text-secondary)] novacon:border novacon:border-[var(--tuwa-border-primary)]",t?"novacon:px-1.5 novacon:py-0 novacon:text-[10px]":"novacon:px-2.5 novacon:py-0.5 novacon:text-xs",n),role:"status","aria-label":typeof o=="string"?o:"Recent",children:[jsxRuntime.jsx(framerMotion.motion.span,{className:"novacon:absolute novacon:inset-0 novacon:z-0 novacon:pointer-events-none novacon:rounded-full",style:{background:r,backgroundSize:"200% 100%"},initial:{backgroundPositionX:"100%"},animate:e?{backgroundPositionX:"-100%"}:{},transition:{duration:4,ease:"linear",repeat:e?1/0:0}}),jsxRuntime.jsx("span",{className:"novacon:absolute novacon:z-10 novacon:pointer-events-none novacon:rounded-full novacon:bg-[var(--tuwa-bg-primary)] novacon:inset-[1px]"}),jsxRuntime.jsx("span",{className:"novacon:relative novacon:z-20 novacon:whitespace-nowrap",children:o})]})});En.displayName="RecentBadge";var pa=({isCopied:n,className:o,style:e,...t})=>jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:novaCore.cn("novacon:w-4 novacon:h-4 novacon:transition-colors",n&&"novacon:text-[var(--tuwa-success-text)]",o),style:e,...t}),ga=({title:n,titleId:o,className:e,style:t})=>jsxRuntime.jsx("p",{id:o,className:novaCore.cn("novacon:text-sm novacon:font-semibold novacon:truncate novacon:text-[var(--tuwa-error-text)]",e),style:t,role:"heading","aria-level":3,title:n,children:n}),da=({rawError:n,descriptionId:o,className:e,style:t})=>jsxRuntime.jsx("p",{id:o,className:novaCore.cn("novacon:mt-1 novacon:text-xs novacon:break-words novacon:text-[var(--tuwa-error-text)] novacon:opacity-80",e),style:t,role:"text",children:n}),Ga=({icon:n,isCopied:o,copyLabel:e,copiedLabel:t})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n,jsxRuntime.jsx("span",{className:"novacon:select-none novacon:transition-colors","aria-live":"polite",role:"status",children:o?t:e})]}),Ea=(n,o)=>{n(o);},Za=(n,o)=>{n(o);},An=0,Ko=ve.forwardRef(({title:n,rawError:o,className:e,"aria-label":t,onCopyComplete:r,customization:a,...c},l)=>{let g=m(),{isCopied:s,copy:Q}=novaCore.useCopyToClipboard(),[z]=ve.useState(()=>(An+=1,`${An}-${Date.now()}`)),M=`error-title-${z}`,d=`error-description-${z}`,{Icon:G=pa,Title:E=ga,Description:Z=da,ButtonContent:I=Ga}=a?.components??{},{onClick:p=Ea,onKeyDown:i=Za}=a?.handlers??{},h=ve.useMemo(()=>o,[o]),u=ve.useCallback(async N=>{N.stopPropagation(),N.preventDefault();try{await Q(h),r?.(!0);}catch(L){console.error("Failed to copy error:",L),r?.(false);}},[Q,h,r]),C=ve.useCallback(N=>{i(k=>{if(k.key==="Enter"||k.key===" "){k.preventDefault();let Mo={...k,button:0,buttons:1,clientX:0,clientY:0,movementX:0,movementY:0,offsetX:0,offsetY:0,pageX:0,pageY:0,relatedTarget:null,screenX:0,screenY:0,x:0,y:0,getModifierState:()=>false,initMouseEvent:()=>{}};u(Mo);}},N);},[i,u]),B=ve.useMemo(()=>a?.classNames?.container?a.classNames.container({hasTitle:!!n,hasError:!!o}):novaCore.cn("novacon:bg-[var(--tuwa-bg-primary)] novacon:p-4 novacon:rounded-md novacon:w-full","novacon:border novacon:border-[var(--tuwa-border-primary)]",e),[a,n,o,e]),D=ve.useMemo(()=>{if(a?.classNames?.title)return a.classNames.title({title:n})},[a,n]),b=ve.useMemo(()=>{if(a?.classNames?.description)return a.classNames.description({rawError:o})},[a,o]),v=ve.useMemo(()=>{let N=!h.trim();return a?.classNames?.button?a.classNames.button({isCopied:s,disabled:N}):novaCore.cn("novacon:cursor-pointer novacon:mt-2 novacon:text-xs novacon:font-medium novacon:inline-flex novacon:items-center novacon:space-x-1.5","novacon:focus:outline-none novacon:focus:ring-2 novacon:focus:ring-[var(--tuwa-error-text)] novacon:focus:ring-opacity-50","novacon:rounded-md novacon:px-2 novacon:py-1 novacon:transition-all novacon:duration-200","novacon:hover:bg-[var(--tuwa-error-text)] novacon:hover:bg-opacity-10","novacon:active:bg-[var(--tuwa-error-text)] novacon:active:bg-opacity-20","novacon:text-[var(--tuwa-error-text)] novacon:hover:text-[var(--tuwa-error-text)]",s&&"novacon:bg-[var(--tuwa-success-text)] novacon:bg-opacity-10 novacon:text-[var(--tuwa-success-text)]")},[a,s,h]),Y=ve.useMemo(()=>{if(a?.classNames?.icon)return a.classNames.icon({isCopied:s})},[a,s]),x=ve.useMemo(()=>{if(a?.styles?.container)return a.styles.container({hasTitle:!!n,hasError:!!o})},[a,n,o]),j=ve.useMemo(()=>{if(a?.styles?.title)return a.styles.title({title:n})},[a,n]),T=ve.useMemo(()=>{if(a?.styles?.description)return a.styles.description({rawError:o})},[a,o]),J=ve.useMemo(()=>{let N=!h.trim();if(a?.styles?.button)return a.styles.button({isCopied:s,disabled:N})},[a,s,h]),A=ve.useMemo(()=>{if(a?.styles?.icon)return a.styles.icon({isCopied:s})},[a,s]),w=ve.useMemo(()=>jsxRuntime.jsx(G,{isCopied:s,className:Y,style:A,"aria-hidden":true}),[G,s,Y,A]),y=ve.useMemo(()=>({...a?.containerProps,...c,ref:l,className:B,style:{...x,...a?.containerProps?.style,...c.style},role:"alert","aria-live":"assertive","aria-labelledby":M,"aria-describedby":d,"aria-label":t}),[a?.containerProps,c,l,B,x,M,d,t]),P=ve.useMemo(()=>({...a?.buttonProps,onClick:N=>{p(u,N);},onKeyDown:C,className:v,style:{...J,...a?.buttonProps?.style},type:"button","aria-label":s?`${g.copied} ${g.copyRawError}`:g.copyRawError,"aria-describedby":`${M} ${d}`,disabled:!h.trim()}),[a?.buttonProps,p,u,C,v,J,s,g.copied,g.copyRawError,M,d,h]);return jsxRuntime.jsxs("div",{...y,children:[jsxRuntime.jsx(E,{title:n,titleId:M,className:D,style:j}),jsxRuntime.jsx(Z,{rawError:o,descriptionId:d,className:b,style:T}),jsxRuntime.jsx("button",{...P,children:jsxRuntime.jsx(I,{icon:w,isCopied:s,copyLabel:g.copyRawError,copiedLabel:g.copied})})]})});Ko.displayName="ToastError";var Na=({title:n,rawError:o,onCopyComplete:e,errorType:t,isConnected:r,...a})=>jsxRuntime.jsx(Ko,{title:n,rawError:o,onCopyComplete:e,customization:a.customization}),ua=n=>{let o=m();return jsxRuntime.jsx(reactToastify.ToastContainer,{...n,role:"alert","aria-live":"assertive","aria-label":o.somethingWentWrong})},va=(n,o)=>{n(o.title,o.rawError,o.errorKey);},wa=n=>{n();},Ba=(n,o)=>{n&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",o.substring(0,100));},Da=n=>n,ya=n=>n;function Wo({store:n,containerId:o="nova-connect-errors",position:e="top-center",autoClose:t=7e3,draggable:r=false,customization:a}){let c=m(),{activeWallet:l,walletConnectionError:g}=f(),s=n.getState().switchNetworkError,{ToastError:Q=Na,Container:z=ua}=a?.components??{},{showError:M=va,dismissError:d=wa,onCopyComplete:G=Ba}=a?.handlers??{},{errorTitle:E=Da,errorHash:Z=ya}=a??{},I=ve.useRef(new Set),p=ve.useRef(null),i=ve.useMemo(()=>{let A=!!g,w=!!s,y=!!l?.isConnected;return {hasWalletError:A,hasSwitchError:w,isConnected:y,hasAnyError:A||w,primaryError:g||s||null,errorType:A?"wallet":w?"switch":null}},[g,s,l?.isConnected]),h=ve.useMemo(()=>{switch(i.errorType){case "wallet":return c.walletConnectionError;case "switch":return c.errorWhenChainSwitching;default:return c.somethingWentWrong}},[i.errorType,c]),u=ve.useMemo(()=>E(h,{errorType:i.errorType}),[E,h,i.errorType]),C=ve.useMemo(()=>i.primaryError?`${i.errorType}-${i.primaryError.substring(0,50)}`:null,[i.primaryError,i.errorType]),B=ve.useMemo(()=>Z(C,{primaryError:i.primaryError,errorType:i.errorType}),[Z,C,i.primaryError,i.errorType]),D=ve.useCallback(()=>{d(()=>{p.current&&(reactToastify.toast.dismiss(p.current),p.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,d]),b=ve.useCallback((A,w)=>{G(A,w,i.errorType);},[G,i.errorType]),v=ve.useCallback((A,w,y)=>{if(D(),!I.current.has(y))try{let P={containerId:o,toastId:y,onClose:()=>{I.current.delete(y),p.current=null;}},N=a?.toastOptions?.error?.({title:A,rawError:w,errorType:i.errorType,isConnected:i.isConnected}),L={...P,...N};reactToastify.toast.error(jsxRuntime.jsx(Q,{title:A,rawError:w,errorType:i.errorType,isConnected:i.isConnected,onCopyComplete:k=>b(k,w),customization:a?.toastErrorCustomization}),L),I.current.add(y),p.current=y;}catch(P){console.error("Failed to show error toast:",P);}},[D,o,a,Q,i.errorType,i.isConnected,b]),Y=ve.useCallback((A,w,y)=>{M(v,{title:A,rawError:w,errorKey:y,errorType:i.errorType});},[v,M,i.errorType]);ve.useEffect(()=>{let{hasAnyError:A,isConnected:w,primaryError:y}=i;if(w&&!A){D(),I.current.clear();return}if(A&&y&&B){if(w&&i.errorType!=="switch")return;Y(u,y,B);}},[i,u,B,Y,D]),ve.useEffect(()=>()=>{D(),I.current.clear();},[D]);let x=ve.useMemo(()=>a?.classNames?.container?a.classNames.container({hasErrors:i.hasAnyError,errorType:i.errorType}):"novacon:p-0 novacon:bg-transparent",[a,i.hasAnyError,i.errorType]),j=ve.useMemo(()=>{if(a?.styles?.container)return a.styles.container({hasErrors:i.hasAnyError,errorType:i.errorType})},[a,i.hasAnyError,i.errorType]),T=ve.useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:t,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:r,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,t,r]),J=ve.useMemo(()=>({...T,...a?.containerProps,className:x,style:{...j,...a?.containerProps?.style}}),[T,a?.containerProps,x,j]);return jsxRuntime.jsx(z,{...J})}Wo.displayName="ErrorsProvider";function Lo({labels:n,children:o}){let e=ve.useMemo(()=>n,[n]);if(process.env.NODE_ENV==="development"){(!n||typeof n!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let r=["connectWallet","disconnect","connecting","connected","error","success"].filter(a=>!(a in n));r.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${r.join(", ")}`);}return jsxRuntime.jsx(yo.Provider,{value:e,children:o})}Lo.displayName="NovaConnectLabelsProvider";var fa=({labels:n,children:o})=>jsxRuntime.jsx(Lo,{labels:n,children:o}),Ra=({store:n,customization:o})=>jsxRuntime.jsx(Wo,{store:n,customization:o}),ja=(n,o)=>novaCore.deepMerge(n,o||{}),Ua=n=>n,ka=()=>{},Pa=()=>{},Oa=()=>{},Fa=n=>n,Ja=(n,o,e)=>n;function zn({labels:n,store:o,children:e,customization:t}){let{LabelsProvider:r=fa,ErrorsProvider:a=Ra}=t?.components??{},{merge:c=ja,transform:l=Ua}=t?.labels??{},{onStoreSubscribed:g=ka,onConnectionStateChange:s=Pa,onErrorStateChange:Q=Oa}=t?.initialization??{},{transform:z=Fa}=t?.contextValue??{},{providerTree:M=Ja}=t?.rendering??{},d=ve.useMemo(()=>c(Go,n||{}),[n,c]),[G,E]=ve.useState(o.getState().activeWallet),[Z,I]=ve.useState(o.getState().walletConnectionError),[p,i]=ve.useState(false),[h,u]=ve.useState(false),[C,B]=ve.useState(false),[D,b]=ve.useState(false),[v,Y]=ve.useState("idle"),[x,j]=ve.useState("connectors"),[T,J]=ve.useState(void 0),[A,w]=ve.useState(void 0),[y,P]=ve.useState(""),[N,L]=ve.useState(false),[k,Mo]=ve.useState("main"),O=ve.useMemo(()=>({isConnected:N,activeWallet:G,walletConnectionError:Z,modalStates:{isConnectModalOpen:p,isConnectedModalOpen:h,isChainsListOpen:C,isChainsListOpenMobile:D},contentTypes:{connectModal:x,connectedModal:k},statuses:{connectedButton:v}}),[N,G,Z,p,h,C,D,x,k,v]),Dn=ve.useMemo(()=>l(d,O),[d,l,O]),yn=ve.useCallback(($,ho)=>{s($,ho,O);},[s,O]),Yn=ve.useCallback($=>{Q($,O);},[Q,O]);ve.useEffect(()=>{let $=o.subscribe(ho=>{let Co=ho.activeWallet,Bo=ho.walletConnectionError,Do=!!Co?.isConnected;E(Co),I(Bo),(Do!==N||Co!==G)&&(L(Do),yn(Do,Co)),Bo!==Z&&Yn(Bo);});return g(O),$},[o]);let Ho=ve.useMemo(()=>z({walletConnectionError:Z,activeWallet:G,isConnectModalOpen:p,setIsConnectModalOpen:i,isConnectedModalOpen:h,setIsConnectedModalOpen:u,isChainsListOpen:C,setIsChainsListOpen:B,isChainsListOpenMobile:D,setIsChainsListOpenMobile:b,connectedButtonStatus:v,setConnectedButtonStatus:Y,connectedModalContentType:k,setConnectedModalContentType:Mo,connectModalContentType:x,setConnectModalContentType:j,selectedAdapter:T,setSelectedAdapter:J,activeConnector:A,setActiveConnector:w,impersonatedAddress:y,setImpersonatedAddress:P,isConnected:N,setIsConnected:L},O),[Z,G,p,i,h,u,C,B,D,b,v,Y,k,Mo,x,j,T,J,A,w,y,P,N,L,z,O]),vo=jsxRuntime.jsx(a,{store:o,customization:t?.errors}),wo=jsxRuntime.jsx(r,{labels:Dn,children:e}),bn=jsxRuntime.jsxs(Eo.Provider,{value:Ho,children:[vo,wo]}),xn=jsxRuntime.jsxs(Eo.Provider,{value:Ho,children:[vo,wo]}),Tn=M(xn,{ErrorsProvider:vo,LabelsProvider:wo,MainContent:bn},O);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Tn})}zn.displayName="NovaConnectProvider";exports.ErrorsProvider=Wo;exports.NovaConnectLabelsProvider=Lo;exports.NovaConnectProvider=zn;//# sourceMappingURL=index.cjs.map
6
6
  //# sourceMappingURL=index.cjs.map