@tuwaio/nova-connect 1.0.0-fix-test-alpha.52.89384d8 → 1.0.0-fix-test-alpha.53.a751bf7

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'),B=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'),Ua=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 B__namespace=/*#__PURE__*/_interopNamespace(B);var d__namespace=/*#__PURE__*/_interopNamespace(d);var Ua__default=/*#__PURE__*/_interopDefault(Ua);var aa=Object.defineProperty;var J=(a,e)=>()=>(a&&(e=a(a=0)),e);var v=(a,e)=>{for(var o in e)aa(a,o,{get:e[o],enumerable:true});};var te={};v(te,{getEvmChains:()=>ca,isEvmChainList:()=>ha});function la(a){return a!=null&&typeof a=="number"&&a>0}function ca(a){return !a||a.length===0?[]:a.map(e=>e.id).filter(la)}function ha(a){return a.length>0&&a.every(e=>typeof e=="number")}var ne=J(()=>{});var we={};v(we,{createEvmAdapter:()=>Ga,isEvmAdapterAvailable:()=>ga});async function Ca(){try{return await Promise.resolve().then(()=>(ne(),te))}catch(a){return console.warn("EVM utilities not available:",a),null}}async function Ga(){let a=await Ca();return {getChains(e){return a?.getEvmChains?a.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(o=>typeof o=="object"&&o?.id!==void 0?o.id:typeof o=="number"||typeof o=="string"?o:null).filter(o=>o!==null&&(typeof o=="string"||typeof o=="number"))},isChainList(e){return a?.isEvmChainList?a.isEvmChainList(e):e.length>0&&e.every(o=>typeof o=="number")}}}async function ga(){try{return await Promise.resolve().then(()=>(ne(),te)),!0}catch{return false}}var ie={};v(ie,{getAvailableSolanaClusters:()=>pa,getSolanaClusters:()=>za,isSolanaChainList:()=>Ea,isValidSolanaCluster:()=>Ia});function Za(a){let e=a.split(":");if(e.length<2)return null;let o=e[1];return o in orbitSolana.defaultRpcUrlsByMoniker?o:null}function Qa(a,e){let o={};for(let t of a){if(typeof t!="string")continue;let i=Za(t);if(!i)continue;let n=e?.[i]??orbitSolana.defaultRpcUrlsByMoniker[i];n&&(o[i]=n);}return o}function za(a,e){if(e&&e.length>0){let o=Qa(e,a);return Object.keys(o)}return Object.keys(a||orbitSolana.defaultRpcUrlsByMoniker)}function Ea(a){return a.length>0&&a.every(e=>typeof e=="string")}function pa(){return Object.keys(orbitSolana.defaultRpcUrlsByMoniker)}function Ia(a){return a in orbitSolana.defaultRpcUrlsByMoniker}var re=J(()=>{});var Ne={};v(Ne,{createSolanaAdapter:()=>wa,isSolanaAdapterAvailable:()=>da});async function Aa(){try{return await Promise.resolve().then(()=>(re(),ie))}catch(a){return console.warn("Solana utilities not available:",a),null}}async function wa(){let a=await Aa();return {getChains(e,o){return a?.getSolanaClusters?a.getSolanaClusters(e,o):e&&typeof e=="object"?Object.keys(e):[]},isChainList(e){return a?.isSolanaChainList?a.isSolanaChainList(e):e.length>0&&e.every(o=>typeof o=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(e){return a?.isValidSolanaCluster?a.isValidSolanaCluster(e):false}}}async function da(){try{return await Promise.resolve().then(()=>(re(),ie)),!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 ee=B.createContext(K),r=()=>B.useContext(ee);var ra=B.forwardRef(({children:a,className:e,...o},t)=>{let i=r(),n=o.value===o["aria-label"];return jsxRuntime.jsxs(d__namespace.Item,{ref:t,className:novaCore.cn("flex items-center w-full text-left px-2 py-2 rounded-md transition-colors space-x-3 cursor-pointer outline-none","text-[var(--tuwa-text-primary)] hover:bg-[var(--tuwa-bg-muted)] focus:bg-[var(--tuwa-bg-muted)] focus:outline-none focus:ring-2 focus:ring-[var(--tuwa-border-primary)] focus:ring-offset-2",{"bg-[var(--tuwa-bg-muted)]":n},e),role:"option","aria-selected":n,tabIndex:0,...o,children:[a,n&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"ml-auto text-xs font-semibold w-2 h-2 rounded-full bg-[var(--tuwa-success-text)]","aria-label":i.connected,role:"status"}),jsxRuntime.jsx("span",{className:"sr-only",children:i.connected})]})]})});ra.displayName="SelectItemBase";var ae=class extends Error{constructor(e="useNovaConnect must be used within NovaConnectProvider"){super(e),this.name="NovaConnectProviderError";}},oe=B.createContext(void 0),I=()=>{let a=B.useContext(oe);if(!a)throw new ae;return a};({[orbitCore.OrbitAdapter.EVM]:1,[orbitCore.OrbitAdapter.SOLANA]:"mainnet",[orbitCore.OrbitAdapter.Starknet]:"0x534e5f4d41494e"});function T(a=1200){if(typeof window>"u")return false;let e="ontouchstart"in window,o=navigator.maxTouchPoints>0,t=false;window.matchMedia&&(t=window.matchMedia("(pointer: coarse)").matches);let i=e||o||t,n=window.innerWidth<=a;return i&&n}({[orbitCore.OrbitAdapter.EVM]:{},[orbitCore.OrbitAdapter.SOLANA]:{}});var P=B.forwardRef(({className:a,"aria-label":e,onClick:o,disabled:t=false,...i},n)=>{let s=r();return jsxRuntime.jsx("button",{ref:n,type:"button",onClick:m=>{o&&(m.preventDefault(),o(m));},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o&&(m.preventDefault(),o(m));},disabled:t,className:novaCore.cn("flex w-full h-6 items-center justify-center","bg-[var(--tuwa-bg-secondary)] text-[var(--tuwa-text-primary)]","transition-colors duration-200","hover:bg-[var(--tuwa-bg-tertiary)] hover:text-[var(--tuwa-text-secondary)]","focus:outline-none focus:ring-2 focus:ring-[var(--tuwa-text-accent)] focus:ring-inset","active:bg-[var(--tuwa-bg-quaternary)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-[var(--tuwa-bg-secondary)]",o?"cursor-pointer":"cursor-default",a),"aria-label":e||s.scrollToBottom,title:e||s.scrollToBottom,...i,children:jsxRuntime.jsx(solid.ChevronDownIcon,{className:novaCore.cn("w-4 h-4 transition-transform duration-200",t&&"opacity-50"),"aria-hidden":"true"})})});P.displayName="ToBottomButton";var W=B.forwardRef(({className:a,"aria-label":e,onClick:o,disabled:t=false,...i},n)=>{let s=r();return jsxRuntime.jsx("button",{ref:n,type:"button",onClick:m=>{o&&(m.preventDefault(),o(m));},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o&&(m.preventDefault(),o(m));},disabled:t,className:novaCore.cn("flex w-full h-6 items-center justify-center","bg-[var(--tuwa-bg-secondary)] text-[var(--tuwa-text-primary)]","transition-colors duration-200","hover:bg-[var(--tuwa-bg-tertiary)] hover:text-[var(--tuwa-text-secondary)]","focus:outline-none focus:ring-2 focus:ring-[var(--tuwa-text-accent)] focus:ring-inset","active:bg-[var(--tuwa-bg-quaternary)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-[var(--tuwa-bg-secondary)]",o?"cursor-pointer":"cursor-default",a),"aria-label":e||s.scrollToTop,title:e||s.scrollToTop,...i,children:jsxRuntime.jsx(solid.ChevronUpIcon,{className:novaCore.cn("w-4 h-4 transition-transform duration-200",t&&"opacity-50"),"aria-hidden":"true"})})});W.displayName="ToTopButton";var Re=B.forwardRef(({className:a,children:e,position:o="popper","aria-label":t,reduceMotion:i=false,...n},s)=>{let M=r(),G=B.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]),m=B.useMemo(()=>i?{}:{duration:.15,ease:"easeOut"},[i]),Q=B.useMemo(()=>novaCore.cn("p-1 bg-[var(--tuwa-bg-secondary)] rounded-lg shadow-xl","ring-1 ring-[var(--tuwa-border-primary)] overflow-hidden",a),[a]),l=B.useMemo(()=>novaCore.cn("max-h-[300px] w-[--radix-select-trigger-width] overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),[]);return jsxRuntime.jsx(d__namespace.Portal,{children:jsxRuntime.jsxs(d__namespace.Content,{className:l,ref:s,position:o,role:"listbox","aria-label":t||M.chainListContainer,...n,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:m},role:"group","aria-live":"polite",children:e})})}),jsxRuntime.jsx(d__namespace.ScrollDownButton,{asChild:true,children:jsxRuntime.jsx(P,{})})]})})});Re.displayName="SelectContentAnimated";function ke(a,{strict:e=true}={}){return !a||typeof a!="string"?false:e?/^0x[0-9a-fA-F]*$/.test(a):a.startsWith("0x")}var Oa="0x0000000000000000000000000000000000000000",Ja={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8",xl:"h-12 w-12"},he=B.forwardRef(({address:a,ensAvatar:e,className:o,altText:t,size:i="md",showLoading:n=true,onImageLoad:s,onImageError:M,disableAnimation:G=false,...m},Q)=>{let l=r(),[c,E]=B.useState(e??null),[h,p]=B.useState(!!e),[g,Z]=B.useState(false),C=B.useRef(null),z=B.useMemo(()=>{try{return Ua__default.default(ke(a)?a:Oa)}catch(Y){return console.warn("Failed to generate blockie for address:",a,Y),null}},[a]),N=B.useMemo(()=>{try{if(!ke(a))return "#6B7280";let Y=a.slice(2,8);return Y.length===6?`#${Y}`:"#6B7280"}catch{return "#6B7280"}},[a]),D=B.useMemo(()=>a?`${a.slice(0,6)}...${a.slice(-4)}`:l.unknownWallet,[a,l.unknownWallet]),b=B.useMemo(()=>t||(g||!e?`${l.walletAvatar} ${D}`:`${l.ensAvatar} ${D}`),[t,g,e,D,l.walletAvatar,l.ensAvatar]),u=B.useMemo(()=>e??null,[e]);B.useMemo(()=>{E(u),p(!!u),Z(false);},[u]);let w=B.useCallback(()=>{p(false),Z(false),s?.();},[s]),X=B.useCallback(Y=>{p(false),Z(true),E(z),M?.(Y.nativeEvent);},[z,M]),$=B.useMemo(()=>novaCore.cn(Ja[i],"flex-shrink-0 rounded-full relative overflow-hidden","ring-1 ring-[var(--tuwa-border-primary)]","focus-within:ring-2 focus-within:ring-[var(--tuwa-text-accent)]",o),[i,o]),_=B.useMemo(()=>novaCore.cn("absolute inset-0 rounded-full bg-[var(--tuwa-bg-muted)]",!G&&n&&h&&"animate-pulse",(!h||!n)&&"opacity-0","transition-opacity duration-300"),[G,n,h]),R=c||z||"";return jsxRuntime.jsxs("div",{ref:Q,className:$,style:{backgroundColor:N},role:"img","aria-label":b,title:b,...m,children:[jsxRuntime.jsx("div",{className:_,"aria-hidden":"true"}),R&&jsxRuntime.jsx("img",{ref:C,className:novaCore.cn("h-full w-full rounded-full object-cover relative z-10","transition-opacity duration-300",h?"opacity-0":"opacity-100"),src:R,alt:"",onLoad:w,onError:X,loading:"lazy",decoding:"async",draggable:false},`${e||"blockie"}-${a}`),!R&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-white text-xs font-mono","aria-hidden":"true",children:D.slice(0,2)})]})});he.displayName="WalletAvatar";var f=B.forwardRef(({icon:a,name:e,size:o=32,className:t,altText:i,showLoading:n=false,onImageLoad:s,onImageError:M,lazy:G=false,...m},Q)=>{let l=r(),[c,E]=B.useState(false),[h,p]=B.useState(!!a),g=B.useMemo(()=>orbitCore.formatWalletName(e),[e]),Z=B.useMemo(()=>i||`${g} ${l.walletIcon}`,[i,g,l.walletIcon]),C=B.useMemo(()=>{if(!a)return null;try{let w=a.trim();return w&&(w.startsWith("http://")||w.startsWith("https://")||w.startsWith("/")||w.startsWith("data:"))?w:null}catch{return null}},[a]),z=B.useCallback(()=>{p(false),E(false),s?.();},[s]),N=B.useCallback(()=>{p(false),E(true),M?.();},[M]),D=B.useMemo(()=>novaCore.cn("relative inline-flex items-center justify-center flex-shrink-0","overflow-hidden",n&&h&&"animate-pulse bg-[var(--tuwa-bg-muted)]",t),[n,h,t]),b=B.useMemo(()=>novaCore.cn("object-cover transition-opacity duration-200","max-w-full max-h-full",h&&n?"opacity-0":"opacity-100"),[h,n]),u=B.useMemo(()=>({width:o,height:o}),[o]);return jsxRuntime.jsxs("div",{ref:Q,className:D,role:"img","aria-label":Z,title:Z,style:{lineHeight:0},...m,children:[n&&h&&jsxRuntime.jsx("div",{className:"absolute inset-0 bg-[var(--tuwa-bg-muted)] animate-pulse rounded-full","aria-hidden":"true"}),C&&!c?jsxRuntime.jsx("img",{src:C,alt:"",className:b,style:u,onLoad:z,onError:N,loading:G?"lazy":"eager",decoding:"async",crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):jsxRuntime.jsx(reactWeb3Icons.Web3Icon,{walletKey:g,className:novaCore.cn(b,"flex-shrink-0"),style:u}),c&&process.env.NODE_ENV==="development"&&jsxRuntime.jsx("div",{className:"absolute top-0 right-0 w-2 h-2 bg-red-500 rounded-full",title:`Failed to load icon for ${g}`,"aria-hidden":"true"})]})});f.displayName="WalletIcon";var Je=B.forwardRef(({walletIcon:a,walletName:e,walletChainId:o,items:t=0,onClick:i,className:n,disabled:s=false,loading:M=false,"aria-label":G,title:m},Q)=>{let l=r(),c=B.useMemo(()=>!!(i&&!s&&!M&&t>1),[i,s,M,t]),E=B.useMemo(()=>{if(o)return typeof o=="string"?`${orbitCore.OrbitAdapter.SOLANA}:${o}`:o},[o]),h=B.useMemo(()=>{if(G)return G;let C=[];return e&&C.push(`${e} wallet`),o&&C.push("network selector"),c&&C.push("button"),M&&C.push("loading"),s&&C.push("disabled"),C.join(", ")||"Wallet controls"},[G,e,o,c,M,s]),p=B.useMemo(()=>m||(M?"Loading...":s?"Button is disabled":c?`Click to select ${e?e+" ":""}options`:e?`${e} wallet`:"Wallet information"),[m,M,s,c,e]),g=B.useMemo(()=>novaCore.cn("flex items-center justify-center gap-1 rounded-full","bg-[var(--tuwa-bg-primary)] border border-[var(--tuwa-border-primary)]","p-1.5 transition-all duration-200","[&_img]:!w-6 [&_img]:!h-6 [&_img]:transition-transform [&_img]:duration-200",{"cursor-pointer hover:[&_img]:scale-95 active:[&_img]:scale-85 hover:shadow-sm":c,"cursor-not-allowed opacity-50":s&&!M,"cursor-wait opacity-75":M,"cursor-default":!c&&!s&&!M},"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tuwa-border-accent)] focus-visible:ring-offset-2",n),[c,s,M,n]);return jsxRuntime.jsxs("button",{ref:Q,type:"button",className:g,onClick:()=>{c&&i&&i();},disabled:s||M,"aria-label":h,title:p,role:"button",tabIndex:s||M?-1:0,children:[e&&jsxRuntime.jsx(f,{name:e,icon:a,altText:`${e} ${l.walletIcon}`,showLoading:M,className:"flex-shrink-0"}),E&&jsxRuntime.jsx(reactWeb3Icons.Web3Icon,{chainId:E,className:"flex-shrink-0",title:`Network: ${o}`}),c&&jsxRuntime.jsx(novaCore.ChevronArrowWithAnim,{className:"flex-shrink-0","aria-hidden":"true"}),M&&jsxRuntime.jsx("div",{className:"absolute inset-0 bg-[var(--tuwa-bg-primary)]/50 rounded-full flex items-center justify-center","aria-hidden":"true",children:jsxRuntime.jsx("div",{className:"w-3 h-3 border-2 border-[var(--tuwa-text-accent)] border-t-transparent rounded-full animate-spin"})})]})});Je.displayName="IconButton";B.lazy(()=>{try{return import('@tuwaio/nova-transactions').then(a=>({default:a.TransactionsHistory}))}catch(a){return console.warn("Failed to load @tuwaio/nova-transactions package:",a),new Promise(()=>{})}});var Ke=B.memo(({className:a,children:e="Recent",animated:o=true})=>{let t=B.useMemo(()=>T(),[]),i=B.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'),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,
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("inline-flex items-center rounded-full font-medium relative overflow-hidden","text-[var(--tuwa-text-secondary)] border border-[var(--tuwa-border-primary)]",t?"px-1.5 py-0 text-[10px]":"px-2.5 py-0.5 text-xs",a),role:"status","aria-label":typeof e=="string"?e:"Recent",children:[jsxRuntime.jsx(framerMotion.motion.span,{className:"absolute inset-0 z-0 pointer-events-none rounded-full",style:{background:i,backgroundSize:"200% 100%"},initial:{backgroundPositionX:"100%"},animate:o?{backgroundPositionX:"-100%"}:{},transition:{duration:4,ease:"linear",repeat:o?1/0:0}}),jsxRuntime.jsx("span",{className:"absolute z-10 pointer-events-none rounded-full bg-[var(--tuwa-bg-primary)] inset-[1px]"}),jsxRuntime.jsx("span",{className:"relative z-20 whitespace-nowrap",children:e})]})});Ke.displayName="RecentBadge";var Se=0;function qe({title:a,rawError:e,className:o,"aria-label":t,onCopyComplete:i}){let n=r(),{isCopied:s,copy:M}=novaCore.useCopyToClipboard(),[G]=B__namespace.useState(()=>(Se+=1,`${Se}-${Date.now()}`)),m=`error-title-${G}`,Q=`error-description-${G}`,l=B__namespace.useMemo(()=>e,[e]),c=B__namespace.useCallback(async g=>{g.stopPropagation(),g.preventDefault();try{await M(l),i?.(!0);}catch(Z){console.error("Failed to copy error:",Z),i?.(false);}},[M,l,i]),E=B__namespace.useCallback(g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),c(g));},[c]),h=B__namespace.useMemo(()=>novaCore.cn("bg-[var(--tuwa-bg-primary)] p-4 rounded-md w-full","border border-[var(--tuwa-border-primary)]",o),[o]),p=B__namespace.useMemo(()=>novaCore.cn("cursor-pointer mt-2 text-xs font-medium inline-flex items-center space-x-1.5","focus:outline-none focus:ring-2 focus:ring-[var(--tuwa-error-text)] focus:ring-opacity-50","rounded-md px-2 py-1 transition-all duration-200","hover:bg-[var(--tuwa-error-text)] hover:bg-opacity-10","active:bg-[var(--tuwa-error-text)] active:bg-opacity-20","text-[var(--tuwa-error-text)] hover:text-[var(--tuwa-error-text)]",s&&"bg-[var(--tuwa-success-text)] bg-opacity-10 text-[var(--tuwa-success-text)]"),[s]);return jsxRuntime.jsxs("div",{className:h,role:"alert","aria-live":"assertive","aria-labelledby":m,"aria-describedby":Q,"aria-label":t,children:[jsxRuntime.jsx("p",{id:m,className:"text-sm font-semibold truncate text-[var(--tuwa-error-text)]",role:"heading","aria-level":3,title:a,children:a}),jsxRuntime.jsx("p",{id:Q,className:"mt-1 text-xs break-words text-[var(--tuwa-error-text)] opacity-80",role:"text",children:e}),jsxRuntime.jsxs("button",{onClick:c,onKeyDown:E,className:p,type:"button","aria-label":s?`${n.copied} ${n.copyRawError}`:n.copyRawError,"aria-describedby":`${m} ${Q}`,disabled:!l.trim(),children:[jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:novaCore.cn("w-4 h-4 transition-colors",s&&"text-[var(--tuwa-success-text)]"),"aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"select-none transition-colors","aria-live":"polite",role:"status",children:s?n.copied:n.copyRawError})]})]})}function Qe({store:a,containerId:e="nova-connect-errors",position:o="top-center",autoClose:t=7e3,draggable:i=false}){let n=r(),{activeWallet:s,walletConnectionError:M}=I(),G=a.getState().switchNetworkError,m=B.useRef(new Set),Q=B.useRef(null),l=B.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]),c=B.useMemo(()=>{switch(l.errorType){case "wallet":return n.walletConnectionError;case "switch":return n.errorWhenChainSwitching;default:return n.somethingWentWrong}},[l.errorType,n]),E=B.useMemo(()=>l.primaryError?`${l.errorType}-${l.primaryError.substring(0,50)}`:null,[l.primaryError,l.errorType]),h=B.useCallback(()=>{Q.current&&(reactToastify.toast.dismiss(Q.current),Q.current=null),reactToastify.toast.dismiss({containerId:e});},[e]),p=B.useCallback((Z,C,z)=>{if(h(),!m.current.has(z))try{reactToastify.toast.error(jsxRuntime.jsx(qe,{title:Z,rawError:C,onCopyComplete:N=>{N&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",C.substring(0,100));}}),{containerId:e,toastId:z,onClose:()=>{m.current.delete(z),Q.current=null;}}),m.current.add(z),Q.current=z;}catch(N){console.error("Failed to show error toast:",N);}},[e,h]);B.useEffect(()=>{let{hasAnyError:Z,isConnected:C,primaryError:z}=l;if(C&&!Z){h(),m.current.clear();return}if(Z&&z&&E){if(C&&l.errorType!=="switch")return;p(c,z,E);}},[l,c,E,p,h]),B.useEffect(()=>()=>{h(),m.current.clear();},[h]);let g=B.useMemo(()=>({containerId:e,position:o,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:"p-0 bg-transparent"}),[e,o,t,i]);return jsxRuntime.jsx(reactToastify.ToastContainer,{...g,role:"alert","aria-live":"assertive","aria-label":n.somethingWentWrong})}Qe.displayName="ErrorsProvider";function ze({labels:a,children:e}){let o=B.useMemo(()=>a,[a]);if(process.env.NODE_ENV==="development"){(!a||typeof a!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let i=["connectWallet","disconnect","connecting","connected","error","success"].filter(n=>!(n in a));i.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${i.join(", ")}`);}return jsxRuntime.jsx(ee.Provider,{value:o,children:e})}ze.displayName="NovaConnectLabelsProvider";function mo({labels:a,store:e,children:o}){let t=B.useMemo(()=>novaCore.deepMerge(K,a||{}),[a]),[i,n]=B.useState(e.getState().activeWallet),[s,M]=B.useState(e.getState().walletConnectionError),[G,m]=B.useState(false),[Q,l]=B.useState(false),[c,E]=B.useState(false),[h,p]=B.useState(false),[g,Z]=B.useState("idle"),[C,z]=B.useState("connectors"),[N,D]=B.useState(void 0),[b,u]=B.useState(void 0),[w,X]=B.useState(""),[$,_]=B.useState(false),[R,Y]=B.useState("main");B.useEffect(()=>e.subscribe(Ee=>{n(Ee.activeWallet),M(Ee.walletConnectionError);}),[]);let ea={walletConnectionError:s,activeWallet:i,isConnectModalOpen:G,setIsConnectModalOpen:m,isConnectedModalOpen:Q,setIsConnectedModalOpen:l,isChainsListOpen:c,setIsChainsListOpen:E,isChainsListOpenMobile:h,setIsChainsListOpenMobile:p,connectedButtonStatus:g,setConnectedButtonStatus:Z,connectedModalContentType:R,setConnectedModalContentType:Y,connectModalContentType:C,setConnectModalContentType:z,selectedAdapter:N,setSelectedAdapter:D,activeConnector:b,setActiveConnector:u,impersonatedAddress:w,setImpersonatedAddress:X,isConnected:$,setIsConnected:_};return jsxRuntime.jsxs(oe.Provider,{value:ea,children:[jsxRuntime.jsx(Qe,{store:e}),jsxRuntime.jsx(ze,{labels:t,children:o})]})}exports.ErrorsProvider=Qe;exports.NovaConnectLabelsProvider=ze;exports.NovaConnectProvider=mo;//# 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)]",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
6
6
  //# sourceMappingURL=index.cjs.map