@tuwaio/nova-connect 0.7.3 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-JYTCPJH7.cjs +2 -0
- package/dist/chunk-QCJQXXGY.js +2 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +6 -2
- package/dist/components/index.d.ts +6 -2
- package/dist/components/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +11 -6
- package/dist/index.d.ts +11 -6
- package/dist/index.js +1 -1
- package/package.json +23 -23
- package/dist/chunk-ENXSDTRV.js +0 -2
- package/dist/chunk-Q4FCNEIJ.cjs +0 -2
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunkQ4FCNEIJ_cjs=require('./chunk-Q4FCNEIJ.cjs'),chunkZVUCC2QP_cjs=require('./chunk-ZVUCC2QP.cjs'),chunkR5V3K52O_cjs=require('./chunk-R5V3K52O.cjs'),chunkEGATOYHY_cjs=require('./chunk-EGATOYHY.cjs');require('./chunk-YJRNNNR6.cjs');var novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),siwxReact=require('@tuwaio/siwx-react');var ze=({title:e,rawError:r,onCopyComplete:i,errorType:u,isConnected:n,...m})=>jsxRuntime.jsx(chunkQ4FCNEIJ_cjs.H,{title:e,rawError:r,onCopyComplete:i,customization:m.customization}),He=e=>{let r=chunkZVUCC2QP_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":r.somethingWentWrong})},Ie=(e,r)=>{e(r.title,r.rawError,r.errorKey);},Ae=e=>{e();},Fe=(e,r)=>{if(e&&process.env.NODE_ENV==="development"){let i=typeof r=="string"?r:r.message;console.log("Error copied to clipboard:",i.substring(0,100));}},Ve=e=>e,De=e=>e;function ne({containerId:e="nova-connect-errors",position:r="top-center",autoClose:i=7e3,draggable:u=false,customization:n}){let m=chunkZVUCC2QP_cjs.h(),B=chunkEGATOYHY_cjs.d(a=>a.switchNetworkError),A=chunkEGATOYHY_cjs.d(a=>a.activeConnection),W=chunkEGATOYHY_cjs.d(a=>a.connectionError),{ToastError:z=ze,Container:F=He}=n?.components??{},{showError:H=Ie,dismissError:L=Ae,onCopyComplete:p=Fe}=n?.handlers??{},{errorTitle:V=Ve,errorHash:o=De}=n??{},T=react.useRef(new Set),g=react.useRef(null),M=!!W,v=!!B,c=!!A?.isConnected,w=M||v,y=W||B||null,l=M?"wallet":v?"switch":null,s={hasWalletError:M,hasSwitchError:v,isConnected:c,hasAnyError:w,primaryError:y,errorType:l},O=m.somethingWentWrong;switch(s.errorType){case "wallet":O=m.connectionError;break;case "switch":O=m.errorWhenChainSwitching;break}let S=V(O,{errorType:s.errorType}),t=s.primaryError?`${s.errorType}-${s.primaryError.message.substring(0,50)}`:null,d=o(t,{primaryError:s.primaryError,errorType:s.errorType}),C=react.useCallback(()=>{L(()=>{g.current&&(reactToastify.toast.dismiss(g.current),g.current=null),reactToastify.toast.dismiss({containerId:e});});},[e,L]),x=react.useCallback((a,f)=>{p(a,f,l);},[p,l]),R=react.useCallback((a,f,h)=>{if(C(),!T.current.has(h))try{let k={containerId:e,toastId:h,onClose:()=>{T.current.delete(h),g.current=null;}},U=n?.toastOptions?.error?.({title:a,rawError:f,errorType:s.errorType,isConnected:s.isConnected}),K={...k,...U};reactToastify.toast.error(jsxRuntime.jsx(z,{title:a,rawError:f,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:_=>x(_,f),customization:n?.toastErrorCustomization}),K),T.current.add(h),g.current=h;}catch(k){console.error("Failed to show error toast:",k);}},[C,e,n?.toastOptions?.error,n?.toastErrorCustomization,z,s.errorType,s.isConnected,x]),N=react.useCallback((a,f,h)=>{H(R,{title:a,rawError:f,errorKey:h,errorType:l});},[R,H,l]);react.useEffect(()=>{if(c&&!w){C(),T.current.clear();return}if(w&&y&&d){if(c&&l!=="switch")return;N(S,y,d);}},[w,c,y,l,S,d,N,C]),react.useEffect(()=>()=>{C(),T.current.clear();},[C]);let I=n?.classNames?.container?n.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",D=react.useMemo(()=>{let a=n?.toastCloseButton;return a?({closeToast:f})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:f,...a}):novaCore.ToastCloseButton},[n?.toastCloseButton]),$={...{containerId:e,position:r,closeOnClick:false,icon:false,closeButton:D,autoClose:i,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:u,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...n?.containerProps,className:I};return jsxRuntime.jsx(F,{...$})}ne.displayName="ErrorsProvider";function se({labels:e,children:r}){let i=react.useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let n=["connectWallet","disconnect","connecting","connected","error","success"].filter(m=>!(m in e));n.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${n.join(", ")}`);}return jsxRuntime.jsx(chunkZVUCC2QP_cjs.g.Provider,{value:i,children:r})}se.displayName="NovaConnectLabelsProvider";function be(e){let{enabled:r=true,getNonce:i,verifier:u,destroyer:n,domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L,onSuccess:p,onError:V}=e,o=chunkEGATOYHY_cjs.d(t=>t.activeConnection),T=chunkEGATOYHY_cjs.d(t=>t.disconnect),g=chunkEGATOYHY_cjs.d(t=>t.isAutoConnectFinished),{signIn:M}=siwxReact.useSiwx(),v=siwxReact.useSiwxSessionStore(t=>t.session),c=siwxReact.useSiwxSessionStore(t=>t.status),w=siwxReact.useSiwxSessionStore(t=>t.reset),y=react.useRef(null),l=react.useRef(false),s=react.useEffectEvent(()=>{w(),n&&n().catch(t=>{console.warn("[NovaSiwxWatcher] Failed to execute session destroyer:",t);});});react.useEffect(()=>{if(!o?.isConnected||!o?.address){if(y.current=null,g===false)return;(c==="authenticated"||v)&&s();}},[o?.isConnected,o?.address,g,c,v]);let O=react.useEffectEvent((t,d)=>o?.connectorType===t&&o.address===d),S=react.useEffectEvent(()=>{if(!(!o?.isConnected||!o.address||!o.signMessage))try{let t={address:String(o.address),chainId:o.chainId,signMessage:o.signMessage,isConnected:o.isConnected},d=siwxReact.getSatelliteSiwxFields(t,{domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L});if(c==="authenticated"&&v?.address===d.address||y.current===d.address)return;if(y.current=d.address,!u){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}let{connectorType:C,address:x}=o,R=N=>{let I=N instanceof Error?N.message:String(N);console.warn("[NovaSiwxWatcher] SIWX authentication rejected or failed:",I),C&&O(C,x)&&T(C),w(),V?.(I);};l.current=!0,M({signer:o.signMessage,verifier:u,getNonce:i,fields:d,onSuccess:p,onError:R}).catch(R).finally(()=>{l.current=!1;});}catch(t){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",t);}});return react.useEffect(()=>{!r||!o?.isConnected||!o?.address||!o?.chainId||o.signMessage&&(l.current||c==="building"||c==="signing"||c==="verifying"||S());},[o?.isConnected,o?.address,o?.chainId,o?.signMessage,o?.connectorType,r,c,v?.address]),null}var $e=({labels:e,children:r})=>jsxRuntime.jsx(se,{labels:e,children:r}),Ue=({customization:e})=>jsxRuntime.jsx(ne,{customization:e}),_e=(e,r)=>novaCore.deepMerge(e,r||{}),je=e=>e,Je=e=>e,Qe=(e,r,i)=>e;function Ye({labels:e,children:r,appChains:i,solanaRPCUrls:u,transactionPool:n,pulsarAdapter:m,withImpersonated:B,withBalance:A,withChain:W,popularConnectors:z,customConnectorGroups:F,legal:H,siwx:L,customization:p,pagination:V}){let o=chunkEGATOYHY_cjs.d(ee=>ee.activeConnection),T=chunkEGATOYHY_cjs.d(ee=>ee.connectionError),{LabelsProvider:g=$e,ErrorsProvider:M=Ue}=p?.components??{},{merge:v=_e,transform:c=je}=p?.labels??{},{transform:w=Je}=p?.contextValue??{},{providerTree:y=Qe}=p?.rendering??{},l=react.useMemo(()=>v(chunkR5V3K52O_cjs.a,e||{}),[e,v]),[s,O]=react.useState(false),[S,t]=react.useState(false),[d,C]=react.useState(false),[x,R]=react.useState(false),[N,I]=react.useState("idle"),[D,de]=react.useState("connectors"),[$,a]=react.useState(void 0),[f,h]=react.useState(void 0),[k,U]=react.useState(""),[K,_]=react.useState(false),[j,he]=react.useState("main"),Se={appChains:i,solanaRPCUrls:u,withImpersonated:B,popularConnectors:z,customConnectorGroups:F,withBalance:A,withChain:W,isConnectModalOpen:s,setIsConnectModalOpen:O,isConnectedModalOpen:S,setIsConnectedModalOpen:t,isChainsListOpen:d,setIsChainsListOpen:C,isChainsListOpenMobile:x,setIsChainsListOpenMobile:R,connectedButtonStatus:N,setConnectedButtonStatus:I,connectedModalContentType:j,setConnectedModalContentType:he,connectModalContentType:D,setConnectModalContentType:de,selectedAdapter:$,setSelectedAdapter:a,activeConnector:f,setActiveConnector:h,impersonatedAddress:k,setImpersonatedAddress:U,isConnected:K,setIsConnected:_,legal:H},G=react.useMemo(()=>({isConnected:K,activeConnection:o,connectionError:T,modalStates:{isConnectModalOpen:s,isConnectedModalOpen:S,isChainsListOpen:d,isChainsListOpenMobile:x},contentTypes:{connectModal:D,connectedModal:j},statuses:{connectedButton:N}}),[K,o,T,s,S,d,x,D,j,N]),xe=react.useMemo(()=>c(l,G),[l,c,G]),ue=w(Se,G),J=jsxRuntime.jsx(M,{customization:p?.errors}),Q=jsxRuntime.jsx(g,{labels:xe,children:r}),Y=i||u?jsxRuntime.jsx(chunkQ4FCNEIJ_cjs.G,{solanaRPCUrls:u,appChains:i,customization:p?.modals?.connectModal}):null,Z=i||u?jsxRuntime.jsx(chunkQ4FCNEIJ_cjs.t,{solanaRPCUrls:u,appChains:i,transactionPool:n,pulsarAdapter:m,customization:p?.modals?.connectedModal,pagination:V}):null,pe=L?jsxRuntime.jsx(be,{...L}):null,Le=jsxRuntime.jsxs(chunkZVUCC2QP_cjs.c.Provider,{value:ue,children:[pe,J,Q,Y,Z]}),Me=jsxRuntime.jsxs(chunkZVUCC2QP_cjs.c.Provider,{value:ue,children:[pe,J,Q,Y,Z]}),Oe=y(Me,{ErrorsProvider:J,LabelsProvider:Q,MainContent:Le,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Oe})}Ye.displayName="NovaConnectProvider";Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.v}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.q}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.u}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.y}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.w}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.n}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.t}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.x}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.z}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.m}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.r}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.s}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.f}});Object.defineProperty(exports,"useNovaSiwx",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.p}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.A}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.B}});exports.ErrorsProvider=ne;exports.NovaConnectLabelsProvider=se;exports.NovaConnectProvider=Ye;exports.NovaSiwxWatcher=be;
|
|
1
|
+
'use strict';var chunkJYTCPJH7_cjs=require('./chunk-JYTCPJH7.cjs'),chunkZVUCC2QP_cjs=require('./chunk-ZVUCC2QP.cjs'),chunkR5V3K52O_cjs=require('./chunk-R5V3K52O.cjs'),chunkEGATOYHY_cjs=require('./chunk-EGATOYHY.cjs');require('./chunk-YJRNNNR6.cjs');var novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),siwxReact=require('@tuwaio/siwx-react');var Be=({title:e,rawError:r,onCopyComplete:i,errorType:u,isConnected:n,...m})=>jsxRuntime.jsx(chunkJYTCPJH7_cjs.H,{title:e,rawError:r,onCopyComplete:i,customization:m.customization}),We=e=>{let r=chunkZVUCC2QP_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":r.somethingWentWrong})},ze=(e,r)=>{e(r.title,r.rawError,r.errorKey);},He=e=>{e();},Ie=(e,r)=>{if(e&&process.env.NODE_ENV==="development"){let i=typeof r=="string"?r:r.message;console.log("Error copied to clipboard:",i.substring(0,100));}},Ae=e=>e,Fe=e=>e;function Z({containerId:e="nova-connect-errors",position:r="top-center",autoClose:i=7e3,draggable:u=false,customization:n}){let m=chunkZVUCC2QP_cjs.h(),B=chunkEGATOYHY_cjs.d(a=>a.switchNetworkError),A=chunkEGATOYHY_cjs.d(a=>a.activeConnection),W=chunkEGATOYHY_cjs.d(a=>a.connectionError),{ToastError:z=Be,Container:F=We}=n?.components??{},{showError:H=ze,dismissError:L=He,onCopyComplete:p=Ie}=n?.handlers??{},{errorTitle:V=Ae,errorHash:o=Fe}=n??{},y=react.useRef(new Set),v=react.useRef(null),M=!!W,f=!!B,c=!!A?.isConnected,w=M||f,b=W||B||null,l=M?"wallet":f?"switch":null,s={hasWalletError:M,hasSwitchError:f,isConnected:c,hasAnyError:w,primaryError:b,errorType:l},O=m.somethingWentWrong;switch(s.errorType){case "wallet":O=m.connectionError;break;case "switch":O=m.errorWhenChainSwitching;break}let S=V(O,{errorType:s.errorType}),t=s.primaryError?`${s.errorType}-${s.primaryError.message.substring(0,50)}`:null,d=o(t,{primaryError:s.primaryError,errorType:s.errorType}),C=react.useCallback(()=>{L(()=>{v.current&&(reactToastify.toast.dismiss(v.current),v.current=null),reactToastify.toast.dismiss({containerId:e});});},[e,L]),x=react.useCallback((a,P)=>{p(a,P,l);},[p,l]),R=react.useCallback((a,P,h)=>{if(C(),!y.current.has(h))try{let k={containerId:e,toastId:h,onClose:()=>{y.current.delete(h),v.current=null;}},U=n?.toastOptions?.error?.({title:a,rawError:P,errorType:s.errorType,isConnected:s.isConnected}),K={...k,...U};reactToastify.toast.error(jsxRuntime.jsx(z,{title:a,rawError:P,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:_=>x(_,P),customization:n?.toastErrorCustomization}),K),y.current.add(h),v.current=h;}catch(k){console.error("Failed to show error toast:",k);}},[C,e,n?.toastOptions?.error,n?.toastErrorCustomization,z,s.errorType,s.isConnected,x]),N=react.useCallback((a,P,h)=>{H(R,{title:a,rawError:P,errorKey:h,errorType:l});},[R,H,l]);react.useEffect(()=>{if(c&&!w){C(),y.current.clear();return}if(w&&b&&d){if(c&&l!=="switch")return;N(S,b,d);}},[w,c,b,l,S,d,N,C]),react.useEffect(()=>()=>{C(),y.current.clear();},[C]);let I=n?.classNames?.container?n.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",D=react.useMemo(()=>{let a=n?.toastCloseButton;return a?({closeToast:P})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:P,...a}):novaCore.ToastCloseButton},[n?.toastCloseButton]),$={...{containerId:e,position:r,closeOnClick:false,icon:false,closeButton:D,autoClose:i,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:u,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...n?.containerProps,className:I};return jsxRuntime.jsx(F,{...$})}Z.displayName="ErrorsProvider";function ee({labels:e,children:r}){let i=react.useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let n=["connectWallet","disconnect","connecting","connected","error","success"].filter(m=>!(m in e));n.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${n.join(", ")}`);}return jsxRuntime.jsx(chunkZVUCC2QP_cjs.g.Provider,{value:i,children:r})}ee.displayName="NovaConnectLabelsProvider";function be(e){let{enabled:r=true,getNonce:i,verifier:u,destroyer:n,domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L,onSuccess:p,onError:V}=e,o=chunkEGATOYHY_cjs.d(t=>t.activeConnection),y=chunkEGATOYHY_cjs.d(t=>t.disconnect),v=chunkEGATOYHY_cjs.d(t=>t.isAutoConnectFinished),{signIn:M}=siwxReact.useSiwx(),f=siwxReact.useSiwxSessionStore(t=>t.session),c=siwxReact.useSiwxSessionStore(t=>t.status),w=siwxReact.useSiwxSessionStore(t=>t.reset),b=react.useRef(null),l=react.useRef(false),s=react.useEffectEvent(()=>{w(),n&&n().catch(t=>{console.warn("[NovaSiwxWatcher] Failed to execute session destroyer:",t);});});react.useEffect(()=>{if(!o?.isConnected||!o?.address){if(b.current=null,v===false)return;(c==="authenticated"||f)&&s();}},[o?.isConnected,o?.address,v,c,f]);let O=react.useEffectEvent((t,d)=>o?.connectorType===t&&o.address===d),S=react.useEffectEvent(()=>{if(!(!o?.isConnected||!o.address||!o.signMessage))try{let t={address:String(o.address),chainId:o.chainId,signMessage:o.signMessage,isConnected:o.isConnected},d=siwxReact.getSatelliteSiwxFields(t,{domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L});if(c==="authenticated"&&siwxReact.isSessionMatchingConnection(f,t)||b.current===d.address)return;if(b.current=d.address,!u){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}let{connectorType:C,address:x}=o,R=N=>{let I=N instanceof Error?N.message:String(N);console.warn("[NovaSiwxWatcher] SIWX authentication rejected or failed:",I),C&&O(C,x)&&y(C),w(),V?.(I);};l.current=!0,M({signer:o.signMessage,verifier:u,getNonce:i,fields:d,onSuccess:p,onError:R}).catch(R).finally(()=>{l.current=!1;});}catch(t){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",t);}});return react.useEffect(()=>{!r||!o?.isConnected||!o?.address||!o?.chainId||o.signMessage&&(l.current||c==="building"||c==="signing"||c==="verifying"||S());},[o?.isConnected,o?.address,o?.chainId,o?.signMessage,o?.connectorType,r,c,f?.address]),null}var Xe=({labels:e,children:r})=>jsxRuntime.jsx(ee,{labels:e,children:r}),$e=({customization:e})=>jsxRuntime.jsx(Z,{customization:e}),Ue=(e,r)=>novaCore.deepMerge(e,r||{}),_e=e=>e,je=e=>e,Je=(e,r,i)=>e;function Qe({labels:e,children:r,appChains:i,solanaRPCUrls:u,transactionPool:n,pulsarAdapter:m,withImpersonated:B,withBalance:A,withChain:W,popularConnectors:z,customConnectorGroups:F,legal:H,siwx:L,customization:p,pagination:V}){let o=chunkEGATOYHY_cjs.d(J=>J.activeConnection),y=chunkEGATOYHY_cjs.d(J=>J.connectionError),{LabelsProvider:v=Xe,ErrorsProvider:M=$e}=p?.components??{},{merge:f=Ue,transform:c=_e}=p?.labels??{},{transform:w=je}=p?.contextValue??{},{providerTree:b=Je}=p?.rendering??{},l=react.useMemo(()=>f(chunkR5V3K52O_cjs.a,e||{}),[e,f]),[s,O]=react.useState(false),[S,t]=react.useState(false),[d,C]=react.useState(false),[x,R]=react.useState(false),[N,I]=react.useState("idle"),[D,se]=react.useState("connectors"),[$,a]=react.useState(void 0),[P,h]=react.useState(void 0),[k,U]=react.useState(""),[K,_]=react.useState(false),[j,Ne]=react.useState("main"),we={appChains:i,solanaRPCUrls:u,withImpersonated:B,popularConnectors:z,customConnectorGroups:F,withBalance:A,withChain:W,isConnectModalOpen:s,setIsConnectModalOpen:O,isConnectedModalOpen:S,setIsConnectedModalOpen:t,isChainsListOpen:d,setIsChainsListOpen:C,isChainsListOpenMobile:x,setIsChainsListOpenMobile:R,connectedButtonStatus:N,setConnectedButtonStatus:I,connectedModalContentType:j,setConnectedModalContentType:Ne,connectModalContentType:D,setConnectModalContentType:se,selectedAdapter:$,setSelectedAdapter:a,activeConnector:P,setActiveConnector:h,impersonatedAddress:k,setImpersonatedAddress:U,isConnected:K,setIsConnected:_,legal:H},G=react.useMemo(()=>({isConnected:K,activeConnection:o,connectionError:y,modalStates:{isConnectModalOpen:s,isConnectedModalOpen:S,isChainsListOpen:d,isChainsListOpenMobile:x},contentTypes:{connectModal:D,connectedModal:j},statuses:{connectedButton:N}}),[K,o,y,s,S,d,x,D,j,N]),ae=react.useMemo(()=>c(l,G),[l,c,G]),he=w(we,G),ie=jsxRuntime.jsx(M,{customization:p?.errors}),Se=jsxRuntime.jsx(v,{labels:ae,children:r}),ce=i||u?jsxRuntime.jsx(chunkJYTCPJH7_cjs.G,{solanaRPCUrls:u,appChains:i,customization:p?.modals?.connectModal}):null,le=i||u?jsxRuntime.jsx(chunkJYTCPJH7_cjs.t,{solanaRPCUrls:u,appChains:i,transactionPool:n,pulsarAdapter:m,customization:p?.modals?.connectedModal,pagination:V}):null,xe=L?jsxRuntime.jsx(be,{...L}):null,de=jsxRuntime.jsx(chunkZVUCC2QP_cjs.c.Provider,{value:he,children:jsxRuntime.jsxs(v,{labels:ae,children:[xe,ie,r,ce,le]})}),Le=b(de,{ErrorsProvider:ie,LabelsProvider:Se,MainContent:de,ConnectModal:ce||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:le||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Le})}Qe.displayName="NovaConnectProvider";Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.v}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.q}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.u}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.y}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.w}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.n}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.t}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.x}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.z}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.m}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.r}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.s}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.f}});Object.defineProperty(exports,"useNovaSiwx",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.p}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.A}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkZVUCC2QP_cjs.B}});exports.ErrorsProvider=Z;exports.NovaConnectLabelsProvider=ee;exports.NovaConnectProvider=Qe;exports.NovaSiwxWatcher=be;
|
package/dist/index.d.cts
CHANGED
|
@@ -309,11 +309,12 @@ type NovaConnectProviderCustomization = {
|
|
|
309
309
|
* Returns the rendered tree, instead of the default one. Keep the elements inside the context provider (the
|
|
310
310
|
* default tree and `MainContent` include it).
|
|
311
311
|
*
|
|
312
|
-
* @param defaultTree - The default tree: the context provider with the
|
|
313
|
-
*
|
|
314
|
-
* @param components - The parts of the tree.
|
|
312
|
+
* @param defaultTree - The default tree: the context provider with the labels provider, which wraps the SIWX
|
|
313
|
+
* watcher, the errors provider, the app and the two modals.
|
|
314
|
+
* @param components - The parts of the tree. The SIWX watcher, `ErrorsProvider` and the modals read the labels:
|
|
315
|
+
* render them inside a labels provider (`MainContent` does).
|
|
315
316
|
* @param components.ErrorsProvider - The errors provider element.
|
|
316
|
-
* @param components.LabelsProvider - The labels provider element with the app.
|
|
317
|
+
* @param components.LabelsProvider - The labels provider element with the app only.
|
|
317
318
|
* @param components.MainContent - The same tree as `defaultTree`.
|
|
318
319
|
* @param components.ConnectModal - The connect modal (an empty fragment without chains).
|
|
319
320
|
* @param components.ConnectedModal - The connected modal (an empty fragment without chains).
|
|
@@ -388,7 +389,10 @@ declare namespace NovaConnectProvider {
|
|
|
388
389
|
interface GetChainsListByConnectorTypeParams extends InitialChains {
|
|
389
390
|
/** Connector type whose network is used, for example `evm:metamask` */
|
|
390
391
|
connectorType: ConnectorType;
|
|
391
|
-
/**
|
|
392
|
+
/**
|
|
393
|
+
* Solana only: keeps the clusters of these chain identifiers (Wallet Standard chains such as `solana:devnet`, or
|
|
394
|
+
* CAIP-2 chain IDs with the genesis hash)
|
|
395
|
+
*/
|
|
392
396
|
chains?: ChainIdentifierArray;
|
|
393
397
|
}
|
|
394
398
|
/**
|
|
@@ -432,7 +436,8 @@ declare function isEvmChainList(chains: (string | number)[]): boolean;
|
|
|
432
436
|
*/
|
|
433
437
|
declare function isSolanaChainList(chains: (string | number)[]): boolean;
|
|
434
438
|
/**
|
|
435
|
-
* Reads `connectedWallet.chains` of a connection (the Wallet Standard wallet of a Solana connection).
|
|
439
|
+
* Reads `connectedWallet.chains` of a connection (the Wallet Standard wallet of a Solana connection). Wallets name
|
|
440
|
+
* their clusters in the Wallet Standard form (`solana:devnet`), not with the genesis hash.
|
|
436
441
|
*
|
|
437
442
|
* @param connection - A connection, or any other value.
|
|
438
443
|
* @returns The chains, or `undefined` when the value has no such array.
|
package/dist/index.d.ts
CHANGED
|
@@ -309,11 +309,12 @@ type NovaConnectProviderCustomization = {
|
|
|
309
309
|
* Returns the rendered tree, instead of the default one. Keep the elements inside the context provider (the
|
|
310
310
|
* default tree and `MainContent` include it).
|
|
311
311
|
*
|
|
312
|
-
* @param defaultTree - The default tree: the context provider with the
|
|
313
|
-
*
|
|
314
|
-
* @param components - The parts of the tree.
|
|
312
|
+
* @param defaultTree - The default tree: the context provider with the labels provider, which wraps the SIWX
|
|
313
|
+
* watcher, the errors provider, the app and the two modals.
|
|
314
|
+
* @param components - The parts of the tree. The SIWX watcher, `ErrorsProvider` and the modals read the labels:
|
|
315
|
+
* render them inside a labels provider (`MainContent` does).
|
|
315
316
|
* @param components.ErrorsProvider - The errors provider element.
|
|
316
|
-
* @param components.LabelsProvider - The labels provider element with the app.
|
|
317
|
+
* @param components.LabelsProvider - The labels provider element with the app only.
|
|
317
318
|
* @param components.MainContent - The same tree as `defaultTree`.
|
|
318
319
|
* @param components.ConnectModal - The connect modal (an empty fragment without chains).
|
|
319
320
|
* @param components.ConnectedModal - The connected modal (an empty fragment without chains).
|
|
@@ -388,7 +389,10 @@ declare namespace NovaConnectProvider {
|
|
|
388
389
|
interface GetChainsListByConnectorTypeParams extends InitialChains {
|
|
389
390
|
/** Connector type whose network is used, for example `evm:metamask` */
|
|
390
391
|
connectorType: ConnectorType;
|
|
391
|
-
/**
|
|
392
|
+
/**
|
|
393
|
+
* Solana only: keeps the clusters of these chain identifiers (Wallet Standard chains such as `solana:devnet`, or
|
|
394
|
+
* CAIP-2 chain IDs with the genesis hash)
|
|
395
|
+
*/
|
|
392
396
|
chains?: ChainIdentifierArray;
|
|
393
397
|
}
|
|
394
398
|
/**
|
|
@@ -432,7 +436,8 @@ declare function isEvmChainList(chains: (string | number)[]): boolean;
|
|
|
432
436
|
*/
|
|
433
437
|
declare function isSolanaChainList(chains: (string | number)[]): boolean;
|
|
434
438
|
/**
|
|
435
|
-
* Reads `connectedWallet.chains` of a connection (the Wallet Standard wallet of a Solana connection).
|
|
439
|
+
* Reads `connectedWallet.chains` of a connection (the Wallet Standard wallet of a Solana connection). Wallets name
|
|
440
|
+
* their clusters in the Wallet Standard form (`solana:devnet`), not with the genesis hash.
|
|
436
441
|
*
|
|
437
442
|
* @param connection - A connection, or any other value.
|
|
438
443
|
* @returns The chains, or `undefined` when the value has no such array.
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {G,t,H}from'./chunk-
|
|
1
|
+
import {G,t,H}from'./chunk-QCJQXXGY.js';import {h,g,c}from'./chunk-AGE6EFTV.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,v as getAvailableChainIds,q as getChainsListByConnectorType,u as getConnectChainId,y as getFilteredConnectors,w as getGroupedConnectors,n as getLabelWithFallback,t as getWalletChains,x as hasAvailableConnectors,z as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,r as isEvmChainList,s as isSolanaChainList,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 useNovaSiwx,A as useWalletChainsList,B as useWalletNativeBalance}from'./chunk-AGE6EFTV.js';import {a}from'./chunk-6EDQ7JRZ.js';import {d}from'./chunk-ZVADGOGQ.js';import'./chunk-3LWAAUG4.js';import {ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {useRef,useCallback,useEffect,useMemo,useEffectEvent,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useSiwx,useSiwxSessionStore,getSatelliteSiwxFields,isSessionMatchingConnection}from'@tuwaio/siwx-react';var Be=({title:e,rawError:r,onCopyComplete:i,errorType:u,isConnected:n,...m})=>jsx(H,{title:e,rawError:r,onCopyComplete:i,customization:m.customization}),We=e=>{let r=h();return jsx(ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":r.somethingWentWrong})},ze=(e,r)=>{e(r.title,r.rawError,r.errorKey);},He=e=>{e();},Ie=(e,r)=>{if(e&&process.env.NODE_ENV==="development"){let i=typeof r=="string"?r:r.message;console.log("Error copied to clipboard:",i.substring(0,100));}},Ae=e=>e,Fe=e=>e;function Z({containerId:e="nova-connect-errors",position:r="top-center",autoClose:i=7e3,draggable:u=false,customization:n}){let m=h(),B=d(a=>a.switchNetworkError),A=d(a=>a.activeConnection),W=d(a=>a.connectionError),{ToastError:z=Be,Container:F=We}=n?.components??{},{showError:H=ze,dismissError:L=He,onCopyComplete:p=Ie}=n?.handlers??{},{errorTitle:V=Ae,errorHash:o=Fe}=n??{},y=useRef(new Set),v=useRef(null),M=!!W,f=!!B,c=!!A?.isConnected,w=M||f,b=W||B||null,l=M?"wallet":f?"switch":null,s={hasWalletError:M,hasSwitchError:f,isConnected:c,hasAnyError:w,primaryError:b,errorType:l},O=m.somethingWentWrong;switch(s.errorType){case "wallet":O=m.connectionError;break;case "switch":O=m.errorWhenChainSwitching;break}let S=V(O,{errorType:s.errorType}),t=s.primaryError?`${s.errorType}-${s.primaryError.message.substring(0,50)}`:null,d$1=o(t,{primaryError:s.primaryError,errorType:s.errorType}),C=useCallback(()=>{L(()=>{v.current&&(toast.dismiss(v.current),v.current=null),toast.dismiss({containerId:e});});},[e,L]),x=useCallback((a,P)=>{p(a,P,l);},[p,l]),R=useCallback((a,P,h)=>{if(C(),!y.current.has(h))try{let k={containerId:e,toastId:h,onClose:()=>{y.current.delete(h),v.current=null;}},U=n?.toastOptions?.error?.({title:a,rawError:P,errorType:s.errorType,isConnected:s.isConnected}),K={...k,...U};toast.error(jsx(z,{title:a,rawError:P,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:_=>x(_,P),customization:n?.toastErrorCustomization}),K),y.current.add(h),v.current=h;}catch(k){console.error("Failed to show error toast:",k);}},[C,e,n?.toastOptions?.error,n?.toastErrorCustomization,z,s.errorType,s.isConnected,x]),N=useCallback((a,P,h)=>{H(R,{title:a,rawError:P,errorKey:h,errorType:l});},[R,H,l]);useEffect(()=>{if(c&&!w){C(),y.current.clear();return}if(w&&b&&d$1){if(c&&l!=="switch")return;N(S,b,d$1);}},[w,c,b,l,S,d$1,N,C]),useEffect(()=>()=>{C(),y.current.clear();},[C]);let I=n?.classNames?.container?n.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",D=useMemo(()=>{let a=n?.toastCloseButton;return a?({closeToast:P})=>jsx(ToastCloseButton,{closeToast:P,...a}):ToastCloseButton},[n?.toastCloseButton]),$={...{containerId:e,position:r,closeOnClick:false,icon:false,closeButton:D,autoClose:i,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:u,pauseOnHover:true,theme:"light",transition:Bounce},...n?.containerProps,className:I};return jsx(F,{...$})}Z.displayName="ErrorsProvider";function ee({labels:e,children:r}){let i=useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let n=["connectWallet","disconnect","connecting","connected","error","success"].filter(m=>!(m in e));n.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${n.join(", ")}`);}return jsx(g.Provider,{value:i,children:r})}ee.displayName="NovaConnectLabelsProvider";function be(e){let{enabled:r=true,getNonce:i,verifier:u,destroyer:n,domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L,onSuccess:p,onError:V}=e,o=d(t=>t.activeConnection),y=d(t=>t.disconnect),v=d(t=>t.isAutoConnectFinished),{signIn:M}=useSiwx(),f=useSiwxSessionStore(t=>t.session),c=useSiwxSessionStore(t=>t.status),w=useSiwxSessionStore(t=>t.reset),b=useRef(null),l=useRef(false),s=useEffectEvent(()=>{w(),n&&n().catch(t=>{console.warn("[NovaSiwxWatcher] Failed to execute session destroyer:",t);});});useEffect(()=>{if(!o?.isConnected||!o?.address){if(b.current=null,v===false)return;(c==="authenticated"||f)&&s();}},[o?.isConnected,o?.address,v,c,f]);let O=useEffectEvent((t,d)=>o?.connectorType===t&&o.address===d),S=useEffectEvent(()=>{if(!(!o?.isConnected||!o.address||!o.signMessage))try{let t={address:String(o.address),chainId:o.chainId,signMessage:o.signMessage,isConnected:o.isConnected},d=getSatelliteSiwxFields(t,{domain:m,uri:B,statement:A,expirationTime:W,expirationSeconds:z,notBefore:F,requestId:H,resources:L});if(c==="authenticated"&&isSessionMatchingConnection(f,t)||b.current===d.address)return;if(b.current=d.address,!u){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}let{connectorType:C,address:x}=o,R=N=>{let I=N instanceof Error?N.message:String(N);console.warn("[NovaSiwxWatcher] SIWX authentication rejected or failed:",I),C&&O(C,x)&&y(C),w(),V?.(I);};l.current=!0,M({signer:o.signMessage,verifier:u,getNonce:i,fields:d,onSuccess:p,onError:R}).catch(R).finally(()=>{l.current=!1;});}catch(t){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",t);}});return useEffect(()=>{!r||!o?.isConnected||!o?.address||!o?.chainId||o.signMessage&&(l.current||c==="building"||c==="signing"||c==="verifying"||S());},[o?.isConnected,o?.address,o?.chainId,o?.signMessage,o?.connectorType,r,c,f?.address]),null}var Xe=({labels:e,children:r})=>jsx(ee,{labels:e,children:r}),$e=({customization:e})=>jsx(Z,{customization:e}),Ue=(e,r)=>deepMerge(e,r||{}),_e=e=>e,je=e=>e,Je=(e,r,i)=>e;function Qe({labels:e,children:r,appChains:i,solanaRPCUrls:u,transactionPool:n,pulsarAdapter:m,withImpersonated:B,withBalance:A,withChain:W,popularConnectors:z,customConnectorGroups:F,legal:H,siwx:L,customization:p,pagination:V}){let o=d(J=>J.activeConnection),y=d(J=>J.connectionError),{LabelsProvider:v=Xe,ErrorsProvider:M=$e}=p?.components??{},{merge:f=Ue,transform:c$1=_e}=p?.labels??{},{transform:w=je}=p?.contextValue??{},{providerTree:b=Je}=p?.rendering??{},l=useMemo(()=>f(a,e||{}),[e,f]),[s,O]=useState(false),[S,t$1]=useState(false),[d$1,C]=useState(false),[x,R]=useState(false),[N,I]=useState("idle"),[D,se]=useState("connectors"),[$,a$1]=useState(void 0),[P,h]=useState(void 0),[k,U]=useState(""),[K,_]=useState(false),[j,Ne]=useState("main"),we={appChains:i,solanaRPCUrls:u,withImpersonated:B,popularConnectors:z,customConnectorGroups:F,withBalance:A,withChain:W,isConnectModalOpen:s,setIsConnectModalOpen:O,isConnectedModalOpen:S,setIsConnectedModalOpen:t$1,isChainsListOpen:d$1,setIsChainsListOpen:C,isChainsListOpenMobile:x,setIsChainsListOpenMobile:R,connectedButtonStatus:N,setConnectedButtonStatus:I,connectedModalContentType:j,setConnectedModalContentType:Ne,connectModalContentType:D,setConnectModalContentType:se,selectedAdapter:$,setSelectedAdapter:a$1,activeConnector:P,setActiveConnector:h,impersonatedAddress:k,setImpersonatedAddress:U,isConnected:K,setIsConnected:_,legal:H},G$1=useMemo(()=>({isConnected:K,activeConnection:o,connectionError:y,modalStates:{isConnectModalOpen:s,isConnectedModalOpen:S,isChainsListOpen:d$1,isChainsListOpenMobile:x},contentTypes:{connectModal:D,connectedModal:j},statuses:{connectedButton:N}}),[K,o,y,s,S,d$1,x,D,j,N]),ae=useMemo(()=>c$1(l,G$1),[l,c$1,G$1]),he=w(we,G$1),ie=jsx(M,{customization:p?.errors}),Se=jsx(v,{labels:ae,children:r}),ce=i||u?jsx(G,{solanaRPCUrls:u,appChains:i,customization:p?.modals?.connectModal}):null,le=i||u?jsx(t,{solanaRPCUrls:u,appChains:i,transactionPool:n,pulsarAdapter:m,customization:p?.modals?.connectedModal,pagination:V}):null,xe=L?jsx(be,{...L}):null,de=jsx(c.Provider,{value:he,children:jsxs(v,{labels:ae,children:[xe,ie,r,ce,le]})}),Le=b(de,{ErrorsProvider:ie,LabelsProvider:Se,MainContent:de,ConnectModal:ce||jsx(Fragment,{}),ConnectedModal:le||jsx(Fragment,{})},G$1);return jsx(Fragment,{children:Le})}Qe.displayName="NovaConnectProvider";export{Z as ErrorsProvider,ee as NovaConnectLabelsProvider,Qe as NovaConnectProvider,be as NovaSiwxWatcher};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/nova-connect",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -88,19 +88,19 @@
|
|
|
88
88
|
"peerDependencies": {
|
|
89
89
|
"@heroicons/react": "2.x.x",
|
|
90
90
|
"@radix-ui/react-select": "2.x.x",
|
|
91
|
-
"@tuwaio/orbit-core": ">=0.
|
|
91
|
+
"@tuwaio/orbit-core": ">=0.4",
|
|
92
92
|
"@tuwaio/orbit-evm": ">=0.3",
|
|
93
|
-
"@tuwaio/orbit-solana": ">=0.
|
|
94
|
-
"@tuwaio/satellite-core": ">=0.
|
|
95
|
-
"@tuwaio/satellite-evm": ">=0.
|
|
96
|
-
"@tuwaio/satellite-solana": ">=0.
|
|
97
|
-
"@tuwaio/satellite-react": ">=0.
|
|
98
|
-
"@tuwaio/siwx-react": ">=0.
|
|
99
|
-
"@tuwaio/pulsar-core": ">=0.
|
|
100
|
-
"@tuwaio/nova-core": "
|
|
101
|
-
"@tuwaio/nova-transactions": "
|
|
93
|
+
"@tuwaio/orbit-solana": ">=0.4",
|
|
94
|
+
"@tuwaio/satellite-core": ">=0.7",
|
|
95
|
+
"@tuwaio/satellite-evm": ">=0.7",
|
|
96
|
+
"@tuwaio/satellite-solana": ">=0.7",
|
|
97
|
+
"@tuwaio/satellite-react": ">=0.7",
|
|
98
|
+
"@tuwaio/siwx-react": ">=0.5",
|
|
99
|
+
"@tuwaio/pulsar-core": ">=0.9",
|
|
100
|
+
"@tuwaio/nova-core": ">=0.8",
|
|
101
|
+
"@tuwaio/nova-transactions": ">=0.8",
|
|
102
102
|
"ethereum-blockies-base64": "1.x.x",
|
|
103
|
-
"framer-motion": "12.x.x || 13.x.x",
|
|
103
|
+
"framer-motion": "12.x.x || 13.x.x || 14.x.x",
|
|
104
104
|
"react": ">=19.2.3",
|
|
105
105
|
"react-toastify": "11.x.x",
|
|
106
106
|
"viem": "2.x.x"
|
|
@@ -165,17 +165,17 @@
|
|
|
165
165
|
"@heroicons/react": "^2.2.0",
|
|
166
166
|
"@radix-ui/react-dialog": "^1.1.23",
|
|
167
167
|
"@radix-ui/react-select": "^2.3.7",
|
|
168
|
-
"@tuwaio/orbit-core": "0.
|
|
168
|
+
"@tuwaio/orbit-core": "0.4.0",
|
|
169
169
|
"@tuwaio/orbit-evm": "0.3.2",
|
|
170
|
-
"@tuwaio/orbit-solana": "0.
|
|
171
|
-
"@tuwaio/satellite-react": "0.
|
|
172
|
-
"@tuwaio/satellite-core": "0.
|
|
173
|
-
"@tuwaio/satellite-evm": "0.
|
|
174
|
-
"@tuwaio/satellite-solana": "0.
|
|
175
|
-
"@tuwaio/siwx-react": "0.
|
|
176
|
-
"@tuwaio/pulsar-core": "0.
|
|
177
|
-
"@tuwaio/nova-core": "^0.
|
|
178
|
-
"@tuwaio/nova-transactions": "^0.
|
|
170
|
+
"@tuwaio/orbit-solana": "0.4.0",
|
|
171
|
+
"@tuwaio/satellite-react": "0.7.0",
|
|
172
|
+
"@tuwaio/satellite-core": "0.7.0",
|
|
173
|
+
"@tuwaio/satellite-evm": "0.7.0",
|
|
174
|
+
"@tuwaio/satellite-solana": "0.7.0",
|
|
175
|
+
"@tuwaio/siwx-react": "0.5.1",
|
|
176
|
+
"@tuwaio/pulsar-core": "0.9.0",
|
|
177
|
+
"@tuwaio/nova-core": "^0.8.0",
|
|
178
|
+
"@tuwaio/nova-transactions": "^0.8.0",
|
|
179
179
|
"@wallet-standard/react": "^1.0.3",
|
|
180
180
|
"@wagmi/core": "^3.6.5",
|
|
181
181
|
"@web3icons/react": "^4.1.23",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"dayjs": "^1.11.23",
|
|
186
186
|
"immer": "^11.1.18",
|
|
187
187
|
"ethereum-blockies-base64": "^1.0.2",
|
|
188
|
-
"framer-motion": "
|
|
188
|
+
"framer-motion": "14.0.0",
|
|
189
189
|
"react": "^19.3.0",
|
|
190
190
|
"react-toastify": "^11.1.0",
|
|
191
191
|
"tailwind-merge": "^3.7.0",
|