@tuwaio/nova-connect 0.2.10 → 0.3.1
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.
- package/README.md +2 -8
- package/dist/chunk-6EWZWAEF.js +2 -0
- package/dist/chunk-7CLA2EHI.cjs +2 -0
- package/dist/{chunk-AUQ5MRBP.cjs → chunk-PXKZLOYO.cjs} +1 -1
- package/dist/{chunk-Q4YF6YJO.js → chunk-ZD4FCYAW.js} +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +7560 -11
- package/dist/components/index.d.ts +7560 -11
- package/dist/components/index.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +43 -56
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +1 -1
- package/dist/{useWalletNativeBalance-DR8XONYI.d.ts → useWalletNativeBalance-BNbq75Hw.d.ts} +4 -0
- package/dist/{useWalletNativeBalance-rZ2GQ88f.d.cts → useWalletNativeBalance-C3-mg2mY.d.cts} +4 -0
- package/package.json +46 -46
- package/dist/chunk-2UXAPXCV.js +0 -2
- package/dist/chunk-3ZSOW5LA.cjs +0 -2
- package/dist/index-Ci68q5uc.d.ts +0 -7474
- package/dist/index-CmHWKaZ_.d.cts +0 -7474
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1,i}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-NQ5AECZQ.js';import {h}from'./chunk-S3RQJGCL.js';import {textCenterEllipsis}from'@tuwaio/nova-core';import {OrbitAdapter,getAdapterFromConnectorType,formatConnectorName}from'@tuwaio/orbit-core';import {createContext,useContext,useState,useRef,useCallback,useEffect}from'react';function pe(e){let{abbreviateSymbols:t=12,maxNameLength:o=30,autoRetry:n=false,retryDelay:s=3e3}=e,a=h(f=>f.activeConnection),l=h(f=>f.getAdapter),r=a?.address,d=a?.connectorType,c=d?l(getAdapterFromConnectorType(d)):null,[u,C]=useState(null),[V,p]=useState(null),[v,b]=useState(false),[L,y]=useState(null),N=useRef(null),O=useRef(null),
|
|
1
|
+
import {a as a$1,i}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-NQ5AECZQ.js';import {h}from'./chunk-S3RQJGCL.js';import {textCenterEllipsis}from'@tuwaio/nova-core';import {OrbitAdapter,getAdapterFromConnectorType,formatConnectorName}from'@tuwaio/orbit-core';import {createContext,useContext,useState,useRef,useCallback,useEffect}from'react';function pe(e){let{abbreviateSymbols:t=12,maxNameLength:o=30,autoRetry:n=false,retryDelay:s=3e3}=e,a=h(f=>f.activeConnection),l=h(f=>f.getAdapter),r=a?.address,d=a?.connectorType,c=d?l(getAdapterFromConnectorType(d)):null,[u,C]=useState(null),[V,p]=useState(null),[v,b]=useState(false),[L,y]=useState(null),N=useRef(null),O=useRef(null),G=!!(c&&"getName"in c&&typeof c.getName=="function"),D=!!(c&&"getAvatar"in c&&typeof c.getAvatar=="function"),h$1=useCallback(()=>{N.current&&(N.current.abort(),N.current=null),O.current!==null&&(clearTimeout(O.current),O.current=null);},[]),x=useCallback(async()=>{if(h$1(),!r||!c||!G){C(null),p(null),b(false),y(null);return}N.current=new AbortController;let{signal:f}=N.current;b(true),y(null),C(null),p(null);try{if(f.aborted)return;let g=await c.getName?.(r);if(f.aborted)return;if(g&&(C(g),D))try{let S=await c.getAvatar?.(g);f.aborted||p(S??null);}catch(S){console.warn("Failed to fetch avatar:",S),f.aborted||p(null);}}catch(g){if(f.aborted)return;let S=g instanceof Error?g.message:"Failed to fetch name service data";console.error("Failed to fetch name service data:",g),y(S),C(null),p(null),n&&(O.current=setTimeout(()=>{x();},s));}finally{f.aborted||b(false);}},[r,c,G,D,n,s,h$1]),J=useCallback(()=>{y(null),x();},[x]);useEffect(()=>(x(),h$1),[x,h$1]),useEffect(()=>h$1,[h$1]);let Q=u?u.length>o?textCenterEllipsis(u,t,t):u:r?textCenterEllipsis(r,t,t):void 0;return {ensName:u,ensAvatar:V,isLoading:v,ensNameAbbreviated:Q,error:L,retry:J}}var I=class extends Error{constructor(t="useNovaConnect must be used within NovaConnectProvider"){super(t),this.name="NovaConnectProviderError";}},P=createContext(void 0),be=()=>{let e=useContext(P);if(!e)throw new I;return e},me=()=>useContext(P)!==void 0,ye=()=>useContext(P)??null;var te=createContext(a),R=()=>useContext(te),Le=e=>R()[e],Ne=e=>{let t=R(),o={};for(let n of e)o[n]=t[n];return o},xe=(e,t)=>!!e[t]?.trim(),Se=e=>{let t=R(),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 a of n)s[a]=t[a];return s},Oe=e=>e===a,Te=(e,t,o)=>{let n=e[t];return n&&n.trim()?n:o||a[t]||t.toString()},ke=(e,t)=>{let o={};for(let n of t)o[n]=e[n];return o};var m={[OrbitAdapter.EVM]:1,[OrbitAdapter.SOLANA]:"mainnet",[OrbitAdapter.Starknet]:"0x534e5f4d41494e"};function we({selectedAdapter:e,appChains:t,solanaRPCUrls:o}){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"),m[OrbitAdapter.EVM])}case OrbitAdapter.SOLANA:{if(o&&typeof o=="object"){let n=Object.keys(o);if(n.length>0)return n[0]}return process.env.NODE_ENV==="development"&&!o&&console.warn("getConnectChainId: No Solana RPC URLs configured, using mainnet"),m[OrbitAdapter.SOLANA]}case OrbitAdapter.Starknet:return process.env.NODE_ENV==="development"&&console.info("getConnectChainId: Using default Starknet chain ID"),m[OrbitAdapter.Starknet];default:return process.env.NODE_ENV==="development"&&console.error("getConnectChainId: Unknown adapter:",e),m[OrbitAdapter.EVM]}}function Ie({selectedAdapter:e,appChains:t,solanaRPCUrls:o}){switch(e){case OrbitAdapter.EVM:return t?.map(n=>n.id).filter(Boolean)??[m[OrbitAdapter.EVM]];case OrbitAdapter.SOLANA:return o?Object.keys(o):[m[OrbitAdapter.SOLANA]];case OrbitAdapter.Starknet:return [m[OrbitAdapter.Starknet]];default:return [m[OrbitAdapter.EVM]]}}function ne(e,t){if(!e||typeof e!="object")return null;let o=e;if(!o.name||typeof o.name!="string")return null;let n;if("icon"in o){let s=o.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:o.name,icon:n,adapter:t,originalConnector:o}}function U({connectors:e,excludeConnectors:t=["injected"]}={connectors:{}}){if(!e||Object.keys(e).length===0)return [];let o=new Set(t.map(a=>formatConnectorName(a))),n=[];Object.entries(e).forEach(([a,l])=>{if(Array.isArray(l)){let r=a;l.forEach(d=>{let c=ne(d,r);if(c){let u=formatConnectorName(c.name);o.has(u)||n.push(c);}});}});let s=new Map;return n.forEach(a=>{let l=formatConnectorName(a.name);s.has(l)||s.set(l,{name:a.name,icon:a.icon,adapters:[],connectors:[]});let r=s.get(l);r.adapters.includes(a.adapter)||r.adapters.push(a.adapter);let d=Object.assign({},a.originalConnector,{adapter:a.adapter});r.connectors.push(d),!r.icon&&a.icon&&(r.icon=a.icon);}),Array.from(s.values()).sort((a,l)=>a.name.localeCompare(l.name,void 0,{sensitivity:"base"}))}function We(e){return Object.values(e).some(t=>Array.isArray(t)&&t.length>0)}function oe(e){try{if(e&&typeof e=="object"&&e.adapter)return e.adapter}catch{}}function _(e,t){return oe(e)===t}function Ke({connectors:e,selectedAdapter:t}){if(!e||Object.keys(e).length===0)return [];let o=U({connectors:e});return t?o.filter(n=>n.adapters.includes(t)&&n.connectors.some(s=>_(s,t))).map(n=>{let s=n.connectors.filter(a=>_(a,t));return {...n,adapters:[t],connectors:s}}).filter(n=>n.connectors.length>0):o}function je(e,t){let o=e[t];return Array.isArray(o)&&o.length>0}function Ze(){return console.warn("getAvailableSolanaClusters: Using synchronous fallback with limited functionality. Use getAvailableSolanaClustersAsync for complete cluster detection."),[]}function et(e){return console.warn("isValidSolanaCluster: Using synchronous fallback with basic validation. Use isValidSolanaClusterAsync for comprehensive cluster validation."),["mainnet","devnet","testnet","localnet"].includes(e)}function ft({activeConnection:e,appChains:t,solanaRPCUrls:o}){let[n,s]=useState([]),[a,l]=useState(false);return useEffect(()=>{let r=true;return (async()=>{l(true);try{if(!e){let C=await a$1({connectorType:`${OrbitAdapter.EVM}:not-connected`,appChains:t,solanaRPCUrls:o,chains:[]});r&&s(C);return}let c=i(e),u=await a$1({connectorType:e.connectorType,appChains:t,solanaRPCUrls:o,chains:c});r&&s(u);}catch(c){console.error("Failed to fetch chains list:",c),r&&s([]);}finally{r&&l(false);}})(),()=>{r=false;}},[e,t,o]),{chainsList:n,isLoading:a}}function gt(){let[e,t]=useState({}),[o,n]=useState(false),s=useRef(null),a=h(p=>p.activeConnection),l=h(p=>p.getAdapter),r=a?.chainId&&a?.address?`${a.address}-${a.chainId}`:null,d=a?.connectorType?l(getAdapterFromConnectorType(a.connectorType)):null,c=d&&"getBalance"in d&&typeof d.getBalance=="function",u=useCallback(async(p=false)=>{if(!a?.address||!d||!a?.chainId||!r||!c){n(false);return}let v=`${r}-${Date.now()}`;if(s.current=v,!p&&e[r]){n(false);return}n(true);try{let b=await d.getBalance(a.address,a.chainId);s.current===v&&t(L=>({...L,[r]:b}));}catch(b){console.error(`Failed to fetch native balance for ${r}:`,b),p&&s.current===v&&t(L=>{let y={...L};return delete y[r],y});}finally{s.current===v&&n(false);}},[a?.address,d,a?.chainId,r,c,e]),C=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:r&&e[r]||null,isLoading:o,refetch:C}}export{pe as a,I as b,P as c,be as d,me as e,ye as f,te as g,R as h,Le as i,Ne as j,xe as k,Se as l,Oe as m,Te as n,ke as o,we as p,Ie as q,U as r,We as s,Ke as t,je as u,Ze as v,et as w,ft as x,gt as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk7CLA2EHI_cjs=require('../chunk-7CLA2EHI.cjs');require('../chunk-PXKZLOYO.cjs'),require('../chunk-K44IHM6B.cjs'),require('../chunk-MGBN4EIT.cjs'),require('../chunk-2SFIZVDC.cjs');Object.defineProperty(exports,"AboutWallets",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.u}});Object.defineProperty(exports,"BalanceDisplay",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.a}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.b}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.g}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.l}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.w}});Object.defineProperty(exports,"ConnectModal",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.G}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.j}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.t}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.m}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.q}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.n}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.r}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.x}});Object.defineProperty(exports,"ConnectionsContent",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.s}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.y}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.A}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.z}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.B}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.p}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.C}});Object.defineProperty(exports,"LegalDisclaimer",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.D}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.E}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.F}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.v}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.f}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.e}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.i}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.c}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.d}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.H}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.k}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.h}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunk7CLA2EHI_cjs.o}});
|