@tuwaio/nova-connect 1.0.0-fix-indep-alpha.6.bc09cf6 → 1.0.0-fix-indep-alpha.7.285558c
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-7EUQO34W.js → chunk-3LHD7CNB.js} +3 -3
- package/dist/{chunk-7EUQO34W.js.map → chunk-3LHD7CNB.js.map} +1 -1
- package/dist/{chunk-4GXQK7LW.js → chunk-4WDAZUTQ.js} +2 -2
- package/dist/{chunk-4GXQK7LW.js.map → chunk-4WDAZUTQ.js.map} +1 -1
- package/dist/{chunk-F4INBENJ.cjs → chunk-7SKDH7XL.cjs} +3 -3
- package/dist/{chunk-F4INBENJ.cjs.map → chunk-7SKDH7XL.cjs.map} +1 -1
- package/dist/{chunk-4WY4LVQ2.cjs → chunk-7YWQRWYN.cjs} +4 -4
- package/dist/{chunk-4WY4LVQ2.cjs.map → chunk-7YWQRWYN.cjs.map} +1 -1
- package/dist/{chunk-CKCFLRRG.js → chunk-IMRNX2S7.js} +3 -3
- package/dist/{chunk-CKCFLRRG.js.map → chunk-IMRNX2S7.js.map} +1 -1
- package/dist/{chunk-EWPT6HNX.cjs → chunk-L7YY2MZS.cjs} +2 -2
- package/dist/{chunk-EWPT6HNX.cjs.map → chunk-L7YY2MZS.cjs.map} +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.js +1 -1
- package/dist/evm/index.cjs +1 -1
- package/dist/evm/index.cjs.map +1 -1
- package/dist/evm/index.d.cts +11 -0
- package/dist/evm/index.d.ts +11 -0
- package/dist/evm/index.js +1 -1
- package/dist/evm/index.js.map +1 -1
- package/dist/{evm-Y352LZL3.cjs → evm-3XUGTMPL.cjs} +2 -2
- package/dist/{evm-Y352LZL3.cjs.map → evm-3XUGTMPL.cjs.map} +1 -1
- package/dist/{evm-KPV5OJOP.js → evm-5RQC7QOS.js} +2 -2
- package/dist/{evm-KPV5OJOP.js.map → evm-5RQC7QOS.js.map} +1 -1
- package/dist/getChainsListByConnectorType-LXHMQP2F.cjs +2 -0
- package/dist/{getChainsListByConnectorType-RKKDUHIO.cjs.map → getChainsListByConnectorType-LXHMQP2F.cjs.map} +1 -1
- package/dist/{getChainsListByConnectorType-6UA3PPII.js → getChainsListByConnectorType-TP2GS4LA.js} +2 -2
- package/dist/{getChainsListByConnectorType-6UA3PPII.js.map → getChainsListByConnectorType-TP2GS4LA.js.map} +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/solana/index.cjs +1 -1
- package/dist/solana/index.cjs.map +1 -1
- package/dist/solana/index.d.cts +12 -3
- package/dist/solana/index.d.ts +12 -3
- package/dist/solana/index.js +1 -1
- package/dist/solana/index.js.map +1 -1
- package/dist/{solana-KISWBTPH.cjs → solana-H5F4APJH.cjs} +2 -2
- package/dist/{solana-KISWBTPH.cjs.map → solana-H5F4APJH.cjs.map} +1 -1
- package/dist/{solana-2KX5XQPR.js → solana-TKICEEDG.js} +2 -2
- package/dist/{solana-2KX5XQPR.js.map → solana-TKICEEDG.js.map} +1 -1
- package/package.json +3 -3
- package/dist/getChainsListByConnectorType-RKKDUHIO.cjs +0 -2
package/dist/index.d.cts
CHANGED
|
@@ -11,9 +11,7 @@ import { N as NovaConnectLabels } from './types-eao2UQcC.cjs';
|
|
|
11
11
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
12
12
|
import { I as InitialChains, C as ChainIdentifierArray } from './types-DGsiEwne.cjs';
|
|
13
13
|
export { A as AllChainConfigs } from './types-DGsiEwne.cjs';
|
|
14
|
-
export { getSatelliteExports } from './satellite/index.cjs';
|
|
15
14
|
import { Connector } from '@tuwaio/satellite-react';
|
|
16
|
-
export { AllConnectors, Connection, Connector, SatelliteConnectProvider, SatelliteConnectProviderProps, SatelliteStoreContext, useInitializeAutoConnect, useSatelliteConnectStore } from '@tuwaio/satellite-react';
|
|
17
15
|
import '@tuwaio/pulsar-core';
|
|
18
16
|
import '@tuwaio/nova-core';
|
|
19
17
|
import 'framer-motion';
|
package/dist/index.d.ts
CHANGED
|
@@ -11,9 +11,7 @@ import { N as NovaConnectLabels } from './types-eao2UQcC.js';
|
|
|
11
11
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
12
12
|
import { I as InitialChains, C as ChainIdentifierArray } from './types-DGsiEwne.js';
|
|
13
13
|
export { A as AllChainConfigs } from './types-DGsiEwne.js';
|
|
14
|
-
export { getSatelliteExports } from './satellite/index.js';
|
|
15
14
|
import { Connector } from '@tuwaio/satellite-react';
|
|
16
|
-
export { AllConnectors, Connection, Connector, SatelliteConnectProvider, SatelliteConnectProviderProps, SatelliteStoreContext, useInitializeAutoConnect, useSatelliteConnectStore } from '@tuwaio/satellite-react';
|
|
17
15
|
import '@tuwaio/pulsar-core';
|
|
18
16
|
import '@tuwaio/nova-core';
|
|
19
17
|
import 'framer-motion';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {A,v,z,s,C,y,B,r,D}from'./chunk-CKCFLRRG.js';import {d,h,u,q,p,x,g as g$1,c}from'./chunk-7EUQO34W.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,r as getAvailableChainIds,y as getAvailableSolanaClusters,q as getConnectChainId,u as getFilteredConnectors,s as getGroupedConnectors,n as getLabelWithFallback,w as getNetworkIcon,t as hasAvailableConnectors,v as hasConnectorsForAdapter,k as hasLabel,p as isAddress,m as isDefaultLabels,z as isValidSolanaCluster,x as networksLinks,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,A as useWalletChainsList,B as useWalletNativeBalance}from'./chunk-7EUQO34W.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-4GXQK7LW.js';import {a}from'./chunk-3BMX6JWH.js';import {i,g}from'./chunk-6ZNK56AI.js';export{b as AllConnectors,c as Connection,d as Connector,e as SatelliteConnectProvider,f as SatelliteConnectProviderProps,g as SatelliteStoreContext,a as getSatelliteExports,h as useInitializeAutoConnect,i as useSatelliteConnectStore}from'./chunk-6ZNK56AI.js';import {waitFor,delay,formatConnectorName,getConnectorTypeFromName,impersonatedHelpers,OrbitAdapter}from'@tuwaio/orbit-core';import {cn,DialogHeader,DialogTitle,DialogClose,CloseIcon,standardButtonClasses,Dialog,DialogContent,ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {forwardRef,memo,useContext,useMemo,useEffect,useCallback,useRef,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {InformationCircleIcon}from'@heroicons/react/24/outline';import {motion}from'framer-motion';var fe=({title:o,rawError:t,onCopyComplete:r,errorType:n,isConnected:e,...l})=>jsx(D,{title:o,rawError:t,onCopyComplete:r,customization:l.customization}),ve=o=>{let t=h();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})},ge=(o,t)=>{o(t.title,t.rawError,t.errorKey);},be=o=>{o();},ye=(o,t)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",t.substring(0,100));},Te=o=>o,Ee=o=>o;function Po({containerId:o="nova-connect-errors",position:t="top-center",autoClose:r=7e3,draggable:n=false,customization:e}){let l=h(),s=i(d=>d.switchNetworkError),x=i(d=>d.activeConnection),k=i(d=>d.connectionError),{ToastError:h$1=fe,Container:g=ve}=e?.components??{},{showError:u=ge,dismissError:O=be,onCopyComplete:H=ye}=e?.handlers??{},{errorTitle:T=Te,errorHash:P=Ee}=e??{},M=useRef(new Set),R=useRef(null),i$1=useMemo(()=>{let d=!!k,y=!!s,D=!!x?.isConnected;return {hasWalletError:d,hasSwitchError:y,isConnected:D,hasAnyError:d||y,primaryError:k||s||null,errorType:d?"wallet":y?"switch":null}},[k,s,x?.isConnected]),z=useMemo(()=>{switch(i$1.errorType){case "wallet":return l.connectionError;case "switch":return l.errorWhenChainSwitching;default:return l.somethingWentWrong}},[i$1.errorType,l]),p=useMemo(()=>T(z,{errorType:i$1.errorType}),[T,z,i$1.errorType]),I=useMemo(()=>i$1.primaryError?`${i$1.errorType}-${i$1.primaryError.substring(0,50)}`:null,[i$1.primaryError,i$1.errorType]),f=useMemo(()=>P(I,{primaryError:i$1.primaryError,errorType:i$1.errorType}),[P,I,i$1.primaryError,i$1.errorType]),E=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((d,y)=>{H(d,y,i$1.errorType);},[H,i$1.errorType]),a=useCallback((d,y,D)=>{if(E(),!M.current.has(D))try{let V={containerId:o,toastId:D,onClose:()=>{M.current.delete(D),R.current=null;}},K=e?.toastOptions?.error?.({title:d,rawError:y,errorType:i$1.errorType,isConnected:i$1.isConnected}),J={...V,...K};toast.error(jsx(h$1,{title:d,rawError:y,errorType:i$1.errorType,isConnected:i$1.isConnected,onCopyComplete:Q=>F(Q,y),customization:e?.toastErrorCustomization}),J),M.current.add(D),R.current=D;}catch(V){console.error("Failed to show error toast:",V);}},[E,o,e?.toastOptions?.error,e?.toastErrorCustomization,h$1,i$1.errorType,i$1.isConnected,F]),v=useCallback((d,y,D)=>{u(a,{title:d,rawError:y,errorKey:D,errorType:i$1.errorType});},[a,u,i$1.errorType]);useEffect(()=>{let{hasAnyError:d,isConnected:y,primaryError:D}=i$1;if(y&&!d){E(),M.current.clear();return}if(d&&D&&f){if(y&&i$1.errorType!=="switch")return;v(p,D,f);}},[i$1,p,f,v,E]),useEffect(()=>()=>{E(),M.current.clear();},[E]);let b=useMemo(()=>e?.classNames?.container?e.classNames.container({hasErrors:i$1.hasAnyError,errorType:i$1.errorType}):"novacon:p-0 novacon:bg-transparent",[e,i$1.hasAnyError,i$1.errorType]),C=useMemo(()=>({containerId:o,position:t,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:n,pauseOnHover:true,theme:"light",transition:Bounce}),[o,t,r,n]),N=useMemo(()=>({...C,...e?.containerProps,className:b}),[C,e?.containerProps,b]);return jsx(g,{...N})}Po.displayName="ErrorsProvider";function No({labels:o,children:t}){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 e=["connectWallet","disconnect","connecting","connected","error","success"].filter(l=>!(l in o));e.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${e.join(", ")}`);}return jsx(g$1.Provider,{value:r,children:t})}No.displayName="NovaConnectLabelsProvider";function Ie(o,t){if(!o||!Array.isArray(o)||!t)return;let r=o.find(n=>n&&typeof n=="object"&&"name"in n&&typeof n.name=="string"?formatConnectorName(n.name)===t:false);if(r&&typeof r=="object"&&"name"in r&&typeof r.name=="string")return r.name}var Xo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...n,children:t}));Xo.displayName="DefaultModalContainer";var Yo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:o,...n,children:jsx(DialogHeader,{children:t})}));Yo.displayName="DefaultModalHeader";var Zo=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx("button",{ref:e,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:t,...n,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Zo.displayName="DefaultInfoButton";var oe=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx(DialogTitle,{ref:e,className:cn("novacon:flex novacon:items-center",o),...n,children:t}));oe.displayName="DefaultTitle";var ee=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:e,type:"button",onClick:t,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...n,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));ee.displayName="DefaultCloseButton";var te=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("main",{ref:e,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...n,children:t}));te.displayName="DefaultMainContent";var ne=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("footer",{ref:e,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...n,children:t}));ne.displayName="DefaultFooter";var re=forwardRef(({className:o,onClick:t,children:r,modalData:n,...e},l)=>jsx("button",{ref:l,type:"button",onClick:t,className:cn(standardButtonClasses,o),...e,children:r}));re.displayName="DefaultBackButton";var ae=forwardRef(({className:o,onClick:t,children:r,disabled:n,loading:e,buttonConfig:l,modalData:s,...x},k)=>jsx("button",{ref:k,type:"button",onClick:t,disabled:n||e,className:cn(standardButtonClasses,o),...x,children:e?"Loading...":r}));ae.displayName="DefaultActionButton";var se=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("span",{ref:e,className:cn("novacon:sr-only",o),...n,children:t}));se.displayName="DefaultActionDescription";var ie=forwardRef(({children:o,className:t,...r},n)=>{let{modalData:e,...l}=r;return jsx("div",{ref:n,className:t,...l,children:o})});ie.displayName="DefaultEmptyState";var wo=memo(({appChains:o,solanaRPCUrls:t,withImpersonated:r,customization:n={}})=>{let{isConnectModalOpen:e,setIsConnectModalOpen:l,setConnectModalContentType:s$1,setActiveConnector:x$1,setImpersonatedAddress:k,setIsConnected:h$1,connectModalContentType:g$1,selectedAdapter:u$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:P}=d(),M=i(m=>m.connectionError),R=i(m=>m.getConnectors),i$1=i(m=>m.connect),z$1=i(m=>m.activeConnection),p$1=h(),I=useContext(g),f=useMemo(()=>{if(e)return R()},[e,R]),E=useMemo(()=>u({connectors:f,selectedAdapter:u$1}),[f,u$1]),F=useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),a=useMemo(()=>({contentType:g$1,selectedAdapter:u$1,activeConnector:T,impersonatedAddress:P,isConnected:H,isOpen:e,error:F,connectors:f,filteredConnectors:E,labels:p$1}),[g$1,u$1,T,P,H,e,F,f,E,p$1]);useEffect(()=>{e&&(s$1("connectors"),O(void 0),x$1(void 0),k(""),h$1(false));},[e]);let{components:v$1={},classNames:b={},handlers:C$1={},config:N={},childComponents:d$1={}}=n,y$1=v$1.ModalContainer||Xo,D=v$1.ModalHeader||Yo,V=v$1.InfoButton||Zo,K=v$1.Title||oe,J=v$1.CloseButton||ee,Q=v$1.MainContent||te,X=v$1.Footer||ne,io=v$1.BackButton||re,Y=v$1.ActionButton||ae,lo=v$1.ActionDescription||se,G=v$1.EmptyState||ie,go=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g$1){case "about":return p$1.aboutWallets;case "getWallet":return p$1.getWallet;case "connecting":return u$1&&T&&f&&Ie(f[u$1],T)||p$1.connectingEllipsis;case "impersonate":return p$1.connectImpersonatedWallet;default:return p$1.connectWallet}},[g$1,u$1,T,f,p$1]),Z=useCallback(()=>"connectors",[g$1]),oo=useCallback(m=>{C$1?.onOpenChange?C$1.onOpenChange(m,a):l(m);},[C$1?.onOpenChange,a,l]),bo=useCallback(()=>{let m=()=>s$1(Z());C$1?.onBack?C$1.onBack(a,m):m();},[C$1?.onBack,a,s$1,Z]),yo=useCallback(()=>{C$1?.onInfoClick?C$1.onInfoClick(a):s$1("about");},[C$1?.onInfoClick,a,s$1]),_=useCallback(async(m,To)=>{await i$1({connectorType:m,chainId:q({appChains:o,selectedAdapter:To,solanaRPCUrls:t})});try{await waitFor(()=>I?.getState().activeConnection?.isConnected),h$1(!0);let Eo=setTimeout(()=>l(!1),400),me=setTimeout(()=>h$1(!1),500);await delay(null,500),clearTimeout(Eo),clearTimeout(me);}catch(Eo){console.error(Eo);}},[i$1,o,u$1,t]),j=useCallback(async(m,To)=>{O(m),s$1("connecting"),await _(To,m);},[_]),Bo=useCallback(m=>{x$1(formatConnectorName(m.name)),m.adapters.length===1?(O(m.adapters[0]),s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting")):u$1?s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(m.name)==="impersonatedwallet"?s$1("impersonate"):s$1("network");},[u$1]),ce=useCallback(()=>{switch(g$1){case "network":return jsx(B,{activeConnector:T,connectors:E,onClick:j,customization:d$1.networkSelections});case "connectors":return f?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(f),selectedAdapter:u$1,onSelect:m=>O(m),customization:d$1.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(f).length===1,connectors:E,selectedAdapter:u$1,onClick:Bo,setContentType:s$1,appChains:o,solanaRPCUrls:t,setIsConnected:h$1,setIsOpen:l,withImpersonated:r,customization:d$1.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:a}),modalData:a,children:"No connectors available"});case "about":return jsx(s,{customization:d$1.aboutWallets});case "getWallet":return jsx(z,{customization:d$1.getWallet});case "connecting":return jsx(v,{selectedAdapter:u$1,connectors:E,activeConnector:T,isConnected:H,customization:d$1.connecting});case "impersonate":return jsx(A,{selectedAdapter:u$1,impersonatedAddress:P,setImpersonatedAddress:k,customization:d$1.impersonateForm})}},[g$1,T,E,j,d$1,f,u$1,Bo,H,P]),$=useCallback(()=>{switch(g$1){case "connectors":return {title:p$1.iDontHaveWallet,onClick:()=>{C$1.onActionClick?.connectors?C$1.onActionClick.connectors(a):s$1("getWallet");}};case "getWallet":return {title:p$1.choseWallet,onClick:()=>{C$1.onActionClick?.getWallet?C$1.onActionClick.getWallet(a):window.open(x[u$1??Object.keys(f)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:p$1.learnMore,onClick:()=>{C$1.onActionClick?.about?C$1.onActionClick.about(a):window.open(x[u$1??Object.keys(f)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:p$1.connect,onClick:async()=>{if(C$1.onActionClick?.impersonate)await C$1.onActionClick.impersonate(a);else {let m=P.trim();if(M||!m||p(m)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(m),s$1("connecting"),await _(getConnectorTypeFromName(u$1??OrbitAdapter.EVM,T??""),u$1??OrbitAdapter.EVM);}}};case "connecting":return M&&u$1&&T?{title:p$1.tryAgain,onClick:async()=>{C$1.onActionClick?.connecting?await C$1.onActionClick.connecting(a):await _(getConnectorTypeFromName(u$1,T),u$1);}}:void 0}},[g$1,p$1,C$1,a,u$1,f,P,M,_,T])(),de=useCallback(()=>{switch(g$1){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g$1]);return jsx(go,{open:e,onOpenChange:oo,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:N.animation?.disabled?0:N.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:a}),modalData:a,children:[jsxs(D,{className:b.header?.({modalData:a}),modalData:a,children:[jsxs(K,{className:b.title?.({modalData:a}),modalData:a,children:[g$1==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:a}),onClick:yo,"aria-label":N.ariaLabels?.infoButton?.(a)||`${p$1.learnMore} ${p$1.aboutWallets}`,modalData:a}),no()]}),jsx(J,{className:b.closeButton?.({modalData:a}),onClick:()=>oo(false),"aria-label":N.ariaLabels?.closeButton?.(a)||p$1.closeModal,modalData:a})]}),jsx(Q,{className:b.mainContent?.({modalData:a}),modalData:a,children:ce()}),jsxs(X,{className:b.footer?.({modalData:a}),modalData:a,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g$1!=="connectors"&&jsx(io,{className:b.backButton?.({modalData:a}),onClick:bo,"aria-label":N.ariaLabels?.backButton?.(a)||`${p$1.back} to previous step`,modalData:a,children:p$1.back})}),$&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(Y,{className:b.actionButton?.({modalData:a,buttonConfig:$}),onClick:$.onClick,disabled:$.disabled,loading:$.loading,"aria-describedby":"bottom-action-description",modalData:a,buttonConfig:$,children:$.title}),jsx(lo,{id:"bottom-action-description",className:b.actionDescription?.({modalData:a}),modalData:a,children:de()})]})]})]})})})})});wo.displayName="ConnectModal";var Ve=({labels:o,children:t})=>jsx(No,{labels:o,children:t}),Ue=({customization:o})=>jsx(Po,{customization:o}),qe=(o,t)=>deepMerge(o,t||{}),Ge=o=>o,_e=o=>o,je=(o,t,r)=>o;function $e({labels:o,children:t,appChains:r$1,solanaRPCUrls:n,transactionPool:e,pulsarAdapter:l,withImpersonated:s,withBalance:x,withChain:k,customization:h}){let g=i(j=>j.activeConnection),u=i(j=>j.connectionError),{LabelsProvider:O=Ve,ErrorsProvider:H=Ue}=h?.components??{},{merge:T=qe,transform:P=Ge}=h?.labels??{},{transform:M=_e}=h?.contextValue??{},{providerTree:R=je}=h?.rendering??{},i$1=useMemo(()=>T(a,o||{}),[o,T]),[z,p]=useState(false),[I,f]=useState(false),[E,F]=useState(false),[a$1,v]=useState(false),[b,C]=useState("idle"),[N,d]=useState("connectors"),[y,D]=useState(void 0),[V,K]=useState(void 0),[J,Q]=useState(""),[X,io]=useState(false),[Y,lo]=useState("main"),G=useMemo(()=>({isConnected:X,activeConnection:g,connectionError:u,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:I,isChainsListOpen:E,isChainsListOpenMobile:a$1},contentTypes:{connectModal:N,connectedModal:Y},statuses:{connectedButton:b}}),[X,g,u,z,I,E,a$1,N,Y,b]),go=useMemo(()=>P(i$1,G),[i$1,P,G]),co=useMemo(()=>M({appChains:r$1,solanaRPCUrls:n,withImpersonated:s,withBalance:x,withChain:k,isConnectModalOpen:z,setIsConnectModalOpen:p,isConnectedModalOpen:I,setIsConnectedModalOpen:f,isChainsListOpen:E,setIsChainsListOpen:F,isChainsListOpenMobile:a$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:C,connectedModalContentType:Y,setConnectedModalContentType:lo,connectModalContentType:N,setConnectModalContentType:d,selectedAdapter:y,setSelectedAdapter:D,activeConnector:V,setActiveConnector:K,impersonatedAddress:J,setImpersonatedAddress:Q,isConnected:X,setIsConnected:io},G),[r$1,n,s,x,k,z,p,I,f,E,F,a$1,v,b,C,Y,lo,N,d,y,D,V,K,J,Q,X,io,M,G]),to=jsx(H,{customization:h?.errors}),no=jsx(O,{labels:go,children:t}),Z=r$1||n?jsx(wo,{withImpersonated:s,solanaRPCUrls:n,appChains:r$1,customization:h?.modals?.connectModal}):null,oo=r$1||n?jsx(r,{solanaRPCUrls:n,appChains:r$1,transactionPool:e,pulsarAdapter:l,customization:h?.modals?.connectedModal}):null,bo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),yo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),_=R(yo,{ErrorsProvider:to,LabelsProvider:no,MainContent:bo,ConnectModal:Z||jsx(Fragment,{}),ConnectedModal:oo||jsx(Fragment,{})},G);return jsx(Fragment,{children:_})}$e.displayName="NovaConnectProvider";var so=typeof process<"u"&&process.env?.NODE_ENV==="production";async function nr(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-6UA3PPII.js');return {hasEvmUtils:await fo(),hasSolanaUtils:await vo(),adaptersStatus:o()}}async function fo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-evm") && require("viem")); } catch { return false; }')()}catch{return false}try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function vo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-solana") && require("gill")); } catch { return false; }')()}catch{return false}try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function rr(){try{if(!await fo())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};if(so)try{let e=new Function('try { return require("./evm"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getEvmExports!="function"){l({available:!1,error:"EVM module does not have getEvmExports function"});return}e.getEvmExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load EVM exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load EVM exports"});});}):{available:!1,error:"Failed to load EVM module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load EVM module"}}let t=await import('./evm/index.js'),r=await t.getEvmExports();return r.available?{...t,...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 ar(){try{if(!await vo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};if(so)try{let e=new Function('try { return require("./solana"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getSolanaExports!="function"){l({available:!1,error:"Solana module does not have getSolanaExports function"});return}e.getSolanaExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load Solana exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load Solana exports"});});}):{available:!1,error:"Failed to load Solana module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load Solana module"}}let t=await import('./solana/index.js'),r=await t.getSolanaExports();return r.available?{...t,...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 sr(){let o={evm:false,solana:false,errors:[]};try{let t=await fo(),r=await vo();if(t||r)if(so)try{let e=new Function('try { return require("./utils/getChainsListByConnectorType"); } catch { return null; }')();if(!e)return o.errors.push("Failed to load chain adapter utilities"),o;let l=[];t&&l.push(OrbitAdapter.EVM),r&&l.push(OrbitAdapter.SOLANA),await e.preloadChainAdapters(l),o.evm=t,o.solana=r;}catch(n){let e=n instanceof Error?n.message:"Failed to initialize chain adapters";o.errors.push(e);}else {let{preloadChainAdapters:n}=await import('./getChainsListByConnectorType-6UA3PPII.js'),e=[];t&&e.push(OrbitAdapter.EVM),r&&e.push(OrbitAdapter.SOLANA),await n(e),o.evm=t,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(t){let r=t instanceof Error?t.message:"Unknown initialization error";o.errors.push(r);}return o}async function ir(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?fo():vo()}export{Po as ErrorsProvider,No as NovaConnectLabelsProvider,$e as NovaConnectProvider,nr as getBlockchainUtilities,rr as getEvmUtils,ar as getSolanaUtils,sr as initializeBlockchainSupport,ir as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
1
|
+
import {A,v,z,s,C,y,B,r,D}from'./chunk-IMRNX2S7.js';import {d,h,u,q,p,x,g as g$1,c}from'./chunk-3LHD7CNB.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,r as getAvailableChainIds,y as getAvailableSolanaClusters,q as getConnectChainId,u as getFilteredConnectors,s as getGroupedConnectors,n as getLabelWithFallback,w as getNetworkIcon,t as hasAvailableConnectors,v as hasConnectorsForAdapter,k as hasLabel,p as isAddress,m as isDefaultLabels,z as isValidSolanaCluster,x as networksLinks,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,A as useWalletChainsList,B as useWalletNativeBalance}from'./chunk-3LHD7CNB.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-4WDAZUTQ.js';import {a}from'./chunk-3BMX6JWH.js';import {i,g}from'./chunk-6ZNK56AI.js';import {waitFor,delay,formatConnectorName,getConnectorTypeFromName,impersonatedHelpers,OrbitAdapter}from'@tuwaio/orbit-core';import {cn,DialogHeader,DialogTitle,DialogClose,CloseIcon,standardButtonClasses,Dialog,DialogContent,ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {forwardRef,memo,useContext,useMemo,useEffect,useCallback,useRef,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {InformationCircleIcon}from'@heroicons/react/24/outline';import {motion}from'framer-motion';var fe=({title:o,rawError:t,onCopyComplete:r,errorType:n,isConnected:e,...l})=>jsx(D,{title:o,rawError:t,onCopyComplete:r,customization:l.customization}),ve=o=>{let t=h();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})},ge=(o,t)=>{o(t.title,t.rawError,t.errorKey);},be=o=>{o();},ye=(o,t)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",t.substring(0,100));},Te=o=>o,Ee=o=>o;function Po({containerId:o="nova-connect-errors",position:t="top-center",autoClose:r=7e3,draggable:n=false,customization:e}){let l=h(),s=i(d=>d.switchNetworkError),x=i(d=>d.activeConnection),k=i(d=>d.connectionError),{ToastError:h$1=fe,Container:g=ve}=e?.components??{},{showError:u=ge,dismissError:O=be,onCopyComplete:H=ye}=e?.handlers??{},{errorTitle:T=Te,errorHash:P=Ee}=e??{},M=useRef(new Set),R=useRef(null),i$1=useMemo(()=>{let d=!!k,y=!!s,D=!!x?.isConnected;return {hasWalletError:d,hasSwitchError:y,isConnected:D,hasAnyError:d||y,primaryError:k||s||null,errorType:d?"wallet":y?"switch":null}},[k,s,x?.isConnected]),z=useMemo(()=>{switch(i$1.errorType){case "wallet":return l.connectionError;case "switch":return l.errorWhenChainSwitching;default:return l.somethingWentWrong}},[i$1.errorType,l]),p=useMemo(()=>T(z,{errorType:i$1.errorType}),[T,z,i$1.errorType]),I=useMemo(()=>i$1.primaryError?`${i$1.errorType}-${i$1.primaryError.substring(0,50)}`:null,[i$1.primaryError,i$1.errorType]),f=useMemo(()=>P(I,{primaryError:i$1.primaryError,errorType:i$1.errorType}),[P,I,i$1.primaryError,i$1.errorType]),E=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((d,y)=>{H(d,y,i$1.errorType);},[H,i$1.errorType]),a=useCallback((d,y,D)=>{if(E(),!M.current.has(D))try{let V={containerId:o,toastId:D,onClose:()=>{M.current.delete(D),R.current=null;}},K=e?.toastOptions?.error?.({title:d,rawError:y,errorType:i$1.errorType,isConnected:i$1.isConnected}),J={...V,...K};toast.error(jsx(h$1,{title:d,rawError:y,errorType:i$1.errorType,isConnected:i$1.isConnected,onCopyComplete:Q=>F(Q,y),customization:e?.toastErrorCustomization}),J),M.current.add(D),R.current=D;}catch(V){console.error("Failed to show error toast:",V);}},[E,o,e?.toastOptions?.error,e?.toastErrorCustomization,h$1,i$1.errorType,i$1.isConnected,F]),v=useCallback((d,y,D)=>{u(a,{title:d,rawError:y,errorKey:D,errorType:i$1.errorType});},[a,u,i$1.errorType]);useEffect(()=>{let{hasAnyError:d,isConnected:y,primaryError:D}=i$1;if(y&&!d){E(),M.current.clear();return}if(d&&D&&f){if(y&&i$1.errorType!=="switch")return;v(p,D,f);}},[i$1,p,f,v,E]),useEffect(()=>()=>{E(),M.current.clear();},[E]);let b=useMemo(()=>e?.classNames?.container?e.classNames.container({hasErrors:i$1.hasAnyError,errorType:i$1.errorType}):"novacon:p-0 novacon:bg-transparent",[e,i$1.hasAnyError,i$1.errorType]),C=useMemo(()=>({containerId:o,position:t,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:n,pauseOnHover:true,theme:"light",transition:Bounce}),[o,t,r,n]),N=useMemo(()=>({...C,...e?.containerProps,className:b}),[C,e?.containerProps,b]);return jsx(g,{...N})}Po.displayName="ErrorsProvider";function No({labels:o,children:t}){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 e=["connectWallet","disconnect","connecting","connected","error","success"].filter(l=>!(l in o));e.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${e.join(", ")}`);}return jsx(g$1.Provider,{value:r,children:t})}No.displayName="NovaConnectLabelsProvider";function Ie(o,t){if(!o||!Array.isArray(o)||!t)return;let r=o.find(n=>n&&typeof n=="object"&&"name"in n&&typeof n.name=="string"?formatConnectorName(n.name)===t:false);if(r&&typeof r=="object"&&"name"in r&&typeof r.name=="string")return r.name}var Xo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...n,children:t}));Xo.displayName="DefaultModalContainer";var Yo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:o,...n,children:jsx(DialogHeader,{children:t})}));Yo.displayName="DefaultModalHeader";var Zo=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx("button",{ref:e,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:t,...n,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Zo.displayName="DefaultInfoButton";var oe=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx(DialogTitle,{ref:e,className:cn("novacon:flex novacon:items-center",o),...n,children:t}));oe.displayName="DefaultTitle";var ee=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:e,type:"button",onClick:t,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...n,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));ee.displayName="DefaultCloseButton";var te=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("main",{ref:e,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...n,children:t}));te.displayName="DefaultMainContent";var ne=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("footer",{ref:e,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...n,children:t}));ne.displayName="DefaultFooter";var re=forwardRef(({className:o,onClick:t,children:r,modalData:n,...e},l)=>jsx("button",{ref:l,type:"button",onClick:t,className:cn(standardButtonClasses,o),...e,children:r}));re.displayName="DefaultBackButton";var ae=forwardRef(({className:o,onClick:t,children:r,disabled:n,loading:e,buttonConfig:l,modalData:s,...x},k)=>jsx("button",{ref:k,type:"button",onClick:t,disabled:n||e,className:cn(standardButtonClasses,o),...x,children:e?"Loading...":r}));ae.displayName="DefaultActionButton";var se=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("span",{ref:e,className:cn("novacon:sr-only",o),...n,children:t}));se.displayName="DefaultActionDescription";var ie=forwardRef(({children:o,className:t,...r},n)=>{let{modalData:e,...l}=r;return jsx("div",{ref:n,className:t,...l,children:o})});ie.displayName="DefaultEmptyState";var wo=memo(({appChains:o,solanaRPCUrls:t,withImpersonated:r,customization:n={}})=>{let{isConnectModalOpen:e,setIsConnectModalOpen:l,setConnectModalContentType:s$1,setActiveConnector:x$1,setImpersonatedAddress:k,setIsConnected:h$1,connectModalContentType:g$1,selectedAdapter:u$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:P}=d(),M=i(m=>m.connectionError),R=i(m=>m.getConnectors),i$1=i(m=>m.connect),z$1=i(m=>m.activeConnection),p$1=h(),I=useContext(g),f=useMemo(()=>{if(e)return R()},[e,R]),E=useMemo(()=>u({connectors:f,selectedAdapter:u$1}),[f,u$1]),F=useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),a=useMemo(()=>({contentType:g$1,selectedAdapter:u$1,activeConnector:T,impersonatedAddress:P,isConnected:H,isOpen:e,error:F,connectors:f,filteredConnectors:E,labels:p$1}),[g$1,u$1,T,P,H,e,F,f,E,p$1]);useEffect(()=>{e&&(s$1("connectors"),O(void 0),x$1(void 0),k(""),h$1(false));},[e]);let{components:v$1={},classNames:b={},handlers:C$1={},config:N={},childComponents:d$1={}}=n,y$1=v$1.ModalContainer||Xo,D=v$1.ModalHeader||Yo,V=v$1.InfoButton||Zo,K=v$1.Title||oe,J=v$1.CloseButton||ee,Q=v$1.MainContent||te,X=v$1.Footer||ne,io=v$1.BackButton||re,Y=v$1.ActionButton||ae,lo=v$1.ActionDescription||se,G=v$1.EmptyState||ie,go=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g$1){case "about":return p$1.aboutWallets;case "getWallet":return p$1.getWallet;case "connecting":return u$1&&T&&f&&Ie(f[u$1],T)||p$1.connectingEllipsis;case "impersonate":return p$1.connectImpersonatedWallet;default:return p$1.connectWallet}},[g$1,u$1,T,f,p$1]),Z=useCallback(()=>"connectors",[g$1]),oo=useCallback(m=>{C$1?.onOpenChange?C$1.onOpenChange(m,a):l(m);},[C$1?.onOpenChange,a,l]),bo=useCallback(()=>{let m=()=>s$1(Z());C$1?.onBack?C$1.onBack(a,m):m();},[C$1?.onBack,a,s$1,Z]),yo=useCallback(()=>{C$1?.onInfoClick?C$1.onInfoClick(a):s$1("about");},[C$1?.onInfoClick,a,s$1]),_=useCallback(async(m,To)=>{await i$1({connectorType:m,chainId:q({appChains:o,selectedAdapter:To,solanaRPCUrls:t})});try{await waitFor(()=>I?.getState().activeConnection?.isConnected),h$1(!0);let Eo=setTimeout(()=>l(!1),400),me=setTimeout(()=>h$1(!1),500);await delay(null,500),clearTimeout(Eo),clearTimeout(me);}catch(Eo){console.error(Eo);}},[i$1,o,u$1,t]),j=useCallback(async(m,To)=>{O(m),s$1("connecting"),await _(To,m);},[_]),Bo=useCallback(m=>{x$1(formatConnectorName(m.name)),m.adapters.length===1?(O(m.adapters[0]),s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting")):u$1?s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(m.name)==="impersonatedwallet"?s$1("impersonate"):s$1("network");},[u$1]),ce=useCallback(()=>{switch(g$1){case "network":return jsx(B,{activeConnector:T,connectors:E,onClick:j,customization:d$1.networkSelections});case "connectors":return f?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(f),selectedAdapter:u$1,onSelect:m=>O(m),customization:d$1.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(f).length===1,connectors:E,selectedAdapter:u$1,onClick:Bo,setContentType:s$1,appChains:o,solanaRPCUrls:t,setIsConnected:h$1,setIsOpen:l,withImpersonated:r,customization:d$1.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:a}),modalData:a,children:"No connectors available"});case "about":return jsx(s,{customization:d$1.aboutWallets});case "getWallet":return jsx(z,{customization:d$1.getWallet});case "connecting":return jsx(v,{selectedAdapter:u$1,connectors:E,activeConnector:T,isConnected:H,customization:d$1.connecting});case "impersonate":return jsx(A,{selectedAdapter:u$1,impersonatedAddress:P,setImpersonatedAddress:k,customization:d$1.impersonateForm})}},[g$1,T,E,j,d$1,f,u$1,Bo,H,P]),$=useCallback(()=>{switch(g$1){case "connectors":return {title:p$1.iDontHaveWallet,onClick:()=>{C$1.onActionClick?.connectors?C$1.onActionClick.connectors(a):s$1("getWallet");}};case "getWallet":return {title:p$1.choseWallet,onClick:()=>{C$1.onActionClick?.getWallet?C$1.onActionClick.getWallet(a):window.open(x[u$1??Object.keys(f)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:p$1.learnMore,onClick:()=>{C$1.onActionClick?.about?C$1.onActionClick.about(a):window.open(x[u$1??Object.keys(f)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:p$1.connect,onClick:async()=>{if(C$1.onActionClick?.impersonate)await C$1.onActionClick.impersonate(a);else {let m=P.trim();if(M||!m||p(m)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(m),s$1("connecting"),await _(getConnectorTypeFromName(u$1??OrbitAdapter.EVM,T??""),u$1??OrbitAdapter.EVM);}}};case "connecting":return M&&u$1&&T?{title:p$1.tryAgain,onClick:async()=>{C$1.onActionClick?.connecting?await C$1.onActionClick.connecting(a):await _(getConnectorTypeFromName(u$1,T),u$1);}}:void 0}},[g$1,p$1,C$1,a,u$1,f,P,M,_,T])(),de=useCallback(()=>{switch(g$1){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g$1]);return jsx(go,{open:e,onOpenChange:oo,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:N.animation?.disabled?0:N.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:a}),modalData:a,children:[jsxs(D,{className:b.header?.({modalData:a}),modalData:a,children:[jsxs(K,{className:b.title?.({modalData:a}),modalData:a,children:[g$1==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:a}),onClick:yo,"aria-label":N.ariaLabels?.infoButton?.(a)||`${p$1.learnMore} ${p$1.aboutWallets}`,modalData:a}),no()]}),jsx(J,{className:b.closeButton?.({modalData:a}),onClick:()=>oo(false),"aria-label":N.ariaLabels?.closeButton?.(a)||p$1.closeModal,modalData:a})]}),jsx(Q,{className:b.mainContent?.({modalData:a}),modalData:a,children:ce()}),jsxs(X,{className:b.footer?.({modalData:a}),modalData:a,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g$1!=="connectors"&&jsx(io,{className:b.backButton?.({modalData:a}),onClick:bo,"aria-label":N.ariaLabels?.backButton?.(a)||`${p$1.back} to previous step`,modalData:a,children:p$1.back})}),$&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(Y,{className:b.actionButton?.({modalData:a,buttonConfig:$}),onClick:$.onClick,disabled:$.disabled,loading:$.loading,"aria-describedby":"bottom-action-description",modalData:a,buttonConfig:$,children:$.title}),jsx(lo,{id:"bottom-action-description",className:b.actionDescription?.({modalData:a}),modalData:a,children:de()})]})]})]})})})})});wo.displayName="ConnectModal";var Ve=({labels:o,children:t})=>jsx(No,{labels:o,children:t}),Ue=({customization:o})=>jsx(Po,{customization:o}),qe=(o,t)=>deepMerge(o,t||{}),Ge=o=>o,_e=o=>o,je=(o,t,r)=>o;function $e({labels:o,children:t,appChains:r$1,solanaRPCUrls:n,transactionPool:e,pulsarAdapter:l,withImpersonated:s,withBalance:x,withChain:k,customization:h}){let g=i(j=>j.activeConnection),u=i(j=>j.connectionError),{LabelsProvider:O=Ve,ErrorsProvider:H=Ue}=h?.components??{},{merge:T=qe,transform:P=Ge}=h?.labels??{},{transform:M=_e}=h?.contextValue??{},{providerTree:R=je}=h?.rendering??{},i$1=useMemo(()=>T(a,o||{}),[o,T]),[z,p]=useState(false),[I,f]=useState(false),[E,F]=useState(false),[a$1,v]=useState(false),[b,C]=useState("idle"),[N,d]=useState("connectors"),[y,D]=useState(void 0),[V,K]=useState(void 0),[J,Q]=useState(""),[X,io]=useState(false),[Y,lo]=useState("main"),G=useMemo(()=>({isConnected:X,activeConnection:g,connectionError:u,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:I,isChainsListOpen:E,isChainsListOpenMobile:a$1},contentTypes:{connectModal:N,connectedModal:Y},statuses:{connectedButton:b}}),[X,g,u,z,I,E,a$1,N,Y,b]),go=useMemo(()=>P(i$1,G),[i$1,P,G]),co=useMemo(()=>M({appChains:r$1,solanaRPCUrls:n,withImpersonated:s,withBalance:x,withChain:k,isConnectModalOpen:z,setIsConnectModalOpen:p,isConnectedModalOpen:I,setIsConnectedModalOpen:f,isChainsListOpen:E,setIsChainsListOpen:F,isChainsListOpenMobile:a$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:C,connectedModalContentType:Y,setConnectedModalContentType:lo,connectModalContentType:N,setConnectModalContentType:d,selectedAdapter:y,setSelectedAdapter:D,activeConnector:V,setActiveConnector:K,impersonatedAddress:J,setImpersonatedAddress:Q,isConnected:X,setIsConnected:io},G),[r$1,n,s,x,k,z,p,I,f,E,F,a$1,v,b,C,Y,lo,N,d,y,D,V,K,J,Q,X,io,M,G]),to=jsx(H,{customization:h?.errors}),no=jsx(O,{labels:go,children:t}),Z=r$1||n?jsx(wo,{withImpersonated:s,solanaRPCUrls:n,appChains:r$1,customization:h?.modals?.connectModal}):null,oo=r$1||n?jsx(r,{solanaRPCUrls:n,appChains:r$1,transactionPool:e,pulsarAdapter:l,customization:h?.modals?.connectedModal}):null,bo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),yo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),_=R(yo,{ErrorsProvider:to,LabelsProvider:no,MainContent:bo,ConnectModal:Z||jsx(Fragment,{}),ConnectedModal:oo||jsx(Fragment,{})},G);return jsx(Fragment,{children:_})}$e.displayName="NovaConnectProvider";var so=typeof process<"u"&&process.env?.NODE_ENV==="production";async function Qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-TP2GS4LA.js');return {hasEvmUtils:await fo(),hasSolanaUtils:await vo(),adaptersStatus:o()}}async function fo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-evm") && require("viem")); } catch { return false; }')()}catch{return false}try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function vo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-solana") && require("gill")); } catch { return false; }')()}catch{return false}try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Xn(){try{if(!await fo())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};if(so)try{let e=new Function('try { return require("./evm"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getEvmExports!="function"){l({available:!1,error:"EVM module does not have getEvmExports function"});return}e.getEvmExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load EVM exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load EVM exports"});});}):{available:!1,error:"Failed to load EVM module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load EVM module"}}let t=await import('./evm/index.js'),r=await t.getEvmExports();return r.available?{...t,...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 Yn(){try{if(!await vo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};if(so)try{let e=new Function('try { return require("./solana"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getSolanaExports!="function"){l({available:!1,error:"Solana module does not have getSolanaExports function"});return}e.getSolanaExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load Solana exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load Solana exports"});});}):{available:!1,error:"Failed to load Solana module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load Solana module"}}let t=await import('./solana/index.js'),r=await t.getSolanaExports();return r.available?{...t,...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 Zn(){let o={evm:false,solana:false,errors:[]};try{let t=await fo(),r=await vo();if(t||r)if(so)try{let e=new Function('try { return require("./utils/getChainsListByConnectorType"); } catch { return null; }')();if(!e)return o.errors.push("Failed to load chain adapter utilities"),o;let l=[];t&&l.push(OrbitAdapter.EVM),r&&l.push(OrbitAdapter.SOLANA),await e.preloadChainAdapters(l),o.evm=t,o.solana=r;}catch(n){let e=n instanceof Error?n.message:"Failed to initialize chain adapters";o.errors.push(e);}else {let{preloadChainAdapters:n}=await import('./getChainsListByConnectorType-TP2GS4LA.js'),e=[];t&&e.push(OrbitAdapter.EVM),r&&e.push(OrbitAdapter.SOLANA),await n(e),o.evm=t,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(t){let r=t instanceof Error?t.message:"Unknown initialization error";o.errors.push(r);}return o}async function or(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?fo():vo()}export{Po as ErrorsProvider,No as NovaConnectLabelsProvider,$e as NovaConnectProvider,Qn as getBlockchainUtilities,Xn as getEvmUtils,Yn as getSolanaUtils,Zn as initializeBlockchainSupport,or as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|