@tuwaio/nova-connect 0.2.3 → 0.2.4
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/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/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkNHKYALBZ_cjs=require('./chunk-NHKYALBZ.cjs'),chunkYIZJUEA3_cjs=require('./chunk-YIZJUEA3.cjs'),chunkWSHZWOWS_cjs=require('./chunk-WSHZWOWS.cjs'),chunkPTHXIVB5_cjs=require('./chunk-PTHXIVB5.cjs'),chunkJFUJC4EJ_cjs=require('./chunk-JFUJC4EJ.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsxRuntime.jsx(chunkNHKYALBZ_cjs.D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=chunkYIZJUEA3_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=chunkYIZJUEA3_cjs.h(),u=chunkJFUJC4EJ_cjs.h(l=>l.switchNetworkError),x=chunkJFUJC4EJ_cjs.h(l=>l.activeConnection),B=chunkJFUJC4EJ_cjs.h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=react.useRef(new Set),R=react.useRef(null),s=react.useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=react.useCallback(()=>{O(()=>{R.current&&(reactToastify.toast.dismiss(R.current),R.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=react.useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=react.useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),react.useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=react.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=react.useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,n,a]),h=react.useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsxRuntime.jsx(g,{...h})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkYIZJUEA3_cjs.g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?orbitCore.formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...a,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx("button",{ref:t,className:novaCore.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:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:t,type:"button",onClick:e,className:novaCore.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:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("main",{ref:t,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("footer",{ref:t,className:novaCore.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}));ee.displayName="DefaultFooter";var te=react.forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=react.forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=react.forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsxRuntime.jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B,setIsConnected:E,connectModalContentType:g,selectedAdapter:d,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=chunkYIZJUEA3_cjs.d(),P=chunkJFUJC4EJ_cjs.h(c=>c.connectionError),R=chunkJFUJC4EJ_cjs.h(c=>c.getConnectors),s=chunkJFUJC4EJ_cjs.h(c=>c.connect),z=chunkJFUJC4EJ_cjs.h(c=>c.activeConnection),m=chunkYIZJUEA3_cjs.h(),W=react.useContext(chunkJFUJC4EJ_cjs.f),C=react.useMemo(()=>{if(t)return R()},[t,R]),D=react.useMemo(()=>chunkYIZJUEA3_cjs.t({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=react.useMemo(()=>({contentType:g,selectedAdapter:d,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t,error:F,connectors:C,filteredConnectors:D,labels:m}),[g,d,T,N,H,t,F,C,D,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),x(void 0),B(""),E(false));},[t]);let{components:v={},classNames:b={},handlers:p={},config:h={},childComponents:l={}}=a,y=v.ModalContainer||Jo,M=v.ModalHeader||Qo,V=v.InfoButton||Xo,_=v.Title||Yo,q=v.CloseButton||Zo,J=v.MainContent||oe,Q=v.Footer||ee,so=v.BackButton||te,X=v.ActionButton||ne,io=v.ActionDescription||re,G=v.EmptyState||ae,vo=v.Dialog||novaCore.Dialog,lo=v.DialogContent||novaCore.DialogContent,to=v.MotionDiv||framerMotion.motion.div,no=react.useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&T&&C&&ze(C[d],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d,T,C,m]),Y=react.useCallback(()=>"connectors",[g]),Z=react.useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,r):f(c);},[p?.onOpenChange,r,f]),go=react.useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(r,c):c();},[p?.onBack,r,u,Y]),bo=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(r):u("about");},[p?.onInfoClick,r,u]),j=react.useCallback(async(c,yo)=>{await s({connectorType:c,chainId:chunkYIZJUEA3_cjs.p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f(!1),400),ce=setTimeout(()=>E(!1),500);await orbitCore.delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s,o,d,e]),$=react.useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=react.useCallback(c=>{x(orbitCore.formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),ie=react.useCallback(()=>{switch(g){case "network":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkNHKYALBZ_cjs.C,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkNHKYALBZ_cjs.y,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:D,selectedAdapter:d,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f,withImpersonated:n,customization:l.connectorsSelections})]}):jsxRuntime.jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.s,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.z,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.v,{selectedAdapter:d,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.A,{selectedAdapter:d,impersonatedAddress:N,setImpersonatedAddress:B,customization:l.impersonateForm})}},[g,T,D,$,l,C,d,wo,H,N]),K=react.useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||orbitCore.isAddress(c)||z?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(c),u("connecting"),await j(orbitCore.getConnectorTypeFromName(d??orbitCore.OrbitAdapter.EVM,T??""),d??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return P&&d&&T?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(r):await j(orbitCore.getConnectorTypeFromName(d,T),d);}}:void 0}},[g,m,p,r,d,C,N,P,j,T])(),le=react.useCallback(()=>{switch(g){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]);return jsxRuntime.jsx(vo,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(lo,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(to,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(y,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsxRuntime.jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsxRuntime.jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsxRuntime.jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxRuntime.jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsxRuntime.jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(Mo,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=chunkJFUJC4EJ_cjs.h($=>$.activeConnection),d=chunkJFUJC4EJ_cjs.h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=react.useMemo(()=>T(chunkPTHXIVB5_cjs.a,o||{}),[o,T]),[z,m]=react.useState(false),[W,C]=react.useState(false),[D,F]=react.useState(false),[r,v]=react.useState(false),[b,p]=react.useState("idle"),[h,l]=react.useState("connectors"),[y,M]=react.useState(void 0),[V,_]=react.useState(void 0),[q,J]=react.useState(""),[Q,so]=react.useState(false),[X,io]=react.useState("main"),G=react.useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r,h,X,b]),vo=react.useMemo(()=>N(s,G),[s,N,G]),lo=react.useMemo(()=>P({appChains:n,solanaRPCUrls:a,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a,u,x,B,z,m,W,C,D,F,r,v,b,p,X,io,h,l,y,M,V,_,q,J,Q,so,P,G]),to=jsxRuntime.jsx(H,{customization:E?.errors}),no=jsxRuntime.jsx(O,{labels:vo,children:e}),Y=n||a?jsxRuntime.jsx(No,{withImpersonated:u,solanaRPCUrls:a,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a?jsxRuntime.jsx(chunkNHKYALBZ_cjs.r,{solanaRPCUrls:a,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxRuntime.jsxs(chunkYIZJUEA3_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxRuntime.jsxs(chunkYIZJUEA3_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-BXIDPPGC.cjs');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{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-BXIDPPGC.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),n&&t.push(orbitCore.OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?Co():fo()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.y}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.j}});exports.ErrorsProvider=Mo;exports.NovaConnectLabelsProvider=Eo;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=_n;exports.getEvmUtils=qn;exports.getSolanaUtils=Jn;exports.initializeBlockchainSupport=Qn;exports.isAdapterSupported=Xn;//# sourceMappingURL=index.cjs.map
|
|
1
|
+
'use strict';var chunkNHKYALBZ_cjs=require('./chunk-NHKYALBZ.cjs'),chunkYIZJUEA3_cjs=require('./chunk-YIZJUEA3.cjs'),chunkWSHZWOWS_cjs=require('./chunk-WSHZWOWS.cjs'),chunkPTHXIVB5_cjs=require('./chunk-PTHXIVB5.cjs'),chunkJFUJC4EJ_cjs=require('./chunk-JFUJC4EJ.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsxRuntime.jsx(chunkNHKYALBZ_cjs.D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=chunkYIZJUEA3_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=chunkYIZJUEA3_cjs.h(),u=chunkJFUJC4EJ_cjs.h(l=>l.switchNetworkError),x=chunkJFUJC4EJ_cjs.h(l=>l.activeConnection),B=chunkJFUJC4EJ_cjs.h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=react.useRef(new Set),R=react.useRef(null),s=react.useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=react.useCallback(()=>{O(()=>{R.current&&(reactToastify.toast.dismiss(R.current),R.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=react.useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=react.useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),react.useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=react.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=react.useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,n,a]),h=react.useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsxRuntime.jsx(g,{...h})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkYIZJUEA3_cjs.g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?orbitCore.formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...a,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx("button",{ref:t,className:novaCore.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:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=react.forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:t,type:"button",onClick:e,className:novaCore.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:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("main",{ref:t,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("footer",{ref:t,className:novaCore.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}));ee.displayName="DefaultFooter";var te=react.forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=react.forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=react.forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=react.forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsxRuntime.jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B,setIsConnected:E,connectModalContentType:g,selectedAdapter:d,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=chunkYIZJUEA3_cjs.d(),P=chunkJFUJC4EJ_cjs.h(c=>c.connectionError),R=chunkJFUJC4EJ_cjs.h(c=>c.getConnectors),s=chunkJFUJC4EJ_cjs.h(c=>c.connect),z=chunkJFUJC4EJ_cjs.h(c=>c.activeConnection),m=chunkYIZJUEA3_cjs.h(),W=react.useContext(chunkJFUJC4EJ_cjs.f),C=react.useMemo(()=>{if(t)return R()},[t,R]),D=react.useMemo(()=>chunkYIZJUEA3_cjs.t({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=react.useMemo(()=>({contentType:g,selectedAdapter:d,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t,error:F,connectors:C,filteredConnectors:D,labels:m}),[g,d,T,N,H,t,F,C,D,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),x(void 0),B(""),E(false));},[t]);let{components:v={},classNames:b={},handlers:p={},config:h={},childComponents:l={}}=a,y=v.ModalContainer||Jo,M=v.ModalHeader||Qo,V=v.InfoButton||Xo,_=v.Title||Yo,q=v.CloseButton||Zo,J=v.MainContent||oe,Q=v.Footer||ee,so=v.BackButton||te,X=v.ActionButton||ne,io=v.ActionDescription||re,G=v.EmptyState||ae,vo=v.Dialog||novaCore.Dialog,lo=v.DialogContent||novaCore.DialogContent,to=v.MotionDiv||framerMotion.motion.div,no=react.useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&T&&C&&ze(C[d],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d,T,C,m]),Y=react.useCallback(()=>"connectors",[g]),Z=react.useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,r):f(c);},[p?.onOpenChange,r,f]),go=react.useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(r,c):c();},[p?.onBack,r,u,Y]),bo=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(r):u("about");},[p?.onInfoClick,r,u]),j=react.useCallback(async(c,yo)=>{await s({connectorType:c,chainId:chunkYIZJUEA3_cjs.p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f(!1),400),ce=setTimeout(()=>E(!1),500);await orbitCore.delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s,o,d,e]),$=react.useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=react.useCallback(c=>{x(orbitCore.formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),ie=react.useCallback(()=>{switch(g){case "network":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkNHKYALBZ_cjs.C,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkNHKYALBZ_cjs.y,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:D,selectedAdapter:d,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f,withImpersonated:n,customization:l.connectorsSelections})]}):jsxRuntime.jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.s,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.z,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.v,{selectedAdapter:d,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkNHKYALBZ_cjs.A,{selectedAdapter:d,impersonatedAddress:N,setImpersonatedAddress:B,customization:l.impersonateForm})}},[g,T,D,$,l,C,d,wo,H,N]),K=react.useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(r):window.open(orbitCore.getNetworkData(d??Object.keys(C)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||!orbitCore.isAddress(c)||z?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(c),u("connecting"),await j(orbitCore.getConnectorTypeFromName(d??orbitCore.OrbitAdapter.EVM,T??""),d??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return P&&d&&T?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(r):await j(orbitCore.getConnectorTypeFromName(d,T),d);}}:void 0}},[g,m,p,r,d,C,N,P,j,T])(),le=react.useCallback(()=>{switch(g){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]);return jsxRuntime.jsx(vo,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(lo,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(to,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(y,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxRuntime.jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsxRuntime.jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsxRuntime.jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsxRuntime.jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxRuntime.jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsxRuntime.jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(Mo,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=chunkJFUJC4EJ_cjs.h($=>$.activeConnection),d=chunkJFUJC4EJ_cjs.h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=react.useMemo(()=>T(chunkPTHXIVB5_cjs.a,o||{}),[o,T]),[z,m]=react.useState(false),[W,C]=react.useState(false),[D,F]=react.useState(false),[r,v]=react.useState(false),[b,p]=react.useState("idle"),[h,l]=react.useState("connectors"),[y,M]=react.useState(void 0),[V,_]=react.useState(void 0),[q,J]=react.useState(""),[Q,so]=react.useState(false),[X,io]=react.useState("main"),G=react.useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r,h,X,b]),vo=react.useMemo(()=>N(s,G),[s,N,G]),lo=react.useMemo(()=>P({appChains:n,solanaRPCUrls:a,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a,u,x,B,z,m,W,C,D,F,r,v,b,p,X,io,h,l,y,M,V,_,q,J,Q,so,P,G]),to=jsxRuntime.jsx(H,{customization:E?.errors}),no=jsxRuntime.jsx(O,{labels:vo,children:e}),Y=n||a?jsxRuntime.jsx(No,{withImpersonated:u,solanaRPCUrls:a,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a?jsxRuntime.jsx(chunkNHKYALBZ_cjs.r,{solanaRPCUrls:a,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxRuntime.jsxs(chunkYIZJUEA3_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxRuntime.jsxs(chunkYIZJUEA3_cjs.c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-BXIDPPGC.cjs');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{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-BXIDPPGC.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),n&&t.push(orbitCore.OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?Co():fo()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkYIZJUEA3_cjs.y}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkWSHZWOWS_cjs.j}});exports.ErrorsProvider=Mo;exports.NovaConnectLabelsProvider=Eo;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=_n;exports.getEvmUtils=qn;exports.getSolanaUtils=Jn;exports.initializeBlockchainSupport=Qn;exports.isAdapterSupported=Xn;//# sourceMappingURL=index.cjs.map
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|