@tuwaio/nova-connect 0.4.2 → 0.4.3
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/dist/chunk-7RBXAMVI.cjs +2 -0
- package/dist/chunk-BRC3ASPJ.js +2 -0
- package/dist/chunk-JCUPHUQU.js +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +1 -1
- package/dist/hooks/index.d.cts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/{useWalletNativeBalance-DIadeXdW.d.ts → useWalletNativeBalance-B6w7HC-n.d.ts} +1 -1
- package/dist/{useWalletNativeBalance-DYd-fWtH.d.cts → useWalletNativeBalance-DX5MO1-z.d.cts} +1 -1
- package/package.json +6 -6
- package/dist/chunk-JPZKXXPV.cjs +0 -2
- package/dist/chunk-MPL7RPMZ.js +0 -2
|
@@ -3,8 +3,8 @@ import * as React$1 from 'react';
|
|
|
3
3
|
import React__default, { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as Select from '@radix-ui/react-select';
|
|
6
|
-
import { I as InitialChains, B as ButtonTxStatus,
|
|
7
|
-
export {
|
|
6
|
+
import { I as InitialChains, B as ButtonTxStatus, N as NovaConnectProviderProps, o as useNovaConnectLabels, d as NativeBalanceResult, a as ConnectedContentType, s as ConnectedModalTxHistoryProps, t as ConnectedModalTxHistoryCustomization, C as ConnectContentType } from '../useWalletNativeBalance-B6w7HC-n.js';
|
|
7
|
+
export { v as ConnectedModalTxHistory, w as LocalTransactionsHistoryCustomization, x as LocalTxPagination } from '../useWalletNativeBalance-B6w7HC-n.js';
|
|
8
8
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
9
9
|
import { Dialog, DialogContent, StarsBackground } from '@tuwaio/nova-core';
|
|
10
10
|
import { Transaction } from '@tuwaio/pulsar-core';
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{u as AboutWallets,a as BalanceDisplay,b as ChainListRenderer,g as ChainSelector,l as ConnectButton,w as ConnectCard,G as ConnectModal,j as ConnectedContent,t as ConnectedModal,m as ConnectedModalFooter,q as ConnectedModalMainContent,n as ConnectedModalNameAndBalance,r as ConnectedModalTxHistory,x as Connecting,s as ConnectionsContent,y as ConnectorsBlock,A as ConnectorsSelections,z as Disclaimer,B as GetWallet,p as IconButton,C as ImpersonateForm,D as LegalDisclaimer,E as NetworkSelections,F as NetworkTabs,v as RecentBadge,f as ScrollableChainList,e as SelectContentAnimated,i as StatusIcon,c as ToBottomButton,d as ToTopButton,H as ToastError,k as WaitForConnectionContent,h as WalletAvatar,o as WalletIcon}from'../chunk-
|
|
1
|
+
export{u as AboutWallets,a as BalanceDisplay,b as ChainListRenderer,g as ChainSelector,l as ConnectButton,w as ConnectCard,G as ConnectModal,j as ConnectedContent,t as ConnectedModal,m as ConnectedModalFooter,q as ConnectedModalMainContent,n as ConnectedModalNameAndBalance,r as ConnectedModalTxHistory,x as Connecting,s as ConnectionsContent,y as ConnectorsBlock,A as ConnectorsSelections,z as Disclaimer,B as GetWallet,p as IconButton,C as ImpersonateForm,D as LegalDisclaimer,E as NetworkSelections,F as NetworkTabs,v as RecentBadge,f as ScrollableChainList,e as SelectContentAnimated,i as StatusIcon,c as ToBottomButton,d as ToTopButton,H as ToastError,k as WaitForConnectionContent,h as WalletAvatar,o as WalletIcon}from'../chunk-BRC3ASPJ.js';import'../chunk-JCUPHUQU.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-EYP534IS.js';
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { I as InitialChains } from '../useWalletNativeBalance-
|
|
2
|
-
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType,
|
|
1
|
+
import { I as InitialChains } from '../useWalletNativeBalance-DX5MO1-z.cjs';
|
|
2
|
+
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, N as NovaConnectProviderProps, b as NovaConnectProviderType, W as WalletBalance, h as createLabelsSubset, i as getLabelWithFallback, j as hasLabel, k as isDefaultLabels, u as useHasNovaConnectContext, l as useLabelsByCategory, m as useNovaConnect, n as useNovaConnectLabel, o as useNovaConnectLabels, p as useNovaConnectLabelsSubset, q as useNovaConnectOptional, r as useWalletNativeBalance } from '../useWalletNativeBalance-DX5MO1-z.cjs';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@tuwaio/orbit-core';
|
|
5
5
|
import '@tuwaio/pulsar-core';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { I as InitialChains } from '../useWalletNativeBalance-
|
|
2
|
-
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType,
|
|
1
|
+
import { I as InitialChains } from '../useWalletNativeBalance-B6w7HC-n.js';
|
|
2
|
+
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, N as NovaConnectProviderProps, b as NovaConnectProviderType, W as WalletBalance, h as createLabelsSubset, i as getLabelWithFallback, j as hasLabel, k as isDefaultLabels, u as useHasNovaConnectContext, l as useLabelsByCategory, m as useNovaConnect, n as useNovaConnectLabel, o as useNovaConnectLabels, p as useNovaConnectLabelsSubset, q as useNovaConnectOptional, r as useWalletNativeBalance } from '../useWalletNativeBalance-B6w7HC-n.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@tuwaio/orbit-core';
|
|
5
5
|
import '@tuwaio/pulsar-core';
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunkJPZKXXPV_cjs=require('./chunk-JPZKXXPV.cjs'),chunkQ3WXFHOL_cjs=require('./chunk-Q3WXFHOL.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkMGBN4EIT_cjs=require('./chunk-MGBN4EIT.cjs'),chunkV6XDFRWV_cjs=require('./chunk-V6XDFRWV.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime');var Ro=({title:o,rawError:e,onCopyComplete:r,errorType:s,isConnected:t,...p})=>jsxRuntime.jsx(chunkJPZKXXPV_cjs.H,{title:o,rawError:e,onCopyComplete:r,customization:p.customization}),Bo=o=>{let e=chunkQ3WXFHOL_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ao=(o,e)=>{o(e.title,e.rawError,e.errorKey);},zo=o=>{o();},ko=(o,e)=>{if(o&&process.env.NODE_ENV==="development"){let r=typeof e=="string"?e:e.message;console.log("Error copied to clipboard:",r.substring(0,100));}},Ho=o=>o,Vo=o=>o;function so({containerId:o="nova-connect-errors",position:e="top-center",autoClose:r=7e3,draggable:s=false,customization:t}){let p=chunkQ3WXFHOL_cjs.h(),A=chunkV6XDFRWV_cjs.d(a=>a.switchNetworkError),_=chunkV6XDFRWV_cjs.d(a=>a.activeConnection),z=chunkV6XDFRWV_cjs.d(a=>a.connectionError),{ToastError:k=Ro,Container:j=Bo}=t?.components??{},{showError:H=Ao,dismissError:c=zo,onCopyComplete:V=ko}=t?.handlers??{},{errorTitle:U=Ho,errorHash:W=Vo}=t??{},m=react.useRef(new Set),v=react.useRef(null),b=!!z,y=!!A,g=!!_?.isConnected,h=b||y,f=z||A||null,E=b?"wallet":y?"switch":null,n={hasWalletError:b,hasSwitchError:y,isConnected:g,hasAnyError:h,primaryError:f,errorType:E},P=p.somethingWentWrong;switch(n.errorType){case "wallet":P=p.connectionError;break;case "switch":P=p.errorWhenChainSwitching;break}let I=U(P,{errorType:n.errorType}),L=n.primaryError?`${n.errorType}-${n.primaryError.message.substring(0,50)}`:null,M=W(L,{primaryError:n.primaryError,errorType:n.errorType}),d=react.useCallback(()=>{c(()=>{v.current&&(reactToastify.toast.dismiss(v.current),v.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,c]),D=react.useCallback((a,i)=>{V(a,i,n.errorType);},[V,n.errorType]),w=react.useCallback((a,i,u)=>{if(d(),!m.current.has(u))try{let x={containerId:o,toastId:u,onClose:()=>{m.current.delete(u),v.current=null;}},O=t?.toastOptions?.error?.({title:a,rawError:i,errorType:n.errorType,isConnected:n.isConnected}),X={...x,...O};reactToastify.toast.error(jsxRuntime.jsx(k,{title:a,rawError:i,errorType:n.errorType,isConnected:n.isConnected,onCopyComplete:R=>D(R,i),customization:t?.toastErrorCustomization}),X),m.current.add(u),v.current=u;}catch(x){console.error("Failed to show error toast:",x);}},[d,o,t?.toastOptions?.error,t?.toastErrorCustomization,k,n.errorType,n.isConnected,D]),K=react.useCallback((a,i,u)=>{H(w,{title:a,rawError:i,errorKey:u,errorType:n.errorType});},[w,H,n.errorType]);react.useEffect(()=>{if(g&&!h){d(),m.current.clear();return}if(h&&f&&M){if(g&&E!=="switch")return;K(I,f,M);}},[h,g,f,E,I,M,K,d]),react.useEffect(()=>()=>{d(),m.current.clear();},[d]);let S=t?.classNames?.container?t.classNames.container({hasErrors:n.hasAnyError,errorType:n.errorType}):"novacon:p-0 novacon:bg-transparent",J=react.useMemo(()=>{let a=t?.toastCloseButton;return a?({closeToast:i})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:i,...a}):novaCore.ToastCloseButton},[t?.toastCloseButton]),Q={...{containerId:o,position:e,closeOnClick:false,icon:false,closeButton:J,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:s,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...t?.containerProps,className:S};return jsxRuntime.jsx(j,{...Q})}so.displayName="ErrorsProvider";function io({labels:o,children:e}){let r=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(p=>!(p in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkQ3WXFHOL_cjs.g.Provider,{value:r,children:e})}io.displayName="NovaConnectLabelsProvider";var Do=({labels:o,children:e})=>jsxRuntime.jsx(io,{labels:o,children:e}),Ko=({customization:o})=>jsxRuntime.jsx(so,{customization:o}),Fo=(o,e)=>novaCore.deepMerge(o,e||{}),Go=o=>o,qo=o=>o,$o=(o,e,r)=>o;function _o({labels:o,children:e,appChains:r,solanaRPCUrls:s,transactionPool:t,pulsarAdapter:p,withImpersonated:A,withBalance:_,withChain:z,popularConnectors:k,customConnectorGroups:j,legal:H,customization:c,pagination:V}){let U=chunkV6XDFRWV_cjs.d(ro=>ro.activeConnection),W=chunkV6XDFRWV_cjs.d(ro=>ro.connectionError),{LabelsProvider:m=Do,ErrorsProvider:v=Ko}=c?.components??{},{merge:b=Fo,transform:y=Go}=c?.labels??{},{transform:g=qo}=c?.contextValue??{},{providerTree:h=$o}=c?.rendering??{},f=react.useMemo(()=>b(chunkMGBN4EIT_cjs.a,o||{}),[o,b]),[E,n]=react.useState(false),[P,I]=react.useState(false),[L,M]=react.useState(false),[d,D]=react.useState(false),[w,K]=react.useState("idle"),[S,J]=react.useState("connectors"),[po,Q]=react.useState(void 0),[a,i]=react.useState(void 0),[u,x]=react.useState(""),[O,X]=react.useState(false),[R,go]=react.useState("main"),ho={appChains:r,solanaRPCUrls:s,withImpersonated:A,popularConnectors:k,customConnectorGroups:j,withBalance:_,withChain:z,isConnectModalOpen:E,setIsConnectModalOpen:n,isConnectedModalOpen:P,setIsConnectedModalOpen:I,isChainsListOpen:L,setIsChainsListOpen:M,isChainsListOpenMobile:d,setIsChainsListOpenMobile:D,connectedButtonStatus:w,setConnectedButtonStatus:K,connectedModalContentType:R,setConnectedModalContentType:go,connectModalContentType:S,setConnectModalContentType:J,selectedAdapter:po,setSelectedAdapter:Q,activeConnector:a,setActiveConnector:i,impersonatedAddress:u,setImpersonatedAddress:x,isConnected:O,setIsConnected:X,legal:H},F=react.useMemo(()=>({isConnected:O,activeConnection:U,connectionError:W,modalStates:{isConnectModalOpen:E,isConnectedModalOpen:P,isChainsListOpen:L,isChainsListOpenMobile:d},contentTypes:{connectModal:S,connectedModal:R},statuses:{connectedButton:w}}),[O,U,W,E,P,L,d,S,R,w]),wo=react.useMemo(()=>y(f,F),[f,y,F]),uo=g(ho,F),Y=jsxRuntime.jsx(v,{customization:c?.errors}),Z=jsxRuntime.jsx(m,{labels:wo,children:e}),oo=r||s?jsxRuntime.jsx(chunkJPZKXXPV_cjs.G,{solanaRPCUrls:s,appChains:r,customization:c?.modals?.connectModal}):null,eo=r||s?jsxRuntime.jsx(chunkJPZKXXPV_cjs.t,{solanaRPCUrls:s,appChains:r,transactionPool:t,pulsarAdapter:p,customization:c?.modals?.connectedModal,pagination:V}):null,No=jsxRuntime.jsxs(chunkQ3WXFHOL_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Lo=jsxRuntime.jsxs(chunkQ3WXFHOL_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Mo=h(Lo,{ErrorsProvider:Y,LabelsProvider:Z,MainContent:No,ConnectModal:oo||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:eo||jsxRuntime.jsx(jsxRuntime.Fragment,{})},F);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Mo})}_o.displayName="NovaConnectProvider";async function Tr(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await q(),hasSolanaUtils:await $(),adaptersStatus:o()}}async function q(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function $(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function br(){try{if(!await q())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),r=await e.getEvmExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function yr(){try{if(!await $())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),r=await e.getSolanaExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function gr(){let o={evm:false,solana:false,errors:[]};try{let e=await q(),r=await $();if(e||r){let{preloadChainAdapters:s}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),r&&t.push(orbitCore.OrbitAdapter.SOLANA),await s(t),o.evm=e,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let r=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(r);}return o}async function hr(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?q():$()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkQ3WXFHOL_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=so;exports.NovaConnectLabelsProvider=io;exports.NovaConnectProvider=_o;exports.getBlockchainUtilities=Tr;exports.getEvmUtils=br;exports.getSolanaUtils=yr;exports.initializeBlockchainSupport=gr;exports.isAdapterSupported=hr;
|
|
1
|
+
'use strict';var chunk7RBXAMVI_cjs=require('./chunk-7RBXAMVI.cjs'),chunkQ3WXFHOL_cjs=require('./chunk-Q3WXFHOL.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkMGBN4EIT_cjs=require('./chunk-MGBN4EIT.cjs'),chunkV6XDFRWV_cjs=require('./chunk-V6XDFRWV.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime');var Ro=({title:o,rawError:e,onCopyComplete:r,errorType:s,isConnected:t,...p})=>jsxRuntime.jsx(chunk7RBXAMVI_cjs.H,{title:o,rawError:e,onCopyComplete:r,customization:p.customization}),Bo=o=>{let e=chunkQ3WXFHOL_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ao=(o,e)=>{o(e.title,e.rawError,e.errorKey);},zo=o=>{o();},ko=(o,e)=>{if(o&&process.env.NODE_ENV==="development"){let r=typeof e=="string"?e:e.message;console.log("Error copied to clipboard:",r.substring(0,100));}},Ho=o=>o,Vo=o=>o;function so({containerId:o="nova-connect-errors",position:e="top-center",autoClose:r=7e3,draggable:s=false,customization:t}){let p=chunkQ3WXFHOL_cjs.h(),A=chunkV6XDFRWV_cjs.d(a=>a.switchNetworkError),_=chunkV6XDFRWV_cjs.d(a=>a.activeConnection),z=chunkV6XDFRWV_cjs.d(a=>a.connectionError),{ToastError:k=Ro,Container:j=Bo}=t?.components??{},{showError:H=Ao,dismissError:c=zo,onCopyComplete:V=ko}=t?.handlers??{},{errorTitle:U=Ho,errorHash:W=Vo}=t??{},m=react.useRef(new Set),v=react.useRef(null),b=!!z,y=!!A,g=!!_?.isConnected,h=b||y,f=z||A||null,E=b?"wallet":y?"switch":null,n={hasWalletError:b,hasSwitchError:y,isConnected:g,hasAnyError:h,primaryError:f,errorType:E},P=p.somethingWentWrong;switch(n.errorType){case "wallet":P=p.connectionError;break;case "switch":P=p.errorWhenChainSwitching;break}let I=U(P,{errorType:n.errorType}),L=n.primaryError?`${n.errorType}-${n.primaryError.message.substring(0,50)}`:null,M=W(L,{primaryError:n.primaryError,errorType:n.errorType}),d=react.useCallback(()=>{c(()=>{v.current&&(reactToastify.toast.dismiss(v.current),v.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,c]),D=react.useCallback((a,i)=>{V(a,i,n.errorType);},[V,n.errorType]),w=react.useCallback((a,i,u)=>{if(d(),!m.current.has(u))try{let x={containerId:o,toastId:u,onClose:()=>{m.current.delete(u),v.current=null;}},O=t?.toastOptions?.error?.({title:a,rawError:i,errorType:n.errorType,isConnected:n.isConnected}),X={...x,...O};reactToastify.toast.error(jsxRuntime.jsx(k,{title:a,rawError:i,errorType:n.errorType,isConnected:n.isConnected,onCopyComplete:R=>D(R,i),customization:t?.toastErrorCustomization}),X),m.current.add(u),v.current=u;}catch(x){console.error("Failed to show error toast:",x);}},[d,o,t?.toastOptions?.error,t?.toastErrorCustomization,k,n.errorType,n.isConnected,D]),K=react.useCallback((a,i,u)=>{H(w,{title:a,rawError:i,errorKey:u,errorType:n.errorType});},[w,H,n.errorType]);react.useEffect(()=>{if(g&&!h){d(),m.current.clear();return}if(h&&f&&M){if(g&&E!=="switch")return;K(I,f,M);}},[h,g,f,E,I,M,K,d]),react.useEffect(()=>()=>{d(),m.current.clear();},[d]);let S=t?.classNames?.container?t.classNames.container({hasErrors:n.hasAnyError,errorType:n.errorType}):"novacon:p-0 novacon:bg-transparent",J=react.useMemo(()=>{let a=t?.toastCloseButton;return a?({closeToast:i})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:i,...a}):novaCore.ToastCloseButton},[t?.toastCloseButton]),Q={...{containerId:o,position:e,closeOnClick:false,icon:false,closeButton:J,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:s,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...t?.containerProps,className:S};return jsxRuntime.jsx(j,{...Q})}so.displayName="ErrorsProvider";function io({labels:o,children:e}){let r=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(p=>!(p in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkQ3WXFHOL_cjs.g.Provider,{value:r,children:e})}io.displayName="NovaConnectLabelsProvider";var Do=({labels:o,children:e})=>jsxRuntime.jsx(io,{labels:o,children:e}),Ko=({customization:o})=>jsxRuntime.jsx(so,{customization:o}),Fo=(o,e)=>novaCore.deepMerge(o,e||{}),Go=o=>o,qo=o=>o,$o=(o,e,r)=>o;function _o({labels:o,children:e,appChains:r,solanaRPCUrls:s,transactionPool:t,pulsarAdapter:p,withImpersonated:A,withBalance:_,withChain:z,popularConnectors:k,customConnectorGroups:j,legal:H,customization:c,pagination:V}){let U=chunkV6XDFRWV_cjs.d(ro=>ro.activeConnection),W=chunkV6XDFRWV_cjs.d(ro=>ro.connectionError),{LabelsProvider:m=Do,ErrorsProvider:v=Ko}=c?.components??{},{merge:b=Fo,transform:y=Go}=c?.labels??{},{transform:g=qo}=c?.contextValue??{},{providerTree:h=$o}=c?.rendering??{},f=react.useMemo(()=>b(chunkMGBN4EIT_cjs.a,o||{}),[o,b]),[E,n]=react.useState(false),[P,I]=react.useState(false),[L,M]=react.useState(false),[d,D]=react.useState(false),[w,K]=react.useState("idle"),[S,J]=react.useState("connectors"),[po,Q]=react.useState(void 0),[a,i]=react.useState(void 0),[u,x]=react.useState(""),[O,X]=react.useState(false),[R,go]=react.useState("main"),ho={appChains:r,solanaRPCUrls:s,withImpersonated:A,popularConnectors:k,customConnectorGroups:j,withBalance:_,withChain:z,isConnectModalOpen:E,setIsConnectModalOpen:n,isConnectedModalOpen:P,setIsConnectedModalOpen:I,isChainsListOpen:L,setIsChainsListOpen:M,isChainsListOpenMobile:d,setIsChainsListOpenMobile:D,connectedButtonStatus:w,setConnectedButtonStatus:K,connectedModalContentType:R,setConnectedModalContentType:go,connectModalContentType:S,setConnectModalContentType:J,selectedAdapter:po,setSelectedAdapter:Q,activeConnector:a,setActiveConnector:i,impersonatedAddress:u,setImpersonatedAddress:x,isConnected:O,setIsConnected:X,legal:H},F=react.useMemo(()=>({isConnected:O,activeConnection:U,connectionError:W,modalStates:{isConnectModalOpen:E,isConnectedModalOpen:P,isChainsListOpen:L,isChainsListOpenMobile:d},contentTypes:{connectModal:S,connectedModal:R},statuses:{connectedButton:w}}),[O,U,W,E,P,L,d,S,R,w]),wo=react.useMemo(()=>y(f,F),[f,y,F]),uo=g(ho,F),Y=jsxRuntime.jsx(v,{customization:c?.errors}),Z=jsxRuntime.jsx(m,{labels:wo,children:e}),oo=r||s?jsxRuntime.jsx(chunk7RBXAMVI_cjs.G,{solanaRPCUrls:s,appChains:r,customization:c?.modals?.connectModal}):null,eo=r||s?jsxRuntime.jsx(chunk7RBXAMVI_cjs.t,{solanaRPCUrls:s,appChains:r,transactionPool:t,pulsarAdapter:p,customization:c?.modals?.connectedModal,pagination:V}):null,No=jsxRuntime.jsxs(chunkQ3WXFHOL_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Lo=jsxRuntime.jsxs(chunkQ3WXFHOL_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Mo=h(Lo,{ErrorsProvider:Y,LabelsProvider:Z,MainContent:No,ConnectModal:oo||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:eo||jsxRuntime.jsx(jsxRuntime.Fragment,{})},F);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Mo})}_o.displayName="NovaConnectProvider";async function Tr(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await q(),hasSolanaUtils:await $(),adaptersStatus:o()}}async function q(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function $(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function br(){try{if(!await q())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),r=await e.getEvmExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function yr(){try{if(!await $())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),r=await e.getSolanaExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function gr(){let o={evm:false,solana:false,errors:[]};try{let e=await q(),r=await $();if(e||r){let{preloadChainAdapters:s}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),r&&t.push(orbitCore.OrbitAdapter.SOLANA),await s(t),o.evm=e,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let r=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(r);}return o}async function hr(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?q():$()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkQ3WXFHOL_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=so;exports.NovaConnectLabelsProvider=io;exports.NovaConnectProvider=_o;exports.getBlockchainUtilities=Tr;exports.getEvmUtils=br;exports.getSolanaUtils=yr;exports.initializeBlockchainSupport=gr;exports.isAdapterSupported=hr;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { TuwaErrorState, OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { WalletNameAndAvatarData, useGetWalletNameAndAvatar, useWalletChainsList } from './hooks/index.cjs';
|
|
3
|
-
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus,
|
|
4
|
-
export { A as AllChainConfigs,
|
|
3
|
+
import { N as NovaConnectProviderProps, C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, b as NovaConnectProviderType, I as InitialChains } from './useWalletNativeBalance-DX5MO1-z.cjs';
|
|
4
|
+
export { A as AllChainConfigs, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, W as WalletBalance, h as createLabelsSubset, i as getLabelWithFallback, j as hasLabel, k as isDefaultLabels, u as useHasNovaConnectContext, l as useLabelsByCategory, m as useNovaConnect, n as useNovaConnectLabel, o as useNovaConnectLabels, p as useNovaConnectLabelsSubset, q as useNovaConnectOptional, r as useWalletNativeBalance } from './useWalletNativeBalance-DX5MO1-z.cjs';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { ToastCloseButtonProps } from '@tuwaio/nova-core';
|
|
7
7
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
8
|
-
import { ToastContainer, toast
|
|
8
|
+
import { ToastPosition, ToastContainer, toast } from 'react-toastify';
|
|
9
9
|
import { ToastErrorCustomization, ConnectModalCustomization, ConnectedModalCustomization } from './components/index.cjs';
|
|
10
10
|
import { N as NovaConnectLabels } from './types-DxUn8qmU.cjs';
|
|
11
11
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { TuwaErrorState, OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { WalletNameAndAvatarData, useGetWalletNameAndAvatar, useWalletChainsList } from './hooks/index.js';
|
|
3
|
-
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus,
|
|
4
|
-
export { A as AllChainConfigs,
|
|
3
|
+
import { N as NovaConnectProviderProps, C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, b as NovaConnectProviderType, I as InitialChains } from './useWalletNativeBalance-B6w7HC-n.js';
|
|
4
|
+
export { A as AllChainConfigs, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, W as WalletBalance, h as createLabelsSubset, i as getLabelWithFallback, j as hasLabel, k as isDefaultLabels, u as useHasNovaConnectContext, l as useLabelsByCategory, m as useNovaConnect, n as useNovaConnectLabel, o as useNovaConnectLabels, p as useNovaConnectLabelsSubset, q as useNovaConnectOptional, r as useWalletNativeBalance } from './useWalletNativeBalance-B6w7HC-n.js';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { ToastCloseButtonProps } from '@tuwaio/nova-core';
|
|
7
7
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
8
|
-
import { ToastContainer, toast
|
|
8
|
+
import { ToastPosition, ToastContainer, toast } from 'react-toastify';
|
|
9
9
|
import { ToastErrorCustomization, ConnectModalCustomization, ConnectedModalCustomization } from './components/index.js';
|
|
10
10
|
import { N as NovaConnectLabels } from './types-DxUn8qmU.js';
|
|
11
11
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {G,t,H}from'./chunk-
|
|
1
|
+
import {G,t,H}from'./chunk-BRC3ASPJ.js';import {h,g,c}from'./chunk-JCUPHUQU.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-JCUPHUQU.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-NQ5AECZQ.js';import {d}from'./chunk-EYP534IS.js';import {OrbitAdapter}from'@tuwaio/orbit-core';import {ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {useRef,useCallback,useEffect,useMemo,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var Ro=({title:o,rawError:e,onCopyComplete:r,errorType:s,isConnected:t,...p})=>jsx(H,{title:o,rawError:e,onCopyComplete:r,customization:p.customization}),Bo=o=>{let e=h();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ao=(o,e)=>{o(e.title,e.rawError,e.errorKey);},zo=o=>{o();},ko=(o,e)=>{if(o&&process.env.NODE_ENV==="development"){let r=typeof e=="string"?e:e.message;console.log("Error copied to clipboard:",r.substring(0,100));}},Ho=o=>o,Vo=o=>o;function so({containerId:o="nova-connect-errors",position:e="top-center",autoClose:r=7e3,draggable:s=false,customization:t}){let p=h(),A=d(a=>a.switchNetworkError),_=d(a=>a.activeConnection),z=d(a=>a.connectionError),{ToastError:k=Ro,Container:j=Bo}=t?.components??{},{showError:H=Ao,dismissError:c=zo,onCopyComplete:V=ko}=t?.handlers??{},{errorTitle:U=Ho,errorHash:W=Vo}=t??{},m=useRef(new Set),v=useRef(null),b=!!z,y=!!A,g=!!_?.isConnected,h$1=b||y,f=z||A||null,E=b?"wallet":y?"switch":null,n={hasWalletError:b,hasSwitchError:y,isConnected:g,hasAnyError:h$1,primaryError:f,errorType:E},P=p.somethingWentWrong;switch(n.errorType){case "wallet":P=p.connectionError;break;case "switch":P=p.errorWhenChainSwitching;break}let I=U(P,{errorType:n.errorType}),L=n.primaryError?`${n.errorType}-${n.primaryError.message.substring(0,50)}`:null,M=W(L,{primaryError:n.primaryError,errorType:n.errorType}),d$1=useCallback(()=>{c(()=>{v.current&&(toast.dismiss(v.current),v.current=null),toast.dismiss({containerId:o});});},[o,c]),D=useCallback((a,i)=>{V(a,i,n.errorType);},[V,n.errorType]),w=useCallback((a,i,u)=>{if(d$1(),!m.current.has(u))try{let x={containerId:o,toastId:u,onClose:()=>{m.current.delete(u),v.current=null;}},O=t?.toastOptions?.error?.({title:a,rawError:i,errorType:n.errorType,isConnected:n.isConnected}),X={...x,...O};toast.error(jsx(k,{title:a,rawError:i,errorType:n.errorType,isConnected:n.isConnected,onCopyComplete:R=>D(R,i),customization:t?.toastErrorCustomization}),X),m.current.add(u),v.current=u;}catch(x){console.error("Failed to show error toast:",x);}},[d$1,o,t?.toastOptions?.error,t?.toastErrorCustomization,k,n.errorType,n.isConnected,D]),K=useCallback((a,i,u)=>{H(w,{title:a,rawError:i,errorKey:u,errorType:n.errorType});},[w,H,n.errorType]);useEffect(()=>{if(g&&!h$1){d$1(),m.current.clear();return}if(h$1&&f&&M){if(g&&E!=="switch")return;K(I,f,M);}},[h$1,g,f,E,I,M,K,d$1]),useEffect(()=>()=>{d$1(),m.current.clear();},[d$1]);let S=t?.classNames?.container?t.classNames.container({hasErrors:n.hasAnyError,errorType:n.errorType}):"novacon:p-0 novacon:bg-transparent",J=useMemo(()=>{let a=t?.toastCloseButton;return a?({closeToast:i})=>jsx(ToastCloseButton,{closeToast:i,...a}):ToastCloseButton},[t?.toastCloseButton]),Q={...{containerId:o,position:e,closeOnClick:false,icon:false,closeButton:J,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:s,pauseOnHover:true,theme:"light",transition:Bounce},...t?.containerProps,className:S};return jsx(j,{...Q})}so.displayName="ErrorsProvider";function io({labels:o,children:e}){let r=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(p=>!(p in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:r,children:e})}io.displayName="NovaConnectLabelsProvider";var Do=({labels:o,children:e})=>jsx(io,{labels:o,children:e}),Ko=({customization:o})=>jsx(so,{customization:o}),Fo=(o,e)=>deepMerge(o,e||{}),Go=o=>o,qo=o=>o,$o=(o,e,r)=>o;function _o({labels:o,children:e,appChains:r,solanaRPCUrls:s,transactionPool:t$1,pulsarAdapter:p,withImpersonated:A,withBalance:_,withChain:z,popularConnectors:k,customConnectorGroups:j,legal:H,customization:c$1,pagination:V}){let U=d(ro=>ro.activeConnection),W=d(ro=>ro.connectionError),{LabelsProvider:m=Do,ErrorsProvider:v=Ko}=c$1?.components??{},{merge:b=Fo,transform:y=Go}=c$1?.labels??{},{transform:g=qo}=c$1?.contextValue??{},{providerTree:h=$o}=c$1?.rendering??{},f=useMemo(()=>b(a,o||{}),[o,b]),[E,n]=useState(false),[P,I]=useState(false),[L,M]=useState(false),[d$1,D]=useState(false),[w,K]=useState("idle"),[S,J]=useState("connectors"),[po,Q]=useState(void 0),[a$1,i]=useState(void 0),[u,x]=useState(""),[O,X]=useState(false),[R,go]=useState("main"),ho={appChains:r,solanaRPCUrls:s,withImpersonated:A,popularConnectors:k,customConnectorGroups:j,withBalance:_,withChain:z,isConnectModalOpen:E,setIsConnectModalOpen:n,isConnectedModalOpen:P,setIsConnectedModalOpen:I,isChainsListOpen:L,setIsChainsListOpen:M,isChainsListOpenMobile:d$1,setIsChainsListOpenMobile:D,connectedButtonStatus:w,setConnectedButtonStatus:K,connectedModalContentType:R,setConnectedModalContentType:go,connectModalContentType:S,setConnectModalContentType:J,selectedAdapter:po,setSelectedAdapter:Q,activeConnector:a$1,setActiveConnector:i,impersonatedAddress:u,setImpersonatedAddress:x,isConnected:O,setIsConnected:X,legal:H},F=useMemo(()=>({isConnected:O,activeConnection:U,connectionError:W,modalStates:{isConnectModalOpen:E,isConnectedModalOpen:P,isChainsListOpen:L,isChainsListOpenMobile:d$1},contentTypes:{connectModal:S,connectedModal:R},statuses:{connectedButton:w}}),[O,U,W,E,P,L,d$1,S,R,w]),wo=useMemo(()=>y(f,F),[f,y,F]),uo=g(ho,F),Y=jsx(v,{customization:c$1?.errors}),Z=jsx(m,{labels:wo,children:e}),oo=r||s?jsx(G,{solanaRPCUrls:s,appChains:r,customization:c$1?.modals?.connectModal}):null,eo=r||s?jsx(t,{solanaRPCUrls:s,appChains:r,transactionPool:t$1,pulsarAdapter:p,customization:c$1?.modals?.connectedModal,pagination:V}):null,No=jsxs(c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Lo=jsxs(c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Mo=h(Lo,{ErrorsProvider:Y,LabelsProvider:Z,MainContent:No,ConnectModal:oo||jsx(Fragment,{}),ConnectedModal:eo||jsx(Fragment,{})},F);return jsx(Fragment,{children:Mo})}_o.displayName="NovaConnectProvider";async function Tr(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-YZZUYC6D.js');return {hasEvmUtils:await q(),hasSolanaUtils:await $(),adaptersStatus:o()}}async function q(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function $(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function br(){try{if(!await q())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.js'),r=await e.getEvmExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function yr(){try{if(!await $())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.js'),r=await e.getSolanaExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function gr(){let o={evm:false,solana:false,errors:[]};try{let e=await q(),r=await $();if(e||r){let{preloadChainAdapters:s}=await import('./getChainsListByConnectorType-YZZUYC6D.js'),t=[];e&&t.push(OrbitAdapter.EVM),r&&t.push(OrbitAdapter.SOLANA),await s(t),o.evm=e,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let r=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(r);}return o}async function hr(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?q():$()}export{so as ErrorsProvider,io as NovaConnectLabelsProvider,_o as NovaConnectProvider,Tr as getBlockchainUtilities,br as getEvmUtils,yr as getSolanaUtils,gr as initializeBlockchainSupport,hr as isAdapterSupported};
|
|
@@ -705,4 +705,4 @@ interface NativeBalanceData {
|
|
|
705
705
|
*/
|
|
706
706
|
declare function useWalletNativeBalance(): NativeBalanceData;
|
|
707
707
|
|
|
708
|
-
export { type AllChainConfigs as A, type ButtonTxStatus as B, type ConnectContentType as C, type InitialChains as I, type
|
|
708
|
+
export { type AllChainConfigs as A, type ButtonTxStatus as B, type ConnectContentType as C, type InitialChains as I, type LabelCategory as L, type NovaConnectProviderProps as N, type WalletBalance as W, type ConnectedContentType as a, type NovaConnectProviderType as b, type LegalConfig as c, type NativeBalanceResult as d, NovaConnectLabelsContext as e, NovaConnectProviderContext as f, NovaConnectProviderError as g, createLabelsSubset as h, getLabelWithFallback as i, hasLabel as j, isDefaultLabels as k, useLabelsByCategory as l, useNovaConnect as m, useNovaConnectLabel as n, useNovaConnectLabels as o, useNovaConnectLabelsSubset as p, useNovaConnectOptional as q, useWalletNativeBalance as r, type ConnectedModalTxHistoryProps as s, type ConnectedModalTxHistoryCustomization as t, useHasNovaConnectContext as u, ConnectedModalTxHistory as v, type LocalTransactionsHistoryCustomization as w, type LocalTxPagination as x };
|
package/dist/{useWalletNativeBalance-DYd-fWtH.d.cts → useWalletNativeBalance-DX5MO1-z.d.cts}
RENAMED
|
@@ -705,4 +705,4 @@ interface NativeBalanceData {
|
|
|
705
705
|
*/
|
|
706
706
|
declare function useWalletNativeBalance(): NativeBalanceData;
|
|
707
707
|
|
|
708
|
-
export { type AllChainConfigs as A, type ButtonTxStatus as B, type ConnectContentType as C, type InitialChains as I, type
|
|
708
|
+
export { type AllChainConfigs as A, type ButtonTxStatus as B, type ConnectContentType as C, type InitialChains as I, type LabelCategory as L, type NovaConnectProviderProps as N, type WalletBalance as W, type ConnectedContentType as a, type NovaConnectProviderType as b, type LegalConfig as c, type NativeBalanceResult as d, NovaConnectLabelsContext as e, NovaConnectProviderContext as f, NovaConnectProviderError as g, createLabelsSubset as h, getLabelWithFallback as i, hasLabel as j, isDefaultLabels as k, useLabelsByCategory as l, useNovaConnect as m, useNovaConnectLabel as n, useNovaConnectLabels as o, useNovaConnectLabelsSubset as p, useNovaConnectOptional as q, useWalletNativeBalance as r, type ConnectedModalTxHistoryProps as s, type ConnectedModalTxHistoryCustomization as t, useHasNovaConnectContext as u, ConnectedModalTxHistory as v, type LocalTransactionsHistoryCustomization as w, type LocalTxPagination as x };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/nova-connect",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -202,12 +202,12 @@
|
|
|
202
202
|
"@radix-ui/react-select": "^2.2.6",
|
|
203
203
|
"@tuwaio/orbit-core": "^0.2.8",
|
|
204
204
|
"@tuwaio/orbit-evm": "^0.2.12",
|
|
205
|
-
"@tuwaio/orbit-solana": "^0.2.
|
|
206
|
-
"@tuwaio/satellite-react": "^0.3.
|
|
205
|
+
"@tuwaio/orbit-solana": "^0.2.6",
|
|
206
|
+
"@tuwaio/satellite-react": "^0.3.4",
|
|
207
207
|
"@tuwaio/satellite-core": "^0.3.3",
|
|
208
208
|
"@tuwaio/satellite-evm": "^0.3.3",
|
|
209
|
-
"@tuwaio/satellite-solana": "^0.3.
|
|
210
|
-
"@tuwaio/pulsar-core": "^0.6.
|
|
209
|
+
"@tuwaio/satellite-solana": "^0.3.5",
|
|
210
|
+
"@tuwaio/pulsar-core": "^0.6.2",
|
|
211
211
|
"@wallet-standard/react": "^1.0.2",
|
|
212
212
|
"@wagmi/core": "^3.4.9",
|
|
213
213
|
"@web3icons/react": "^4.1.17",
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
"typescript": "^6.0.3",
|
|
236
236
|
"tsup": "^8.5.1",
|
|
237
237
|
"@tuwaio/nova-core": "^0.4.2",
|
|
238
|
-
"@tuwaio/nova-transactions": "^0.4.
|
|
238
|
+
"@tuwaio/nova-transactions": "^0.4.3"
|
|
239
239
|
},
|
|
240
240
|
"scripts": {
|
|
241
241
|
"start": "tsup src/index.ts --watch",
|