@tuwaio/nova-connect 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkDPOT7DDY_cjs=require('../chunk-DPOT7DDY.cjs');require('../chunk-NMQZA377.cjs'),require('../chunk-7FTV55DQ.cjs'),require('../chunk-QERPNHKX.cjs'),require('../chunk-OA6MB7CZ.cjs');Object.defineProperty(exports,"AboutWallets",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.C}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.a}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.p}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.u}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.E}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.s}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.B}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.v}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.z}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.w}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.A}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.F}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.G}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.I}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.H}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.J}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.y}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.K}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.L}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.M}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.D}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.o}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.n}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.r}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.l}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.m}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.N}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.t}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.q}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.x}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkY3SFEPYJ_cjs=require('../chunk-Y3SFEPYJ.cjs');require('../chunk-NMQZA377.cjs'),require('../chunk-7FTV55DQ.cjs'),require('../chunk-QERPNHKX.cjs'),require('../chunk-OA6MB7CZ.cjs');Object.defineProperty(exports,"AboutWallets",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.C}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.a}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.p}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.u}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.E}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.s}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.B}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.v}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.z}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.w}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.A}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.F}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.G}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.I}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.H}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.J}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.y}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.K}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.L}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.M}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.D}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.o}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.n}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.r}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.l}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.m}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.N}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.t}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.q}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.x}});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- export{C as AboutWallets,a as ChainListRenderer,p as ChainSelector,u as ConnectButton,E as ConnectCard,s as ConnectedContent,B as ConnectedModal,v as ConnectedModalFooter,z as ConnectedModalMainContent,w as ConnectedModalNameAndBalance,A as ConnectedModalTxHistory,F as Connecting,G as ConnectorsBlock,I as ConnectorsSelections,H as Disclaimer,J as GetWallet,y as IconButton,K as ImpersonateForm,L as NetworkSelections,M as NetworkTabs,D as RecentBadge,o as ScrollableChainList,n as SelectContentAnimated,r as StatusIcon,l as ToBottomButton,m as ToTopButton,N as ToastError,t as WaitForConnectionContent,q as WalletAvatar,x as WalletIcon}from'../chunk-WQKCNRRL.js';import'../chunk-MQGDTFY7.js';import'../chunk-S5WT3DLF.js';import'../chunk-TAV7EL23.js';import'../chunk-MPEJHQKC.js';//# sourceMappingURL=index.js.map
1
+ export{C as AboutWallets,a as ChainListRenderer,p as ChainSelector,u as ConnectButton,E as ConnectCard,s as ConnectedContent,B as ConnectedModal,v as ConnectedModalFooter,z as ConnectedModalMainContent,w as ConnectedModalNameAndBalance,A as ConnectedModalTxHistory,F as Connecting,G as ConnectorsBlock,I as ConnectorsSelections,H as Disclaimer,J as GetWallet,y as IconButton,K as ImpersonateForm,L as NetworkSelections,M as NetworkTabs,D as RecentBadge,o as ScrollableChainList,n as SelectContentAnimated,r as StatusIcon,l as ToBottomButton,m as ToTopButton,N as ToastError,t as WaitForConnectionContent,q as WalletAvatar,x as WalletIcon}from'../chunk-JVVOBSVI.js';import'../chunk-MQGDTFY7.js';import'../chunk-S5WT3DLF.js';import'../chunk-TAV7EL23.js';import'../chunk-MPEJHQKC.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkDPOT7DDY_cjs=require('./chunk-DPOT7DDY.cjs'),chunkNMQZA377_cjs=require('./chunk-NMQZA377.cjs'),chunk7FTV55DQ_cjs=require('./chunk-7FTV55DQ.cjs'),chunkQERPNHKX_cjs=require('./chunk-QERPNHKX.cjs'),chunkOA6MB7CZ_cjs=require('./chunk-OA6MB7CZ.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'),gill=require('gill');var pe=({title:o,rawError:e,onCopyComplete:a,errorType:r,isConnected:t,...f})=>jsxRuntime.jsx(chunkDPOT7DDY_cjs.N,{title:o,rawError:e,onCopyComplete:a,customization:f.customization}),ue=o=>{let e=chunk7FTV55DQ_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ce=(o,e)=>{o(e.title,e.rawError,e.errorKey);},fe=o=>{o();},ve=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ye=o=>o,ge=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:a=7e3,draggable:r=false,customization:t}){let f=chunk7FTV55DQ_cjs.h(),u=chunkOA6MB7CZ_cjs.h(l=>l.switchNetworkError),R=chunkOA6MB7CZ_cjs.h(l=>l.activeWallet),B=chunkOA6MB7CZ_cjs.h(l=>l.walletConnectionError),{ToastError:N=pe,Container:y=ue}=t?.components??{},{showError:d=Ce,dismissError:O=fe,onCopyComplete:S=ve}=t?.handlers??{},{errorTitle:D=ye,errorHash:E=ge}=t??{},M=react.useRef(new Set),x=react.useRef(null),s=react.useMemo(()=>{let l=!!B,b=!!u,P=!!R?.isConnected;return {hasWalletError:l,hasSwitchError:b,isConnected:P,hasAnyError:l||b,primaryError:B||u||null,errorType:l?"wallet":b?"switch":null}},[B,u,R?.isConnected]),H=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.walletConnectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>D(H,{errorType:s.errorType}),[D,H,s.errorType]),z=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>E(z,{primaryError:s.primaryError,errorType:s.errorType}),[E,z,s.primaryError,s.errorType]),T=react.useCallback(()=>{O(()=>{x.current&&(reactToastify.toast.dismiss(x.current),x.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((l,b)=>{S(l,b,s.errorType);},[S,s.errorType]),n=react.useCallback((l,b,P)=>{if(T(),!M.current.has(P))try{let V={containerId:o,toastId:P,onClose:()=>{M.current.delete(P),x.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:b,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(N,{title:l,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);}},[T,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=react.useCallback((l,b,P)=>{d(n,{title:l,rawError:b,errorKey:P,errorType:s.errorType});},[n,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:l,isConnected:b,primaryError:P}=s;if(b&&!l){T(),M.current.clear();return}if(l&&P&&C){if(b&&s.errorType!=="switch")return;v(m,P,C);}},[s,m,C,v,T]),react.useEffect(()=>()=>{T(),M.current.clear();},[T]);let g=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:a,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:r,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,a,r]),h=react.useMemo(()=>({...p,...t?.containerProps,className:g}),[p,t?.containerProps,g]);return jsxRuntime.jsx(y,{...h})}Mo.displayName="ErrorsProvider";function Po({labels:o,children:e}){let a=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(chunk7FTV55DQ_cjs.g.Provider,{value:a,children:e})}Po.displayName="NovaConnectLabelsProvider";function He(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"?orbitCore.formatWalletName(r.name)===e:false);return a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?a.name:void 0}var qo=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...r,children:e}));qo.displayName="DefaultModalContainer";var Jo=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...r,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Jo.displayName="DefaultModalHeader";var Qo=react.forwardRef(({className:o,onClick:e,modalData:a,...r},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,...r,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Qo.displayName="DefaultInfoButton";var Xo=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...r,children:e}));Xo.displayName="DefaultTitle";var Yo=react.forwardRef(({className:o,onClick:e,modalData:a,...r},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),...r,children:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));Yo.displayName="DefaultCloseButton";var Zo=react.forwardRef(({className:o,children:e,modalData:a,...r},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",...r,children:e}));Zo.displayName="DefaultMainContent";var oe=react.forwardRef(({className:o,children:e,modalData:a,...r},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",...r,children:e}));oe.displayName="DefaultFooter";var ee=react.forwardRef(({className:o,onClick:e,children:a,modalData:r,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:a}));ee.displayName="DefaultBackButton";var te=react.forwardRef(({className:o,onClick:e,children:a,disabled:r,loading:t,buttonConfig:f,modalData:u,...R},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:r||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...R,children:t?"Loading...":a}));te.displayName="DefaultActionButton";var ne=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...r,children:e}));ne.displayName="DefaultActionDescription";var re=react.forwardRef(({children:o,className:e,...a},r)=>{let{modalData:t,...f}=a;return jsxRuntime.jsx("div",{ref:r,className:e,...f,children:o})});re.displayName="DefaultEmptyState";var No=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:a,customization:r={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:R,setImpersonatedAddress:B,setIsConnected:N,connectModalContentType:y,selectedAdapter:d,setSelectedAdapter:O,isConnected:S,activeConnector:D,impersonatedAddress:E}=chunk7FTV55DQ_cjs.d(),M=chunkOA6MB7CZ_cjs.h(c=>c.walletConnectionError),x=chunkOA6MB7CZ_cjs.h(c=>c.getConnectors),s=chunkOA6MB7CZ_cjs.h(c=>c.connect),H=chunkOA6MB7CZ_cjs.h(c=>c.activeWallet),m=chunk7FTV55DQ_cjs.h(),z=react.useContext(chunkOA6MB7CZ_cjs.f),C=react.useMemo(()=>{if(t)return x()},[t,x]),T=react.useMemo(()=>chunkDPOT7DDY_cjs.f({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),n=react.useMemo(()=>({contentType:y,selectedAdapter:d,activeConnector:D,impersonatedAddress:E,isConnected:S,isOpen:t,error:F,connectors:C,filteredConnectors:T,labels:m}),[y,d,D,E,S,t,F,C,T,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),R(void 0),B(""),N(false));},[t]);let{components:v={},classNames:g={},handlers:p={},config:h={},childComponents:l={}}=r,b=v.ModalContainer||qo,P=v.ModalHeader||Jo,V=v.InfoButton||Qo,_=v.Title||Xo,q=v.CloseButton||Yo,J=v.MainContent||Zo,Q=v.Footer||oe,so=v.BackButton||ee,X=v.ActionButton||te,io=v.ActionDescription||ne,G=v.EmptyState||re,Co=v.Dialog||novaCore.Dialog,lo=v.DialogContent||novaCore.DialogContent,eo=v.MotionDiv||framerMotion.motion.div,to=react.useCallback(()=>{switch(y){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&D&&C&&He(C[d],D)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[y,d,D,C,m]),Y=react.useCallback(()=>"connectors",[y]),Z=react.useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,n):f(c);},[p?.onOpenChange,n,f]),fo=react.useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(n,c):c();},[p?.onBack,n,u,Y]),vo=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(n):u("about");},[p?.onInfoClick,n,u]),$=react.useCallback(async(c,yo)=>{await s({walletType:c,chainId:chunkDPOT7DDY_cjs.b({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>z?.getState().activeWallet?.isConnected),N(!0);let go=setTimeout(()=>f(!1),400),le=setTimeout(()=>N(!1),500);await orbitCore.delay(null,500),clearTimeout(go),clearTimeout(le);}catch(go){console.error(go);}},[s,o,d,e]),j=react.useCallback(async(c,yo)=>{O(c),u("connecting"),await $(yo,c);},[$]),Bo=react.useCallback(c=>{R(orbitCore.formatWalletName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(orbitCore.formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatWalletName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),se=react.useCallback(()=>{switch(y){case "network":return jsxRuntime.jsx(chunkDPOT7DDY_cjs.L,{activeConnector:D,connectors:T,onClick:j,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkDPOT7DDY_cjs.M,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkDPOT7DDY_cjs.I,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:T,selectedAdapter:d,onClick:Bo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f,withImpersonated:a,customization:l.connectorsSelections})]}):jsxRuntime.jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkDPOT7DDY_cjs.C,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkDPOT7DDY_cjs.J,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkDPOT7DDY_cjs.F,{selectedAdapter:d,connectors:T,activeConnector:D,isConnected:S,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkDPOT7DDY_cjs.K,{impersonatedAddress:E,setImpersonatedAddress:B,customization:l.impersonateForm})}},[y,D,T,j,l,C,d,Bo,S,E]),K=react.useCallback(()=>{switch(y){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(n):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(n):window.open(chunkDPOT7DDY_cjs.i[d??Object.keys(C)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(n):window.open(chunkDPOT7DDY_cjs.i[d??Object.keys(C)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(n);else {let c=E.trim();if(M||!c||gill.isAddress(c)||H?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(c),await $(`${d??orbitCore.OrbitAdapter.EVM}:impersonatedwallet`,d??orbitCore.OrbitAdapter.EVM),u("connecting");}}};case "connecting":return M&&d&&D?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(n):await $(orbitCore.getWalletTypeFromConnectorName(d,D),d);}}:void 0}},[y,m,p,n,d,C,E,M,$,D])(),ie=react.useCallback(()=>{switch(y){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]);return jsxRuntime.jsx(Co,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(lo,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(eo,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(b,{className:g.modalContainer?.({modalData:n}),modalData:n,children:[jsxRuntime.jsxs(P,{className:g.header?.({modalData:n}),modalData:n,children:[jsxRuntime.jsxs(_,{className:g.title?.({modalData:n}),modalData:n,children:[y==="connectors"&&jsxRuntime.jsx(V,{className:g.infoButton?.({modalData:n}),onClick:vo,"aria-label":h.ariaLabels?.infoButton?.(n)||`${m.learnMore} ${m.aboutWallets}`,modalData:n}),to()]}),jsxRuntime.jsx(q,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsxRuntime.jsx(J,{className:g.mainContent?.({modalData:n}),modalData:n,children:se()}),jsxRuntime.jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:y!=="connectors"&&jsxRuntime.jsx(so,{className:g.backButton?.({modalData:n}),onClick:fo,"aria-label":h.ariaLabels?.backButton?.(n)||`${m.back} to previous step`,modalData:n,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.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}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:ie()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Po,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(Mo,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,$e=o=>o,je=(o,e,a)=>o;function Ke({labels:o,children:e,appChains:a,solanaRPCUrls:r,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B,customization:N}){let y=chunkOA6MB7CZ_cjs.h(j=>j.activeWallet),d=chunkOA6MB7CZ_cjs.h(j=>j.walletConnectionError),{LabelsProvider:O=Fe,ErrorsProvider:S=Ve}=N?.components??{},{merge:D=Ue,transform:E=Ge}=N?.labels??{},{transform:M=$e}=N?.contextValue??{},{providerTree:x=je}=N?.rendering??{},s=react.useMemo(()=>D(chunkQERPNHKX_cjs.a,o||{}),[o,D]),[H,m]=react.useState(false),[z,C]=react.useState(false),[T,F]=react.useState(false),[n,v]=react.useState(false),[g,p]=react.useState("idle"),[h,l]=react.useState("connectors"),[b,P]=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,activeWallet:y,walletConnectionError:d,modalStates:{isConnectModalOpen:H,isConnectedModalOpen:z,isChainsListOpen:T,isChainsListOpenMobile:n},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:g}}),[Q,y,d,H,z,T,n,h,X,g]),Co=react.useMemo(()=>E(s,G),[s,E,G]),lo=react.useMemo(()=>M({appChains:a,solanaRPCUrls:r,withImpersonated:u,withBalance:R,withChain:B,isConnectModalOpen:H,setIsConnectModalOpen:m,isConnectedModalOpen:z,setIsConnectedModalOpen:C,isChainsListOpen:T,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:l,selectedAdapter:b,setSelectedAdapter:P,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[a,r,u,R,B,H,m,z,C,T,F,n,v,g,p,X,io,h,l,b,P,V,_,q,J,Q,so,M,G]),eo=jsxRuntime.jsx(S,{customization:N?.errors}),to=jsxRuntime.jsx(O,{labels:Co,children:e}),Y=a||r?jsxRuntime.jsx(No,{withImpersonated:u,solanaRPCUrls:r,appChains:a,customization:N?.modals?.connectModal}):null,Z=a||r?jsxRuntime.jsx(chunkDPOT7DDY_cjs.B,{solanaRPCUrls:r,appChains:a,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,fo=jsxRuntime.jsxs(chunk7FTV55DQ_cjs.c.Provider,{value:lo,children:[eo,to,Y,Z]}),vo=jsxRuntime.jsxs(chunk7FTV55DQ_cjs.c.Provider,{value:lo,children:[eo,to,Y,Z]}),$=x(vo,{ErrorsProvider:eo,LabelsProvider:to,MainContent:fo,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:$})}Ke.displayName="NovaConnectProvider";async function qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByWalletType-CDPECVNS.cjs');return {hasEvmUtils:await ho(),hasSolanaUtils:await wo(),adaptersStatus:o()}}async function ho(){try{return await import('./utils-DZB4ZTS4.cjs'),!0}catch{return false}}async function wo(){try{return await import('./utils-H5O25MTI.cjs'),!0}catch{return false}}async function Jn(){try{return {available:!0,...await import('./evm/index.cjs')}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Qn(){try{return {available:!0,...await import('./solana/index.cjs')}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Xn(){let o={evm:false,solana:false,errors:[]};try{let{preloadChainAdapters:e}=await import('./getChainsListByWalletType-CDPECVNS.cjs');await e([orbitCore.OrbitAdapter.EVM,orbitCore.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 Yn(o){switch(o){case orbitCore.OrbitAdapter.EVM:return ho();case orbitCore.OrbitAdapter.SOLANA:return wo();case orbitCore.OrbitAdapter.Starknet:return false;default:return false}}Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.c}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.j}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.b}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.f}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.d}});Object.defineProperty(exports,"getNetworkIcon",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.h}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.e}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.g}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.k}});Object.defineProperty(exports,"networksLinks",{enumerable:true,get:function(){return chunkDPOT7DDY_cjs.i}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkNMQZA377_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkNMQZA377_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.g}});Object.defineProperty(exports,"getChainsListByWalletType",{enumerable:true,get:function(){return chunkNMQZA377_cjs.b}});Object.defineProperty(exports,"getChainsListByWalletTypeAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.a}});Object.defineProperty(exports,"getChainsListByWalletTypeSync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkNMQZA377_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkNMQZA377_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkNMQZA377_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkNMQZA377_cjs.j}});Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.f}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.p}});exports.ErrorsProvider=Mo;exports.NovaConnectLabelsProvider=Po;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=qn;exports.getEvmUtils=Jn;exports.getSolanaUtils=Qn;exports.initializeBlockchainSupport=Xn;exports.isAdapterSupported=Yn;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkY3SFEPYJ_cjs=require('./chunk-Y3SFEPYJ.cjs'),chunkNMQZA377_cjs=require('./chunk-NMQZA377.cjs'),chunk7FTV55DQ_cjs=require('./chunk-7FTV55DQ.cjs'),chunkQERPNHKX_cjs=require('./chunk-QERPNHKX.cjs'),chunkOA6MB7CZ_cjs=require('./chunk-OA6MB7CZ.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'),gill=require('gill');var pe=({title:o,rawError:e,onCopyComplete:a,errorType:r,isConnected:t,...f})=>jsxRuntime.jsx(chunkY3SFEPYJ_cjs.N,{title:o,rawError:e,onCopyComplete:a,customization:f.customization}),ue=o=>{let e=chunk7FTV55DQ_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ce=(o,e)=>{o(e.title,e.rawError,e.errorKey);},fe=o=>{o();},ve=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ye=o=>o,ge=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:a=7e3,draggable:r=false,customization:t}){let f=chunk7FTV55DQ_cjs.h(),u=chunkOA6MB7CZ_cjs.h(l=>l.switchNetworkError),R=chunkOA6MB7CZ_cjs.h(l=>l.activeWallet),B=chunkOA6MB7CZ_cjs.h(l=>l.walletConnectionError),{ToastError:N=pe,Container:y=ue}=t?.components??{},{showError:d=Ce,dismissError:O=fe,onCopyComplete:S=ve}=t?.handlers??{},{errorTitle:D=ye,errorHash:E=ge}=t??{},M=react.useRef(new Set),x=react.useRef(null),s=react.useMemo(()=>{let l=!!B,b=!!u,P=!!R?.isConnected;return {hasWalletError:l,hasSwitchError:b,isConnected:P,hasAnyError:l||b,primaryError:B||u||null,errorType:l?"wallet":b?"switch":null}},[B,u,R?.isConnected]),H=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.walletConnectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>D(H,{errorType:s.errorType}),[D,H,s.errorType]),z=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>E(z,{primaryError:s.primaryError,errorType:s.errorType}),[E,z,s.primaryError,s.errorType]),T=react.useCallback(()=>{O(()=>{x.current&&(reactToastify.toast.dismiss(x.current),x.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((l,b)=>{S(l,b,s.errorType);},[S,s.errorType]),n=react.useCallback((l,b,P)=>{if(T(),!M.current.has(P))try{let V={containerId:o,toastId:P,onClose:()=>{M.current.delete(P),x.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:b,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(N,{title:l,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);}},[T,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=react.useCallback((l,b,P)=>{d(n,{title:l,rawError:b,errorKey:P,errorType:s.errorType});},[n,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:l,isConnected:b,primaryError:P}=s;if(b&&!l){T(),M.current.clear();return}if(l&&P&&C){if(b&&s.errorType!=="switch")return;v(m,P,C);}},[s,m,C,v,T]),react.useEffect(()=>()=>{T(),M.current.clear();},[T]);let g=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:a,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:r,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,a,r]),h=react.useMemo(()=>({...p,...t?.containerProps,className:g}),[p,t?.containerProps,g]);return jsxRuntime.jsx(y,{...h})}Mo.displayName="ErrorsProvider";function Po({labels:o,children:e}){let a=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(chunk7FTV55DQ_cjs.g.Provider,{value:a,children:e})}Po.displayName="NovaConnectLabelsProvider";function He(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"?orbitCore.formatWalletName(r.name)===e:false);return a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?a.name:void 0}var qo=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...r,children:e}));qo.displayName="DefaultModalContainer";var Jo=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...r,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Jo.displayName="DefaultModalHeader";var Qo=react.forwardRef(({className:o,onClick:e,modalData:a,...r},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,...r,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Qo.displayName="DefaultInfoButton";var Xo=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...r,children:e}));Xo.displayName="DefaultTitle";var Yo=react.forwardRef(({className:o,onClick:e,modalData:a,...r},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),...r,children:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));Yo.displayName="DefaultCloseButton";var Zo=react.forwardRef(({className:o,children:e,modalData:a,...r},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",...r,children:e}));Zo.displayName="DefaultMainContent";var oe=react.forwardRef(({className:o,children:e,modalData:a,...r},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",...r,children:e}));oe.displayName="DefaultFooter";var ee=react.forwardRef(({className:o,onClick:e,children:a,modalData:r,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:a}));ee.displayName="DefaultBackButton";var te=react.forwardRef(({className:o,onClick:e,children:a,disabled:r,loading:t,buttonConfig:f,modalData:u,...R},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:r||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...R,children:t?"Loading...":a}));te.displayName="DefaultActionButton";var ne=react.forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...r,children:e}));ne.displayName="DefaultActionDescription";var re=react.forwardRef(({children:o,className:e,...a},r)=>{let{modalData:t,...f}=a;return jsxRuntime.jsx("div",{ref:r,className:e,...f,children:o})});re.displayName="DefaultEmptyState";var No=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:a,customization:r={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:R,setImpersonatedAddress:B,setIsConnected:N,connectModalContentType:y,selectedAdapter:d,setSelectedAdapter:O,isConnected:S,activeConnector:D,impersonatedAddress:E}=chunk7FTV55DQ_cjs.d(),M=chunkOA6MB7CZ_cjs.h(c=>c.walletConnectionError),x=chunkOA6MB7CZ_cjs.h(c=>c.getConnectors),s=chunkOA6MB7CZ_cjs.h(c=>c.connect),H=chunkOA6MB7CZ_cjs.h(c=>c.activeWallet),m=chunk7FTV55DQ_cjs.h(),z=react.useContext(chunkOA6MB7CZ_cjs.f),C=react.useMemo(()=>{if(t)return x()},[t,x]),T=react.useMemo(()=>chunkY3SFEPYJ_cjs.f({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),n=react.useMemo(()=>({contentType:y,selectedAdapter:d,activeConnector:D,impersonatedAddress:E,isConnected:S,isOpen:t,error:F,connectors:C,filteredConnectors:T,labels:m}),[y,d,D,E,S,t,F,C,T,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),R(void 0),B(""),N(false));},[t]);let{components:v={},classNames:g={},handlers:p={},config:h={},childComponents:l={}}=r,b=v.ModalContainer||qo,P=v.ModalHeader||Jo,V=v.InfoButton||Qo,_=v.Title||Xo,q=v.CloseButton||Yo,J=v.MainContent||Zo,Q=v.Footer||oe,so=v.BackButton||ee,X=v.ActionButton||te,io=v.ActionDescription||ne,G=v.EmptyState||re,Co=v.Dialog||novaCore.Dialog,lo=v.DialogContent||novaCore.DialogContent,eo=v.MotionDiv||framerMotion.motion.div,to=react.useCallback(()=>{switch(y){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&D&&C&&He(C[d],D)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[y,d,D,C,m]),Y=react.useCallback(()=>"connectors",[y]),Z=react.useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,n):f(c);},[p?.onOpenChange,n,f]),fo=react.useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(n,c):c();},[p?.onBack,n,u,Y]),vo=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(n):u("about");},[p?.onInfoClick,n,u]),$=react.useCallback(async(c,yo)=>{await s({walletType:c,chainId:chunkY3SFEPYJ_cjs.b({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>z?.getState().activeWallet?.isConnected),N(!0);let go=setTimeout(()=>f(!1),400),le=setTimeout(()=>N(!1),500);await orbitCore.delay(null,500),clearTimeout(go),clearTimeout(le);}catch(go){console.error(go);}},[s,o,d,e]),j=react.useCallback(async(c,yo)=>{O(c),u("connecting"),await $(yo,c);},[$]),Bo=react.useCallback(c=>{R(orbitCore.formatWalletName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(orbitCore.formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatWalletName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),se=react.useCallback(()=>{switch(y){case "network":return jsxRuntime.jsx(chunkY3SFEPYJ_cjs.L,{activeConnector:D,connectors:T,onClick:j,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkY3SFEPYJ_cjs.M,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkY3SFEPYJ_cjs.I,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:T,selectedAdapter:d,onClick:Bo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f,withImpersonated:a,customization:l.connectorsSelections})]}):jsxRuntime.jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkY3SFEPYJ_cjs.C,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkY3SFEPYJ_cjs.J,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkY3SFEPYJ_cjs.F,{selectedAdapter:d,connectors:T,activeConnector:D,isConnected:S,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkY3SFEPYJ_cjs.K,{impersonatedAddress:E,setImpersonatedAddress:B,customization:l.impersonateForm})}},[y,D,T,j,l,C,d,Bo,S,E]),K=react.useCallback(()=>{switch(y){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(n):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(n):window.open(chunkY3SFEPYJ_cjs.i[d??Object.keys(C)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(n):window.open(chunkY3SFEPYJ_cjs.i[d??Object.keys(C)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(n);else {let c=E.trim();if(M||!c||gill.isAddress(c)||H?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(c),await $(`${d??orbitCore.OrbitAdapter.EVM}:impersonatedwallet`,d??orbitCore.OrbitAdapter.EVM),u("connecting");}}};case "connecting":return M&&d&&D?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(n):await $(orbitCore.getWalletTypeFromConnectorName(d,D),d);}}:void 0}},[y,m,p,n,d,C,E,M,$,D])(),ie=react.useCallback(()=>{switch(y){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]);return jsxRuntime.jsx(Co,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(lo,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(eo,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(b,{className:g.modalContainer?.({modalData:n}),modalData:n,children:[jsxRuntime.jsxs(P,{className:g.header?.({modalData:n}),modalData:n,children:[jsxRuntime.jsxs(_,{className:g.title?.({modalData:n}),modalData:n,children:[y==="connectors"&&jsxRuntime.jsx(V,{className:g.infoButton?.({modalData:n}),onClick:vo,"aria-label":h.ariaLabels?.infoButton?.(n)||`${m.learnMore} ${m.aboutWallets}`,modalData:n}),to()]}),jsxRuntime.jsx(q,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsxRuntime.jsx(J,{className:g.mainContent?.({modalData:n}),modalData:n,children:se()}),jsxRuntime.jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:y!=="connectors"&&jsxRuntime.jsx(so,{className:g.backButton?.({modalData:n}),onClick:fo,"aria-label":h.ariaLabels?.backButton?.(n)||`${m.back} to previous step`,modalData:n,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.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}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:ie()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Po,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(Mo,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,$e=o=>o,je=(o,e,a)=>o;function Ke({labels:o,children:e,appChains:a,solanaRPCUrls:r,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B,customization:N}){let y=chunkOA6MB7CZ_cjs.h(j=>j.activeWallet),d=chunkOA6MB7CZ_cjs.h(j=>j.walletConnectionError),{LabelsProvider:O=Fe,ErrorsProvider:S=Ve}=N?.components??{},{merge:D=Ue,transform:E=Ge}=N?.labels??{},{transform:M=$e}=N?.contextValue??{},{providerTree:x=je}=N?.rendering??{},s=react.useMemo(()=>D(chunkQERPNHKX_cjs.a,o||{}),[o,D]),[H,m]=react.useState(false),[z,C]=react.useState(false),[T,F]=react.useState(false),[n,v]=react.useState(false),[g,p]=react.useState("idle"),[h,l]=react.useState("connectors"),[b,P]=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,activeWallet:y,walletConnectionError:d,modalStates:{isConnectModalOpen:H,isConnectedModalOpen:z,isChainsListOpen:T,isChainsListOpenMobile:n},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:g}}),[Q,y,d,H,z,T,n,h,X,g]),Co=react.useMemo(()=>E(s,G),[s,E,G]),lo=react.useMemo(()=>M({appChains:a,solanaRPCUrls:r,withImpersonated:u,withBalance:R,withChain:B,isConnectModalOpen:H,setIsConnectModalOpen:m,isConnectedModalOpen:z,setIsConnectedModalOpen:C,isChainsListOpen:T,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:l,selectedAdapter:b,setSelectedAdapter:P,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[a,r,u,R,B,H,m,z,C,T,F,n,v,g,p,X,io,h,l,b,P,V,_,q,J,Q,so,M,G]),eo=jsxRuntime.jsx(S,{customization:N?.errors}),to=jsxRuntime.jsx(O,{labels:Co,children:e}),Y=a||r?jsxRuntime.jsx(No,{withImpersonated:u,solanaRPCUrls:r,appChains:a,customization:N?.modals?.connectModal}):null,Z=a||r?jsxRuntime.jsx(chunkY3SFEPYJ_cjs.B,{solanaRPCUrls:r,appChains:a,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,fo=jsxRuntime.jsxs(chunk7FTV55DQ_cjs.c.Provider,{value:lo,children:[eo,to,Y,Z]}),vo=jsxRuntime.jsxs(chunk7FTV55DQ_cjs.c.Provider,{value:lo,children:[eo,to,Y,Z]}),$=x(vo,{ErrorsProvider:eo,LabelsProvider:to,MainContent:fo,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:$})}Ke.displayName="NovaConnectProvider";async function qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByWalletType-CDPECVNS.cjs');return {hasEvmUtils:await ho(),hasSolanaUtils:await wo(),adaptersStatus:o()}}async function ho(){try{return await import('./utils-DZB4ZTS4.cjs'),!0}catch{return false}}async function wo(){try{return await import('./utils-H5O25MTI.cjs'),!0}catch{return false}}async function Jn(){try{return {available:!0,...await import('./evm/index.cjs')}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Qn(){try{return {available:!0,...await import('./solana/index.cjs')}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Xn(){let o={evm:false,solana:false,errors:[]};try{let{preloadChainAdapters:e}=await import('./getChainsListByWalletType-CDPECVNS.cjs');await e([orbitCore.OrbitAdapter.EVM,orbitCore.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 Yn(o){switch(o){case orbitCore.OrbitAdapter.EVM:return ho();case orbitCore.OrbitAdapter.SOLANA:return wo();case orbitCore.OrbitAdapter.Starknet:return false;default:return false}}Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.c}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.j}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.b}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.f}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.d}});Object.defineProperty(exports,"getNetworkIcon",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.h}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.e}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.g}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.k}});Object.defineProperty(exports,"networksLinks",{enumerable:true,get:function(){return chunkY3SFEPYJ_cjs.i}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkNMQZA377_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkNMQZA377_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.g}});Object.defineProperty(exports,"getChainsListByWalletType",{enumerable:true,get:function(){return chunkNMQZA377_cjs.b}});Object.defineProperty(exports,"getChainsListByWalletTypeAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.a}});Object.defineProperty(exports,"getChainsListByWalletTypeSync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkNMQZA377_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkNMQZA377_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkNMQZA377_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkNMQZA377_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkNMQZA377_cjs.j}});Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.f}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunk7FTV55DQ_cjs.p}});exports.ErrorsProvider=Mo;exports.NovaConnectLabelsProvider=Po;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=qn;exports.getEvmUtils=Jn;exports.getSolanaUtils=Qn;exports.initializeBlockchainSupport=Xn;exports.isAdapterSupported=Yn;//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -595,9 +595,13 @@
595
595
  .novacon\:bg-\[var\(--tuwa-bg-primary\)\]\/50 {
596
596
  background-color: var(--tuwa-bg-primary);
597
597
  @supports (color: color-mix(in lab, red, red)) {
598
- & {
599
- background-color: color-mix(in oklab, var(--tuwa-bg-primary) 50%, transparent);
600
- }
598
+ background-color: color-mix(in oklab, var(--tuwa-bg-primary) 50%, transparent);
599
+ }
600
+ }
601
+ .novacon\:bg-\[var\(--tuwa-bg-primary\)\]\/\[0\.19\] {
602
+ background-color: var(--tuwa-bg-primary);
603
+ @supports (color: color-mix(in lab, red, red)) {
604
+ background-color: color-mix(in oklab, var(--tuwa-bg-primary) 19%, transparent);
601
605
  }
602
606
  }
603
607
  .novacon\:bg-\[var\(--tuwa-bg-secondary\)\] {
@@ -630,14 +634,6 @@
630
634
  .novacon\:bg-transparent {
631
635
  background-color: transparent;
632
636
  }
633
- .novacon\:bg-white\/\[0\.19\] {
634
- background-color: var(--novacon-color-white);
635
- @supports (color: color-mix(in lab, red, red)) {
636
- & {
637
- background-color: color-mix(in oklab, var(--novacon-color-white) 19%, transparent);
638
- }
639
- }
640
- }
641
637
  .novacon\:bg-gradient-to-b {
642
638
  --tw-gradient-position: to bottom in oklab;
643
639
  background-image: linear-gradient(var(--tw-gradient-stops));
@@ -1532,6 +1528,11 @@
1532
1528
  height: calc(var(--novacon-spacing) * 6) !important;
1533
1529
  }
1534
1530
  }
1531
+ .novacon\:\[\&_img\]\:h-\[42px\]\! {
1532
+ & img {
1533
+ height: 42px !important;
1534
+ }
1535
+ }
1535
1536
  .novacon\:\[\&_img\]\:h-\[auto\]\! {
1536
1537
  & img {
1537
1538
  height: auto !important;
@@ -1597,6 +1598,13 @@
1597
1598
  }
1598
1599
  }
1599
1600
  }
1601
+ .novacon\:sm\:\[\&_img\]\:h-\[32px\]\! {
1602
+ @media (width >= 40rem) {
1603
+ & img {
1604
+ height: 32px !important;
1605
+ }
1606
+ }
1607
+ }
1600
1608
  .novacon\:sm\:\[\&_img\]\:w-\[32px\]\! {
1601
1609
  @media (width >= 40rem) {
1602
1610
  & img {
@@ -1726,6 +1734,9 @@
1726
1734
  inherits: false;
1727
1735
  initial-value: 0;
1728
1736
  }
1737
+ div[data-radix-popper-content-wrapper] {
1738
+ z-index: 101 !important;
1739
+ }
1729
1740
  @property --tw-translate-x {
1730
1741
  syntax: "*";
1731
1742
  inherits: false;
@@ -2084,4 +2095,4 @@
2084
2095
  --tw-exit-translate-y: 0;
2085
2096
  }
2086
2097
  }
2087
- }
2098
+ }
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import {f as f$1,b,K,F,J,C,M,I,L,i,B,N}from'./chunk-WQKCNRRL.js';export{c as getAvailableChainIds,j as getAvailableSolanaClusters,b as getConnectChainId,f as getFilteredConnectors,d as getGroupedConnectors,h as getNetworkIcon,e as hasAvailableConnectors,g as hasConnectorsForAdapter,k as isValidSolanaCluster,i as networksLinks}from'./chunk-WQKCNRRL.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByWalletType,a as getChainsListByWalletTypeAsync,b as getChainsListByWalletTypeSync,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-MQGDTFY7.js';import {d,h as h$1,g,c}from'./chunk-S5WT3DLF.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,n as getLabelWithFallback,k as hasLabel,m as isDefaultLabels,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,p as useWalletNativeBalance}from'./chunk-S5WT3DLF.js';import {a}from'./chunk-TAV7EL23.js';import {h,f}from'./chunk-MPEJHQKC.js';import {waitFor,delay,formatWalletName,getWalletTypeFromConnectorName,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';import {isAddress}from'gill';var pe=({title:o,rawError:e,onCopyComplete:a,errorType:r,isConnected:t,...f})=>jsx(N,{title:o,rawError:e,onCopyComplete:a,customization:f.customization}),ue=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ce=(o,e)=>{o(e.title,e.rawError,e.errorKey);},fe=o=>{o();},ve=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ye=o=>o,ge=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(l=>l.switchNetworkError),R=h(l=>l.activeWallet),B=h(l=>l.walletConnectionError),{ToastError:N=pe,Container:y=ue}=t?.components??{},{showError:d=Ce,dismissError:O=fe,onCopyComplete:S=ve}=t?.handlers??{},{errorTitle:D=ye,errorHash:E=ge}=t??{},M=useRef(new Set),x=useRef(null),s=useMemo(()=>{let l=!!B,b=!!u,P=!!R?.isConnected;return {hasWalletError:l,hasSwitchError:b,isConnected:P,hasAnyError:l||b,primaryError:B||u||null,errorType:l?"wallet":b?"switch":null}},[B,u,R?.isConnected]),H=useMemo(()=>{switch(s.errorType){case "wallet":return f.walletConnectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>D(H,{errorType:s.errorType}),[D,H,s.errorType]),z=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>E(z,{primaryError:s.primaryError,errorType:s.errorType}),[E,z,s.primaryError,s.errorType]),T=useCallback(()=>{O(()=>{x.current&&(toast.dismiss(x.current),x.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((l,b)=>{S(l,b,s.errorType);},[S,s.errorType]),n=useCallback((l,b,P)=>{if(T(),!M.current.has(P))try{let V={containerId:o,toastId:P,onClose:()=>{M.current.delete(P),x.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:b,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(N,{title:l,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);}},[T,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=useCallback((l,b,P)=>{d(n,{title:l,rawError:b,errorKey:P,errorType:s.errorType});},[n,d,s.errorType]);useEffect(()=>{let{hasAnyError:l,isConnected:b,primaryError:P}=s;if(b&&!l){T(),M.current.clear();return}if(l&&P&&C){if(b&&s.errorType!=="switch")return;v(m,P,C);}},[s,m,C,v,T]),useEffect(()=>()=>{T(),M.current.clear();},[T]);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 He(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"?formatWalletName(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 Jo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("div",{ref:t,className:o,...r,children:jsx(DialogHeader,{children:e})}));Jo.displayName="DefaultModalHeader";var Qo=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"})}));Qo.displayName="DefaultInfoButton";var Xo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...r,children:e}));Xo.displayName="DefaultTitle";var Yo=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"})})}));Yo.displayName="DefaultCloseButton";var Zo=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}));Zo.displayName="DefaultMainContent";var oe=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}));oe.displayName="DefaultFooter";var ee=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}));ee.displayName="DefaultBackButton";var te=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}));te.displayName="DefaultActionButton";var ne=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...r,children:e}));ne.displayName="DefaultActionDescription";var re=forwardRef(({children:o,className:e,...a},r)=>{let{modalData:t,...f}=a;return jsx("div",{ref:r,className:e,...f,children:o})});re.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:a,customization:r={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f$2,setConnectModalContentType:u,setActiveConnector:R,setImpersonatedAddress:B,setIsConnected:N,connectModalContentType:y,selectedAdapter:d$1,setSelectedAdapter:O,isConnected:S,activeConnector:D,impersonatedAddress:E}=d(),M$1=h(c=>c.walletConnectionError),x=h(c=>c.getConnectors),s=h(c=>c.connect),H=h(c=>c.activeWallet),m=h$1(),z=useContext(f),C$1=useMemo(()=>{if(t)return x()},[t,x]),T=useMemo(()=>f$1({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F$1=useMemo(()=>M$1?typeof M$1=="string"?new Error(M$1):M$1:null,[M$1]),n=useMemo(()=>({contentType:y,selectedAdapter:d$1,activeConnector:D,impersonatedAddress:E,isConnected:S,isOpen:t,error:F$1,connectors:C$1,filteredConnectors:T,labels:m}),[y,d$1,D,E,S,t,F$1,C$1,T,m]);useEffect(()=>{t&&(u("connectors"),O(void 0),R(void 0),B(""),N(false));},[t]);let{components:v={},classNames:g={},handlers:p={},config:h$2={},childComponents:l={}}=r,b$1=v.ModalContainer||qo,P=v.ModalHeader||Jo,V=v.InfoButton||Qo,_=v.Title||Xo,q=v.CloseButton||Yo,J$1=v.MainContent||Zo,Q=v.Footer||oe,so=v.BackButton||ee,X=v.ActionButton||te,io=v.ActionDescription||ne,G=v.EmptyState||re,Co=v.Dialog||Dialog,lo=v.DialogContent||DialogContent,eo=v.MotionDiv||motion.div,to=useCallback(()=>{switch(y){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&D&&C$1&&He(C$1[d$1],D)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[y,d$1,D,C$1,m]),Y=useCallback(()=>"connectors",[y]),Z=useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,n):f$2(c);},[p?.onOpenChange,n,f$2]),fo=useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(n,c):c();},[p?.onBack,n,u,Y]),vo=useCallback(()=>{p?.onInfoClick?p.onInfoClick(n):u("about");},[p?.onInfoClick,n,u]),$=useCallback(async(c,yo)=>{await s({walletType:c,chainId:b({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>z?.getState().activeWallet?.isConnected),N(!0);let go=setTimeout(()=>f$2(!1),400),le=setTimeout(()=>N(!1),500);await delay(null,500),clearTimeout(go),clearTimeout(le);}catch(go){console.error(go);}},[s,o,d$1,e]),j=useCallback(async(c,yo)=>{O(c),u("connecting"),await $(yo,c);},[$]),Bo=useCallback(c=>{R(formatWalletName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u(formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):formatWalletName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d$1]),se=useCallback(()=>{switch(y){case "network":return jsx(L,{activeConnector:D,connectors:T,onClick:j,customization:l.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(M,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:c=>O(c),customization:l.networkTabs}),jsx(I,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:T,selectedAdapter:d$1,onClick:Bo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f$2,withImpersonated:a,customization:l.connectorsSelections})]}):jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsx(C,{customization:l.aboutWallets});case "getWallet":return jsx(J,{customization:l.getWallet});case "connecting":return jsx(F,{selectedAdapter:d$1,connectors:T,activeConnector:D,isConnected:S,customization:l.connecting});case "impersonate":return jsx(K,{impersonatedAddress:E,setImpersonatedAddress:B,customization:l.impersonateForm})}},[y,D,T,j,l,C$1,d$1,Bo,S,E]),K$1=useCallback(()=>{switch(y){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(n):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(n):window.open(i[d$1??Object.keys(C$1)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(n):window.open(i[d$1??Object.keys(C$1)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(n);else {let c=E.trim();if(M$1||!c||isAddress(c)||H?.isConnected)return;impersonatedHelpers.setImpersonated(c),await $(`${d$1??OrbitAdapter.EVM}:impersonatedwallet`,d$1??OrbitAdapter.EVM),u("connecting");}}};case "connecting":return M$1&&d$1&&D?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(n):await $(getWalletTypeFromConnectorName(d$1,D),d$1);}}:void 0}},[y,m,p,n,d$1,C$1,E,M$1,$,D])(),ie=useCallback(()=>{switch(y){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]);return jsx(Co,{open:t,onOpenChange:Z,children:jsx(lo,{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$1,{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==="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,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsx(J$1,{className:g.mainContent?.({modalData:n}),modalData:n,children:se()}),jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:y!=="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$1&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:g.actionButton?.({modalData:n,buttonConfig:K$1}),onClick:K$1.onClick,disabled:K$1.disabled,loading:K$1.loading,"aria-describedby":"bottom-action-description",modalData:n,buttonConfig:K$1,children:K$1.title}),jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:ie()})]})]})]})})})})});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,$e=o=>o,je=(o,e,a)=>o;function Ke({labels:o,children:e,appChains:a$1,solanaRPCUrls:r,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B$1,customization:N}){let y=h(j=>j.activeWallet),d=h(j=>j.walletConnectionError),{LabelsProvider:O=Fe,ErrorsProvider:S=Ve}=N?.components??{},{merge:D=Ue,transform:E=Ge}=N?.labels??{},{transform:M=$e}=N?.contextValue??{},{providerTree:x=je}=N?.rendering??{},s=useMemo(()=>D(a,o||{}),[o,D]),[H,m]=useState(false),[z,C]=useState(false),[T,F]=useState(false),[n,v]=useState(false),[g,p]=useState("idle"),[h$1,l]=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,activeWallet:y,walletConnectionError:d,modalStates:{isConnectModalOpen:H,isConnectedModalOpen:z,isChainsListOpen:T,isChainsListOpenMobile:n},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:g}}),[Q,y,d,H,z,T,n,h$1,X,g]),Co=useMemo(()=>E(s,G),[s,E,G]),lo=useMemo(()=>M({appChains:a$1,solanaRPCUrls:r,withImpersonated:u,withBalance:R,withChain:B$1,isConnectModalOpen:H,setIsConnectModalOpen:m,isConnectedModalOpen:z,setIsConnectedModalOpen:C,isChainsListOpen:T,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:l,selectedAdapter:b,setSelectedAdapter:P,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[a$1,r,u,R,B$1,H,m,z,C,T,F,n,v,g,p,X,io,h$1,l,b,P,V,_,q,J,Q,so,M,G]),eo=jsx(S,{customization:N?.errors}),to=jsx(O,{labels:Co,children:e}),Y=a$1||r?jsx(No,{withImpersonated:u,solanaRPCUrls:r,appChains:a$1,customization:N?.modals?.connectModal}):null,Z=a$1||r?jsx(B,{solanaRPCUrls:r,appChains:a$1,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,fo=jsxs(c.Provider,{value:lo,children:[eo,to,Y,Z]}),vo=jsxs(c.Provider,{value:lo,children:[eo,to,Y,Z]}),$=x(vo,{ErrorsProvider:eo,LabelsProvider:to,MainContent:fo,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:$})}Ke.displayName="NovaConnectProvider";async function qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByWalletType-VMQ4BO2B.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-SUIRQJIA.js'),!0}catch{return false}}async function Jn(){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 Qn(){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 Xn(){let o={evm:false,solana:false,errors:[]};try{let{preloadChainAdapters:e}=await import('./getChainsListByWalletType-VMQ4BO2B.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 Yn(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,qn as getBlockchainUtilities,Jn as getEvmUtils,Qn as getSolanaUtils,Xn as initializeBlockchainSupport,Yn as isAdapterSupported};//# sourceMappingURL=index.js.map
1
+ import {f as f$1,b,K,F,J,C,M,I,L,i,B,N}from'./chunk-JVVOBSVI.js';export{c as getAvailableChainIds,j as getAvailableSolanaClusters,b as getConnectChainId,f as getFilteredConnectors,d as getGroupedConnectors,h as getNetworkIcon,e as hasAvailableConnectors,g as hasConnectorsForAdapter,k as isValidSolanaCluster,i as networksLinks}from'./chunk-JVVOBSVI.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByWalletType,a as getChainsListByWalletTypeAsync,b as getChainsListByWalletTypeSync,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-MQGDTFY7.js';import {d,h as h$1,g,c}from'./chunk-S5WT3DLF.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,n as getLabelWithFallback,k as hasLabel,m as isDefaultLabels,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,p as useWalletNativeBalance}from'./chunk-S5WT3DLF.js';import {a}from'./chunk-TAV7EL23.js';import {h,f}from'./chunk-MPEJHQKC.js';import {waitFor,delay,formatWalletName,getWalletTypeFromConnectorName,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';import {isAddress}from'gill';var pe=({title:o,rawError:e,onCopyComplete:a,errorType:r,isConnected:t,...f})=>jsx(N,{title:o,rawError:e,onCopyComplete:a,customization:f.customization}),ue=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Ce=(o,e)=>{o(e.title,e.rawError,e.errorKey);},fe=o=>{o();},ve=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ye=o=>o,ge=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(l=>l.switchNetworkError),R=h(l=>l.activeWallet),B=h(l=>l.walletConnectionError),{ToastError:N=pe,Container:y=ue}=t?.components??{},{showError:d=Ce,dismissError:O=fe,onCopyComplete:S=ve}=t?.handlers??{},{errorTitle:D=ye,errorHash:E=ge}=t??{},M=useRef(new Set),x=useRef(null),s=useMemo(()=>{let l=!!B,b=!!u,P=!!R?.isConnected;return {hasWalletError:l,hasSwitchError:b,isConnected:P,hasAnyError:l||b,primaryError:B||u||null,errorType:l?"wallet":b?"switch":null}},[B,u,R?.isConnected]),H=useMemo(()=>{switch(s.errorType){case "wallet":return f.walletConnectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>D(H,{errorType:s.errorType}),[D,H,s.errorType]),z=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>E(z,{primaryError:s.primaryError,errorType:s.errorType}),[E,z,s.primaryError,s.errorType]),T=useCallback(()=>{O(()=>{x.current&&(toast.dismiss(x.current),x.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((l,b)=>{S(l,b,s.errorType);},[S,s.errorType]),n=useCallback((l,b,P)=>{if(T(),!M.current.has(P))try{let V={containerId:o,toastId:P,onClose:()=>{M.current.delete(P),x.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:b,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(N,{title:l,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);}},[T,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=useCallback((l,b,P)=>{d(n,{title:l,rawError:b,errorKey:P,errorType:s.errorType});},[n,d,s.errorType]);useEffect(()=>{let{hasAnyError:l,isConnected:b,primaryError:P}=s;if(b&&!l){T(),M.current.clear();return}if(l&&P&&C){if(b&&s.errorType!=="switch")return;v(m,P,C);}},[s,m,C,v,T]),useEffect(()=>()=>{T(),M.current.clear();},[T]);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 He(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"?formatWalletName(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 Jo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("div",{ref:t,className:o,...r,children:jsx(DialogHeader,{children:e})}));Jo.displayName="DefaultModalHeader";var Qo=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"})}));Qo.displayName="DefaultInfoButton";var Xo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...r,children:e}));Xo.displayName="DefaultTitle";var Yo=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"})})}));Yo.displayName="DefaultCloseButton";var Zo=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}));Zo.displayName="DefaultMainContent";var oe=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}));oe.displayName="DefaultFooter";var ee=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}));ee.displayName="DefaultBackButton";var te=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}));te.displayName="DefaultActionButton";var ne=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...r,children:e}));ne.displayName="DefaultActionDescription";var re=forwardRef(({children:o,className:e,...a},r)=>{let{modalData:t,...f}=a;return jsx("div",{ref:r,className:e,...f,children:o})});re.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:a,customization:r={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f$2,setConnectModalContentType:u,setActiveConnector:R,setImpersonatedAddress:B,setIsConnected:N,connectModalContentType:y,selectedAdapter:d$1,setSelectedAdapter:O,isConnected:S,activeConnector:D,impersonatedAddress:E}=d(),M$1=h(c=>c.walletConnectionError),x=h(c=>c.getConnectors),s=h(c=>c.connect),H=h(c=>c.activeWallet),m=h$1(),z=useContext(f),C$1=useMemo(()=>{if(t)return x()},[t,x]),T=useMemo(()=>f$1({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F$1=useMemo(()=>M$1?typeof M$1=="string"?new Error(M$1):M$1:null,[M$1]),n=useMemo(()=>({contentType:y,selectedAdapter:d$1,activeConnector:D,impersonatedAddress:E,isConnected:S,isOpen:t,error:F$1,connectors:C$1,filteredConnectors:T,labels:m}),[y,d$1,D,E,S,t,F$1,C$1,T,m]);useEffect(()=>{t&&(u("connectors"),O(void 0),R(void 0),B(""),N(false));},[t]);let{components:v={},classNames:g={},handlers:p={},config:h$2={},childComponents:l={}}=r,b$1=v.ModalContainer||qo,P=v.ModalHeader||Jo,V=v.InfoButton||Qo,_=v.Title||Xo,q=v.CloseButton||Yo,J$1=v.MainContent||Zo,Q=v.Footer||oe,so=v.BackButton||ee,X=v.ActionButton||te,io=v.ActionDescription||ne,G=v.EmptyState||re,Co=v.Dialog||Dialog,lo=v.DialogContent||DialogContent,eo=v.MotionDiv||motion.div,to=useCallback(()=>{switch(y){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&D&&C$1&&He(C$1[d$1],D)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[y,d$1,D,C$1,m]),Y=useCallback(()=>"connectors",[y]),Z=useCallback(c=>{p?.onOpenChange?p.onOpenChange(c,n):f$2(c);},[p?.onOpenChange,n,f$2]),fo=useCallback(()=>{let c=()=>u(Y());p?.onBack?p.onBack(n,c):c();},[p?.onBack,n,u,Y]),vo=useCallback(()=>{p?.onInfoClick?p.onInfoClick(n):u("about");},[p?.onInfoClick,n,u]),$=useCallback(async(c,yo)=>{await s({walletType:c,chainId:b({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>z?.getState().activeWallet?.isConnected),N(!0);let go=setTimeout(()=>f$2(!1),400),le=setTimeout(()=>N(!1),500);await delay(null,500),clearTimeout(go),clearTimeout(le);}catch(go){console.error(go);}},[s,o,d$1,e]),j=useCallback(async(c,yo)=>{O(c),u("connecting"),await $(yo,c);},[$]),Bo=useCallback(c=>{R(formatWalletName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u(formatWalletName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):formatWalletName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d$1]),se=useCallback(()=>{switch(y){case "network":return jsx(L,{activeConnector:D,connectors:T,onClick:j,customization:l.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(M,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:c=>O(c),customization:l.networkTabs}),jsx(I,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:T,selectedAdapter:d$1,onClick:Bo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f$2,withImpersonated:a,customization:l.connectorsSelections})]}):jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsx(C,{customization:l.aboutWallets});case "getWallet":return jsx(J,{customization:l.getWallet});case "connecting":return jsx(F,{selectedAdapter:d$1,connectors:T,activeConnector:D,isConnected:S,customization:l.connecting});case "impersonate":return jsx(K,{impersonatedAddress:E,setImpersonatedAddress:B,customization:l.impersonateForm})}},[y,D,T,j,l,C$1,d$1,Bo,S,E]),K$1=useCallback(()=>{switch(y){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(n):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(n):window.open(i[d$1??Object.keys(C$1)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(n):window.open(i[d$1??Object.keys(C$1)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(n);else {let c=E.trim();if(M$1||!c||isAddress(c)||H?.isConnected)return;impersonatedHelpers.setImpersonated(c),await $(`${d$1??OrbitAdapter.EVM}:impersonatedwallet`,d$1??OrbitAdapter.EVM),u("connecting");}}};case "connecting":return M$1&&d$1&&D?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(n):await $(getWalletTypeFromConnectorName(d$1,D),d$1);}}:void 0}},[y,m,p,n,d$1,C$1,E,M$1,$,D])(),ie=useCallback(()=>{switch(y){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]);return jsx(Co,{open:t,onOpenChange:Z,children:jsx(lo,{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$1,{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==="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,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsx(J$1,{className:g.mainContent?.({modalData:n}),modalData:n,children:se()}),jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:y!=="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$1&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:g.actionButton?.({modalData:n,buttonConfig:K$1}),onClick:K$1.onClick,disabled:K$1.disabled,loading:K$1.loading,"aria-describedby":"bottom-action-description",modalData:n,buttonConfig:K$1,children:K$1.title}),jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:ie()})]})]})]})})})})});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,$e=o=>o,je=(o,e,a)=>o;function Ke({labels:o,children:e,appChains:a$1,solanaRPCUrls:r,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B$1,customization:N}){let y=h(j=>j.activeWallet),d=h(j=>j.walletConnectionError),{LabelsProvider:O=Fe,ErrorsProvider:S=Ve}=N?.components??{},{merge:D=Ue,transform:E=Ge}=N?.labels??{},{transform:M=$e}=N?.contextValue??{},{providerTree:x=je}=N?.rendering??{},s=useMemo(()=>D(a,o||{}),[o,D]),[H,m]=useState(false),[z,C]=useState(false),[T,F]=useState(false),[n,v]=useState(false),[g,p]=useState("idle"),[h$1,l]=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,activeWallet:y,walletConnectionError:d,modalStates:{isConnectModalOpen:H,isConnectedModalOpen:z,isChainsListOpen:T,isChainsListOpenMobile:n},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:g}}),[Q,y,d,H,z,T,n,h$1,X,g]),Co=useMemo(()=>E(s,G),[s,E,G]),lo=useMemo(()=>M({appChains:a$1,solanaRPCUrls:r,withImpersonated:u,withBalance:R,withChain:B$1,isConnectModalOpen:H,setIsConnectModalOpen:m,isConnectedModalOpen:z,setIsConnectedModalOpen:C,isChainsListOpen:T,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:l,selectedAdapter:b,setSelectedAdapter:P,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[a$1,r,u,R,B$1,H,m,z,C,T,F,n,v,g,p,X,io,h$1,l,b,P,V,_,q,J,Q,so,M,G]),eo=jsx(S,{customization:N?.errors}),to=jsx(O,{labels:Co,children:e}),Y=a$1||r?jsx(No,{withImpersonated:u,solanaRPCUrls:r,appChains:a$1,customization:N?.modals?.connectModal}):null,Z=a$1||r?jsx(B,{solanaRPCUrls:r,appChains:a$1,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,fo=jsxs(c.Provider,{value:lo,children:[eo,to,Y,Z]}),vo=jsxs(c.Provider,{value:lo,children:[eo,to,Y,Z]}),$=x(vo,{ErrorsProvider:eo,LabelsProvider:to,MainContent:fo,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:$})}Ke.displayName="NovaConnectProvider";async function qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByWalletType-VMQ4BO2B.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-SUIRQJIA.js'),!0}catch{return false}}async function Jn(){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 Qn(){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 Xn(){let o={evm:false,solana:false,errors:[]};try{let{preloadChainAdapters:e}=await import('./getChainsListByWalletType-VMQ4BO2B.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 Yn(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,qn as getBlockchainUtilities,Jn as getEvmUtils,Qn as getSolanaUtils,Xn as initializeBlockchainSupport,Yn as isAdapterSupported};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuwaio/nova-connect",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "private": false,
5
5
  "author": "Oleksandr Tkach",
6
6
  "license": "Apache-2.0",
@@ -85,7 +85,7 @@
85
85
  }
86
86
  ],
87
87
  "dependencies": {
88
- "@tuwaio/satellite-react": "^0.1.1"
88
+ "@tuwaio/satellite-react": "^0.1.3"
89
89
  },
90
90
  "peerDependencies": {
91
91
  "@bgd-labs/react-web3-icons": ">=1.5",
@@ -196,44 +196,44 @@
196
196
  }
197
197
  },
198
198
  "devDependencies": {
199
- "@bgd-labs/react-web3-icons": "^1.51.0",
199
+ "@bgd-labs/react-web3-icons": "^1.52.0",
200
200
  "@heroicons/react": "^2.2.0",
201
201
  "@radix-ui/react-dialog": "^1.1.15",
202
202
  "@radix-ui/react-select": "^2.2.6",
203
- "@tuwaio/orbit-core": "^0.1.0",
204
- "@tuwaio/orbit-evm": "^0.1.0",
205
- "@tuwaio/orbit-solana": "^0.1.0",
206
- "@tuwaio/satellite-core": "^0.1.0",
207
- "@tuwaio/satellite-evm": "^0.1.1",
208
- "@tuwaio/satellite-solana": "^0.1.0",
209
- "@tuwaio/pulsar-core": "^0.2.0",
203
+ "@tuwaio/orbit-core": "^0.1.2",
204
+ "@tuwaio/orbit-evm": "^0.1.2",
205
+ "@tuwaio/orbit-solana": "^0.1.1",
206
+ "@tuwaio/satellite-core": "^0.1.2",
207
+ "@tuwaio/satellite-evm": "^0.1.3",
208
+ "@tuwaio/satellite-solana": "^0.1.2",
209
+ "@tuwaio/pulsar-core": "^0.2.2",
210
210
  "@wallet-standard/react": "^1.0.1",
211
211
  "@wagmi/core": "^2.22.1",
212
- "@wagmi/connectors": "^6.0.1",
212
+ "@wagmi/connectors": "^6.1.2",
213
213
  "gill": "^0.12.0",
214
214
  "clsx": "^2.1.1",
215
215
  "dayjs": "^1.11.18",
216
- "immer": "^10.1.3",
216
+ "immer": "^10.2.0",
217
217
  "ethereum-blockies-base64": "^1.0.2",
218
218
  "framer-motion": "^12.23.24",
219
219
  "react": "^19.2.0",
220
220
  "react-toastify": "^11.0.5",
221
221
  "tailwind-merge": "^3.3.1",
222
- "viem": "^2.38.3",
222
+ "viem": "^2.38.5",
223
223
  "zustand": "^5.0.8",
224
- "@tailwindcss/postcss": "^4.1.15",
225
- "@tailwindcss/vite": "^4.1.15",
224
+ "@tailwindcss/postcss": "^4.1.16",
225
+ "@tailwindcss/vite": "^4.1.16",
226
226
  "@types/react": "^19.2.2",
227
227
  "autoprefixer": "^10.4.21",
228
228
  "postcss": "^8.5.6",
229
229
  "postcss-cli": "^11.0.1",
230
- "tailwindcss": "^4.1.15",
230
+ "tailwindcss": "^4.1.16",
231
231
  "@emotion/is-prop-valid": "^1.4.0",
232
232
  "tw-animate-css": "^1.4.0",
233
233
  "typescript": "^5.9.3",
234
234
  "tsup": "^8.5.0",
235
- "@tuwaio/nova-core": "^0.1.1",
236
- "@tuwaio/nova-transactions": "^0.1.1"
235
+ "@tuwaio/nova-core": "^0.1.3",
236
+ "@tuwaio/nova-transactions": "^0.1.2"
237
237
  },
238
238
  "scripts": {
239
239
  "start": "tsup src/index.ts --watch",