@tuwaio/nova-connect 1.0.0-fix-test-alpha.53.a751bf7 → 1.0.0-fix-test-alpha.55.f5b462c

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'),kn=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 kn__default=/*#__PURE__*/_interopDefault(kn);var an=Object.defineProperty;var O=(n,o)=>()=>(n&&(o=n(n=0)),o);var J=(n,o)=>{for(var a in o)an(n,a,{get:o[a],enumerable:true});};var eo={};J(eo,{getEvmChains:()=>Cn,isEvmChainList:()=>Gn});function hn(n){return n!=null&&typeof n=="number"&&n>0}function Cn(n){return !n||n.length===0?[]:n.map(o=>o.id).filter(hn)}function Gn(n){return n.length>0&&n.every(o=>typeof o=="number")}var to=O(()=>{});var wo={};J(wo,{createEvmAdapter:()=>Zn,isEvmAdapterAvailable:()=>Qn});async function gn(){try{return await Promise.resolve().then(()=>(to(),eo))}catch(n){return console.warn("EVM utilities not available:",n),null}}async function Zn(){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 Qn(){try{return await Promise.resolve().then(()=>(to(),eo)),!0}catch{return false}}var io={};J(io,{getAvailableSolanaClusters:()=>An,getSolanaClusters:()=>pn,isSolanaChainList:()=>In,isValidSolanaCluster:()=>wn});function zn(n){let o=n.split(":");if(o.length<2)return null;let a=o[1];return a in orbitSolana.defaultRpcUrlsByMoniker?a:null}function En(n,o){let a={};for(let e of n){if(typeof e!="string")continue;let i=zn(e);if(!i)continue;let t=o?.[i]??orbitSolana.defaultRpcUrlsByMoniker[i];t&&(a[i]=t);}return a}function pn(n,o){if(o&&o.length>0){let a=En(o,n);return Object.keys(a)}return Object.keys(n||orbitSolana.defaultRpcUrlsByMoniker)}function In(n){return n.length>0&&n.every(o=>typeof o=="string")}function An(){return Object.keys(orbitSolana.defaultRpcUrlsByMoniker)}function wn(n){return n in orbitSolana.defaultRpcUrlsByMoniker}var ro=O(()=>{});var vo={};J(vo,{createSolanaAdapter:()=>Nn,isSolanaAdapterAvailable:()=>vn});async function dn(){try{return await Promise.resolve().then(()=>(ro(),io))}catch(n){return console.warn("Solana utilities not available:",n),null}}async function Nn(){let n=await dn();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 vn(){try{return await Promise.resolve().then(()=>(ro(),io)),!0}catch{return false}}var K={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 oo=v.createContext(K),r=()=>v.useContext(oo);var cn=v.forwardRef(({children:n,className:o,...a},e)=>{let i=r(),t=a.value===a["aria-label"];return jsxRuntime.jsxs(d__namespace.Item,{ref:e,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)]":t},o),role:"option","aria-selected":t,tabIndex:0,...a,children:[n,t&&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})]})]})});cn.displayName="SelectItemBase";var no=class extends Error{constructor(o="useNovaConnect must be used within NovaConnectProvider"){super(o),this.name="NovaConnectProviderError";}},ao=v.createContext(void 0),I=()=>{let n=v.useContext(ao);if(!n)throw new no;return n};({[orbitCore.OrbitAdapter.EVM]:1,[orbitCore.OrbitAdapter.SOLANA]:"mainnet",[orbitCore.OrbitAdapter.Starknet]:"0x534e5f4d41494e"});function b(n=1200){if(typeof window>"u")return false;let o="ontouchstart"in window,a=navigator.maxTouchPoints>0,e=false;window.matchMedia&&(e=window.matchMedia("(pointer: coarse)").matches);let i=o||a||e,t=window.innerWidth<=n;return i&&t}({[orbitCore.OrbitAdapter.EVM]:{},[orbitCore.OrbitAdapter.SOLANA]:{}});var P=v.forwardRef(({className:n,"aria-label":o,onClick:a,disabled:e=false,...i},t)=>{let s=r();return jsxRuntime.jsx("button",{ref:t,type:"button",onClick:c=>{a&&(c.preventDefault(),a(c));},onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&a&&(c.preventDefault(),a(c));},disabled:e,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",e&&"novacon:opacity-50"),"aria-hidden":"true"})})});P.displayName="ToBottomButton";var W=v.forwardRef(({className:n,"aria-label":o,onClick:a,disabled:e=false,...i},t)=>{let s=r();return jsxRuntime.jsx("button",{ref:t,type:"button",onClick:c=>{a&&(c.preventDefault(),a(c));},onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&a&&(c.preventDefault(),a(c));},disabled:e,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",e&&"novacon:opacity-50"),"aria-hidden":"true"})})});W.displayName="ToTopButton";var Ro=v.forwardRef(({className:n,children:o,position:a="popper","aria-label":e,reduceMotion:i=false,...t},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":e||m.chainListContainer,...t,children:[jsxRuntime.jsx(d__namespace.ScrollUpButton,{asChild:true,children:jsxRuntime.jsx(W,{})}),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(P,{})})]})})});Ro.displayName="SelectContentAnimated";function ko(n,{strict:o=true}={}){return !n||typeof n!="string"?false:o?/^0x[0-9a-fA-F]*$/.test(n):n.startsWith("0x")}var Jn="0x0000000000000000000000000000000000000000",Kn={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"},ho=v.forwardRef(({address:n,ensAvatar:o,className:a,altText:e,size:i="md",showLoading:t=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 kn__default.default(ko(n)?n:Jn)}catch(u){return console.warn("Failed to generate blockie for address:",n,u),null}},[n]),N=v.useMemo(()=>{try{if(!ko(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(()=>e||(g||!o?`${M.walletAvatar} ${B}`:`${M.ensAvatar} ${B}`),[e,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]),X=v.useCallback(u=>{p(false),Z(true),E(z),m?.(u.nativeEvent);},[z,m]),$=v.useMemo(()=>novaCore.cn(Kn[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&&t&&h&&"novacon:animate-pulse",(!h||!t)&&"novacon:opacity-0","novacon:transition-opacity novacon:duration-300"),[G,t,h]),f=l||z||"";return jsxRuntime.jsxs("div",{ref:Q,className:$,style:{backgroundColor:N},role:"img","aria-label":y,title:y,...c,children:[jsxRuntime.jsx("div",{className:_,"aria-hidden":"true"}),f&&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:f,alt:"",onLoad:w,onError:X,loading:"lazy",decoding:"async",draggable:false},`${o||"blockie"}-${n}`),!f&&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)})]})});ho.displayName="WalletAvatar";var j=v.forwardRef(({icon:n,name:o,size:a=32,className:e,altText:i,showLoading:t=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",t&&h&&"novacon:animate-pulse novacon:bg-[var(--tuwa-bg-muted)]",e),[t,h,e]),y=v.useMemo(()=>novaCore.cn("novacon:object-cover novacon:transition-opacity novacon:duration-200","novacon:max-w-full novacon:max-h-full",h&&t?"novacon:opacity-0":"novacon:opacity-100"),[h,t]),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:[t&&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"})]})});j.displayName="WalletIcon";var Jo=v.forwardRef(({walletIcon:n,walletName:o,walletChainId:a,items:e=0,onClick:i,className:t,disabled:s=false,loading:m=false,"aria-label":G,title:c},Q)=>{let M=r(),l=v.useMemo(()=>!!(i&&!s&&!m&&e>1),[i,s,m,e]),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",t),[l,s,m,t]);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(j,{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"})})]})});Jo.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 Po=v.memo(({className:n,children:o="Recent",animated:a=true})=>{let e=v.useMemo(()=>b(),[]),i=v.useMemo(()=>`linear-gradient(90deg,
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,
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)]",e?"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})]})});Po.displayName="RecentBadge";var Lo=0;function Ho({title:n,rawError:o,className:a,"aria-label":e,onCopyComplete:i}){let t=r(),{isCopied:s,copy:m}=novaCore.useCopyToClipboard(),[G]=v__namespace.useState(()=>(Lo+=1,`${Lo}-${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":e,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?`${t.copied} ${t.copyRawError}`:t.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?t.copied:t.copyRawError})]})]})}function Qo({store:n,containerId:o="nova-connect-errors",position:a="top-center",autoClose:e=7e3,draggable:i=false}){let t=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 t.walletConnectionError;case "switch":return t.errorWhenChainSwitching;default:return t.somethingWentWrong}},[M.errorType,t]),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(Ho,{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:e,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:i,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce,className:"novacon:p-0 novacon:bg-transparent"}),[o,a,e,i]);return jsxRuntime.jsx(reactToastify.ToastContainer,{...g,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})}Qo.displayName="ErrorsProvider";function zo({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(t=>!(t in n));i.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${i.join(", ")}`);}return jsxRuntime.jsx(oo.Provider,{value:a,children:o})}zo.displayName="NovaConnectLabelsProvider";function Ma({labels:n,store:o,children:a}){let e=v.useMemo(()=>novaCore.deepMerge(K,n||{}),[n]),[i,t]=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,X]=v.useState(""),[$,_]=v.useState(false),[f,u]=v.useState("main");v.useEffect(()=>o.subscribe(Eo=>{t(Eo.activeWallet),m(Eo.walletConnectionError);}),[]);let nn={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:f,setConnectedModalContentType:u,connectModalContentType:C,setConnectModalContentType:z,selectedAdapter:N,setSelectedAdapter:B,activeConnector:y,setActiveConnector:D,impersonatedAddress:w,setImpersonatedAddress:X,isConnected:$,setIsConnected:_};return jsxRuntime.jsxs(ao.Provider,{value:nn,children:[jsxRuntime.jsx(Qo,{store:o}),jsxRuntime.jsx(zo,{labels:e,children:a})]})}exports.ErrorsProvider=Qo;exports.NovaConnectLabelsProvider=zo;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: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
6
6
  //# sourceMappingURL=index.cjs.map