@tuwaio/nova-connect 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,6 @@
1
1
  import { Variants, TargetAndTransition, VariantLabels, LegacyAnimationControls, Transition, AnyResolvedKeyframe, HTMLMotionProps, Easing, motion } from 'framer-motion';
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
4
- import * as react_jsx_runtime from 'react/jsx-runtime';
5
4
  import * as Select from '@radix-ui/react-select';
6
5
  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
6
  export { v as ConnectedModalTxHistory, w as LocalTransactionsHistoryCustomization, x as LocalTxPagination } from '../useWalletNativeBalance-B6w7HC-n.js';
@@ -743,6 +742,11 @@ interface ScrollableChainListProps {
743
742
  */
744
743
  declare const ScrollableChainList: React__default.FC<ScrollableChainListProps>;
745
744
 
745
+ /**
746
+ * @file ChainSelector component - A highly customizable chain selector with support for desktop and mobile devices.
747
+ * @module ChainSelector
748
+ */
749
+
746
750
  /**
747
751
  * Context for the chain selection trigger button.
748
752
  */
@@ -1028,7 +1032,7 @@ interface ChainSelectorProps extends InitialChains {
1028
1032
  * The main chain selector component.
1029
1033
  * Supports both desktop (dropdown) and mobile (dialog modal) interfaces.
1030
1034
  */
1031
- declare function ChainSelector({ appChains, solanaRPCUrls, customization, className, 'aria-label': ariaLabel, }: ChainSelectorProps): react_jsx_runtime.JSX.Element | null;
1035
+ declare function ChainSelector({ appChains, solanaRPCUrls, customization, className, 'aria-label': ariaLabel, }: ChainSelectorProps): React__default.JSX.Element | null;
1032
1036
 
1033
1037
  type CustomLoadingOverlayProps$2 = {
1034
1038
  isLoading: boolean;
@@ -5984,7 +5988,7 @@ interface LegalDisclaimerProps {
5984
5988
  *
5985
5989
  * @public
5986
5990
  */
5987
- declare function LegalDisclaimer({ customization }: LegalDisclaimerProps): react_jsx_runtime.JSX.Element | null;
5991
+ declare function LegalDisclaimer({ customization }: LegalDisclaimerProps): React$1.JSX.Element | null;
5988
5992
  declare namespace LegalDisclaimer {
5989
5993
  var displayName: string;
5990
5994
  }
@@ -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-BRC3ASPJ.js';import'../chunk-JCUPHUQU.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-EYP534IS.js';
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-F56UBR3G.js';import'../chunk-Q7VMS3GO.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-EYP534IS.js';
@@ -1 +1 @@
1
- 'use strict';var chunkQ3WXFHOL_cjs=require('../chunk-Q3WXFHOL.cjs');require('../chunk-K44IHM6B.cjs'),require('../chunk-MGBN4EIT.cjs'),require('../chunk-V6XDFRWV.cjs');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,"getLabelWithFallback",{enumerable:true,get:function(){return chunkQ3WXFHOL_cjs.n}});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,"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}});
1
+ 'use strict';var chunkL72JK63U_cjs=require('../chunk-L72JK63U.cjs');require('../chunk-K44IHM6B.cjs'),require('../chunk-MGBN4EIT.cjs'),require('../chunk-V6XDFRWV.cjs');Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkL72JK63U_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkL72JK63U_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkL72JK63U_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkL72JK63U_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkL72JK63U_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkL72JK63U_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkL72JK63U_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkL72JK63U_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkL72JK63U_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkL72JK63U_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkL72JK63U_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkL72JK63U_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkL72JK63U_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkL72JK63U_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkL72JK63U_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkL72JK63U_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkL72JK63U_cjs.y}});
@@ -1 +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-JCUPHUQU.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-EYP534IS.js';
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-Q7VMS3GO.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-EYP534IS.js';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
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;
1
+ 'use strict';var chunkS6Y4W6FH_cjs=require('./chunk-S6Y4W6FH.cjs'),chunkL72JK63U_cjs=require('./chunk-L72JK63U.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,...u})=>jsxRuntime.jsx(chunkS6Y4W6FH_cjs.H,{title:o,rawError:e,onCopyComplete:r,customization:u.customization}),Bo=o=>{let e=chunkL72JK63U_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 u=chunkL72JK63U_cjs.h(),A=chunkV6XDFRWV_cjs.d(n=>n.switchNetworkError),_=chunkV6XDFRWV_cjs.d(n=>n.activeConnection),z=chunkV6XDFRWV_cjs.d(n=>n.connectionError),{ToastError:k=Ro,Container:j=Bo}=t?.components??{},{showError:H=Ao,dismissError:d=zo,onCopyComplete:V=ko}=t?.handlers??{},{errorTitle:U=Ho,errorHash:W=Vo}=t??{},v=react.useRef(new Set),f=react.useRef(null),T=!!z,y=!!A,g=!!_?.isConnected,h=T||y,E=z||A||null,i=T?"wallet":y?"switch":null,a={hasWalletError:T,hasSwitchError:y,isConnected:g,hasAnyError:h,primaryError:E,errorType:i},P=u.somethingWentWrong;switch(a.errorType){case "wallet":P=u.connectionError;break;case "switch":P=u.errorWhenChainSwitching;break}let I=U(P,{errorType:a.errorType}),L=a.primaryError?`${a.errorType}-${a.primaryError.message.substring(0,50)}`:null,M=W(L,{primaryError:a.primaryError,errorType:a.errorType}),p=react.useCallback(()=>{d(()=>{f.current&&(reactToastify.toast.dismiss(f.current),f.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,d]),D=react.useCallback((n,l)=>{V(n,l,i);},[V,i]),w=react.useCallback((n,l,C)=>{if(p(),!v.current.has(C))try{let x={containerId:o,toastId:C,onClose:()=>{v.current.delete(C),f.current=null;}},O=t?.toastOptions?.error?.({title:n,rawError:l,errorType:a.errorType,isConnected:a.isConnected}),X={...x,...O};reactToastify.toast.error(jsxRuntime.jsx(k,{title:n,rawError:l,errorType:a.errorType,isConnected:a.isConnected,onCopyComplete:R=>D(R,l),customization:t?.toastErrorCustomization}),X),v.current.add(C),f.current=C;}catch(x){console.error("Failed to show error toast:",x);}},[p,o,t?.toastOptions?.error,t?.toastErrorCustomization,k,a.errorType,a.isConnected,D]),K=react.useCallback((n,l,C)=>{H(w,{title:n,rawError:l,errorKey:C,errorType:i});},[w,H,i]);react.useEffect(()=>{if(g&&!h){p(),v.current.clear();return}if(h&&E&&M){if(g&&i!=="switch")return;K(I,E,M);}},[h,g,E,i,I,M,K,p]),react.useEffect(()=>()=>{p(),v.current.clear();},[p]);let S=t?.classNames?.container?t.classNames.container({hasErrors:a.hasAnyError,errorType:a.errorType}):"novacon:p-0 novacon:bg-transparent",J=react.useMemo(()=>{let n=t?.toastCloseButton;return n?({closeToast:l})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:l,...n}):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(u=>!(u in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkL72JK63U_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:u,withImpersonated:A,withBalance:_,withChain:z,popularConnectors:k,customConnectorGroups:j,legal:H,customization:d,pagination:V}){let U=chunkV6XDFRWV_cjs.d(ro=>ro.activeConnection),W=chunkV6XDFRWV_cjs.d(ro=>ro.connectionError),{LabelsProvider:v=Do,ErrorsProvider:f=Ko}=d?.components??{},{merge:T=Fo,transform:y=Go}=d?.labels??{},{transform:g=qo}=d?.contextValue??{},{providerTree:h=$o}=d?.rendering??{},E=react.useMemo(()=>T(chunkMGBN4EIT_cjs.a,o||{}),[o,T]),[i,a]=react.useState(false),[P,I]=react.useState(false),[L,M]=react.useState(false),[p,D]=react.useState(false),[w,K]=react.useState("idle"),[S,J]=react.useState("connectors"),[po,Q]=react.useState(void 0),[n,l]=react.useState(void 0),[C,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:i,setIsConnectModalOpen:a,isConnectedModalOpen:P,setIsConnectedModalOpen:I,isChainsListOpen:L,setIsChainsListOpen:M,isChainsListOpenMobile:p,setIsChainsListOpenMobile:D,connectedButtonStatus:w,setConnectedButtonStatus:K,connectedModalContentType:R,setConnectedModalContentType:go,connectModalContentType:S,setConnectModalContentType:J,selectedAdapter:po,setSelectedAdapter:Q,activeConnector:n,setActiveConnector:l,impersonatedAddress:C,setImpersonatedAddress:x,isConnected:O,setIsConnected:X,legal:H},F=react.useMemo(()=>({isConnected:O,activeConnection:U,connectionError:W,modalStates:{isConnectModalOpen:i,isConnectedModalOpen:P,isChainsListOpen:L,isChainsListOpenMobile:p},contentTypes:{connectModal:S,connectedModal:R},statuses:{connectedButton:w}}),[O,U,W,i,P,L,p,S,R,w]),wo=react.useMemo(()=>y(E,F),[E,y,F]),uo=g(ho,F),Y=jsxRuntime.jsx(f,{customization:d?.errors}),Z=jsxRuntime.jsx(v,{labels:wo,children:e}),oo=r||s?jsxRuntime.jsx(chunkS6Y4W6FH_cjs.G,{solanaRPCUrls:s,appChains:r,customization:d?.modals?.connectModal}):null,eo=r||s?jsxRuntime.jsx(chunkS6Y4W6FH_cjs.t,{solanaRPCUrls:s,appChains:r,transactionPool:t,pulsarAdapter:u,customization:d?.modals?.connectedModal,pagination:V}):null,No=jsxRuntime.jsxs(chunkL72JK63U_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Lo=jsxRuntime.jsxs(chunkL72JK63U_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 br(){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 Tr(){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 chunkL72JK63U_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkL72JK63U_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkL72JK63U_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkL72JK63U_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkL72JK63U_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkL72JK63U_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkL72JK63U_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkL72JK63U_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkL72JK63U_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkL72JK63U_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkL72JK63U_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkL72JK63U_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkL72JK63U_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkL72JK63U_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkL72JK63U_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkL72JK63U_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkL72JK63U_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkL72JK63U_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkL72JK63U_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkL72JK63U_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkL72JK63U_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkL72JK63U_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkL72JK63U_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkL72JK63U_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkL72JK63U_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=br;exports.getEvmUtils=Tr;exports.getSolanaUtils=yr;exports.initializeBlockchainSupport=gr;exports.isAdapterSupported=hr;