@tuwaio/nova-connect 0.2.4 → 0.2.5

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.
Files changed (62) hide show
  1. package/dist/{chunk-JFUJC4EJ.cjs → chunk-2SFIZVDC.cjs} +1 -2
  2. package/dist/{chunk-NHKYALBZ.cjs → chunk-4BGH6VFE.cjs} +3 -4
  3. package/dist/{chunk-WSHZWOWS.cjs → chunk-K44IHM6B.cjs} +1 -2
  4. package/dist/{chunk-QGCEN6MP.js → chunk-S3IRVZMG.js} +1 -2
  5. package/dist/{chunk-WVALNTUP.js → chunk-S3RQJGCL.js} +1 -2
  6. package/dist/{chunk-3BMX6JWH.js → chunk-T6H7HGCM.js} +1 -2
  7. package/dist/{chunk-PTHXIVB5.cjs → chunk-WTDBHPAK.cjs} +1 -2
  8. package/dist/{chunk-RARO6QP2.js → chunk-Y53IY57F.js} +2 -3
  9. package/dist/{chunk-YIZJUEA3.cjs → chunk-YDPI5PAY.cjs} +1 -2
  10. package/dist/{chunk-H2RLZRJ4.js → chunk-YO3PXLI4.js} +1 -2
  11. package/dist/components/index.cjs +1 -2
  12. package/dist/components/index.js +1 -2
  13. package/dist/evm/index.cjs +1 -2
  14. package/dist/evm/index.js +1 -2
  15. package/dist/{evm-BHPO7QCV.js → evm-DUQXCW22.js} +1 -2
  16. package/dist/{evm-4RL5ZQMP.cjs → evm-KSA7PJIK.cjs} +1 -2
  17. package/dist/getChainsListByConnectorType-QCNOPM6I.cjs +1 -0
  18. package/dist/{getChainsListByConnectorType-B3BLNZZH.js → getChainsListByConnectorType-YZZUYC6D.js} +1 -2
  19. package/dist/hooks/index.cjs +1 -2
  20. package/dist/hooks/index.js +1 -2
  21. package/dist/i18n/index.cjs +1 -2
  22. package/dist/i18n/index.js +1 -2
  23. package/dist/index.cjs +1 -2
  24. package/dist/index.js +1 -2
  25. package/dist/satellite/index.cjs +1 -2
  26. package/dist/satellite/index.js +1 -2
  27. package/dist/solana/index.cjs +1 -2
  28. package/dist/solana/index.js +1 -2
  29. package/dist/{solana-CQFZWAY7.cjs → solana-CVUSQUPL.cjs} +1 -2
  30. package/dist/{solana-6OCXX47U.js → solana-GDE2KIT6.js} +1 -2
  31. package/package.json +15 -15
  32. package/dist/chunk-3BMX6JWH.js.map +0 -1
  33. package/dist/chunk-H2RLZRJ4.js.map +0 -1
  34. package/dist/chunk-JFUJC4EJ.cjs.map +0 -1
  35. package/dist/chunk-NHKYALBZ.cjs.map +0 -1
  36. package/dist/chunk-PTHXIVB5.cjs.map +0 -1
  37. package/dist/chunk-QGCEN6MP.js.map +0 -1
  38. package/dist/chunk-RARO6QP2.js.map +0 -1
  39. package/dist/chunk-WSHZWOWS.cjs.map +0 -1
  40. package/dist/chunk-WVALNTUP.js.map +0 -1
  41. package/dist/chunk-YIZJUEA3.cjs.map +0 -1
  42. package/dist/components/index.cjs.map +0 -1
  43. package/dist/components/index.js.map +0 -1
  44. package/dist/evm/index.cjs.map +0 -1
  45. package/dist/evm/index.js.map +0 -1
  46. package/dist/evm-4RL5ZQMP.cjs.map +0 -1
  47. package/dist/evm-BHPO7QCV.js.map +0 -1
  48. package/dist/getChainsListByConnectorType-B3BLNZZH.js.map +0 -1
  49. package/dist/getChainsListByConnectorType-BXIDPPGC.cjs +0 -2
  50. package/dist/getChainsListByConnectorType-BXIDPPGC.cjs.map +0 -1
  51. package/dist/hooks/index.cjs.map +0 -1
  52. package/dist/hooks/index.js.map +0 -1
  53. package/dist/i18n/index.cjs.map +0 -1
  54. package/dist/i18n/index.js.map +0 -1
  55. package/dist/index.cjs.map +0 -1
  56. package/dist/index.js.map +0 -1
  57. package/dist/satellite/index.cjs.map +0 -1
  58. package/dist/satellite/index.js.map +0 -1
  59. package/dist/solana/index.cjs.map +0 -1
  60. package/dist/solana/index.js.map +0 -1
  61. package/dist/solana-6OCXX47U.js.map +0 -1
  62. package/dist/solana-CQFZWAY7.cjs.map +0 -1
@@ -1,2 +1 @@
1
- 'use strict';var chunkWSHZWOWS_cjs=require('./chunk-WSHZWOWS.cjs'),chunkPTHXIVB5_cjs=require('./chunk-PTHXIVB5.cjs'),chunkJFUJC4EJ_cjs=require('./chunk-JFUJC4EJ.cjs'),novaCore=require('@tuwaio/nova-core'),orbitCore=require('@tuwaio/orbit-core'),react=require('react');function Ce(e){let{abbreviateSymbols:t=12,maxNameLength:a=30,autoRetry:n=false,retryDelay:s=3e3}=e,o=chunkJFUJC4EJ_cjs.h(f=>f.activeConnection),i=chunkJFUJC4EJ_cjs.h(f=>f.getAdapter),r=react.useMemo(()=>o?.address,[o?.address]),d=react.useMemo(()=>o?.connectorType,[o?.connectorType]),c=react.useMemo(()=>d?i(orbitCore.getAdapterFromConnectorType(d??`${orbitCore.OrbitAdapter.EVM}:not-connected`)):null,[i,d]),[u,b]=react.useState(null),[K,p]=react.useState(null),[g,m]=react.useState(false),[N,v]=react.useState(null),L=react.useRef(null),T=react.useRef(null),I=react.useMemo(()=>{if(!c)return {hasNameResolver:false,hasAvatarResolver:false};let f="getName"in c&&typeof c.getName=="function",C="getAvatar"in c&&typeof c.getAvatar=="function";return {hasNameResolver:f,hasAvatarResolver:C}},[c]),h=react.useCallback(()=>{L.current&&(L.current.abort(),L.current=null),T.current!==null&&(clearTimeout(T.current),T.current=null);},[]),x=react.useCallback(async()=>{if(h(),!r||!c||!I.hasNameResolver){b(null),p(null),m(false),v(null);return}L.current=new AbortController;let{signal:f}=L.current;m(true),v(null),b(null),p(null);try{if(f.aborted)return;let C=await c.getName?.(r);if(f.aborted)return;if(C&&(b(C),I.hasAvatarResolver))try{let S=await c.getAvatar?.(C);f.aborted||p(S??null);}catch(S){console.warn("Failed to fetch avatar:",S),f.aborted||p(null);}}catch(C){if(f.aborted)return;let S=C instanceof Error?C.message:"Failed to fetch name service data";console.error("Failed to fetch name service data:",C),v(S),b(null),p(null),n&&(T.current=setTimeout(()=>{x();},s));}finally{f.aborted||m(false);}},[r,c,I,n,s,h]),Q=react.useCallback(()=>{v(null),x();},[x]);react.useEffect(()=>(x(),h),[x,h]),react.useEffect(()=>h,[h]);let X=react.useMemo(()=>u?u.length>a?novaCore.textCenterEllipsis(u,t,t):u:r?novaCore.textCenterEllipsis(r,t,t):void 0,[u,r,a,t]);return {ensName:u,ensAvatar:K,isLoading:g,ensNameAbbreviated:X,error:N,retry:Q}}var R=class extends Error{constructor(t="useNovaConnect must be used within NovaConnectProvider"){super(t),this.name="NovaConnectProviderError";}},V=react.createContext(void 0),ye=()=>{let e=react.useContext(V);if(!e)throw new R;return e},ve=()=>react.useContext(V)!==void 0,ge=()=>react.useContext(V)??null;var oe=react.createContext(chunkPTHXIVB5_cjs.a),D=()=>react.useContext(oe),xe=e=>D()[e],Se=e=>{let t=D(),a={};for(let n of e)a[n]=t[n];return a},Oe=(e,t)=>!!e[t]?.trim(),Te=e=>{let t=D(),n={actions:["connectWallet","disconnect","connecting","connected","tryAgain","back","connect","close"],states:["success","error","replaced","loading","idle"],accessibility:["chainSelector","closeModal","selectChain","walletControls","openWalletModal"],transactions:["transactionLoading","transactionSuccess","transactionError","transactionReplaced","recent"]}[e],s={};for(let o of n)s[o]=t[o];return s},ke=e=>e===chunkPTHXIVB5_cjs.a,Ee=(e,t,a)=>{let n=e[t];return n&&n.trim()?n:a||chunkPTHXIVB5_cjs.a[t]||t.toString()},Be=(e,t)=>{let a={};for(let n of t)a[n]=e[n];return a};var y={[orbitCore.OrbitAdapter.EVM]:1,[orbitCore.OrbitAdapter.SOLANA]:"mainnet",[orbitCore.OrbitAdapter.Starknet]:"0x534e5f4d41494e"};function Me({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case orbitCore.OrbitAdapter.EVM:{let n=t?.[0];return n?.id&&typeof n.id=="number"?n.id:(process.env.NODE_ENV==="development"&&!t?.length&&console.warn("getConnectChainId: No EVM chains configured, using Ethereum Mainnet"),y[orbitCore.OrbitAdapter.EVM])}case orbitCore.OrbitAdapter.SOLANA:{if(a&&typeof a=="object"){let n=Object.keys(a);if(n.length>0)return n[0]}return process.env.NODE_ENV==="development"&&!a&&console.warn("getConnectChainId: No Solana RPC URLs configured, using mainnet"),y[orbitCore.OrbitAdapter.SOLANA]}case orbitCore.OrbitAdapter.Starknet:return process.env.NODE_ENV==="development"&&console.info("getConnectChainId: Using default Starknet chain ID"),y[orbitCore.OrbitAdapter.Starknet];default:return process.env.NODE_ENV==="development"&&console.error("getConnectChainId: Unknown adapter:",e),y[orbitCore.OrbitAdapter.EVM]}}function Pe({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case orbitCore.OrbitAdapter.EVM:return t?.map(n=>n.id).filter(Boolean)??[y[orbitCore.OrbitAdapter.EVM]];case orbitCore.OrbitAdapter.SOLANA:return a?Object.keys(a):[y[orbitCore.OrbitAdapter.SOLANA]];case orbitCore.OrbitAdapter.Starknet:return [y[orbitCore.OrbitAdapter.Starknet]];default:return [y[orbitCore.OrbitAdapter.EVM]]}}function ae(e,t){if(!e||typeof e!="object")return null;let a=e;if(!a.name||typeof a.name!="string")return null;let n;if("icon"in a){let s=a.icon;if(typeof s=="string")n=s;else if(s&&typeof s=="object"&&"toString"in s&&typeof s.toString=="function")try{n=s.toString();}catch{}}return {name:a.name,icon:n,adapter:t,originalConnector:a}}function U({connectors:e,excludeConnectors:t=["injected"]}={connectors:{}}){if(!e||Object.keys(e).length===0)return [];let a=new Set(t.map(o=>orbitCore.formatConnectorName(o))),n=[];Object.entries(e).forEach(([o,i])=>{if(Array.isArray(i)){let r=o;i.forEach(d=>{let c=ae(d,r);if(c){let u=orbitCore.formatConnectorName(c.name);a.has(u)||n.push(c);}});}});let s=new Map;return n.forEach(o=>{let i=orbitCore.formatConnectorName(o.name);s.has(i)||s.set(i,{name:o.name,icon:o.icon,adapters:[],connectors:[]});let r=s.get(i);r.adapters.includes(o.adapter)||r.adapters.push(o.adapter);let d=Object.assign({},o.originalConnector,{adapter:o.adapter});r.connectors.push(d),!r.icon&&o.icon&&(r.icon=o.icon);}),Array.from(s.values()).sort((o,i)=>o.name.localeCompare(i.name,void 0,{sensitivity:"base"}))}function De(e){return Object.values(e).some(t=>Array.isArray(t)&&t.length>0)}function re(e){try{if(e&&typeof e=="object"&&e.adapter)return e.adapter}catch{}}function _(e,t){return re(e)===t}function Fe({connectors:e,selectedAdapter:t}){if(!e||Object.keys(e).length===0)return [];let a=U({connectors:e});return t?a.filter(n=>n.adapters.includes(t)&&n.connectors.some(s=>_(s,t))).map(n=>{let s=n.connectors.filter(o=>_(o,t));return {...n,adapters:[t],connectors:s}}).filter(n=>n.connectors.length>0):a}function $e(e,t){let a=e[t];return Array.isArray(a)&&a.length>0}function tt(){return console.warn("getAvailableSolanaClusters: Using synchronous fallback with limited functionality. Use getAvailableSolanaClustersAsync for complete cluster detection."),[]}function nt(e){return console.warn("isValidSolanaCluster: Using synchronous fallback with basic validation. Use isValidSolanaClusterAsync for comprehensive cluster validation."),["mainnet","devnet","testnet","localnet"].includes(e)}function bt({activeConnection:e,appChains:t,solanaRPCUrls:a}){let[n,s]=react.useState([]),[o,i]=react.useState(false);return react.useEffect(()=>{let r=true;return (async()=>{i(true);try{if(!e){let b=await chunkWSHZWOWS_cjs.a({connectorType:`${orbitCore.OrbitAdapter.EVM}:not-connected`,appChains:t,solanaRPCUrls:a,chains:[]});r&&s(b);return}let c=chunkWSHZWOWS_cjs.i(e),u=await chunkWSHZWOWS_cjs.a({connectorType:e.connectorType,appChains:t,solanaRPCUrls:a,chains:c});r&&s(u);}catch(c){console.error("Failed to fetch chains list:",c),r&&s([]);}finally{r&&i(false);}})(),()=>{r=false;}},[e,t,a]),{chainsList:n,isLoading:o}}function ht(){let[e,t]=react.useState({}),[a,n]=react.useState(false),s=react.useRef(null),o=chunkJFUJC4EJ_cjs.h(p=>p.activeConnection),i=chunkJFUJC4EJ_cjs.h(p=>p.getAdapter),r=react.useMemo(()=>o?.chainId&&o?.address?`${o.address}-${o.chainId}`:null,[o?.chainId,o?.address]),d=react.useMemo(()=>o?.connectorType?i(orbitCore.getAdapterFromConnectorType(o.connectorType)):null,[i,o?.connectorType]),c=react.useMemo(()=>d&&"getBalance"in d&&typeof d.getBalance=="function",[d]),u=react.useCallback(async(p=false)=>{if(!o?.address||!d||!o?.chainId||!r||!c){n(false);return}let g=`${r}-${Date.now()}`;if(s.current=g,!p&&e[r]){n(false);return}n(true);try{let m=await d.getBalance(o.address,o.chainId);s.current===g&&t(N=>({...N,[r]:m}));}catch(m){console.error(`Failed to fetch native balance for ${r}:`,m),p&&s.current===g&&t(N=>{let v={...N};return delete v[r],v});}finally{s.current===g&&n(false);}},[o?.address,d,o?.chainId,r,c,e]),b=react.useCallback(()=>{u(true);},[u]);return react.useEffect(()=>{r&&c&&!e[r]?u(false):(!r||!c)&&n(false);},[r,c,e,u]),react.useEffect(()=>()=>{s.current=null;},[]),{balance:react.useMemo(()=>r&&e[r]||null,[r,e]),isLoading:a,refetch:b}}exports.a=Ce;exports.b=R;exports.c=V;exports.d=ye;exports.e=ve;exports.f=ge;exports.g=oe;exports.h=D;exports.i=xe;exports.j=Se;exports.k=Oe;exports.l=Te;exports.m=ke;exports.n=Ee;exports.o=Be;exports.p=Me;exports.q=Pe;exports.r=U;exports.s=De;exports.t=Fe;exports.u=$e;exports.v=tt;exports.w=nt;exports.x=bt;exports.y=ht;//# sourceMappingURL=chunk-YIZJUEA3.cjs.map
2
- //# sourceMappingURL=chunk-YIZJUEA3.cjs.map
1
+ 'use strict';var chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkWTDBHPAK_cjs=require('./chunk-WTDBHPAK.cjs'),chunk2SFIZVDC_cjs=require('./chunk-2SFIZVDC.cjs'),novaCore=require('@tuwaio/nova-core'),orbitCore=require('@tuwaio/orbit-core'),react=require('react');function Ce(e){let{abbreviateSymbols:t=12,maxNameLength:a=30,autoRetry:n=false,retryDelay:s=3e3}=e,o=chunk2SFIZVDC_cjs.h(f=>f.activeConnection),i=chunk2SFIZVDC_cjs.h(f=>f.getAdapter),r=react.useMemo(()=>o?.address,[o?.address]),d=react.useMemo(()=>o?.connectorType,[o?.connectorType]),c=react.useMemo(()=>d?i(orbitCore.getAdapterFromConnectorType(d??`${orbitCore.OrbitAdapter.EVM}:not-connected`)):null,[i,d]),[u,b]=react.useState(null),[K,p]=react.useState(null),[g,m]=react.useState(false),[N,v]=react.useState(null),L=react.useRef(null),T=react.useRef(null),I=react.useMemo(()=>{if(!c)return {hasNameResolver:false,hasAvatarResolver:false};let f="getName"in c&&typeof c.getName=="function",C="getAvatar"in c&&typeof c.getAvatar=="function";return {hasNameResolver:f,hasAvatarResolver:C}},[c]),h=react.useCallback(()=>{L.current&&(L.current.abort(),L.current=null),T.current!==null&&(clearTimeout(T.current),T.current=null);},[]),x=react.useCallback(async()=>{if(h(),!r||!c||!I.hasNameResolver){b(null),p(null),m(false),v(null);return}L.current=new AbortController;let{signal:f}=L.current;m(true),v(null),b(null),p(null);try{if(f.aborted)return;let C=await c.getName?.(r);if(f.aborted)return;if(C&&(b(C),I.hasAvatarResolver))try{let S=await c.getAvatar?.(C);f.aborted||p(S??null);}catch(S){console.warn("Failed to fetch avatar:",S),f.aborted||p(null);}}catch(C){if(f.aborted)return;let S=C instanceof Error?C.message:"Failed to fetch name service data";console.error("Failed to fetch name service data:",C),v(S),b(null),p(null),n&&(T.current=setTimeout(()=>{x();},s));}finally{f.aborted||m(false);}},[r,c,I,n,s,h]),Q=react.useCallback(()=>{v(null),x();},[x]);react.useEffect(()=>(x(),h),[x,h]),react.useEffect(()=>h,[h]);let X=react.useMemo(()=>u?u.length>a?novaCore.textCenterEllipsis(u,t,t):u:r?novaCore.textCenterEllipsis(r,t,t):void 0,[u,r,a,t]);return {ensName:u,ensAvatar:K,isLoading:g,ensNameAbbreviated:X,error:N,retry:Q}}var R=class extends Error{constructor(t="useNovaConnect must be used within NovaConnectProvider"){super(t),this.name="NovaConnectProviderError";}},V=react.createContext(void 0),ye=()=>{let e=react.useContext(V);if(!e)throw new R;return e},ve=()=>react.useContext(V)!==void 0,ge=()=>react.useContext(V)??null;var oe=react.createContext(chunkWTDBHPAK_cjs.a),D=()=>react.useContext(oe),xe=e=>D()[e],Se=e=>{let t=D(),a={};for(let n of e)a[n]=t[n];return a},Oe=(e,t)=>!!e[t]?.trim(),Te=e=>{let t=D(),n={actions:["connectWallet","disconnect","connecting","connected","tryAgain","back","connect","close"],states:["success","error","replaced","loading","idle"],accessibility:["chainSelector","closeModal","selectChain","walletControls","openWalletModal"],transactions:["transactionLoading","transactionSuccess","transactionError","transactionReplaced","recent"]}[e],s={};for(let o of n)s[o]=t[o];return s},ke=e=>e===chunkWTDBHPAK_cjs.a,Ee=(e,t,a)=>{let n=e[t];return n&&n.trim()?n:a||chunkWTDBHPAK_cjs.a[t]||t.toString()},Be=(e,t)=>{let a={};for(let n of t)a[n]=e[n];return a};var y={[orbitCore.OrbitAdapter.EVM]:1,[orbitCore.OrbitAdapter.SOLANA]:"mainnet",[orbitCore.OrbitAdapter.Starknet]:"0x534e5f4d41494e"};function Me({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case orbitCore.OrbitAdapter.EVM:{let n=t?.[0];return n?.id&&typeof n.id=="number"?n.id:(process.env.NODE_ENV==="development"&&!t?.length&&console.warn("getConnectChainId: No EVM chains configured, using Ethereum Mainnet"),y[orbitCore.OrbitAdapter.EVM])}case orbitCore.OrbitAdapter.SOLANA:{if(a&&typeof a=="object"){let n=Object.keys(a);if(n.length>0)return n[0]}return process.env.NODE_ENV==="development"&&!a&&console.warn("getConnectChainId: No Solana RPC URLs configured, using mainnet"),y[orbitCore.OrbitAdapter.SOLANA]}case orbitCore.OrbitAdapter.Starknet:return process.env.NODE_ENV==="development"&&console.info("getConnectChainId: Using default Starknet chain ID"),y[orbitCore.OrbitAdapter.Starknet];default:return process.env.NODE_ENV==="development"&&console.error("getConnectChainId: Unknown adapter:",e),y[orbitCore.OrbitAdapter.EVM]}}function Pe({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case orbitCore.OrbitAdapter.EVM:return t?.map(n=>n.id).filter(Boolean)??[y[orbitCore.OrbitAdapter.EVM]];case orbitCore.OrbitAdapter.SOLANA:return a?Object.keys(a):[y[orbitCore.OrbitAdapter.SOLANA]];case orbitCore.OrbitAdapter.Starknet:return [y[orbitCore.OrbitAdapter.Starknet]];default:return [y[orbitCore.OrbitAdapter.EVM]]}}function ae(e,t){if(!e||typeof e!="object")return null;let a=e;if(!a.name||typeof a.name!="string")return null;let n;if("icon"in a){let s=a.icon;if(typeof s=="string")n=s;else if(s&&typeof s=="object"&&"toString"in s&&typeof s.toString=="function")try{n=s.toString();}catch{}}return {name:a.name,icon:n,adapter:t,originalConnector:a}}function U({connectors:e,excludeConnectors:t=["injected"]}={connectors:{}}){if(!e||Object.keys(e).length===0)return [];let a=new Set(t.map(o=>orbitCore.formatConnectorName(o))),n=[];Object.entries(e).forEach(([o,i])=>{if(Array.isArray(i)){let r=o;i.forEach(d=>{let c=ae(d,r);if(c){let u=orbitCore.formatConnectorName(c.name);a.has(u)||n.push(c);}});}});let s=new Map;return n.forEach(o=>{let i=orbitCore.formatConnectorName(o.name);s.has(i)||s.set(i,{name:o.name,icon:o.icon,adapters:[],connectors:[]});let r=s.get(i);r.adapters.includes(o.adapter)||r.adapters.push(o.adapter);let d=Object.assign({},o.originalConnector,{adapter:o.adapter});r.connectors.push(d),!r.icon&&o.icon&&(r.icon=o.icon);}),Array.from(s.values()).sort((o,i)=>o.name.localeCompare(i.name,void 0,{sensitivity:"base"}))}function De(e){return Object.values(e).some(t=>Array.isArray(t)&&t.length>0)}function re(e){try{if(e&&typeof e=="object"&&e.adapter)return e.adapter}catch{}}function _(e,t){return re(e)===t}function Fe({connectors:e,selectedAdapter:t}){if(!e||Object.keys(e).length===0)return [];let a=U({connectors:e});return t?a.filter(n=>n.adapters.includes(t)&&n.connectors.some(s=>_(s,t))).map(n=>{let s=n.connectors.filter(o=>_(o,t));return {...n,adapters:[t],connectors:s}}).filter(n=>n.connectors.length>0):a}function $e(e,t){let a=e[t];return Array.isArray(a)&&a.length>0}function tt(){return console.warn("getAvailableSolanaClusters: Using synchronous fallback with limited functionality. Use getAvailableSolanaClustersAsync for complete cluster detection."),[]}function nt(e){return console.warn("isValidSolanaCluster: Using synchronous fallback with basic validation. Use isValidSolanaClusterAsync for comprehensive cluster validation."),["mainnet","devnet","testnet","localnet"].includes(e)}function bt({activeConnection:e,appChains:t,solanaRPCUrls:a}){let[n,s]=react.useState([]),[o,i]=react.useState(false);return react.useEffect(()=>{let r=true;return (async()=>{i(true);try{if(!e){let b=await chunkK44IHM6B_cjs.a({connectorType:`${orbitCore.OrbitAdapter.EVM}:not-connected`,appChains:t,solanaRPCUrls:a,chains:[]});r&&s(b);return}let c=chunkK44IHM6B_cjs.i(e),u=await chunkK44IHM6B_cjs.a({connectorType:e.connectorType,appChains:t,solanaRPCUrls:a,chains:c});r&&s(u);}catch(c){console.error("Failed to fetch chains list:",c),r&&s([]);}finally{r&&i(false);}})(),()=>{r=false;}},[e,t,a]),{chainsList:n,isLoading:o}}function ht(){let[e,t]=react.useState({}),[a,n]=react.useState(false),s=react.useRef(null),o=chunk2SFIZVDC_cjs.h(p=>p.activeConnection),i=chunk2SFIZVDC_cjs.h(p=>p.getAdapter),r=react.useMemo(()=>o?.chainId&&o?.address?`${o.address}-${o.chainId}`:null,[o?.chainId,o?.address]),d=react.useMemo(()=>o?.connectorType?i(orbitCore.getAdapterFromConnectorType(o.connectorType)):null,[i,o?.connectorType]),c=react.useMemo(()=>d&&"getBalance"in d&&typeof d.getBalance=="function",[d]),u=react.useCallback(async(p=false)=>{if(!o?.address||!d||!o?.chainId||!r||!c){n(false);return}let g=`${r}-${Date.now()}`;if(s.current=g,!p&&e[r]){n(false);return}n(true);try{let m=await d.getBalance(o.address,o.chainId);s.current===g&&t(N=>({...N,[r]:m}));}catch(m){console.error(`Failed to fetch native balance for ${r}:`,m),p&&s.current===g&&t(N=>{let v={...N};return delete v[r],v});}finally{s.current===g&&n(false);}},[o?.address,d,o?.chainId,r,c,e]),b=react.useCallback(()=>{u(true);},[u]);return react.useEffect(()=>{r&&c&&!e[r]?u(false):(!r||!c)&&n(false);},[r,c,e,u]),react.useEffect(()=>()=>{s.current=null;},[]),{balance:react.useMemo(()=>r&&e[r]||null,[r,e]),isLoading:a,refetch:b}}exports.a=Ce;exports.b=R;exports.c=V;exports.d=ye;exports.e=ve;exports.f=ge;exports.g=oe;exports.h=D;exports.i=xe;exports.j=Se;exports.k=Oe;exports.l=Te;exports.m=ke;exports.n=Ee;exports.o=Be;exports.p=Me;exports.q=Pe;exports.r=U;exports.s=De;exports.t=Fe;exports.u=$e;exports.v=tt;exports.w=nt;exports.x=bt;exports.y=ht;
@@ -1,2 +1 @@
1
- import {a as a$1,i}from'./chunk-QGCEN6MP.js';import {a}from'./chunk-3BMX6JWH.js';import {h}from'./chunk-WVALNTUP.js';import {textCenterEllipsis}from'@tuwaio/nova-core';import {OrbitAdapter,getAdapterFromConnectorType,formatConnectorName}from'@tuwaio/orbit-core';import {createContext,useContext,useMemo,useState,useRef,useCallback,useEffect}from'react';function Ce(e){let{abbreviateSymbols:t=12,maxNameLength:a=30,autoRetry:n=false,retryDelay:s=3e3}=e,o=h(f=>f.activeConnection),i=h(f=>f.getAdapter),r=useMemo(()=>o?.address,[o?.address]),d=useMemo(()=>o?.connectorType,[o?.connectorType]),c=useMemo(()=>d?i(getAdapterFromConnectorType(d??`${OrbitAdapter.EVM}:not-connected`)):null,[i,d]),[u,b]=useState(null),[K,p]=useState(null),[g,m]=useState(false),[N,v]=useState(null),L=useRef(null),T=useRef(null),I=useMemo(()=>{if(!c)return {hasNameResolver:false,hasAvatarResolver:false};let f="getName"in c&&typeof c.getName=="function",C="getAvatar"in c&&typeof c.getAvatar=="function";return {hasNameResolver:f,hasAvatarResolver:C}},[c]),h$1=useCallback(()=>{L.current&&(L.current.abort(),L.current=null),T.current!==null&&(clearTimeout(T.current),T.current=null);},[]),x=useCallback(async()=>{if(h$1(),!r||!c||!I.hasNameResolver){b(null),p(null),m(false),v(null);return}L.current=new AbortController;let{signal:f}=L.current;m(true),v(null),b(null),p(null);try{if(f.aborted)return;let C=await c.getName?.(r);if(f.aborted)return;if(C&&(b(C),I.hasAvatarResolver))try{let S=await c.getAvatar?.(C);f.aborted||p(S??null);}catch(S){console.warn("Failed to fetch avatar:",S),f.aborted||p(null);}}catch(C){if(f.aborted)return;let S=C instanceof Error?C.message:"Failed to fetch name service data";console.error("Failed to fetch name service data:",C),v(S),b(null),p(null),n&&(T.current=setTimeout(()=>{x();},s));}finally{f.aborted||m(false);}},[r,c,I,n,s,h$1]),Q=useCallback(()=>{v(null),x();},[x]);useEffect(()=>(x(),h$1),[x,h$1]),useEffect(()=>h$1,[h$1]);let X=useMemo(()=>u?u.length>a?textCenterEllipsis(u,t,t):u:r?textCenterEllipsis(r,t,t):void 0,[u,r,a,t]);return {ensName:u,ensAvatar:K,isLoading:g,ensNameAbbreviated:X,error:N,retry:Q}}var R=class extends Error{constructor(t="useNovaConnect must be used within NovaConnectProvider"){super(t),this.name="NovaConnectProviderError";}},V=createContext(void 0),ye=()=>{let e=useContext(V);if(!e)throw new R;return e},ve=()=>useContext(V)!==void 0,ge=()=>useContext(V)??null;var oe=createContext(a),D=()=>useContext(oe),xe=e=>D()[e],Se=e=>{let t=D(),a={};for(let n of e)a[n]=t[n];return a},Oe=(e,t)=>!!e[t]?.trim(),Te=e=>{let t=D(),n={actions:["connectWallet","disconnect","connecting","connected","tryAgain","back","connect","close"],states:["success","error","replaced","loading","idle"],accessibility:["chainSelector","closeModal","selectChain","walletControls","openWalletModal"],transactions:["transactionLoading","transactionSuccess","transactionError","transactionReplaced","recent"]}[e],s={};for(let o of n)s[o]=t[o];return s},ke=e=>e===a,Ee=(e,t,a$1)=>{let n=e[t];return n&&n.trim()?n:a$1||a[t]||t.toString()},Be=(e,t)=>{let a={};for(let n of t)a[n]=e[n];return a};var y={[OrbitAdapter.EVM]:1,[OrbitAdapter.SOLANA]:"mainnet",[OrbitAdapter.Starknet]:"0x534e5f4d41494e"};function Me({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case OrbitAdapter.EVM:{let n=t?.[0];return n?.id&&typeof n.id=="number"?n.id:(process.env.NODE_ENV==="development"&&!t?.length&&console.warn("getConnectChainId: No EVM chains configured, using Ethereum Mainnet"),y[OrbitAdapter.EVM])}case OrbitAdapter.SOLANA:{if(a&&typeof a=="object"){let n=Object.keys(a);if(n.length>0)return n[0]}return process.env.NODE_ENV==="development"&&!a&&console.warn("getConnectChainId: No Solana RPC URLs configured, using mainnet"),y[OrbitAdapter.SOLANA]}case OrbitAdapter.Starknet:return process.env.NODE_ENV==="development"&&console.info("getConnectChainId: Using default Starknet chain ID"),y[OrbitAdapter.Starknet];default:return process.env.NODE_ENV==="development"&&console.error("getConnectChainId: Unknown adapter:",e),y[OrbitAdapter.EVM]}}function Pe({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case OrbitAdapter.EVM:return t?.map(n=>n.id).filter(Boolean)??[y[OrbitAdapter.EVM]];case OrbitAdapter.SOLANA:return a?Object.keys(a):[y[OrbitAdapter.SOLANA]];case OrbitAdapter.Starknet:return [y[OrbitAdapter.Starknet]];default:return [y[OrbitAdapter.EVM]]}}function ae(e,t){if(!e||typeof e!="object")return null;let a=e;if(!a.name||typeof a.name!="string")return null;let n;if("icon"in a){let s=a.icon;if(typeof s=="string")n=s;else if(s&&typeof s=="object"&&"toString"in s&&typeof s.toString=="function")try{n=s.toString();}catch{}}return {name:a.name,icon:n,adapter:t,originalConnector:a}}function U({connectors:e,excludeConnectors:t=["injected"]}={connectors:{}}){if(!e||Object.keys(e).length===0)return [];let a=new Set(t.map(o=>formatConnectorName(o))),n=[];Object.entries(e).forEach(([o,i])=>{if(Array.isArray(i)){let r=o;i.forEach(d=>{let c=ae(d,r);if(c){let u=formatConnectorName(c.name);a.has(u)||n.push(c);}});}});let s=new Map;return n.forEach(o=>{let i=formatConnectorName(o.name);s.has(i)||s.set(i,{name:o.name,icon:o.icon,adapters:[],connectors:[]});let r=s.get(i);r.adapters.includes(o.adapter)||r.adapters.push(o.adapter);let d=Object.assign({},o.originalConnector,{adapter:o.adapter});r.connectors.push(d),!r.icon&&o.icon&&(r.icon=o.icon);}),Array.from(s.values()).sort((o,i)=>o.name.localeCompare(i.name,void 0,{sensitivity:"base"}))}function De(e){return Object.values(e).some(t=>Array.isArray(t)&&t.length>0)}function re(e){try{if(e&&typeof e=="object"&&e.adapter)return e.adapter}catch{}}function _(e,t){return re(e)===t}function Fe({connectors:e,selectedAdapter:t}){if(!e||Object.keys(e).length===0)return [];let a=U({connectors:e});return t?a.filter(n=>n.adapters.includes(t)&&n.connectors.some(s=>_(s,t))).map(n=>{let s=n.connectors.filter(o=>_(o,t));return {...n,adapters:[t],connectors:s}}).filter(n=>n.connectors.length>0):a}function $e(e,t){let a=e[t];return Array.isArray(a)&&a.length>0}function tt(){return console.warn("getAvailableSolanaClusters: Using synchronous fallback with limited functionality. Use getAvailableSolanaClustersAsync for complete cluster detection."),[]}function nt(e){return console.warn("isValidSolanaCluster: Using synchronous fallback with basic validation. Use isValidSolanaClusterAsync for comprehensive cluster validation."),["mainnet","devnet","testnet","localnet"].includes(e)}function bt({activeConnection:e,appChains:t,solanaRPCUrls:a}){let[n,s]=useState([]),[o,i$1]=useState(false);return useEffect(()=>{let r=true;return (async()=>{i$1(true);try{if(!e){let b=await a$1({connectorType:`${OrbitAdapter.EVM}:not-connected`,appChains:t,solanaRPCUrls:a,chains:[]});r&&s(b);return}let c=i(e),u=await a$1({connectorType:e.connectorType,appChains:t,solanaRPCUrls:a,chains:c});r&&s(u);}catch(c){console.error("Failed to fetch chains list:",c),r&&s([]);}finally{r&&i$1(false);}})(),()=>{r=false;}},[e,t,a]),{chainsList:n,isLoading:o}}function ht(){let[e,t]=useState({}),[a,n]=useState(false),s=useRef(null),o=h(p=>p.activeConnection),i=h(p=>p.getAdapter),r=useMemo(()=>o?.chainId&&o?.address?`${o.address}-${o.chainId}`:null,[o?.chainId,o?.address]),d=useMemo(()=>o?.connectorType?i(getAdapterFromConnectorType(o.connectorType)):null,[i,o?.connectorType]),c=useMemo(()=>d&&"getBalance"in d&&typeof d.getBalance=="function",[d]),u=useCallback(async(p=false)=>{if(!o?.address||!d||!o?.chainId||!r||!c){n(false);return}let g=`${r}-${Date.now()}`;if(s.current=g,!p&&e[r]){n(false);return}n(true);try{let m=await d.getBalance(o.address,o.chainId);s.current===g&&t(N=>({...N,[r]:m}));}catch(m){console.error(`Failed to fetch native balance for ${r}:`,m),p&&s.current===g&&t(N=>{let v={...N};return delete v[r],v});}finally{s.current===g&&n(false);}},[o?.address,d,o?.chainId,r,c,e]),b=useCallback(()=>{u(true);},[u]);return useEffect(()=>{r&&c&&!e[r]?u(false):(!r||!c)&&n(false);},[r,c,e,u]),useEffect(()=>()=>{s.current=null;},[]),{balance:useMemo(()=>r&&e[r]||null,[r,e]),isLoading:a,refetch:b}}export{Ce as a,R as b,V as c,ye as d,ve as e,ge as f,oe as g,D as h,xe as i,Se as j,Oe as k,Te as l,ke as m,Ee as n,Be as o,Me as p,Pe as q,U as r,De as s,Fe as t,$e as u,tt as v,nt as w,bt as x,ht as y};//# sourceMappingURL=chunk-H2RLZRJ4.js.map
2
- //# sourceMappingURL=chunk-H2RLZRJ4.js.map
1
+ import {a as a$1,i}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-T6H7HGCM.js';import {h}from'./chunk-S3RQJGCL.js';import {textCenterEllipsis}from'@tuwaio/nova-core';import {OrbitAdapter,getAdapterFromConnectorType,formatConnectorName}from'@tuwaio/orbit-core';import {createContext,useContext,useMemo,useState,useRef,useCallback,useEffect}from'react';function Ce(e){let{abbreviateSymbols:t=12,maxNameLength:a=30,autoRetry:n=false,retryDelay:s=3e3}=e,o=h(f=>f.activeConnection),i=h(f=>f.getAdapter),r=useMemo(()=>o?.address,[o?.address]),d=useMemo(()=>o?.connectorType,[o?.connectorType]),c=useMemo(()=>d?i(getAdapterFromConnectorType(d??`${OrbitAdapter.EVM}:not-connected`)):null,[i,d]),[u,b]=useState(null),[K,p]=useState(null),[g,m]=useState(false),[N,v]=useState(null),L=useRef(null),T=useRef(null),I=useMemo(()=>{if(!c)return {hasNameResolver:false,hasAvatarResolver:false};let f="getName"in c&&typeof c.getName=="function",C="getAvatar"in c&&typeof c.getAvatar=="function";return {hasNameResolver:f,hasAvatarResolver:C}},[c]),h$1=useCallback(()=>{L.current&&(L.current.abort(),L.current=null),T.current!==null&&(clearTimeout(T.current),T.current=null);},[]),x=useCallback(async()=>{if(h$1(),!r||!c||!I.hasNameResolver){b(null),p(null),m(false),v(null);return}L.current=new AbortController;let{signal:f}=L.current;m(true),v(null),b(null),p(null);try{if(f.aborted)return;let C=await c.getName?.(r);if(f.aborted)return;if(C&&(b(C),I.hasAvatarResolver))try{let S=await c.getAvatar?.(C);f.aborted||p(S??null);}catch(S){console.warn("Failed to fetch avatar:",S),f.aborted||p(null);}}catch(C){if(f.aborted)return;let S=C instanceof Error?C.message:"Failed to fetch name service data";console.error("Failed to fetch name service data:",C),v(S),b(null),p(null),n&&(T.current=setTimeout(()=>{x();},s));}finally{f.aborted||m(false);}},[r,c,I,n,s,h$1]),Q=useCallback(()=>{v(null),x();},[x]);useEffect(()=>(x(),h$1),[x,h$1]),useEffect(()=>h$1,[h$1]);let X=useMemo(()=>u?u.length>a?textCenterEllipsis(u,t,t):u:r?textCenterEllipsis(r,t,t):void 0,[u,r,a,t]);return {ensName:u,ensAvatar:K,isLoading:g,ensNameAbbreviated:X,error:N,retry:Q}}var R=class extends Error{constructor(t="useNovaConnect must be used within NovaConnectProvider"){super(t),this.name="NovaConnectProviderError";}},V=createContext(void 0),ye=()=>{let e=useContext(V);if(!e)throw new R;return e},ve=()=>useContext(V)!==void 0,ge=()=>useContext(V)??null;var oe=createContext(a),D=()=>useContext(oe),xe=e=>D()[e],Se=e=>{let t=D(),a={};for(let n of e)a[n]=t[n];return a},Oe=(e,t)=>!!e[t]?.trim(),Te=e=>{let t=D(),n={actions:["connectWallet","disconnect","connecting","connected","tryAgain","back","connect","close"],states:["success","error","replaced","loading","idle"],accessibility:["chainSelector","closeModal","selectChain","walletControls","openWalletModal"],transactions:["transactionLoading","transactionSuccess","transactionError","transactionReplaced","recent"]}[e],s={};for(let o of n)s[o]=t[o];return s},ke=e=>e===a,Ee=(e,t,a$1)=>{let n=e[t];return n&&n.trim()?n:a$1||a[t]||t.toString()},Be=(e,t)=>{let a={};for(let n of t)a[n]=e[n];return a};var y={[OrbitAdapter.EVM]:1,[OrbitAdapter.SOLANA]:"mainnet",[OrbitAdapter.Starknet]:"0x534e5f4d41494e"};function Me({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case OrbitAdapter.EVM:{let n=t?.[0];return n?.id&&typeof n.id=="number"?n.id:(process.env.NODE_ENV==="development"&&!t?.length&&console.warn("getConnectChainId: No EVM chains configured, using Ethereum Mainnet"),y[OrbitAdapter.EVM])}case OrbitAdapter.SOLANA:{if(a&&typeof a=="object"){let n=Object.keys(a);if(n.length>0)return n[0]}return process.env.NODE_ENV==="development"&&!a&&console.warn("getConnectChainId: No Solana RPC URLs configured, using mainnet"),y[OrbitAdapter.SOLANA]}case OrbitAdapter.Starknet:return process.env.NODE_ENV==="development"&&console.info("getConnectChainId: Using default Starknet chain ID"),y[OrbitAdapter.Starknet];default:return process.env.NODE_ENV==="development"&&console.error("getConnectChainId: Unknown adapter:",e),y[OrbitAdapter.EVM]}}function Pe({selectedAdapter:e,appChains:t,solanaRPCUrls:a}){switch(e){case OrbitAdapter.EVM:return t?.map(n=>n.id).filter(Boolean)??[y[OrbitAdapter.EVM]];case OrbitAdapter.SOLANA:return a?Object.keys(a):[y[OrbitAdapter.SOLANA]];case OrbitAdapter.Starknet:return [y[OrbitAdapter.Starknet]];default:return [y[OrbitAdapter.EVM]]}}function ae(e,t){if(!e||typeof e!="object")return null;let a=e;if(!a.name||typeof a.name!="string")return null;let n;if("icon"in a){let s=a.icon;if(typeof s=="string")n=s;else if(s&&typeof s=="object"&&"toString"in s&&typeof s.toString=="function")try{n=s.toString();}catch{}}return {name:a.name,icon:n,adapter:t,originalConnector:a}}function U({connectors:e,excludeConnectors:t=["injected"]}={connectors:{}}){if(!e||Object.keys(e).length===0)return [];let a=new Set(t.map(o=>formatConnectorName(o))),n=[];Object.entries(e).forEach(([o,i])=>{if(Array.isArray(i)){let r=o;i.forEach(d=>{let c=ae(d,r);if(c){let u=formatConnectorName(c.name);a.has(u)||n.push(c);}});}});let s=new Map;return n.forEach(o=>{let i=formatConnectorName(o.name);s.has(i)||s.set(i,{name:o.name,icon:o.icon,adapters:[],connectors:[]});let r=s.get(i);r.adapters.includes(o.adapter)||r.adapters.push(o.adapter);let d=Object.assign({},o.originalConnector,{adapter:o.adapter});r.connectors.push(d),!r.icon&&o.icon&&(r.icon=o.icon);}),Array.from(s.values()).sort((o,i)=>o.name.localeCompare(i.name,void 0,{sensitivity:"base"}))}function De(e){return Object.values(e).some(t=>Array.isArray(t)&&t.length>0)}function re(e){try{if(e&&typeof e=="object"&&e.adapter)return e.adapter}catch{}}function _(e,t){return re(e)===t}function Fe({connectors:e,selectedAdapter:t}){if(!e||Object.keys(e).length===0)return [];let a=U({connectors:e});return t?a.filter(n=>n.adapters.includes(t)&&n.connectors.some(s=>_(s,t))).map(n=>{let s=n.connectors.filter(o=>_(o,t));return {...n,adapters:[t],connectors:s}}).filter(n=>n.connectors.length>0):a}function $e(e,t){let a=e[t];return Array.isArray(a)&&a.length>0}function tt(){return console.warn("getAvailableSolanaClusters: Using synchronous fallback with limited functionality. Use getAvailableSolanaClustersAsync for complete cluster detection."),[]}function nt(e){return console.warn("isValidSolanaCluster: Using synchronous fallback with basic validation. Use isValidSolanaClusterAsync for comprehensive cluster validation."),["mainnet","devnet","testnet","localnet"].includes(e)}function bt({activeConnection:e,appChains:t,solanaRPCUrls:a}){let[n,s]=useState([]),[o,i$1]=useState(false);return useEffect(()=>{let r=true;return (async()=>{i$1(true);try{if(!e){let b=await a$1({connectorType:`${OrbitAdapter.EVM}:not-connected`,appChains:t,solanaRPCUrls:a,chains:[]});r&&s(b);return}let c=i(e),u=await a$1({connectorType:e.connectorType,appChains:t,solanaRPCUrls:a,chains:c});r&&s(u);}catch(c){console.error("Failed to fetch chains list:",c),r&&s([]);}finally{r&&i$1(false);}})(),()=>{r=false;}},[e,t,a]),{chainsList:n,isLoading:o}}function ht(){let[e,t]=useState({}),[a,n]=useState(false),s=useRef(null),o=h(p=>p.activeConnection),i=h(p=>p.getAdapter),r=useMemo(()=>o?.chainId&&o?.address?`${o.address}-${o.chainId}`:null,[o?.chainId,o?.address]),d=useMemo(()=>o?.connectorType?i(getAdapterFromConnectorType(o.connectorType)):null,[i,o?.connectorType]),c=useMemo(()=>d&&"getBalance"in d&&typeof d.getBalance=="function",[d]),u=useCallback(async(p=false)=>{if(!o?.address||!d||!o?.chainId||!r||!c){n(false);return}let g=`${r}-${Date.now()}`;if(s.current=g,!p&&e[r]){n(false);return}n(true);try{let m=await d.getBalance(o.address,o.chainId);s.current===g&&t(N=>({...N,[r]:m}));}catch(m){console.error(`Failed to fetch native balance for ${r}:`,m),p&&s.current===g&&t(N=>{let v={...N};return delete v[r],v});}finally{s.current===g&&n(false);}},[o?.address,d,o?.chainId,r,c,e]),b=useCallback(()=>{u(true);},[u]);return useEffect(()=>{r&&c&&!e[r]?u(false):(!r||!c)&&n(false);},[r,c,e,u]),useEffect(()=>()=>{s.current=null;},[]),{balance:useMemo(()=>r&&e[r]||null,[r,e]),isLoading:a,refetch:b}}export{Ce as a,R as b,V as c,ye as d,ve as e,ge as f,oe as g,D as h,xe as i,Se as j,Oe as k,Te as l,ke as m,Ee as n,Be as o,Me as p,Pe as q,U as r,De as s,Fe as t,$e as u,tt as v,nt as w,bt as x,ht as y};
@@ -1,2 +1 @@
1
- 'use strict';var chunkNHKYALBZ_cjs=require('../chunk-NHKYALBZ.cjs');require('../chunk-YIZJUEA3.cjs'),require('../chunk-WSHZWOWS.cjs'),require('../chunk-PTHXIVB5.cjs'),require('../chunk-JFUJC4EJ.cjs');Object.defineProperty(exports,"AboutWallets",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.s}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.a}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.f}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.k}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.u}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.i}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.r}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.l}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.p}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.m}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.q}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.v}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.w}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.y}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.x}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.z}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.o}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.A}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.B}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.C}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.t}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.e}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.d}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.h}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.b}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.c}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.D}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.j}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.g}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunkNHKYALBZ_cjs.n}});//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunk4BGH6VFE_cjs=require('../chunk-4BGH6VFE.cjs');require('../chunk-YDPI5PAY.cjs'),require('../chunk-K44IHM6B.cjs'),require('../chunk-WTDBHPAK.cjs'),require('../chunk-2SFIZVDC.cjs');Object.defineProperty(exports,"AboutWallets",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.s}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.a}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.f}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.k}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.u}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.i}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.r}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.l}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.p}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.m}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.q}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.v}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.w}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.y}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.x}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.z}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.o}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.A}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.B}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.C}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.t}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.e}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.d}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.h}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.b}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.c}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.D}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.j}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.g}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunk4BGH6VFE_cjs.n}});
@@ -1,2 +1 @@
1
- export{s as AboutWallets,a as ChainListRenderer,f as ChainSelector,k as ConnectButton,u as ConnectCard,i as ConnectedContent,r as ConnectedModal,l as ConnectedModalFooter,p as ConnectedModalMainContent,m as ConnectedModalNameAndBalance,q as ConnectedModalTxHistory,v as Connecting,w as ConnectorsBlock,y as ConnectorsSelections,x as Disclaimer,z as GetWallet,o as IconButton,A as ImpersonateForm,B as NetworkSelections,C as NetworkTabs,t as RecentBadge,e as ScrollableChainList,d as SelectContentAnimated,h as StatusIcon,b as ToBottomButton,c as ToTopButton,D as ToastError,j as WaitForConnectionContent,g as WalletAvatar,n as WalletIcon}from'../chunk-RARO6QP2.js';import'../chunk-H2RLZRJ4.js';import'../chunk-QGCEN6MP.js';import'../chunk-3BMX6JWH.js';import'../chunk-WVALNTUP.js';//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ export{s as AboutWallets,a as ChainListRenderer,f as ChainSelector,k as ConnectButton,u as ConnectCard,i as ConnectedContent,r as ConnectedModal,l as ConnectedModalFooter,p as ConnectedModalMainContent,m as ConnectedModalNameAndBalance,q as ConnectedModalTxHistory,v as Connecting,w as ConnectorsBlock,y as ConnectorsSelections,x as Disclaimer,z as GetWallet,o as IconButton,A as ImpersonateForm,B as NetworkSelections,C as NetworkTabs,t as RecentBadge,e as ScrollableChainList,d as SelectContentAnimated,h as StatusIcon,b as ToBottomButton,c as ToTopButton,D as ToastError,j as WaitForConnectionContent,g as WalletAvatar,n as WalletIcon}from'../chunk-Y53IY57F.js';import'../chunk-YO3PXLI4.js';import'../chunk-S3IRVZMG.js';import'../chunk-T6H7HGCM.js';import'../chunk-S3RQJGCL.js';
@@ -1,2 +1 @@
1
- 'use strict';var evm=require('@tuwaio/satellite-react/evm');async function a(){try{let r=await new Function('return import("@tuwaio/satellite-react/evm").catch(error => { console.warn("Failed to load EVM exports:", error); return null; })')();if(!r)return {available:!1,error:"Failed to load EVM exports"};let o=r.EVMConnectorsWatcher;return {...r,available:!0,EVMConnectorsWatcher:o}}catch(e){return console.warn("Failed to load EVM exports:",e),{available:false,error:e instanceof Error?e.message:"Unknown error loading EVM exports"}}}Object.defineProperty(exports,"EVMConnectorsWatcher",{enumerable:true,get:function(){return evm.EVMConnectorsWatcher}});exports.getEvmExports=a;//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var evm=require('@tuwaio/satellite-react/evm');async function a(){try{let r=await new Function('return import("@tuwaio/satellite-react/evm").catch(error => { console.warn("Failed to load EVM exports:", error); return null; })')();if(!r)return {available:!1,error:"Failed to load EVM exports"};let o=r.EVMConnectorsWatcher;return {...r,available:!0,EVMConnectorsWatcher:o}}catch(e){return console.warn("Failed to load EVM exports:",e),{available:false,error:e instanceof Error?e.message:"Unknown error loading EVM exports"}}}Object.defineProperty(exports,"EVMConnectorsWatcher",{enumerable:true,get:function(){return evm.EVMConnectorsWatcher}});exports.getEvmExports=a;
package/dist/evm/index.js CHANGED
@@ -1,2 +1 @@
1
- export{EVMConnectorsWatcher}from'@tuwaio/satellite-react/evm';async function a(){try{let r=await new Function('return import("@tuwaio/satellite-react/evm").catch(error => { console.warn("Failed to load EVM exports:", error); return null; })')();if(!r)return {available:!1,error:"Failed to load EVM exports"};let o=r.EVMConnectorsWatcher;return {...r,available:!0,EVMConnectorsWatcher:o}}catch(e){return console.warn("Failed to load EVM exports:",e),{available:false,error:e instanceof Error?e.message:"Unknown error loading EVM exports"}}}export{a as getEvmExports};//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ export{EVMConnectorsWatcher}from'@tuwaio/satellite-react/evm';async function a(){try{let r=await new Function('return import("@tuwaio/satellite-react/evm").catch(error => { console.warn("Failed to load EVM exports:", error); return null; })')();if(!r)return {available:!1,error:"Failed to load EVM exports"};let o=r.EVMConnectorsWatcher;return {...r,available:!0,EVMConnectorsWatcher:o}}catch(e){return console.warn("Failed to load EVM exports:",e),{available:false,error:e instanceof Error?e.message:"Unknown error loading EVM exports"}}}export{a as getEvmExports};
@@ -1,2 +1 @@
1
- async function n(){try{let{getEvmChains:r,isEvmChainList:e}=await import('@tuwaio/orbit-evm');return {getEvmChains:r,isEvmChainList:e}}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {getChains(e){return r?.getEvmChains?r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}export{i as createEvmAdapter};//# sourceMappingURL=evm-BHPO7QCV.js.map
2
- //# sourceMappingURL=evm-BHPO7QCV.js.map
1
+ async function n(){try{let{getEvmChains:r,isEvmChainList:e}=await import('@tuwaio/orbit-evm');return {getEvmChains:r,isEvmChainList:e}}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {getChains(e){return r?.getEvmChains?r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}export{i as createEvmAdapter};
@@ -1,2 +1 @@
1
- 'use strict';async function n(){try{let{getEvmChains:r,isEvmChainList:e}=await import('@tuwaio/orbit-evm');return {getEvmChains:r,isEvmChainList:e}}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {getChains(e){return r?.getEvmChains?r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}exports.createEvmAdapter=i;//# sourceMappingURL=evm-4RL5ZQMP.cjs.map
2
- //# sourceMappingURL=evm-4RL5ZQMP.cjs.map
1
+ 'use strict';async function n(){try{let{getEvmChains:r,isEvmChainList:e}=await import('@tuwaio/orbit-evm');return {getEvmChains:r,isEvmChainList:e}}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {getChains(e){return r?.getEvmChains?r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}exports.createEvmAdapter=i;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs');Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.j}});
@@ -1,2 +1 @@
1
- export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClusters,a as getChainsListByConnectorType,b as getChainsListByConnectorTypeSync,i as getWalletChains,c as isEvmChainList,e as isEvmChainListSync,d as isSolanaChainList,f as isSolanaChainListSync,h as isValidSolanaCluster,j as preloadChainAdapters}from'./chunk-QGCEN6MP.js';//# sourceMappingURL=getChainsListByConnectorType-B3BLNZZH.js.map
2
- //# sourceMappingURL=getChainsListByConnectorType-B3BLNZZH.js.map
1
+ export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClusters,a as getChainsListByConnectorType,b as getChainsListByConnectorTypeSync,i as getWalletChains,c as isEvmChainList,e as isEvmChainListSync,d as isSolanaChainList,f as isSolanaChainListSync,h as isValidSolanaCluster,j as preloadChainAdapters}from'./chunk-S3IRVZMG.js';
@@ -1,2 +1 @@
1
- 'use strict';var chunkYIZJUEA3_cjs=require('../chunk-YIZJUEA3.cjs');require('../chunk-WSHZWOWS.cjs'),require('../chunk-PTHXIVB5.cjs'),require('../chunk-JFUJC4EJ.cjs');Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.y}});//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkYDPI5PAY_cjs=require('../chunk-YDPI5PAY.cjs');require('../chunk-K44IHM6B.cjs'),require('../chunk-WTDBHPAK.cjs'),require('../chunk-2SFIZVDC.cjs');Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.y}});
@@ -1,2 +1 @@
1
- export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,n as getLabelWithFallback,k as hasLabel,m as isDefaultLabels,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,x as useWalletChainsList,y as useWalletNativeBalance}from'../chunk-H2RLZRJ4.js';import'../chunk-QGCEN6MP.js';import'../chunk-3BMX6JWH.js';import'../chunk-WVALNTUP.js';//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,n as getLabelWithFallback,k as hasLabel,m as isDefaultLabels,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,x as useWalletChainsList,y as useWalletNativeBalance}from'../chunk-YO3PXLI4.js';import'../chunk-S3IRVZMG.js';import'../chunk-T6H7HGCM.js';import'../chunk-S3RQJGCL.js';
@@ -1,2 +1 @@
1
- 'use strict';var chunkPTHXIVB5_cjs=require('../chunk-PTHXIVB5.cjs');Object.defineProperty(exports,"defaultLabels",{enumerable:true,get:function(){return chunkPTHXIVB5_cjs.a}});Object.defineProperty(exports,"ukrainianLabels",{enumerable:true,get:function(){return chunkPTHXIVB5_cjs.b}});//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkWTDBHPAK_cjs=require('../chunk-WTDBHPAK.cjs');Object.defineProperty(exports,"defaultLabels",{enumerable:true,get:function(){return chunkWTDBHPAK_cjs.a}});Object.defineProperty(exports,"ukrainianLabels",{enumerable:true,get:function(){return chunkWTDBHPAK_cjs.b}});
@@ -1,2 +1 @@
1
- export{a as defaultLabels,b as ukrainianLabels}from'../chunk-3BMX6JWH.js';//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ export{a as defaultLabels,b as ukrainianLabels}from'../chunk-T6H7HGCM.js';
package/dist/index.cjs CHANGED
@@ -1,2 +1 @@
1
- 'use strict';var chunkNHKYALBZ_cjs=require('./chunk-NHKYALBZ.cjs'),chunkYIZJUEA3_cjs=require('./chunk-YIZJUEA3.cjs'),chunkWSHZWOWS_cjs=require('./chunk-WSHZWOWS.cjs'),chunkPTHXIVB5_cjs=require('./chunk-PTHXIVB5.cjs'),chunkJFUJC4EJ_cjs=require('./chunk-JFUJC4EJ.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsxRuntime.jsx(chunkNHKYALBZ_cjs.D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=chunkYIZJUEA3_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=chunkYIZJUEA3_cjs.h(),u=chunkJFUJC4EJ_cjs.h(l=>l.switchNetworkError),x=chunkJFUJC4EJ_cjs.h(l=>l.activeConnection),B=chunkJFUJC4EJ_cjs.h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=react.useRef(new Set),R=react.useRef(null),s=react.useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=react.useCallback(()=>{O(()=>{R.current&&(reactToastify.toast.dismiss(R.current),R.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=react.useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=react.useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),react.useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=react.useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=react.useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,n,a]),h=react.useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsxRuntime.jsx(g,{...h})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkYIZJUEA3_cjs.g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?orbitCore.formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...a,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx("button",{ref:t,className:novaCore.cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...a,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:t,type:"button",onClick:e,className:novaCore.cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...a,children:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("main",{ref:t,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("footer",{ref:t,className:novaCore.cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...a,children:e}));ee.displayName="DefaultFooter";var te=react.forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=react.forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=react.forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsxRuntime.jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B,setIsConnected:E,connectModalContentType:g,selectedAdapter:d,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=chunkYIZJUEA3_cjs.d(),P=chunkJFUJC4EJ_cjs.h(c=>c.connectionError),R=chunkJFUJC4EJ_cjs.h(c=>c.getConnectors),s=chunkJFUJC4EJ_cjs.h(c=>c.connect),z=chunkJFUJC4EJ_cjs.h(c=>c.activeConnection),m=chunkYIZJUEA3_cjs.h(),W=react.useContext(chunkJFUJC4EJ_cjs.f),C=react.useMemo(()=>{if(t)return R()},[t,R]),D=react.useMemo(()=>chunkYIZJUEA3_cjs.t({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=react.useMemo(()=>({contentType:g,selectedAdapter:d,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t,error:F,connectors:C,filteredConnectors:D,labels:m}),[g,d,T,N,H,t,F,C,D,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),x(void 0),B(""),E(false));},[t]);let{components:v={},classNames:b={},handlers:p={},config:h={},childComponents:l={}}=a,y=v.ModalContainer||Jo,M=v.ModalHeader||Qo,V=v.InfoButton||Xo,_=v.Title||Yo,q=v.CloseButton||Zo,J=v.MainContent||oe,Q=v.Footer||ee,so=v.BackButton||te,X=v.ActionButton||ne,io=v.ActionDescription||re,G=v.EmptyState||ae,vo=v.Dialog||novaCore.Dialog,lo=v.DialogContent||novaCore.DialogContent,to=v.MotionDiv||framerMotion.motion.div,no=react.useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&T&&C&&ze(C[d],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d,T,C,m]),Y=react.useCallback(()=>"connectors",[g]),Z=react.useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,r):f(c);},[p?.onOpenChange,r,f]),go=react.useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(r,c):c();},[p?.onBack,r,u,Y]),bo=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(r):u("about");},[p?.onInfoClick,r,u]),j=react.useCallback(async(c,yo)=>{await s({connectorType:c,chainId:chunkYIZJUEA3_cjs.p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f(!1),400),ce=setTimeout(()=>E(!1),500);await orbitCore.delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s,o,d,e]),$=react.useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=react.useCallback(c=>{x(orbitCore.formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),ie=react.useCallback(()=>{switch(g){case "network":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkNHKYALBZ_cjs.C,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkNHKYALBZ_cjs.y,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:D,selectedAdapter:d,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f,withImpersonated:n,customization:l.connectorsSelections})]}):jsxRuntime.jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.s,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.z,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.v,{selectedAdapter:d,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.A,{selectedAdapter:d,impersonatedAddress:N,setImpersonatedAddress:B,customization:l.impersonateForm})}},[g,T,D,$,l,C,d,wo,H,N]),K=react.useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||!orbitCore.isAddress(c)||z?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(c),u("connecting"),await j(orbitCore.getConnectorTypeFromName(d??orbitCore.OrbitAdapter.EVM,T??""),d??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return P&&d&&T?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(r):await j(orbitCore.getConnectorTypeFromName(d,T),d);}}:void 0}},[g,m,p,r,d,C,N,P,j,T])(),le=react.useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsxRuntime.jsx(vo,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(lo,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(to,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(y,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsxRuntime.jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsxRuntime.jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsxRuntime.jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxRuntime.jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsxRuntime.jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(Mo,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=chunkJFUJC4EJ_cjs.h($=>$.activeConnection),d=chunkJFUJC4EJ_cjs.h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=react.useMemo(()=>T(chunkPTHXIVB5_cjs.a,o||{}),[o,T]),[z,m]=react.useState(false),[W,C]=react.useState(false),[D,F]=react.useState(false),[r,v]=react.useState(false),[b,p]=react.useState("idle"),[h,l]=react.useState("connectors"),[y,M]=react.useState(void 0),[V,_]=react.useState(void 0),[q,J]=react.useState(""),[Q,so]=react.useState(false),[X,io]=react.useState("main"),G=react.useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r,h,X,b]),vo=react.useMemo(()=>N(s,G),[s,N,G]),lo=react.useMemo(()=>P({appChains:n,solanaRPCUrls:a,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a,u,x,B,z,m,W,C,D,F,r,v,b,p,X,io,h,l,y,M,V,_,q,J,Q,so,P,G]),to=jsxRuntime.jsx(H,{customization:E?.errors}),no=jsxRuntime.jsx(O,{labels:vo,children:e}),Y=n||a?jsxRuntime.jsx(No,{withImpersonated:u,solanaRPCUrls:a,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a?jsxRuntime.jsx(chunkNHKYALBZ_cjs.r,{solanaRPCUrls:a,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxRuntime.jsxs(chunkYIZJUEA3_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxRuntime.jsxs(chunkYIZJUEA3_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-BXIDPPGC.cjs');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function qn(){try{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-BXIDPPGC.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),n&&t.push(orbitCore.OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?Co():fo()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.y}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.j}});exports.ErrorsProvider=Mo;exports.NovaConnectLabelsProvider=Eo;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=_n;exports.getEvmUtils=qn;exports.getSolanaUtils=Jn;exports.initializeBlockchainSupport=Qn;exports.isAdapterSupported=Xn;//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunk4BGH6VFE_cjs=require('./chunk-4BGH6VFE.cjs'),chunkYDPI5PAY_cjs=require('./chunk-YDPI5PAY.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkWTDBHPAK_cjs=require('./chunk-WTDBHPAK.cjs'),chunk2SFIZVDC_cjs=require('./chunk-2SFIZVDC.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsxRuntime.jsx(chunk4BGH6VFE_cjs.D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=chunkYDPI5PAY_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=chunkYDPI5PAY_cjs.h(),u=chunk2SFIZVDC_cjs.h(l=>l.switchNetworkError),x=chunk2SFIZVDC_cjs.h(l=>l.activeConnection),B=chunk2SFIZVDC_cjs.h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=react.useRef(new Set),R=react.useRef(null),s=react.useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=react.useCallback(()=>{O(()=>{R.current&&(reactToastify.toast.dismiss(R.current),R.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=react.useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=react.useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),react.useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=react.useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=react.useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,n,a]),h=react.useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsxRuntime.jsx(g,{...h})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkYDPI5PAY_cjs.g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?orbitCore.formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...a,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx("button",{ref:t,className:novaCore.cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...a,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:t,type:"button",onClick:e,className:novaCore.cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...a,children:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("main",{ref:t,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("footer",{ref:t,className:novaCore.cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...a,children:e}));ee.displayName="DefaultFooter";var te=react.forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=react.forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=react.forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsxRuntime.jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B,setIsConnected:E,connectModalContentType:g,selectedAdapter:d,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=chunkYDPI5PAY_cjs.d(),P=chunk2SFIZVDC_cjs.h(c=>c.connectionError),R=chunk2SFIZVDC_cjs.h(c=>c.getConnectors),s=chunk2SFIZVDC_cjs.h(c=>c.connect),z=chunk2SFIZVDC_cjs.h(c=>c.activeConnection),m=chunkYDPI5PAY_cjs.h(),W=react.useContext(chunk2SFIZVDC_cjs.f),C=react.useMemo(()=>{if(t)return R()},[t,R]),D=react.useMemo(()=>chunkYDPI5PAY_cjs.t({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=react.useMemo(()=>({contentType:g,selectedAdapter:d,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t,error:F,connectors:C,filteredConnectors:D,labels:m}),[g,d,T,N,H,t,F,C,D,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),x(void 0),B(""),E(false));},[t]);let{components:v={},classNames:b={},handlers:p={},config:h={},childComponents:l={}}=a,y=v.ModalContainer||Jo,M=v.ModalHeader||Qo,V=v.InfoButton||Xo,_=v.Title||Yo,q=v.CloseButton||Zo,J=v.MainContent||oe,Q=v.Footer||ee,so=v.BackButton||te,X=v.ActionButton||ne,io=v.ActionDescription||re,G=v.EmptyState||ae,vo=v.Dialog||novaCore.Dialog,lo=v.DialogContent||novaCore.DialogContent,to=v.MotionDiv||framerMotion.motion.div,no=react.useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&T&&C&&ze(C[d],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d,T,C,m]),Y=react.useCallback(()=>"connectors",[g]),Z=react.useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,r):f(c);},[p?.onOpenChange,r,f]),go=react.useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(r,c):c();},[p?.onBack,r,u,Y]),bo=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(r):u("about");},[p?.onInfoClick,r,u]),j=react.useCallback(async(c,yo)=>{await s({connectorType:c,chainId:chunkYDPI5PAY_cjs.p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f(!1),400),ce=setTimeout(()=>E(!1),500);await orbitCore.delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s,o,d,e]),$=react.useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=react.useCallback(c=>{x(orbitCore.formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),ie=react.useCallback(()=>{switch(g){case "network":return jsxRuntime.jsx(chunk4BGH6VFE_cjs.B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunk4BGH6VFE_cjs.C,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunk4BGH6VFE_cjs.y,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:D,selectedAdapter:d,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f,withImpersonated:n,customization:l.connectorsSelections})]}):jsxRuntime.jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunk4BGH6VFE_cjs.s,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunk4BGH6VFE_cjs.z,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunk4BGH6VFE_cjs.v,{selectedAdapter:d,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunk4BGH6VFE_cjs.A,{selectedAdapter:d,impersonatedAddress:N,setImpersonatedAddress:B,customization:l.impersonateForm})}},[g,T,D,$,l,C,d,wo,H,N]),K=react.useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||!orbitCore.isAddress(c)||z?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(c),u("connecting"),await j(orbitCore.getConnectorTypeFromName(d??orbitCore.OrbitAdapter.EVM,T??""),d??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return P&&d&&T?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(r):await j(orbitCore.getConnectorTypeFromName(d,T),d);}}:void 0}},[g,m,p,r,d,C,N,P,j,T])(),le=react.useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsxRuntime.jsx(vo,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(lo,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(to,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(y,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsxRuntime.jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsxRuntime.jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsxRuntime.jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxRuntime.jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsxRuntime.jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(Mo,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=chunk2SFIZVDC_cjs.h($=>$.activeConnection),d=chunk2SFIZVDC_cjs.h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=react.useMemo(()=>T(chunkWTDBHPAK_cjs.a,o||{}),[o,T]),[z,m]=react.useState(false),[W,C]=react.useState(false),[D,F]=react.useState(false),[r,v]=react.useState(false),[b,p]=react.useState("idle"),[h,l]=react.useState("connectors"),[y,M]=react.useState(void 0),[V,_]=react.useState(void 0),[q,J]=react.useState(""),[Q,so]=react.useState(false),[X,io]=react.useState("main"),G=react.useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r,h,X,b]),vo=react.useMemo(()=>N(s,G),[s,N,G]),lo=react.useMemo(()=>P({appChains:n,solanaRPCUrls:a,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a,u,x,B,z,m,W,C,D,F,r,v,b,p,X,io,h,l,y,M,V,_,q,J,Q,so,P,G]),to=jsxRuntime.jsx(H,{customization:E?.errors}),no=jsxRuntime.jsx(O,{labels:vo,children:e}),Y=n||a?jsxRuntime.jsx(No,{withImpersonated:u,solanaRPCUrls:a,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a?jsxRuntime.jsx(chunk4BGH6VFE_cjs.r,{solanaRPCUrls:a,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxRuntime.jsxs(chunkYDPI5PAY_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxRuntime.jsxs(chunkYDPI5PAY_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function qn(){try{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),n&&t.push(orbitCore.OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?Co():fo()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkYDPI5PAY_cjs.y}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.j}});exports.ErrorsProvider=Mo;exports.NovaConnectLabelsProvider=Eo;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=_n;exports.getEvmUtils=qn;exports.getSolanaUtils=Jn;exports.initializeBlockchainSupport=Qn;exports.isAdapterSupported=Xn;
package/dist/index.js CHANGED
@@ -1,2 +1 @@
1
- import {A,v,z,s,C,y,B,r,D}from'./chunk-RARO6QP2.js';import {d,h as h$1,t,p,g,c}from'./chunk-H2RLZRJ4.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,q as getAvailableChainIds,v as getAvailableSolanaClusters,p as getConnectChainId,t as getFilteredConnectors,r as getGroupedConnectors,n as getLabelWithFallback,s as hasAvailableConnectors,u as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,w as isValidSolanaCluster,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,x as useWalletChainsList,y as useWalletNativeBalance}from'./chunk-H2RLZRJ4.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-QGCEN6MP.js';import {a}from'./chunk-3BMX6JWH.js';import {h,f}from'./chunk-WVALNTUP.js';import {waitFor,delay,formatConnectorName,getConnectorTypeFromName,isAddress,impersonatedHelpers,OrbitAdapter,getNetworkData}from'@tuwaio/orbit-core';import {cn,DialogHeader,DialogTitle,DialogClose,CloseIcon,standardButtonClasses,Dialog,DialogContent,ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {forwardRef,memo,useContext,useMemo,useEffect,useCallback,useRef,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {InformationCircleIcon}from'@heroicons/react/24/outline';import {motion}from'framer-motion';var ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsx(D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=h$1(),u=h(l=>l.switchNetworkError),x=h(l=>l.activeConnection),B=h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=useRef(new Set),R=useRef(null),s=useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:Bounce}),[o,e,n,a]),h$2=useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsx(g,{...h$2})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("div",{ref:t,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("div",{ref:t,className:o,...a,children:jsx(DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsx("button",{ref:t,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...a,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:t,type:"button",onClick:e,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...a,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("main",{ref:t,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("footer",{ref:t,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...a,children:e}));ee.displayName="DefaultFooter";var te=forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsx("button",{ref:f,type:"button",onClick:e,className:cn(standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:cn(standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t$1,setIsConnectModalOpen:f$1,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B$1,setIsConnected:E,connectModalContentType:g,selectedAdapter:d$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=d(),P=h(c=>c.connectionError),R=h(c=>c.getConnectors),s$1=h(c=>c.connect),z$1=h(c=>c.activeConnection),m=h$1(),W=useContext(f),C$1=useMemo(()=>{if(t$1)return R()},[t$1,R]),D=useMemo(()=>t({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F=useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=useMemo(()=>({contentType:g,selectedAdapter:d$1,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t$1,error:F,connectors:C$1,filteredConnectors:D,labels:m}),[g,d$1,T,N,H,t$1,F,C$1,D,m]);useEffect(()=>{t$1&&(u("connectors"),O(void 0),x(void 0),B$1(""),E(false));},[t$1]);let{components:v$1={},classNames:b={},handlers:p$1={},config:h$2={},childComponents:l={}}=a,y$1=v$1.ModalContainer||Jo,M=v$1.ModalHeader||Qo,V=v$1.InfoButton||Xo,_=v$1.Title||Yo,q=v$1.CloseButton||Zo,J=v$1.MainContent||oe,Q=v$1.Footer||ee,so=v$1.BackButton||te,X=v$1.ActionButton||ne,io=v$1.ActionDescription||re,G=v$1.EmptyState||ae,vo=v$1.Dialog||Dialog,lo=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&T&&C$1&&ze(C$1[d$1],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d$1,T,C$1,m]),Y=useCallback(()=>"connectors",[g]),Z=useCallback(c=>{p$1?.onOpenChange?p$1.onOpenChange(c,r):f$1(c);},[p$1?.onOpenChange,r,f$1]),go=useCallback(()=>{let c=()=>u(Y());p$1?.onBack?p$1.onBack(r,c):c();},[p$1?.onBack,r,u,Y]),bo=useCallback(()=>{p$1?.onInfoClick?p$1.onInfoClick(r):u("about");},[p$1?.onInfoClick,r,u]),j=useCallback(async(c,yo)=>{await s$1({connectorType:c,chainId:p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f$1(!1),400),ce=setTimeout(()=>E(!1),500);await delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s$1,o,d$1,e]),$=useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=useCallback(c=>{x(formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u(formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d$1]),ie=useCallback(()=>{switch(g){case "network":return jsx(B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:c=>O(c),customization:l.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:D,selectedAdapter:d$1,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f$1,withImpersonated:n,customization:l.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsx(s,{customization:l.aboutWallets});case "getWallet":return jsx(z,{customization:l.getWallet});case "connecting":return jsx(v,{selectedAdapter:d$1,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsx(A,{selectedAdapter:d$1,impersonatedAddress:N,setImpersonatedAddress:B$1,customization:l.impersonateForm})}},[g,T,D,$,l,C$1,d$1,wo,H,N]),K=useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p$1.onActionClick?.connectors?p$1.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p$1.onActionClick?.getWallet?p$1.onActionClick.getWallet(r):window.open(getNetworkData(d$1??Object.keys(C$1)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p$1.onActionClick?.about?p$1.onActionClick.about(r):window.open(getNetworkData(d$1??Object.keys(C$1)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p$1.onActionClick?.impersonate)await p$1.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||!isAddress(c)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(c),u("connecting"),await j(getConnectorTypeFromName(d$1??OrbitAdapter.EVM,T??""),d$1??OrbitAdapter.EVM);}}};case "connecting":return P&&d$1&&T?{title:m.tryAgain,onClick:async()=>{p$1.onActionClick?.connecting?await p$1.onActionClick.connecting(r):await j(getConnectorTypeFromName(d$1,T),d$1);}}:void 0}},[g,m,p$1,r,d$1,C$1,N,P,j,T])(),le=useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsx(vo,{open:t$1,onOpenChange:Z,children:jsx(lo,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:h$2.animation?.disabled?0:h$2.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h$2.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h$2.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsx(Mo,{customization:o}),Ue=(o,e)=>deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a$1,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=h($=>$.activeConnection),d=h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=useMemo(()=>T(a,o||{}),[o,T]),[z,m]=useState(false),[W,C]=useState(false),[D,F]=useState(false),[r$1,v]=useState(false),[b,p]=useState("idle"),[h$1,l]=useState("connectors"),[y,M]=useState(void 0),[V,_]=useState(void 0),[q,J]=useState(""),[Q,so]=useState(false),[X,io]=useState("main"),G=useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r$1},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r$1,h$1,X,b]),vo=useMemo(()=>N(s,G),[s,N,G]),lo=useMemo(()=>P({appChains:n,solanaRPCUrls:a$1,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a$1,u,x,B,z,m,W,C,D,F,r$1,v,b,p,X,io,h$1,l,y,M,V,_,q,J,Q,so,P,G]),to=jsx(H,{customization:E?.errors}),no=jsx(O,{labels:vo,children:e}),Y=n||a$1?jsx(No,{withImpersonated:u,solanaRPCUrls:a$1,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a$1?jsx(r,{solanaRPCUrls:a$1,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxs(c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxs(c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-B3BLNZZH.js');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function qn(){try{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.js'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.js'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-B3BLNZZH.js'),t=[];e&&t.push(OrbitAdapter.EVM),n&&t.push(OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?Co():fo()}export{Mo as ErrorsProvider,Eo as NovaConnectLabelsProvider,Ke as NovaConnectProvider,_n as getBlockchainUtilities,qn as getEvmUtils,Jn as getSolanaUtils,Qn as initializeBlockchainSupport,Xn as isAdapterSupported};//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ import {A,v,z,s,C,y,B,r,D}from'./chunk-Y53IY57F.js';import {d,h as h$1,t,p,g,c}from'./chunk-YO3PXLI4.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,q as getAvailableChainIds,v as getAvailableSolanaClusters,p as getConnectChainId,t as getFilteredConnectors,r as getGroupedConnectors,n as getLabelWithFallback,s as hasAvailableConnectors,u as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,w as isValidSolanaCluster,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,x as useWalletChainsList,y as useWalletNativeBalance}from'./chunk-YO3PXLI4.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-T6H7HGCM.js';import {h,f}from'./chunk-S3RQJGCL.js';import {waitFor,delay,formatConnectorName,getConnectorTypeFromName,isAddress,impersonatedHelpers,OrbitAdapter,getNetworkData}from'@tuwaio/orbit-core';import {cn,DialogHeader,DialogTitle,DialogClose,CloseIcon,standardButtonClasses,Dialog,DialogContent,ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {forwardRef,memo,useContext,useMemo,useEffect,useCallback,useRef,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {InformationCircleIcon}from'@heroicons/react/24/outline';import {motion}from'framer-motion';var ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsx(D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=h$1(),u=h(l=>l.switchNetworkError),x=h(l=>l.activeConnection),B=h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=useRef(new Set),R=useRef(null),s=useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:Bounce}),[o,e,n,a]),h$2=useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsx(g,{...h$2})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("div",{ref:t,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("div",{ref:t,className:o,...a,children:jsx(DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsx("button",{ref:t,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...a,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:t,type:"button",onClick:e,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...a,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("main",{ref:t,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("footer",{ref:t,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...a,children:e}));ee.displayName="DefaultFooter";var te=forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsx("button",{ref:f,type:"button",onClick:e,className:cn(standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:cn(standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t$1,setIsConnectModalOpen:f$1,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B$1,setIsConnected:E,connectModalContentType:g,selectedAdapter:d$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=d(),P=h(c=>c.connectionError),R=h(c=>c.getConnectors),s$1=h(c=>c.connect),z$1=h(c=>c.activeConnection),m=h$1(),W=useContext(f),C$1=useMemo(()=>{if(t$1)return R()},[t$1,R]),D=useMemo(()=>t({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F=useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=useMemo(()=>({contentType:g,selectedAdapter:d$1,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t$1,error:F,connectors:C$1,filteredConnectors:D,labels:m}),[g,d$1,T,N,H,t$1,F,C$1,D,m]);useEffect(()=>{t$1&&(u("connectors"),O(void 0),x(void 0),B$1(""),E(false));},[t$1]);let{components:v$1={},classNames:b={},handlers:p$1={},config:h$2={},childComponents:l={}}=a,y$1=v$1.ModalContainer||Jo,M=v$1.ModalHeader||Qo,V=v$1.InfoButton||Xo,_=v$1.Title||Yo,q=v$1.CloseButton||Zo,J=v$1.MainContent||oe,Q=v$1.Footer||ee,so=v$1.BackButton||te,X=v$1.ActionButton||ne,io=v$1.ActionDescription||re,G=v$1.EmptyState||ae,vo=v$1.Dialog||Dialog,lo=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&T&&C$1&&ze(C$1[d$1],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d$1,T,C$1,m]),Y=useCallback(()=>"connectors",[g]),Z=useCallback(c=>{p$1?.onOpenChange?p$1.onOpenChange(c,r):f$1(c);},[p$1?.onOpenChange,r,f$1]),go=useCallback(()=>{let c=()=>u(Y());p$1?.onBack?p$1.onBack(r,c):c();},[p$1?.onBack,r,u,Y]),bo=useCallback(()=>{p$1?.onInfoClick?p$1.onInfoClick(r):u("about");},[p$1?.onInfoClick,r,u]),j=useCallback(async(c,yo)=>{await s$1({connectorType:c,chainId:p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f$1(!1),400),ce=setTimeout(()=>E(!1),500);await delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s$1,o,d$1,e]),$=useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=useCallback(c=>{x(formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u(formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d$1]),ie=useCallback(()=>{switch(g){case "network":return jsx(B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:c=>O(c),customization:l.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:D,selectedAdapter:d$1,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f$1,withImpersonated:n,customization:l.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsx(s,{customization:l.aboutWallets});case "getWallet":return jsx(z,{customization:l.getWallet});case "connecting":return jsx(v,{selectedAdapter:d$1,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsx(A,{selectedAdapter:d$1,impersonatedAddress:N,setImpersonatedAddress:B$1,customization:l.impersonateForm})}},[g,T,D,$,l,C$1,d$1,wo,H,N]),K=useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p$1.onActionClick?.connectors?p$1.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p$1.onActionClick?.getWallet?p$1.onActionClick.getWallet(r):window.open(getNetworkData(d$1??Object.keys(C$1)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p$1.onActionClick?.about?p$1.onActionClick.about(r):window.open(getNetworkData(d$1??Object.keys(C$1)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p$1.onActionClick?.impersonate)await p$1.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||!isAddress(c)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(c),u("connecting"),await j(getConnectorTypeFromName(d$1??OrbitAdapter.EVM,T??""),d$1??OrbitAdapter.EVM);}}};case "connecting":return P&&d$1&&T?{title:m.tryAgain,onClick:async()=>{p$1.onActionClick?.connecting?await p$1.onActionClick.connecting(r):await j(getConnectorTypeFromName(d$1,T),d$1);}}:void 0}},[g,m,p$1,r,d$1,C$1,N,P,j,T])(),le=useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsx(vo,{open:t$1,onOpenChange:Z,children:jsx(lo,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:h$2.animation?.disabled?0:h$2.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h$2.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h$2.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsx(Mo,{customization:o}),Ue=(o,e)=>deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a$1,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=h($=>$.activeConnection),d=h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=useMemo(()=>T(a,o||{}),[o,T]),[z,m]=useState(false),[W,C]=useState(false),[D,F]=useState(false),[r$1,v]=useState(false),[b,p]=useState("idle"),[h$1,l]=useState("connectors"),[y,M]=useState(void 0),[V,_]=useState(void 0),[q,J]=useState(""),[Q,so]=useState(false),[X,io]=useState("main"),G=useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r$1},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r$1,h$1,X,b]),vo=useMemo(()=>N(s,G),[s,N,G]),lo=useMemo(()=>P({appChains:n,solanaRPCUrls:a$1,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a$1,u,x,B,z,m,W,C,D,F,r$1,v,b,p,X,io,h$1,l,y,M,V,_,q,J,Q,so,P,G]),to=jsx(H,{customization:E?.errors}),no=jsx(O,{labels:vo,children:e}),Y=n||a$1?jsx(No,{withImpersonated:u,solanaRPCUrls:a$1,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a$1?jsx(r,{solanaRPCUrls:a$1,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxs(c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxs(c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-YZZUYC6D.js');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function qn(){try{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.js'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.js'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-YZZUYC6D.js'),t=[];e&&t.push(OrbitAdapter.EVM),n&&t.push(OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?Co():fo()}export{Mo as ErrorsProvider,Eo as NovaConnectLabelsProvider,Ke as NovaConnectProvider,_n as getBlockchainUtilities,qn as getEvmUtils,Jn as getSolanaUtils,Qn as initializeBlockchainSupport,Xn as isAdapterSupported};
@@ -1,2 +1 @@
1
- 'use strict';var chunkJFUJC4EJ_cjs=require('../chunk-JFUJC4EJ.cjs');Object.defineProperty(exports,"AllConnectors",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.a}});Object.defineProperty(exports,"Connection",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.b}});Object.defineProperty(exports,"Connector",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.c}});Object.defineProperty(exports,"SatelliteConnectProvider",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.d}});Object.defineProperty(exports,"SatelliteConnectProviderProps",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.e}});Object.defineProperty(exports,"SatelliteStoreContext",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.f}});Object.defineProperty(exports,"useInitializeAutoConnect",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.g}});Object.defineProperty(exports,"useSatelliteConnectStore",{enumerable:true,get:function(){return chunkJFUJC4EJ_cjs.h}});//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunk2SFIZVDC_cjs=require('../chunk-2SFIZVDC.cjs');Object.defineProperty(exports,"AllConnectors",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.a}});Object.defineProperty(exports,"Connection",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.b}});Object.defineProperty(exports,"Connector",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.c}});Object.defineProperty(exports,"SatelliteConnectProvider",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.d}});Object.defineProperty(exports,"SatelliteConnectProviderProps",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.e}});Object.defineProperty(exports,"SatelliteStoreContext",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.f}});Object.defineProperty(exports,"useInitializeAutoConnect",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.g}});Object.defineProperty(exports,"useSatelliteConnectStore",{enumerable:true,get:function(){return chunk2SFIZVDC_cjs.h}});
@@ -1,2 +1 @@
1
- export{a as AllConnectors,b as Connection,c as Connector,d as SatelliteConnectProvider,e as SatelliteConnectProviderProps,f as SatelliteStoreContext,g as useInitializeAutoConnect,h as useSatelliteConnectStore}from'../chunk-WVALNTUP.js';//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ export{a as AllConnectors,b as Connection,c as Connector,d as SatelliteConnectProvider,e as SatelliteConnectProviderProps,f as SatelliteStoreContext,g as useInitializeAutoConnect,h as useSatelliteConnectStore}from'../chunk-S3RQJGCL.js';
@@ -1,2 +1 @@
1
- 'use strict';var solana=require('@tuwaio/satellite-react/solana');async function t(){try{let a=await new Function('return import("@tuwaio/satellite-react/solana").catch(error => { console.warn("Failed to load Solana exports:", error); return null; })')();if(!a)return {available:!1,error:"Failed to load Solana exports"};let r=a.SolanaConnectorsWatcher;return {...a,available:!0,SolanaConnectorsWatcher:r}}catch(o){return console.warn("Failed to load Solana exports:",o),{available:false,error:o instanceof Error?o.message:"Unknown error loading Solana exports"}}}Object.defineProperty(exports,"SolanaConnectorsWatcher",{enumerable:true,get:function(){return solana.SolanaConnectorsWatcher}});exports.getSolanaExports=t;//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var solana=require('@tuwaio/satellite-react/solana');async function t(){try{let a=await new Function('return import("@tuwaio/satellite-react/solana").catch(error => { console.warn("Failed to load Solana exports:", error); return null; })')();if(!a)return {available:!1,error:"Failed to load Solana exports"};let r=a.SolanaConnectorsWatcher;return {...a,available:!0,SolanaConnectorsWatcher:r}}catch(o){return console.warn("Failed to load Solana exports:",o),{available:false,error:o instanceof Error?o.message:"Unknown error loading Solana exports"}}}Object.defineProperty(exports,"SolanaConnectorsWatcher",{enumerable:true,get:function(){return solana.SolanaConnectorsWatcher}});exports.getSolanaExports=t;
@@ -1,2 +1 @@
1
- export{SolanaConnectorsWatcher}from'@tuwaio/satellite-react/solana';async function t(){try{let a=await new Function('return import("@tuwaio/satellite-react/solana").catch(error => { console.warn("Failed to load Solana exports:", error); return null; })')();if(!a)return {available:!1,error:"Failed to load Solana exports"};let r=a.SolanaConnectorsWatcher;return {...a,available:!0,SolanaConnectorsWatcher:r}}catch(o){return console.warn("Failed to load Solana exports:",o),{available:false,error:o instanceof Error?o.message:"Unknown error loading Solana exports"}}}export{t as getSolanaExports};//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
1
+ export{SolanaConnectorsWatcher}from'@tuwaio/satellite-react/solana';async function t(){try{let a=await new Function('return import("@tuwaio/satellite-react/solana").catch(error => { console.warn("Failed to load Solana exports:", error); return null; })')();if(!a)return {available:!1,error:"Failed to load Solana exports"};let r=a.SolanaConnectorsWatcher;return {...a,available:!0,SolanaConnectorsWatcher:r}}catch(o){return console.warn("Failed to load Solana exports:",o),{available:false,error:o instanceof Error?o.message:"Unknown error loading Solana exports"}}}export{t as getSolanaExports};
@@ -1,2 +1 @@
1
- 'use strict';async function l(){try{let{getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}=await import('@tuwaio/orbit-solana');return {getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await l();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}exports.createSolanaAdapter=r;//# sourceMappingURL=solana-CQFZWAY7.cjs.map
2
- //# sourceMappingURL=solana-CQFZWAY7.cjs.map
1
+ 'use strict';async function l(){try{let{getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}=await import('@tuwaio/orbit-solana');return {getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await l();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}exports.createSolanaAdapter=r;
@@ -1,2 +1 @@
1
- async function l(){try{let{getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}=await import('@tuwaio/orbit-solana');return {getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await l();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}export{r as createSolanaAdapter};//# sourceMappingURL=solana-6OCXX47U.js.map
2
- //# sourceMappingURL=solana-6OCXX47U.js.map
1
+ async function l(){try{let{getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}=await import('@tuwaio/orbit-solana');return {getSolanaClusters:a,isSolanaChainList:t,getAvailableSolanaClusters:e,isValidSolanaCluster:n}}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await l();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}export{r as createSolanaAdapter};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuwaio/nova-connect",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "private": false,
5
5
  "author": "Oleksandr Tkach",
6
6
  "license": "Apache-2.0",
@@ -197,26 +197,26 @@
197
197
  "@heroicons/react": "^2.2.0",
198
198
  "@radix-ui/react-dialog": "^1.1.15",
199
199
  "@radix-ui/react-select": "^2.2.6",
200
- "@tuwaio/orbit-core": "^0.2.1",
201
- "@tuwaio/orbit-evm": "^0.2.3",
202
- "@tuwaio/orbit-solana": "^0.2.1",
203
- "@tuwaio/satellite-react": "^0.2.3",
204
- "@tuwaio/satellite-core": "^0.2.1",
205
- "@tuwaio/satellite-evm": "^0.2.3",
206
- "@tuwaio/satellite-solana": "^0.2.3",
207
- "@tuwaio/pulsar-core": "^0.3.1",
200
+ "@tuwaio/orbit-core": "^0.2.2",
201
+ "@tuwaio/orbit-evm": "^0.2.5",
202
+ "@tuwaio/orbit-solana": "^0.2.2",
203
+ "@tuwaio/satellite-react": "1.0.0-fix-optimization-alpha.1.d6a8b2d",
204
+ "@tuwaio/satellite-core": "1.0.0-fix-optimization-alpha.1.d6a8b2d",
205
+ "@tuwaio/satellite-evm": "1.0.0-fix-optimization-alpha.1.d6a8b2d",
206
+ "@tuwaio/satellite-solana": "1.0.0-fix-optimization-alpha.1.d6a8b2d",
207
+ "@tuwaio/pulsar-core": "^0.3.2",
208
208
  "@wallet-standard/react": "^1.0.1",
209
- "@wagmi/core": "^3.0.1",
209
+ "@wagmi/core": "^3.1.0",
210
210
  "gill": "^0.14.0",
211
211
  "clsx": "^2.1.1",
212
212
  "dayjs": "^1.11.19",
213
- "immer": "^11.1.0",
213
+ "immer": "^11.1.3",
214
214
  "ethereum-blockies-base64": "^1.0.2",
215
- "framer-motion": "^12.23.26",
215
+ "framer-motion": "^12.24.8",
216
216
  "react": "^19.2.3",
217
217
  "react-toastify": "^11.0.5",
218
218
  "tailwind-merge": "^3.4.0",
219
- "viem": "^2.43.3",
219
+ "viem": "^2.43.5",
220
220
  "zustand": "^5.0.9",
221
221
  "@tailwindcss/postcss": "^4.1.18",
222
222
  "@tailwindcss/vite": "^4.1.18",
@@ -229,8 +229,8 @@
229
229
  "tw-animate-css": "^1.4.0",
230
230
  "typescript": "^5.9.3",
231
231
  "tsup": "^8.5.1",
232
- "@tuwaio/nova-core": "^0.2.2",
233
- "@tuwaio/nova-transactions": "^0.2.3"
232
+ "@tuwaio/nova-core": "^0.2.3",
233
+ "@tuwaio/nova-transactions": "^0.2.4"
234
234
  },
235
235
  "scripts": {
236
236
  "start": "tsup src/index.ts --watch",