@tuwaio/nova-connect 0.1.8 → 0.1.10

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 chunkQQUESM3I_cjs=require('../chunk-QQUESM3I.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 chunkQQUESM3I_cjs.C}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.a}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.p}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.u}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.E}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.s}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.B}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.v}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.z}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.w}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.A}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.F}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.G}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.I}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.H}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.J}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.y}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.K}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.L}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.M}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.D}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.o}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.n}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.r}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.l}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.m}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.N}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.t}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.q}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.x}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkB26D6OI7_cjs=require('../chunk-B26D6OI7.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 chunkB26D6OI7_cjs.C}});Object.defineProperty(exports,"ChainListRenderer",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.a}});Object.defineProperty(exports,"ChainSelector",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.p}});Object.defineProperty(exports,"ConnectButton",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.u}});Object.defineProperty(exports,"ConnectCard",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.E}});Object.defineProperty(exports,"ConnectedContent",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.s}});Object.defineProperty(exports,"ConnectedModal",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.B}});Object.defineProperty(exports,"ConnectedModalFooter",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.v}});Object.defineProperty(exports,"ConnectedModalMainContent",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.z}});Object.defineProperty(exports,"ConnectedModalNameAndBalance",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.w}});Object.defineProperty(exports,"ConnectedModalTxHistory",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.A}});Object.defineProperty(exports,"Connecting",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.F}});Object.defineProperty(exports,"ConnectorsBlock",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.G}});Object.defineProperty(exports,"ConnectorsSelections",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.I}});Object.defineProperty(exports,"Disclaimer",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.H}});Object.defineProperty(exports,"GetWallet",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.J}});Object.defineProperty(exports,"IconButton",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.y}});Object.defineProperty(exports,"ImpersonateForm",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.K}});Object.defineProperty(exports,"NetworkSelections",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.L}});Object.defineProperty(exports,"NetworkTabs",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.M}});Object.defineProperty(exports,"RecentBadge",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.D}});Object.defineProperty(exports,"ScrollableChainList",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.o}});Object.defineProperty(exports,"SelectContentAnimated",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.n}});Object.defineProperty(exports,"StatusIcon",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.r}});Object.defineProperty(exports,"ToBottomButton",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.l}});Object.defineProperty(exports,"ToTopButton",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.m}});Object.defineProperty(exports,"ToastError",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.N}});Object.defineProperty(exports,"WaitForConnectionContent",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.t}});Object.defineProperty(exports,"WalletAvatar",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.q}});Object.defineProperty(exports,"WalletIcon",{enumerable:true,get:function(){return chunkB26D6OI7_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-RUYAJPVO.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-7F5QM2LC.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 chunkQQUESM3I_cjs=require('./chunk-QQUESM3I.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(chunkQQUESM3I_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(()=>chunkQQUESM3I_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:chunkQQUESM3I_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(chunkQQUESM3I_cjs.L,{activeConnector:D,connectors:T,onClick:j,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkQQUESM3I_cjs.M,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkQQUESM3I_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(chunkQQUESM3I_cjs.C,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkQQUESM3I_cjs.J,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkQQUESM3I_cjs.F,{selectedAdapter:d,connectors:T,activeConnector:D,isConnected:S,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkQQUESM3I_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(chunkQQUESM3I_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(chunkQQUESM3I_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(chunkQQUESM3I_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 chunkQQUESM3I_cjs.c}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.j}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.b}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.f}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.d}});Object.defineProperty(exports,"getNetworkIcon",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.h}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.e}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.g}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkQQUESM3I_cjs.k}});Object.defineProperty(exports,"networksLinks",{enumerable:true,get:function(){return chunkQQUESM3I_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 chunkB26D6OI7_cjs=require('./chunk-B26D6OI7.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(chunkB26D6OI7_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(()=>chunkB26D6OI7_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:chunkB26D6OI7_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(chunkB26D6OI7_cjs.L,{activeConnector:D,connectors:T,onClick:j,customization:l.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkB26D6OI7_cjs.M,{networks:Object.keys(C),selectedAdapter:d,onSelect:c=>O(c),customization:l.networkTabs}),jsxRuntime.jsx(chunkB26D6OI7_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(chunkB26D6OI7_cjs.C,{customization:l.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkB26D6OI7_cjs.J,{customization:l.getWallet});case "connecting":return jsxRuntime.jsx(chunkB26D6OI7_cjs.F,{selectedAdapter:d,connectors:T,activeConnector:D,isConnected:S,customization:l.connecting});case "impersonate":return jsxRuntime.jsx(chunkB26D6OI7_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(chunkB26D6OI7_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(chunkB26D6OI7_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(chunkB26D6OI7_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 chunkB26D6OI7_cjs.c}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.j}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.b}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.f}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.d}});Object.defineProperty(exports,"getNetworkIcon",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.h}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.e}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.g}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkB26D6OI7_cjs.k}});Object.defineProperty(exports,"networksLinks",{enumerable:true,get:function(){return chunkB26D6OI7_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
@@ -628,12 +628,6 @@
628
628
  .novacon\:bg-transparent {
629
629
  background-color: transparent;
630
630
  }
631
- .novacon\:bg-white\/\[0\.19\] {
632
- background-color: var(--novacon-color-white);
633
- @supports (color: color-mix(in lab, red, red)) {
634
- background-color: color-mix(in oklab, var(--novacon-color-white) 19%, transparent);
635
- }
636
- }
637
631
  .novacon\:bg-gradient-to-b {
638
632
  --tw-gradient-position: to bottom in oklab;
639
633
  background-image: linear-gradient(var(--tw-gradient-stops));
@@ -871,10 +865,6 @@
871
865
  .novacon\:ring-\[var\(--tuwa-text-accent\)\] {
872
866
  --tw-ring-color: var(--tuwa-text-accent);
873
867
  }
874
- .novacon\:backdrop-blur-\[8\.5px\] {
875
- --tw-backdrop-blur: blur(8.5px);
876
- backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
877
- }
878
868
  .novacon\:transition {
879
869
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
880
870
  transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
@@ -1734,6 +1724,9 @@
1734
1724
  inherits: false;
1735
1725
  initial-value: 0;
1736
1726
  }
1727
+ div[data-radix-popper-content-wrapper] {
1728
+ z-index: 101 !important;
1729
+ }
1737
1730
  @property --tw-translate-x {
1738
1731
  syntax: "*";
1739
1732
  inherits: false;
@@ -1911,42 +1904,6 @@
1911
1904
  inherits: false;
1912
1905
  initial-value: 0 0 #0000;
1913
1906
  }
1914
- @property --tw-backdrop-blur {
1915
- syntax: "*";
1916
- inherits: false;
1917
- }
1918
- @property --tw-backdrop-brightness {
1919
- syntax: "*";
1920
- inherits: false;
1921
- }
1922
- @property --tw-backdrop-contrast {
1923
- syntax: "*";
1924
- inherits: false;
1925
- }
1926
- @property --tw-backdrop-grayscale {
1927
- syntax: "*";
1928
- inherits: false;
1929
- }
1930
- @property --tw-backdrop-hue-rotate {
1931
- syntax: "*";
1932
- inherits: false;
1933
- }
1934
- @property --tw-backdrop-invert {
1935
- syntax: "*";
1936
- inherits: false;
1937
- }
1938
- @property --tw-backdrop-opacity {
1939
- syntax: "*";
1940
- inherits: false;
1941
- }
1942
- @property --tw-backdrop-saturate {
1943
- syntax: "*";
1944
- inherits: false;
1945
- }
1946
- @property --tw-backdrop-sepia {
1947
- syntax: "*";
1948
- inherits: false;
1949
- }
1950
1907
  @property --tw-duration {
1951
1908
  syntax: "*";
1952
1909
  inherits: false;
@@ -2058,15 +2015,6 @@
2058
2015
  --tw-ring-offset-width: 0px;
2059
2016
  --tw-ring-offset-color: #fff;
2060
2017
  --tw-ring-offset-shadow: 0 0 #0000;
2061
- --tw-backdrop-blur: initial;
2062
- --tw-backdrop-brightness: initial;
2063
- --tw-backdrop-contrast: initial;
2064
- --tw-backdrop-grayscale: initial;
2065
- --tw-backdrop-hue-rotate: initial;
2066
- --tw-backdrop-invert: initial;
2067
- --tw-backdrop-opacity: initial;
2068
- --tw-backdrop-saturate: initial;
2069
- --tw-backdrop-sepia: initial;
2070
2018
  --tw-duration: initial;
2071
2019
  --tw-ease: initial;
2072
2020
  --tw-scale-x: 1;
@@ -2092,4 +2040,4 @@
2092
2040
  --tw-exit-translate-y: 0;
2093
2041
  }
2094
2042
  }
2095
- }
2043
+ }
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-RUYAJPVO.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-RUYAJPVO.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-7F5QM2LC.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-7F5QM2LC.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.8",
3
+ "version": "0.1.10",
4
4
  "private": false,
5
5
  "author": "Oleksandr Tkach",
6
6
  "license": "Apache-2.0",
@@ -232,7 +232,7 @@
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.3",
235
+ "@tuwaio/nova-core": "^0.1.4",
236
236
  "@tuwaio/nova-transactions": "^0.1.2"
237
237
  },
238
238
  "scripts": {