@tuwaio/nova-connect 1.0.0-fix-indep-alpha.1.a295e4d → 1.0.0-fix-indep-alpha.2.19e398f
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-B2NRY4JV.js → chunk-GEKUE6DA.js} +2 -2
- package/dist/{chunk-B2NRY4JV.js.map → chunk-GEKUE6DA.js.map} +1 -1
- package/dist/{chunk-5MQWJQI6.js → chunk-JGLDANME.js} +3 -3
- package/dist/{chunk-5MQWJQI6.js.map → chunk-JGLDANME.js.map} +1 -1
- package/dist/{chunk-K3D72CBB.js → chunk-OEG3F2P2.js} +3 -3
- package/dist/{chunk-K3D72CBB.js.map → chunk-OEG3F2P2.js.map} +1 -1
- package/dist/{chunk-WPVFEWS5.cjs → chunk-S2OWIMXG.cjs} +3 -3
- package/dist/{chunk-WPVFEWS5.cjs.map → chunk-S2OWIMXG.cjs.map} +1 -1
- package/dist/{chunk-6RD6S5PU.cjs → chunk-SHVZSXXR.cjs} +4 -4
- package/dist/{chunk-6RD6S5PU.cjs.map → chunk-SHVZSXXR.cjs.map} +1 -1
- package/dist/{chunk-L5MEEHVK.cjs → chunk-TCSUZ35B.cjs} +2 -2
- package/dist/{chunk-L5MEEHVK.cjs.map → chunk-TCSUZ35B.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.js +1 -1
- package/dist/evm/index.js.map +1 -1
- package/dist/{evm-BVE2G4MP.js → evm-HEAZFJ7Q.js} +2 -2
- package/dist/{evm-BVE2G4MP.js.map → evm-HEAZFJ7Q.js.map} +1 -1
- package/dist/{evm-DU3VGIPD.cjs → evm-OMPZNXHK.cjs} +2 -2
- package/dist/{evm-DU3VGIPD.cjs.map → evm-OMPZNXHK.cjs.map} +1 -1
- package/dist/{getChainsListByConnectorType-FGTS3CWJ.js → getChainsListByConnectorType-W6UDLFBJ.js} +2 -2
- package/dist/{getChainsListByConnectorType-FGTS3CWJ.js.map → getChainsListByConnectorType-W6UDLFBJ.js.map} +1 -1
- package/dist/getChainsListByConnectorType-ZDMZCWJQ.cjs +2 -0
- package/dist/{getChainsListByConnectorType-7W3NDNRC.cjs.map → getChainsListByConnectorType-ZDMZCWJQ.cjs.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.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.js +1 -1
- package/dist/solana/index.js.map +1 -1
- package/dist/{solana-CDGGMN74.cjs → solana-MGGAOLA3.cjs} +2 -2
- package/dist/{solana-CDGGMN74.cjs.map → solana-MGGAOLA3.cjs.map} +1 -1
- package/dist/{solana-DHXEV2TG.js → solana-XBTO6NEP.js} +2 -2
- package/dist/{solana-DHXEV2TG.js.map → solana-XBTO6NEP.js.map} +1 -1
- package/package.json +3 -3
- package/dist/chunk-CEGEQMI2.cjs +0 -2
- package/dist/chunk-CEGEQMI2.cjs.map +0 -1
- package/dist/chunk-F2VSTHQ4.js +0 -2
- package/dist/chunk-F2VSTHQ4.js.map +0 -1
- package/dist/chunk-RR5G7U5F.js +0 -2
- package/dist/chunk-RR5G7U5F.js.map +0 -1
- package/dist/chunk-YI7RYSN6.cjs +0 -2
- package/dist/chunk-YI7RYSN6.cjs.map +0 -1
- package/dist/getChainsListByConnectorType-7W3NDNRC.cjs +0 -2
- package/dist/utils-5KC7QXWB.js +0 -2
- package/dist/utils-5KC7QXWB.js.map +0 -1
- package/dist/utils-DZB4ZTS4.cjs +0 -2
- package/dist/utils-DZB4ZTS4.cjs.map +0 -1
- package/dist/utils-TF3RVHPT.cjs +0 -2
- package/dist/utils-TF3RVHPT.cjs.map +0 -1
- package/dist/utils-YYMTL3XH.js +0 -2
- package/dist/utils-YYMTL3XH.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {A,v,z,s,C,y,B,r,D}from'./chunk-5MQWJQI6.js';import {d,h as h$1,u,q,p,x,g,c}from'./chunk-K3D72CBB.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-K3D72CBB.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-B2NRY4JV.js';import {a}from'./chunk-3BMX6JWH.js';import {h,f}from'./chunk-2T6SPFUT.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 Ce=({title:o,rawError:e,onCopyComplete:a,errorType:r,isConnected:t,...f})=>jsx(D,{title:o,rawError:e,onCopyComplete:a,customization:f.customization}),fe=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},ve=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ye=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,Te=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:a=7e3,draggable:r=false,customization:t}){let f=h$1(),u=h(c=>c.switchNetworkError),R=h(c=>c.activeConnection),B=h(c=>c.connectionError),{ToastError:N=Ce,Container:y=fe}=t?.components??{},{showError:d=ve,dismissError:S=ye,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:E=Te}=t??{},M=useRef(new Set),x=useRef(null),s=useMemo(()=>{let c=!!B,b=!!u,P=!!R?.isConnected;return {hasWalletError:c,hasSwitchError:b,isConnected:P,hasAnyError:c||b,primaryError:B||u||null,errorType:c?"wallet":b?"switch":null}},[B,u,R?.isConnected]),z=useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>E(W,{primaryError:s.primaryError,errorType:s.errorType}),[E,W,s.primaryError,s.errorType]),D=useCallback(()=>{S(()=>{x.current&&(toast.dismiss(x.current),x.current=null),toast.dismiss({containerId:o});});},[o,S]),F=useCallback((c,b)=>{H(c,b,s.errorType);},[H,s.errorType]),n=useCallback((c,b,P)=>{if(D(),!M.current.has(P))try{let V={containerId:o,toastId:P,onClose:()=>{M.current.delete(P),x.current=null;}},_=t?.toastOptions?.error?.({title:c,rawError:b,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(N,{title:c,rawError:b,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,b),customization:t?.toastErrorCustomization}),q),M.current.add(P),x.current=P;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=useCallback((c,b,P)=>{d(n,{title:c,rawError:b,errorKey:P,errorType:s.errorType});},[n,d,s.errorType]);useEffect(()=>{let{hasAnyError:c,isConnected:b,primaryError:P}=s;if(b&&!c){D(),M.current.clear();return}if(c&&P&&C){if(b&&s.errorType!=="switch")return;v(m,P,C);}},[s,m,C,v,D]),useEffect(()=>()=>{D(),M.current.clear();},[D]);let g=useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:a,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:r,pauseOnHover:true,theme:"light",transition:Bounce}),[o,e,a,r]),h$2=useMemo(()=>({...p,...t?.containerProps,className:g}),[p,t?.containerProps,g]);return jsx(y,{...h$2})}Mo.displayName="ErrorsProvider";function Po({labels:o,children:e}){let a=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:a,children:e})}Po.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let a=o.find(r=>r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"?formatConnectorName(r.name)===e:false);return a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?a.name:void 0}var Qo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("div",{ref:t,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...r,children:e}));Qo.displayName="DefaultModalContainer";var Xo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("div",{ref:t,className:o,...r,children:jsx(DialogHeader,{children:e})}));Xo.displayName="DefaultModalHeader";var Yo=forwardRef(({className:o,onClick:e,modalData:a,...r},t)=>jsx("button",{ref:t,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...r,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Yo.displayName="DefaultInfoButton";var Zo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...r,children:e}));Zo.displayName="DefaultTitle";var oe=forwardRef(({className:o,onClick:e,modalData:a,...r},t)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:t,type:"button",onClick:e,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...r,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));oe.displayName="DefaultCloseButton";var ee=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("main",{ref:t,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...r,children:e}));ee.displayName="DefaultMainContent";var te=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("footer",{ref:t,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...r,children:e}));te.displayName="DefaultFooter";var ne=forwardRef(({className:o,onClick:e,children:a,modalData:r,...t},f)=>jsx("button",{ref:f,type:"button",onClick:e,className:cn(standardButtonClasses,o),...t,children:a}));ne.displayName="DefaultBackButton";var re=forwardRef(({className:o,onClick:e,children:a,disabled:r,loading:t,buttonConfig:f,modalData:u,...R},B)=>jsx("button",{ref:B,type:"button",onClick:e,disabled:r||t,className:cn(standardButtonClasses,o),...R,children:t?"Loading...":a}));re.displayName="DefaultActionButton";var ae=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...r,children:e}));ae.displayName="DefaultActionDescription";var se=forwardRef(({children:o,className:e,...a},r)=>{let{modalData:t,...f}=a;return jsx("div",{ref:r,className:e,...f,children:o})});se.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:a,customization:r={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f$1,setConnectModalContentType:u$1,setActiveConnector:R,setImpersonatedAddress:B$1,setIsConnected:N,connectModalContentType:y$1,selectedAdapter:d$1,setSelectedAdapter:S,isConnected:H,activeConnector:T,impersonatedAddress:E}=d(),M=h(l=>l.connectionError),x$1=h(l=>l.getConnectors),s$1=h(l=>l.connect),z$1=h(l=>l.activeConnection),m=h$1(),W=useContext(f),C$1=useMemo(()=>{if(t)return x$1()},[t,x$1]),D=useMemo(()=>u({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F=useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),n=useMemo(()=>({contentType:y$1,selectedAdapter:d$1,activeConnector:T,impersonatedAddress:E,isConnected:H,isOpen:t,error:F,connectors:C$1,filteredConnectors:D,labels:m}),[y$1,d$1,T,E,H,t,F,C$1,D,m]);useEffect(()=>{t&&(u$1("connectors"),S(void 0),R(void 0),B$1(""),N(false));},[t]);let{components:v$1={},classNames:g={},handlers:p$1={},config:h$2={},childComponents:c={}}=r,b=v$1.ModalContainer||Qo,P=v$1.ModalHeader||Xo,V=v$1.InfoButton||Yo,_=v$1.Title||Zo,q$1=v$1.CloseButton||oe,J=v$1.MainContent||ee,Q=v$1.Footer||te,so=v$1.BackButton||ne,X=v$1.ActionButton||re,io=v$1.ActionDescription||ae,G=v$1.EmptyState||se,Co=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,eo=v$1.MotionDiv||motion.div,to=useCallback(()=>{switch(y$1){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&T&&C$1&&ze(C$1[d$1],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[y$1,d$1,T,C$1,m]),Y=useCallback(()=>"connectors",[y$1]),Z=useCallback(l=>{p$1?.onOpenChange?p$1.onOpenChange(l,n):f$1(l);},[p$1?.onOpenChange,n,f$1]),fo=useCallback(()=>{let l=()=>u$1(Y());p$1?.onBack?p$1.onBack(n,l):l();},[p$1?.onBack,n,u$1,Y]),vo=useCallback(()=>{p$1?.onInfoClick?p$1.onInfoClick(n):u$1("about");},[p$1?.onInfoClick,n,u$1]),j=useCallback(async(l,yo)=>{await s$1({connectorType:l,chainId:q({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>W?.getState().activeConnection?.isConnected),N(!0);let go=setTimeout(()=>f$1(!1),400),de=setTimeout(()=>N(!1),500);await delay(null,500),clearTimeout(go),clearTimeout(de);}catch(go){console.error(go);}},[s$1,o,d$1,e]),$=useCallback(async(l,yo)=>{S(l),u$1("connecting"),await j(yo,l);},[j]),Bo=useCallback(l=>{R(formatConnectorName(l.name)),l.adapters.length===1?(S(l.adapters[0]),u$1(formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u$1(formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(l.name)==="impersonatedwallet"?u$1("impersonate"):u$1("network");},[d$1]),ce=useCallback(()=>{switch(y$1){case "network":return jsx(B,{activeConnector:T,connectors:D,onClick:$,customization:c.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:l=>S(l),customization:c.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:D,selectedAdapter:d$1,onClick:Bo,setContentType:u$1,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f$1,withImpersonated:a,customization:c.connectorsSelections})]}):jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsx(s,{customization:c.aboutWallets});case "getWallet":return jsx(z,{customization:c.getWallet});case "connecting":return jsx(v,{selectedAdapter:d$1,connectors:D,activeConnector:T,isConnected:H,customization:c.connecting});case "impersonate":return jsx(A,{selectedAdapter:d$1,impersonatedAddress:E,setImpersonatedAddress:B$1,customization:c.impersonateForm})}},[y$1,T,D,$,c,C$1,d$1,Bo,H,E]),K=useCallback(()=>{switch(y$1){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p$1.onActionClick?.connectors?p$1.onActionClick.connectors(n):u$1("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p$1.onActionClick?.getWallet?p$1.onActionClick.getWallet(n):window.open(x[d$1??Object.keys(C$1)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p$1.onActionClick?.about?p$1.onActionClick.about(n):window.open(x[d$1??Object.keys(C$1)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p$1.onActionClick?.impersonate)await p$1.onActionClick.impersonate(n);else {let l=E.trim();if(M||!l||p(l)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(l),u$1("connecting"),await j(getConnectorTypeFromName(d$1??OrbitAdapter.EVM,T??""),d$1??OrbitAdapter.EVM);}}};case "connecting":return M&&d$1&&T?{title:m.tryAgain,onClick:async()=>{p$1.onActionClick?.connecting?await p$1.onActionClick.connecting(n):await j(getConnectorTypeFromName(d$1,T),d$1);}}:void 0}},[y$1,m,p$1,n,d$1,C$1,E,M,j,T])(),le=useCallback(()=>{switch(y$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 ""}},[y$1]);return jsx(Co,{open:t,onOpenChange:Z,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(eo,{layout:true,transition:{layout:{duration:h$2.animation?.disabled?0:h$2.animation?.layoutDuration??1e-4}},children:jsxs(b,{className:g.modalContainer?.({modalData:n}),modalData:n,children:[jsxs(P,{className:g.header?.({modalData:n}),modalData:n,children:[jsxs(_,{className:g.title?.({modalData:n}),modalData:n,children:[y$1==="connectors"&&jsx(V,{className:g.infoButton?.({modalData:n}),onClick:vo,"aria-label":h$2.ariaLabels?.infoButton?.(n)||`${m.learnMore} ${m.aboutWallets}`,modalData:n}),to()]}),jsx(q$1,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsx(J,{className:g.mainContent?.({modalData:n}),modalData:n,children:ce()}),jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:y$1!=="connectors"&&jsx(so,{className:g.backButton?.({modalData:n}),onClick:fo,"aria-label":h$2.ariaLabels?.backButton?.(n)||`${m.back} to previous step`,modalData:n,children:m.back})}),K&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:g.actionButton?.({modalData:n,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:n,buttonConfig:K,children:K.title}),jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsx(Po,{labels:o,children:e}),Ve=({customization:o})=>jsx(Mo,{customization:o}),Ue=(o,e)=>deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,a)=>o;function Ke({labels:o,children:e,appChains:a$1,solanaRPCUrls:r$1,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B,customization:N}){let y=h($=>$.activeConnection),d=h($=>$.connectionError),{LabelsProvider:S=Fe,ErrorsProvider:H=Ve}=N?.components??{},{merge:T=Ue,transform:E=Ge}=N?.labels??{},{transform:M=je}=N?.contextValue??{},{providerTree:x=$e}=N?.rendering??{},s=useMemo(()=>T(a,o||{}),[o,T]),[z,m]=useState(false),[W,C]=useState(false),[D,F]=useState(false),[n,v]=useState(false),[g,p]=useState("idle"),[h$1,c$1]=useState("connectors"),[b,P]=useState(void 0),[V,_]=useState(void 0),[q,J]=useState(""),[Q,so]=useState(false),[X,io]=useState("main"),G=useMemo(()=>({isConnected:Q,activeConnection:y,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:n},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:g}}),[Q,y,d,z,W,D,n,h$1,X,g]),Co=useMemo(()=>E(s,G),[s,E,G]),co=useMemo(()=>M({appChains:a$1,solanaRPCUrls:r$1,withImpersonated:u,withBalance:R,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:c$1,selectedAdapter:b,setSelectedAdapter:P,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[a$1,r$1,u,R,B,z,m,W,C,D,F,n,v,g,p,X,io,h$1,c$1,b,P,V,_,q,J,Q,so,M,G]),eo=jsx(H,{customization:N?.errors}),to=jsx(S,{labels:Co,children:e}),Y=a$1||r$1?jsx(No,{withImpersonated:u,solanaRPCUrls:r$1,appChains:a$1,customization:N?.modals?.connectModal}):null,Z=a$1||r$1?jsx(r,{solanaRPCUrls:r$1,appChains:a$1,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,fo=jsxs(c.Provider,{value:co,children:[eo,to,Y,Z]}),vo=jsxs(c.Provider,{value:co,children:[eo,to,Y,Z]}),j=x(vo,{ErrorsProvider:eo,LabelsProvider:to,MainContent:fo,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function Jn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-FGTS3CWJ.js');return {hasEvmUtils:await ho(),hasSolanaUtils:await wo(),adaptersStatus:o()}}async function ho(){try{return await import('./utils-5KC7QXWB.js'),!0}catch{return false}}async function wo(){try{return await import('./utils-YYMTL3XH.js'),!0}catch{return false}}async function Qn(){try{return {available:!0,...await import('./evm/index.js')}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Xn(){try{return {available:!0,...await import('./solana/index.js')}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Yn(){let o={evm:false,solana:false,errors:[]};try{let{preloadChainAdapters:e}=await import('./getChainsListByConnectorType-FGTS3CWJ.js');await e([OrbitAdapter.EVM,OrbitAdapter.SOLANA]),o.evm=await ho(),o.solana=await wo();}catch(e){let a=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(a);}return o}async function Zn(o){switch(o){case OrbitAdapter.EVM:return ho();case OrbitAdapter.SOLANA:return wo();case OrbitAdapter.Starknet:return false;default:return false}}export{Mo as ErrorsProvider,Po as NovaConnectLabelsProvider,Ke as NovaConnectProvider,Jn as getBlockchainUtilities,Qn as getEvmUtils,Xn as getSolanaUtils,Yn as initializeBlockchainSupport,Zn as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
1
|
+
import {A,v,z,s,C,y,B,r,D}from'./chunk-JGLDANME.js';import {d,h as h$1,u,q,p,x,g,c}from'./chunk-OEG3F2P2.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-OEG3F2P2.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-GEKUE6DA.js';import {a}from'./chunk-3BMX6JWH.js';import {h,f}from'./chunk-2T6SPFUT.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 Ce=({title:o,rawError:e,onCopyComplete:r,errorType:a,isConnected:t,...f})=>jsx(D,{title:o,rawError:e,onCopyComplete:r,customization:f.customization}),fe=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},ve=(o,e)=>{o(e.title,e.rawError,e.errorKey);},be=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ye=o=>o,Te=o=>o;function No({containerId:o="nova-connect-errors",position:e="top-center",autoClose:r=7e3,draggable:a=false,customization:t}){let f=h$1(),u=h(c=>c.switchNetworkError),R=h(c=>c.activeConnection),B=h(c=>c.connectionError),{ToastError:N=Ce,Container:b=fe}=t?.components??{},{showError:d=ve,dismissError:O=be,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=ye,errorHash:E=Te}=t??{},P=useRef(new Set),x=useRef(null),s=useMemo(()=>{let c=!!B,y=!!u,M=!!R?.isConnected;return {hasWalletError:c,hasSwitchError:y,isConnected:M,hasAnyError:c||y,primaryError:B||u||null,errorType:c?"wallet":y?"switch":null}},[B,u,R?.isConnected]),z=useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>E(W,{primaryError:s.primaryError,errorType:s.errorType}),[E,W,s.primaryError,s.errorType]),D=useCallback(()=>{O(()=>{x.current&&(toast.dismiss(x.current),x.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((c,y)=>{H(c,y,s.errorType);},[H,s.errorType]),n=useCallback((c,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),x.current=null;}},_=t?.toastOptions?.error?.({title:c,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(N,{title:c,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),x.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=useCallback((c,y,M)=>{d(n,{title:c,rawError:y,errorKey:M,errorType:s.errorType});},[n,d,s.errorType]);useEffect(()=>{let{hasAnyError:c,isConnected:y,primaryError:M}=s;if(y&&!c){D(),P.current.clear();return}if(c&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),useEffect(()=>()=>{D(),P.current.clear();},[D]);let g=useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:Bounce}),[o,e,r,a]),h$2=useMemo(()=>({...p,...t?.containerProps,className:g}),[p,t?.containerProps,g]);return jsx(b,{...h$2})}No.displayName="ErrorsProvider";function Eo({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(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:r,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let r=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?formatConnectorName(a.name)===e:false);return r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"?r.name:void 0}var Qo=forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsx("div",{ref:t,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Qo.displayName="DefaultModalContainer";var Xo=forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsx("div",{ref:t,className:o,...a,children:jsx(DialogHeader,{children:e})}));Xo.displayName="DefaultModalHeader";var Yo=forwardRef(({className:o,onClick:e,modalData:r,...a},t)=>jsx("button",{ref:t,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...a,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Yo.displayName="DefaultInfoButton";var Zo=forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...a,children:e}));Zo.displayName="DefaultTitle";var oe=forwardRef(({className:o,onClick:e,modalData:r,...a},t)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:t,type:"button",onClick:e,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...a,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));oe.displayName="DefaultCloseButton";var ee=forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsx("main",{ref:t,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));ee.displayName="DefaultMainContent";var te=forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsx("footer",{ref:t,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...a,children:e}));te.displayName="DefaultFooter";var ne=forwardRef(({className:o,onClick:e,children:r,modalData:a,...t},f)=>jsx("button",{ref:f,type:"button",onClick:e,className:cn(standardButtonClasses,o),...t,children:r}));ne.displayName="DefaultBackButton";var re=forwardRef(({className:o,onClick:e,children:r,disabled:a,loading:t,buttonConfig:f,modalData:u,...R},B)=>jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:cn(standardButtonClasses,o),...R,children:t?"Loading...":r}));re.displayName="DefaultActionButton";var ae=forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...a,children:e}));ae.displayName="DefaultActionDescription";var se=forwardRef(({children:o,className:e,...r},a)=>{let{modalData:t,...f}=r;return jsx("div",{ref:a,className:e,...f,children:o})});se.displayName="DefaultEmptyState";var ho=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:r,customization:a={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f$1,setConnectModalContentType:u$1,setActiveConnector:R,setImpersonatedAddress:B$1,setIsConnected:N,connectModalContentType:b,selectedAdapter:d$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:E}=d(),P=h(l=>l.connectionError),x$1=h(l=>l.getConnectors),s$1=h(l=>l.connect),z$1=h(l=>l.activeConnection),m=h$1(),W=useContext(f),C$1=useMemo(()=>{if(t)return x$1()},[t,x$1]),D=useMemo(()=>u({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F=useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),n=useMemo(()=>({contentType:b,selectedAdapter:d$1,activeConnector:T,impersonatedAddress:E,isConnected:H,isOpen:t,error:F,connectors:C$1,filteredConnectors:D,labels:m}),[b,d$1,T,E,H,t,F,C$1,D,m]);useEffect(()=>{t&&(u$1("connectors"),O(void 0),R(void 0),B$1(""),N(false));},[t]);let{components:v$1={},classNames:g={},handlers:p$1={},config:h$2={},childComponents:c={}}=a,y$1=v$1.ModalContainer||Qo,M=v$1.ModalHeader||Xo,V=v$1.InfoButton||Yo,_=v$1.Title||Zo,q$1=v$1.CloseButton||oe,J=v$1.MainContent||ee,Q=v$1.Footer||te,so=v$1.BackButton||ne,X=v$1.ActionButton||re,io=v$1.ActionDescription||ae,G=v$1.EmptyState||se,vo=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,eo=v$1.MotionDiv||motion.div,to=useCallback(()=>{switch(b){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&T&&C$1&&ze(C$1[d$1],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[b,d$1,T,C$1,m]),Y=useCallback(()=>"connectors",[b]),Z=useCallback(l=>{p$1?.onOpenChange?p$1.onOpenChange(l,n):f$1(l);},[p$1?.onOpenChange,n,f$1]),bo=useCallback(()=>{let l=()=>u$1(Y());p$1?.onBack?p$1.onBack(n,l):l();},[p$1?.onBack,n,u$1,Y]),go=useCallback(()=>{p$1?.onInfoClick?p$1.onInfoClick(n):u$1("about");},[p$1?.onInfoClick,n,u$1]),j=useCallback(async(l,yo)=>{await s$1({connectorType:l,chainId:q({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>W?.getState().activeConnection?.isConnected),N(!0);let To=setTimeout(()=>f$1(!1),400),de=setTimeout(()=>N(!1),500);await delay(null,500),clearTimeout(To),clearTimeout(de);}catch(To){console.error(To);}},[s$1,o,d$1,e]),$=useCallback(async(l,yo)=>{O(l),u$1("connecting"),await j(yo,l);},[j]),Bo=useCallback(l=>{R(formatConnectorName(l.name)),l.adapters.length===1?(O(l.adapters[0]),u$1(formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u$1(formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(l.name)==="impersonatedwallet"?u$1("impersonate"):u$1("network");},[d$1]),ce=useCallback(()=>{switch(b){case "network":return jsx(B,{activeConnector:T,connectors:D,onClick:$,customization:c.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:l=>O(l),customization:c.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:D,selectedAdapter:d$1,onClick:Bo,setContentType:u$1,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f$1,withImpersonated:r,customization:c.connectorsSelections})]}):jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsx(s,{customization:c.aboutWallets});case "getWallet":return jsx(z,{customization:c.getWallet});case "connecting":return jsx(v,{selectedAdapter:d$1,connectors:D,activeConnector:T,isConnected:H,customization:c.connecting});case "impersonate":return jsx(A,{selectedAdapter:d$1,impersonatedAddress:E,setImpersonatedAddress:B$1,customization:c.impersonateForm})}},[b,T,D,$,c,C$1,d$1,Bo,H,E]),K=useCallback(()=>{switch(b){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p$1.onActionClick?.connectors?p$1.onActionClick.connectors(n):u$1("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p$1.onActionClick?.getWallet?p$1.onActionClick.getWallet(n):window.open(x[d$1??Object.keys(C$1)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p$1.onActionClick?.about?p$1.onActionClick.about(n):window.open(x[d$1??Object.keys(C$1)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p$1.onActionClick?.impersonate)await p$1.onActionClick.impersonate(n);else {let l=E.trim();if(P||!l||p(l)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(l),u$1("connecting"),await j(getConnectorTypeFromName(d$1??OrbitAdapter.EVM,T??""),d$1??OrbitAdapter.EVM);}}};case "connecting":return P&&d$1&&T?{title:m.tryAgain,onClick:async()=>{p$1.onActionClick?.connecting?await p$1.onActionClick.connecting(n):await j(getConnectorTypeFromName(d$1,T),d$1);}}:void 0}},[b,m,p$1,n,d$1,C$1,E,P,j,T])(),le=useCallback(()=>{switch(b){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 ""}},[b]);return jsx(vo,{open:t,onOpenChange:Z,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(eo,{layout:true,transition:{layout:{duration:h$2.animation?.disabled?0:h$2.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:g.modalContainer?.({modalData:n}),modalData:n,children:[jsxs(M,{className:g.header?.({modalData:n}),modalData:n,children:[jsxs(_,{className:g.title?.({modalData:n}),modalData:n,children:[b==="connectors"&&jsx(V,{className:g.infoButton?.({modalData:n}),onClick:go,"aria-label":h$2.ariaLabels?.infoButton?.(n)||`${m.learnMore} ${m.aboutWallets}`,modalData:n}),to()]}),jsx(q$1,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsx(J,{className:g.mainContent?.({modalData:n}),modalData:n,children:ce()}),jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:b!=="connectors"&&jsx(so,{className:g.backButton?.({modalData:n}),onClick:bo,"aria-label":h$2.ariaLabels?.backButton?.(n)||`${m.back} to previous step`,modalData:n,children:m.back})}),K&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:g.actionButton?.({modalData:n,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:n,buttonConfig:K,children:K.title}),jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:le()})]})]})]})})})})});ho.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsx(No,{customization:o}),Ue=(o,e)=>deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,r)=>o;function Ke({labels:o,children:e,appChains:r$1,solanaRPCUrls:a$1,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B,customization:N}){let b=h($=>$.activeConnection),d=h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=N?.components??{},{merge:T=Ue,transform:E=Ge}=N?.labels??{},{transform:P=je}=N?.contextValue??{},{providerTree:x=$e}=N?.rendering??{},s=useMemo(()=>T(a,o||{}),[o,T]),[z,m]=useState(false),[W,C]=useState(false),[D,F]=useState(false),[n,v]=useState(false),[g,p]=useState("idle"),[h$1,c$1]=useState("connectors"),[y,M]=useState(void 0),[V,_]=useState(void 0),[q,J]=useState(""),[Q,so]=useState(false),[X,io]=useState("main"),G=useMemo(()=>({isConnected:Q,activeConnection:b,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:n},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:g}}),[Q,b,d,z,W,D,n,h$1,X,g]),vo=useMemo(()=>E(s,G),[s,E,G]),co=useMemo(()=>P({appChains:r$1,solanaRPCUrls:a$1,withImpersonated:u,withBalance:R,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:c$1,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[r$1,a$1,u,R,B,z,m,W,C,D,F,n,v,g,p,X,io,h$1,c$1,y,M,V,_,q,J,Q,so,P,G]),eo=jsx(H,{customization:N?.errors}),to=jsx(O,{labels:vo,children:e}),Y=r$1||a$1?jsx(ho,{withImpersonated:u,solanaRPCUrls:a$1,appChains:r$1,customization:N?.modals?.connectModal}):null,Z=r$1||a$1?jsx(r,{solanaRPCUrls:a$1,appChains:r$1,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,bo=jsxs(c.Provider,{value:co,children:[eo,to,Y,Z]}),go=jsxs(c.Provider,{value:co,children:[eo,to,Y,Z]}),j=x(go,{ErrorsProvider:eo,LabelsProvider:to,MainContent:bo,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function Jn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-W6UDLFBJ.js');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Qn(){try{return await Co()?{available:!0,...await import('./evm/index.js')}:{available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Xn(){try{return await fo()?{available:!0,...await import('./solana/index.js')}:{available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Yn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),r=await fo();if(e||r){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-W6UDLFBJ.js'),t=[];e&&t.push(OrbitAdapter.EVM),r&&t.push(OrbitAdapter.SOLANA),await a(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 Zn(o){switch(o){case OrbitAdapter.EVM:return Co();case OrbitAdapter.SOLANA:return fo();case OrbitAdapter.Starknet:return false;default:return false}}export{No as ErrorsProvider,Eo as NovaConnectLabelsProvider,Ke as NovaConnectProvider,Jn as getBlockchainUtilities,Qn as getEvmUtils,Xn as getSolanaUtils,Yn as initializeBlockchainSupport,Zn as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|