@tuwaio/nova-connect 0.2.10 → 0.3.1
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/README.md +2 -8
- package/dist/chunk-6EWZWAEF.js +2 -0
- package/dist/chunk-7CLA2EHI.cjs +2 -0
- package/dist/{chunk-AUQ5MRBP.cjs → chunk-PXKZLOYO.cjs} +1 -1
- package/dist/{chunk-Q4YF6YJO.js → chunk-ZD4FCYAW.js} +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +7560 -11
- package/dist/components/index.d.ts +7560 -11
- package/dist/components/index.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +43 -56
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +1 -1
- package/dist/{useWalletNativeBalance-DR8XONYI.d.ts → useWalletNativeBalance-BNbq75Hw.d.ts} +4 -0
- package/dist/{useWalletNativeBalance-rZ2GQ88f.d.cts → useWalletNativeBalance-C3-mg2mY.d.cts} +4 -0
- package/package.json +46 -46
- package/dist/chunk-2UXAPXCV.js +0 -2
- package/dist/chunk-3ZSOW5LA.cjs +0 -2
- package/dist/index-Ci68q5uc.d.ts +0 -7474
- package/dist/index-CmHWKaZ_.d.cts +0 -7474
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{u as AboutWallets,a as BalanceDisplay,b as ChainListRenderer,g as ChainSelector,l as ConnectButton,w as ConnectCard,G as ConnectModal,j as ConnectedContent,t as ConnectedModal,m as ConnectedModalFooter,q as ConnectedModalMainContent,n as ConnectedModalNameAndBalance,r as ConnectedModalTxHistory,x as Connecting,s as ConnectionsContent,y as ConnectorsBlock,A as ConnectorsSelections,z as Disclaimer,B as GetWallet,p as IconButton,C as ImpersonateForm,D as LegalDisclaimer,E as NetworkSelections,F as NetworkTabs,v as RecentBadge,f as ScrollableChainList,e as SelectContentAnimated,i as StatusIcon,c as ToBottomButton,d as ToTopButton,H as ToastError,k as WaitForConnectionContent,h as WalletAvatar,o as WalletIcon}from'../chunk-6EWZWAEF.js';import'../chunk-ZD4FCYAW.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-S3RQJGCL.js';
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkPXKZLOYO_cjs=require('../chunk-PXKZLOYO.cjs');require('../chunk-K44IHM6B.cjs'),require('../chunk-MGBN4EIT.cjs'),require('../chunk-2SFIZVDC.cjs');Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.y}});
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { I as InitialChains } from '../useWalletNativeBalance-
|
|
2
|
-
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, b as NovaConnectProviderProps, N as NovaConnectProviderType, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from '../useWalletNativeBalance-
|
|
1
|
+
import { I as InitialChains } from '../useWalletNativeBalance-C3-mg2mY.cjs';
|
|
2
|
+
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, b as NovaConnectProviderProps, N as NovaConnectProviderType, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from '../useWalletNativeBalance-C3-mg2mY.cjs';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@tuwaio/orbit-core';
|
|
5
5
|
import '@tuwaio/pulsar-core';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { I as InitialChains } from '../useWalletNativeBalance-
|
|
2
|
-
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, b as NovaConnectProviderProps, N as NovaConnectProviderType, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from '../useWalletNativeBalance-
|
|
1
|
+
import { I as InitialChains } from '../useWalletNativeBalance-BNbq75Hw.js';
|
|
2
|
+
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, b as NovaConnectProviderProps, N as NovaConnectProviderType, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from '../useWalletNativeBalance-BNbq75Hw.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@tuwaio/orbit-core';
|
|
5
5
|
import '@tuwaio/pulsar-core';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
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,x as useWalletChainsList,y as useWalletNativeBalance}from'../chunk-
|
|
1
|
+
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,x as useWalletChainsList,y as useWalletNativeBalance}from'../chunk-ZD4FCYAW.js';import'../chunk-S3IRVZMG.js';import'../chunk-NQ5AECZQ.js';import'../chunk-S3RQJGCL.js';
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunk3ZSOW5LA_cjs=require('./chunk-3ZSOW5LA.cjs'),chunkAUQ5MRBP_cjs=require('./chunk-AUQ5MRBP.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkMGBN4EIT_cjs=require('./chunk-MGBN4EIT.cjs'),chunk2SFIZVDC_cjs=require('./chunk-2SFIZVDC.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var ut=({title:o,rawError:t,onCopyComplete:n,errorType:r,isConnected:e,...g})=>jsxRuntime.jsx(chunk3ZSOW5LA_cjs.F,{title:o,rawError:t,onCopyComplete:n,customization:g.customization}),Ct=o=>{let t=chunkAUQ5MRBP_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})},ft=(o,t)=>{o(t.title,t.rawError,t.errorKey);},vt=o=>{o();},gt=(o,t)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",t.substring(0,100));},bt=o=>o,yt=o=>o;function Po({containerId:o="nova-connect-errors",position:t="top-center",autoClose:n=7e3,draggable:r=false,customization:e}){let g=chunkAUQ5MRBP_cjs.h(),f=chunk2SFIZVDC_cjs.h(v=>v.switchNetworkError),z=chunk2SFIZVDC_cjs.h(v=>v.activeConnection),L=chunk2SFIZVDC_cjs.h(v=>v.connectionError),{ToastError:R=ut,Container:p=Ct}=e?.components??{},{showError:d=ft,dismissError:x=vt,onCopyComplete:W=gt}=e?.handlers??{},{errorTitle:y=bt,errorHash:w=yt}=e??{},T=react.useRef(new Set),S=react.useRef(null),U=!!L,G=!!f,l=!!z?.isConnected,I=U||G,u=L||f||null,E=U?"wallet":G?"switch":null,m={hasWalletError:U,hasSwitchError:G,isConnected:l,hasAnyError:I,primaryError:u,errorType:E},a=g.somethingWentWrong;switch(m.errorType){case "wallet":a=g.connectionError;break;case "switch":a=g.errorWhenChainSwitching;break}let C=y(a,{errorType:m.errorType}),D=m.primaryError?`${m.errorType}-${m.primaryError.substring(0,50)}`:null,c=w(D,{primaryError:m.primaryError,errorType:m.errorType}),M=react.useCallback(()=>{x(()=>{S.current&&(reactToastify.toast.dismiss(S.current),S.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,x]),b=react.useCallback((v,P)=>{W(v,P,m.errorType);},[W,m.errorType]),j=react.useCallback((v,P,N)=>{if(M(),!T.current.has(N))try{let O={containerId:o,toastId:N,onClose:()=>{T.current.delete(N),S.current=null;}},Y=e?.toastOptions?.error?.({title:v,rawError:P,errorType:m.errorType,isConnected:m.isConnected}),F={...O,...Y};reactToastify.toast.error(jsxRuntime.jsx(R,{title:v,rawError:P,errorType:m.errorType,isConnected:m.isConnected,onCopyComplete:ao=>b(ao,P),customization:e?.toastErrorCustomization}),F),T.current.add(N),S.current=N;}catch(O){console.error("Failed to show error toast:",O);}},[M,o,e?.toastOptions?.error,e?.toastErrorCustomization,R,m.errorType,m.isConnected,b]),$=react.useCallback((v,P,N)=>{d(j,{title:v,rawError:P,errorKey:N,errorType:m.errorType});},[j,d,m.errorType]);react.useEffect(()=>{if(l&&!I){M(),T.current.clear();return}if(I&&u&&c){if(l&&E!=="switch")return;$(C,u,c);}},[I,l,u,E,C,c,$,M]),react.useEffect(()=>()=>{M(),T.current.clear();},[M]);let J=e?.classNames?.container?e.classNames.container({hasErrors:m.hasAnyError,errorType:m.errorType}):"novacon:p-0 novacon:bg-transparent",Q=react.useMemo(()=>{let v=e?.toastCloseButton;return v?({closeToast:P})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:P,...v}):novaCore.ToastCloseButton},[e?.toastCloseButton]),X={...{containerId:o,position:t,closeOnClick:false,icon:false,closeButton:Q,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:r,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...e?.containerProps,className:J};return jsxRuntime.jsx(p,{...X})}Po.displayName="ErrorsProvider";function Mo({labels:o,children:t}){let n=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let e=["connectWallet","disconnect","connecting","connected","error","success"].filter(g=>!(g in o));e.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${e.join(", ")}`);}return jsxRuntime.jsx(chunkAUQ5MRBP_cjs.g.Provider,{value:n,children:t})}Mo.displayName="NovaConnectLabelsProvider";function Wt(o,t){if(!o||!Array.isArray(o)||!t)return;let n=o.find(r=>r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"?orbitCore.formatConnectorName(r.name)===t:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=react.forwardRef(({className:o,children:t,modalData:n,...r},e)=>jsxRuntime.jsx("div",{ref:e,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...r,children:t}));Jo.displayName="DefaultModalContainer";var Qo=react.forwardRef(({className:o,children:t,modalData:n,...r},e)=>jsxRuntime.jsx("div",{ref:e,...r,children:jsxRuntime.jsx(novaCore.DialogHeader,{className:o,children:t})}));Qo.displayName="DefaultModalHeader";var Xo=react.forwardRef(({className:o,onClick:t,modalData:n,...r},e)=>jsxRuntime.jsx("button",{ref:e,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 novacon:mr-1",o),type:"button",onClick:t,...r,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,"aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=react.forwardRef(({className:o,children:t,modalData:n,...r},e)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:e,className:novaCore.cn("novacon:flex novacon:items-center",o),...r,children:t}));Yo.displayName="DefaultTitle";var Zo=react.forwardRef(({className:o,onClick:t,modalData:n,...r},e)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:e,type:"button",onClick:t,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"})})}));Zo.displayName="DefaultCloseButton";var ot=react.forwardRef(({className:o,children:t,modalData:n,...r},e)=>jsxRuntime.jsx("main",{ref:e,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...r,children:t}));ot.displayName="DefaultMainContent";var tt=react.forwardRef(({className:o,children:t,modalData:n,...r},e)=>jsxRuntime.jsx("footer",{ref:e,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:t}));tt.displayName="DefaultFooter";var et=react.forwardRef(({className:o,onClick:t,children:n,modalData:r,...e},g)=>jsxRuntime.jsx("button",{ref:g,type:"button",onClick:t,className:novaCore.cn(novaCore.standardButtonClasses,o),...e,children:n}));et.displayName="DefaultBackButton";var nt=react.forwardRef(({className:o,onClick:t,children:n,disabled:r,loading:e,buttonConfig:g,modalData:f,...z},L)=>jsxRuntime.jsx("button",{ref:L,type:"button",onClick:t,disabled:r||e,className:novaCore.cn(novaCore.standardButtonClasses,o),...z,children:e?"Loading...":n}));nt.displayName="DefaultActionButton";var at=react.forwardRef(({className:o,children:t,modalData:n,...r},e)=>jsxRuntime.jsx("span",{ref:e,className:novaCore.cn("novacon:sr-only",o),...r,children:t}));at.displayName="DefaultActionDescription";var rt=react.forwardRef(({children:o,className:t,...n},r)=>{let{modalData:e,...g}=n;return jsxRuntime.jsx("div",{ref:r,className:t,...g,children:o})});rt.displayName="DefaultEmptyState";var Eo=react.memo(({appChains:o,solanaRPCUrls:t,withImpersonated:n,customization:r={}})=>{let{isConnectModalOpen:e,setIsConnectModalOpen:g,setConnectModalContentType:f,setActiveConnector:z,setImpersonatedAddress:L,setIsConnected:R,connectModalContentType:p,selectedAdapter:d,setSelectedAdapter:x,isConnected:W,activeConnector:y,impersonatedAddress:w}=chunkAUQ5MRBP_cjs.d(),T=chunk2SFIZVDC_cjs.h(i=>i.connectionError),S=chunk2SFIZVDC_cjs.h(i=>i.getConnectors),U=chunk2SFIZVDC_cjs.h(i=>i.connect),G=chunk2SFIZVDC_cjs.h(i=>i.activeConnection),l=chunkAUQ5MRBP_cjs.h(),I=react.useContext(chunk2SFIZVDC_cjs.f),u=e?S():void 0,E=chunkAUQ5MRBP_cjs.t({connectors:u,selectedAdapter:d}),m=T?typeof T=="string"?new Error(T):T:null,a=react.useMemo(()=>({contentType:p,selectedAdapter:d,activeConnector:y,impersonatedAddress:w,isConnected:W,isOpen:e,error:m,connectors:u,filteredConnectors:E,labels:l}),[p,d,y,w,W,e,m,u,E,l]);react.useEffect(()=>{e&&(f("connectors"),x(void 0),z(void 0),L(""),R(false));},[e]);let{components:C={},classNames:D={},handlers:c={},config:M={},childComponents:b={}}=r,j=C.ModalContainer||Jo,$=C.ModalHeader||Qo,J=C.InfoButton||Xo,Q=C.Title||Yo,no=C.CloseButton||Zo,X=C.MainContent||ot,v=C.Footer||tt,P=C.BackButton||et,N=C.ActionButton||nt,O=C.ActionDescription||at,Y=C.EmptyState||rt,F=C.Dialog||novaCore.Dialog,ao=C.DialogContent||novaCore.DialogContent,mo=C.MotionDiv||framerMotion.motion.div,ro=react.useCallback(()=>{switch(p){case "about":return l.aboutWallets;case "getWallet":return l.getWallet;case "connecting":return d&&y&&u&&Wt(u[d],y)||l.connectingEllipsis;case "impersonate":return l.connectImpersonatedWallet;default:return l.connectWallet}},[p,d,y,u,l]),Z=react.useCallback(()=>"connectors",[p]),oo=react.useCallback(i=>{c?.onOpenChange?c.onOpenChange(i,a):g(i);},[c?.onOpenChange,a,g]),so=react.useCallback(()=>{let i=()=>f(Z());c?.onBack?c.onBack(a,i):i();},[c?.onBack,a,f,Z]),go=react.useCallback(()=>{c?.onInfoClick?c.onInfoClick(a):f("about");},[c?.onInfoClick,a,f]),K=react.useCallback(async(i,bo)=>{await U({connectorType:i,chainId:chunkAUQ5MRBP_cjs.p({appChains:o,selectedAdapter:bo,solanaRPCUrls:t})});try{await orbitCore.waitFor(()=>I?.getState().activeConnection?.isConnected),R(!0);let yo=setTimeout(()=>g(!1),400),ct=setTimeout(()=>R(!1),500);await orbitCore.delay(null,500),clearTimeout(yo),clearTimeout(ct);}catch(yo){console.error(yo);}},[U,o,d,t]),po=react.useCallback(async(i,bo)=>{x(i),f("connecting"),await K(bo,i);},[K]),_=react.useCallback(i=>{z(orbitCore.formatConnectorName(i.name)),i.adapters.length===1?(x(i.adapters[0]),f(orbitCore.formatConnectorName(i.name)==="impersonatedwallet"?"impersonate":"connecting")):d?f(orbitCore.formatConnectorName(i.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(i.name)==="impersonatedwallet"?f("impersonate"):f("network");},[d]),it=react.useCallback(()=>{switch(p){case "network":return jsxRuntime.jsx(chunk3ZSOW5LA_cjs.D,{activeConnector:y,connectors:E,onClick:po,customization:b.networkSelections});case "connectors":return u?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunk3ZSOW5LA_cjs.E,{networks:Object.keys(u),selectedAdapter:d,onSelect:i=>x(i),customization:b.networkTabs}),jsxRuntime.jsx(chunk3ZSOW5LA_cjs.z,{isOnlyOneNetwork:Object.keys(u).length===1,connectors:E,selectedAdapter:d,onClick:_,setContentType:f,appChains:o,solanaRPCUrls:t,setIsConnected:R,setIsOpen:g,withImpersonated:n,customization:b.connectorsSelections}),jsxRuntime.jsx(chunk3ZSOW5LA_cjs.C,{customization:b.legalDisclaimer})]}):jsxRuntime.jsx(Y,{className:D.emptyConnectors?.({modalData:a}),modalData:a,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunk3ZSOW5LA_cjs.t,{customization:b.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunk3ZSOW5LA_cjs.A,{customization:b.getWallet});case "connecting":return jsxRuntime.jsx(chunk3ZSOW5LA_cjs.w,{selectedAdapter:d,connectors:E,activeConnector:y,isConnected:W,customization:b.connecting});case "impersonate":return jsxRuntime.jsx(chunk3ZSOW5LA_cjs.B,{selectedAdapter:d,impersonatedAddress:w,setImpersonatedAddress:L,customization:b.impersonateForm})}},[p,y,E,po,b,u,d,_,W,w]),q=react.useCallback(()=>{switch(p){case "connectors":return {title:l.iDontHaveWallet,onClick:()=>{c.onActionClick?.connectors?c.onActionClick.connectors(a):f("getWallet");}};case "getWallet":return {title:l.choseWallet,onClick:()=>{c.onActionClick?.getWallet?c.onActionClick.getWallet(a):window.open(orbitCore.getNetworkData(d??Object.keys(u)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:l.learnMore,onClick:()=>{c.onActionClick?.about?c.onActionClick.about(a):window.open(orbitCore.getNetworkData(d??Object.keys(u)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:l.connect,onClick:async()=>{if(c.onActionClick?.impersonate)await c.onActionClick.impersonate(a);else {let i=w.trim();if(T||!i||!orbitCore.isAddress(i)||G?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(i),f("connecting"),await K(orbitCore.getConnectorTypeFromName(d??orbitCore.OrbitAdapter.EVM,y??""),d??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return T&&d&&y?{title:l.tryAgain,onClick:async()=>{c.onActionClick?.connecting?await c.onActionClick.connecting(a):await K(orbitCore.getConnectorTypeFromName(d,y),d);}}:void 0}},[p,l,c,a,d,u,w,T,K,y])(),lt=react.useCallback(()=>{switch(p){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 ""}},[p]);return jsxRuntime.jsx(F,{open:e,onOpenChange:oo,children:jsxRuntime.jsx(ao,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(mo,{layout:true,transition:{layout:{duration:M.animation?.disabled?0:M.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(j,{className:D.modalContainer?.({modalData:a}),modalData:a,children:[jsxRuntime.jsxs($,{className:D.header?.({modalData:a}),modalData:a,children:[jsxRuntime.jsxs(Q,{className:D.title?.({modalData:a}),modalData:a,children:[p==="connectors"&&jsxRuntime.jsx(J,{className:D.infoButton?.({modalData:a}),onClick:go,"aria-label":M.ariaLabels?.infoButton?.(a)||`${l.learnMore} ${l.aboutWallets}`,modalData:a}),ro()]}),jsxRuntime.jsx(no,{className:D.closeButton?.({modalData:a}),onClick:()=>oo(false),"aria-label":M.ariaLabels?.closeButton?.(a)||l.closeModal,modalData:a})]}),jsxRuntime.jsx(X,{className:D.mainContent?.({modalData:a}),modalData:a,children:it()}),jsxRuntime.jsxs(v,{className:D.footer?.({modalData:a}),modalData:a,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:p!=="connectors"&&jsxRuntime.jsx(P,{className:D.backButton?.({modalData:a}),onClick:so,"aria-label":M.ariaLabels?.backButton?.(a)||`${l.back} to previous step`,modalData:a,children:l.back})}),q&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(N,{className:D.actionButton?.({modalData:a,buttonConfig:q}),onClick:q.onClick,disabled:q.disabled,loading:q.loading,"aria-describedby":"bottom-action-description",modalData:a,buttonConfig:q,children:q.title}),jsxRuntime.jsx(O,{id:"bottom-action-description",className:D.actionDescription?.({modalData:a}),modalData:a,children:lt()})]})]})]})})})})});Eo.displayName="ConnectModal";var Vt=({labels:o,children:t})=>jsxRuntime.jsx(Mo,{labels:o,children:t}),Ut=({customization:o})=>jsxRuntime.jsx(Po,{customization:o}),Gt=(o,t)=>novaCore.deepMerge(o,t||{}),jt=o=>o,$t=o=>o,Kt=(o,t,n)=>o;function _t({labels:o,children:t,appChains:n,solanaRPCUrls:r,transactionPool:e,pulsarAdapter:g,withImpersonated:f,withBalance:z,withChain:L,legal:R,customization:p}){let d=chunk2SFIZVDC_cjs.h(_=>_.activeConnection),x=chunk2SFIZVDC_cjs.h(_=>_.connectionError),{LabelsProvider:W=Vt,ErrorsProvider:y=Ut}=p?.components??{},{merge:w=Gt,transform:T=jt}=p?.labels??{},{transform:S=$t}=p?.contextValue??{},{providerTree:U=Kt}=p?.rendering??{},G=react.useMemo(()=>w(chunkMGBN4EIT_cjs.a,o||{}),[o,w]),[l,I]=react.useState(false),[u,E]=react.useState(false),[m,a]=react.useState(false),[C,D]=react.useState(false),[c,M]=react.useState("idle"),[b,j]=react.useState("connectors"),[$,J]=react.useState(void 0),[Q,no]=react.useState(void 0),[X,v]=react.useState(""),[P,N]=react.useState(false),[O,Y]=react.useState("main"),F=react.useMemo(()=>({isConnected:P,activeConnection:d,connectionError:x,modalStates:{isConnectModalOpen:l,isConnectedModalOpen:u,isChainsListOpen:m,isChainsListOpenMobile:C},contentTypes:{connectModal:b,connectedModal:O},statuses:{connectedButton:c}}),[P,d,x,l,u,m,C,b,O,c]),ao=react.useMemo(()=>T(G,F),[G,T,F]),mo=react.useMemo(()=>S({appChains:n,solanaRPCUrls:r,withImpersonated:f,withBalance:z,withChain:L,isConnectModalOpen:l,setIsConnectModalOpen:I,isConnectedModalOpen:u,setIsConnectedModalOpen:E,isChainsListOpen:m,setIsChainsListOpen:a,isChainsListOpenMobile:C,setIsChainsListOpenMobile:D,connectedButtonStatus:c,setConnectedButtonStatus:M,connectedModalContentType:O,setConnectedModalContentType:Y,connectModalContentType:b,setConnectModalContentType:j,selectedAdapter:$,setSelectedAdapter:J,activeConnector:Q,setActiveConnector:no,impersonatedAddress:X,setImpersonatedAddress:v,isConnected:P,setIsConnected:N,legal:R},F),[n,r,f,z,L,l,I,u,E,m,a,C,D,c,M,O,Y,b,j,$,J,Q,no,X,v,P,N,R,S,F]),ro=jsxRuntime.jsx(y,{customization:p?.errors}),Z=jsxRuntime.jsx(W,{labels:ao,children:t}),oo=n||r?jsxRuntime.jsx(Eo,{withImpersonated:f,solanaRPCUrls:r,appChains:n,customization:p?.modals?.connectModal}):null,so=n||r?jsxRuntime.jsx(chunk3ZSOW5LA_cjs.s,{solanaRPCUrls:r,appChains:n,transactionPool:e,pulsarAdapter:g,customization:p?.modals?.connectedModal}):null,go=jsxRuntime.jsxs(chunkAUQ5MRBP_cjs.c.Provider,{value:mo,children:[ro,Z,oo,so]}),K=jsxRuntime.jsxs(chunkAUQ5MRBP_cjs.c.Provider,{value:mo,children:[ro,Z,oo,so]}),po=U(K,{ErrorsProvider:ro,LabelsProvider:Z,MainContent:go,ConnectModal:oo||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:so||jsxRuntime.jsx(jsxRuntime.Fragment,{})},F);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:po})}_t.displayName="NovaConnectProvider";async function Xn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await fo(),hasSolanaUtils:await vo(),adaptersStatus:o()}}async function fo(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function vo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Yn(){try{if(!await fo())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let t=await import('./evm/index.cjs'),n=await t.getEvmExports();return n.available?{...t,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Zn(){try{if(!await vo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let t=await import('./solana/index.cjs'),n=await t.getSolanaExports();return n.available?{...t,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function oa(){let o={evm:false,solana:false,errors:[]};try{let t=await fo(),n=await vo();if(t||n){let{preloadChainAdapters:r}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),e=[];t&&e.push(orbitCore.OrbitAdapter.EVM),n&&e.push(orbitCore.OrbitAdapter.SOLANA),await r(e),o.evm=t,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(t){let n=t instanceof Error?t.message:"Unknown initialization error";o.errors.push(n);}return o}async function ta(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?fo():vo()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkAUQ5MRBP_cjs.y}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.j}});exports.ErrorsProvider=Po;exports.NovaConnectLabelsProvider=Mo;exports.NovaConnectProvider=_t;exports.getBlockchainUtilities=Xn;exports.getEvmUtils=Yn;exports.getSolanaUtils=Zn;exports.initializeBlockchainSupport=oa;exports.isAdapterSupported=ta;
|
|
1
|
+
'use strict';var chunk7CLA2EHI_cjs=require('./chunk-7CLA2EHI.cjs'),chunkPXKZLOYO_cjs=require('./chunk-PXKZLOYO.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkMGBN4EIT_cjs=require('./chunk-MGBN4EIT.cjs'),chunk2SFIZVDC_cjs=require('./chunk-2SFIZVDC.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime');var Oo=({title:o,rawError:e,onCopyComplete:r,errorType:s,isConnected:n,...d})=>jsxRuntime.jsx(chunk7CLA2EHI_cjs.H,{title:o,rawError:e,onCopyComplete:r,customization:d.customization}),Ro=o=>{let e=chunkPXKZLOYO_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},Bo=(o,e)=>{o(e.title,e.rawError,e.errorKey);},Ao=o=>{o();},zo=(o,e)=>{if(o&&process.env.NODE_ENV==="development"){let r=typeof e=="string"?e:e.message;console.log("Error copied to clipboard:",r.substring(0,100));}},ko=o=>o,Ho=o=>o;function so({containerId:o="nova-connect-errors",position:e="top-center",autoClose:r=7e3,draggable:s=false,customization:n}){let d=chunkPXKZLOYO_cjs.h(),A=chunk2SFIZVDC_cjs.h(a=>a.switchNetworkError),F=chunk2SFIZVDC_cjs.h(a=>a.activeConnection),z=chunk2SFIZVDC_cjs.h(a=>a.connectionError),{ToastError:k=Oo,Container:G=Ro}=n?.components??{},{showError:H=Bo,dismissError:c=Ao,onCopyComplete:M=zo}=n?.handlers??{},{errorTitle:V=ko,errorHash:q=Ho}=n??{},f=react.useRef(new Set),C=react.useRef(null),y=!!z,S=!!A,g=!!F?.isConnected,E=y||S,m=z||A||null,x=y?"wallet":S?"switch":null,t={hasWalletError:y,hasSwitchError:S,isConnected:g,hasAnyError:E,primaryError:m,errorType:x},O=d.somethingWentWrong;switch(t.errorType){case "wallet":O=d.connectionError;break;case "switch":O=d.errorWhenChainSwitching;break}let h=V(O,{errorType:t.errorType}),$=t.primaryError?`${t.errorType}-${t.primaryError.message.substring(0,50)}`:null,P=q($,{primaryError:t.primaryError,errorType:t.errorType}),v=react.useCallback(()=>{c(()=>{C.current&&(reactToastify.toast.dismiss(C.current),C.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,c]),w=react.useCallback((a,i)=>{M(a,i,t.errorType);},[M,t.errorType]),U=react.useCallback((a,i,p)=>{if(v(),!f.current.has(p))try{let T={containerId:o,toastId:p,onClose:()=>{f.current.delete(p),C.current=null;}},Q=n?.toastOptions?.error?.({title:a,rawError:i,errorType:t.errorType,isConnected:t.isConnected}),R={...T,...Q};reactToastify.toast.error(jsxRuntime.jsx(k,{title:a,rawError:i,errorType:t.errorType,isConnected:t.isConnected,onCopyComplete:X=>w(X,i),customization:n?.toastErrorCustomization}),R),f.current.add(p),C.current=p;}catch(T){console.error("Failed to show error toast:",T);}},[v,o,n?.toastOptions?.error,n?.toastErrorCustomization,k,t.errorType,t.isConnected,w]),N=react.useCallback((a,i,p)=>{H(U,{title:a,rawError:i,errorKey:p,errorType:t.errorType});},[U,H,t.errorType]);react.useEffect(()=>{if(g&&!E){v(),f.current.clear();return}if(E&&m&&P){if(g&&x!=="switch")return;N(h,m,P);}},[E,g,m,x,h,P,N,v]),react.useEffect(()=>()=>{v(),f.current.clear();},[v]);let _=n?.classNames?.container?n.classNames.container({hasErrors:t.hasAnyError,errorType:t.errorType}):"novacon:p-0 novacon:bg-transparent",j=react.useMemo(()=>{let a=n?.toastCloseButton;return a?({closeToast:i})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:i,...a}):novaCore.ToastCloseButton},[n?.toastCloseButton]),J={...{containerId:o,position:e,closeOnClick:false,icon:false,closeButton:j,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:s,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...n?.containerProps,className:_};return jsxRuntime.jsx(G,{...J})}so.displayName="ErrorsProvider";function io({labels:o,children:e}){let r=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let n=["connectWallet","disconnect","connecting","connected","error","success"].filter(d=>!(d in o));n.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${n.join(", ")}`);}return jsxRuntime.jsx(chunkPXKZLOYO_cjs.g.Provider,{value:r,children:e})}io.displayName="NovaConnectLabelsProvider";var Io=({labels:o,children:e})=>jsxRuntime.jsx(io,{labels:o,children:e}),Do=({customization:o})=>jsxRuntime.jsx(so,{customization:o}),Ko=(o,e)=>novaCore.deepMerge(o,e||{}),Fo=o=>o,Go=o=>o,qo=(o,e,r)=>o;function $o({labels:o,children:e,appChains:r,solanaRPCUrls:s,transactionPool:n,pulsarAdapter:d,withImpersonated:A,withBalance:F,withChain:z,popularConnectors:k,customConnectorGroups:G,legal:H,customization:c}){let M=chunk2SFIZVDC_cjs.h(ro=>ro.activeConnection),V=chunk2SFIZVDC_cjs.h(ro=>ro.connectionError),{LabelsProvider:q=Io,ErrorsProvider:f=Do}=c?.components??{},{merge:C=Ko,transform:y=Fo}=c?.labels??{},{transform:S=Go}=c?.contextValue??{},{providerTree:g=qo}=c?.rendering??{},E=react.useMemo(()=>C(chunkMGBN4EIT_cjs.a,o||{}),[o,C]),[m,x]=react.useState(false),[t,O]=react.useState(false),[h,$]=react.useState(false),[P,v]=react.useState(false),[w,U]=react.useState("idle"),[N,_]=react.useState("connectors"),[j,po]=react.useState(void 0),[J,a]=react.useState(void 0),[i,p]=react.useState(""),[T,Q]=react.useState(false),[R,X]=react.useState("main"),go={appChains:r,solanaRPCUrls:s,withImpersonated:A,popularConnectors:k,customConnectorGroups:G,withBalance:F,withChain:z,isConnectModalOpen:m,setIsConnectModalOpen:x,isConnectedModalOpen:t,setIsConnectedModalOpen:O,isChainsListOpen:h,setIsChainsListOpen:$,isChainsListOpenMobile:P,setIsChainsListOpenMobile:v,connectedButtonStatus:w,setConnectedButtonStatus:U,connectedModalContentType:R,setConnectedModalContentType:X,connectModalContentType:N,setConnectModalContentType:_,selectedAdapter:j,setSelectedAdapter:po,activeConnector:J,setActiveConnector:a,impersonatedAddress:i,setImpersonatedAddress:p,isConnected:T,setIsConnected:Q,legal:H},W=react.useMemo(()=>({isConnected:T,activeConnection:M,connectionError:V,modalStates:{isConnectModalOpen:m,isConnectedModalOpen:t,isChainsListOpen:h,isChainsListOpenMobile:P},contentTypes:{connectModal:N,connectedModal:R},statuses:{connectedButton:w}}),[T,M,V,m,t,h,P,N,R,w]),ho=react.useMemo(()=>y(E,W),[E,y,W]),uo=S(go,W),Y=jsxRuntime.jsx(f,{customization:c?.errors}),Z=jsxRuntime.jsx(q,{labels:ho,children:e}),oo=r||s?jsxRuntime.jsx(chunk7CLA2EHI_cjs.G,{solanaRPCUrls:s,appChains:r,customization:c?.modals?.connectModal}):null,eo=r||s?jsxRuntime.jsx(chunk7CLA2EHI_cjs.t,{solanaRPCUrls:s,appChains:r,transactionPool:n,pulsarAdapter:d,customization:c?.modals?.connectedModal}):null,wo=jsxRuntime.jsxs(chunkPXKZLOYO_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),No=jsxRuntime.jsxs(chunkPXKZLOYO_cjs.c.Provider,{value:uo,children:[Y,Z,oo,eo]}),Lo=g(No,{ErrorsProvider:Y,LabelsProvider:Z,MainContent:wo,ConnectModal:oo||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:eo||jsxRuntime.jsx(jsxRuntime.Fragment,{})},W);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Lo})}$o.displayName="NovaConnectProvider";async function Pr(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await D(),hasSolanaUtils:await K(),adaptersStatus:o()}}async function D(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function K(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Tr(){try{if(!await D())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.cjs'),r=await e.getEvmExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function br(){try{if(!await K())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.cjs'),r=await e.getSolanaExports();return r.available?{...e,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function yr(){let o={evm:false,solana:false,errors:[]};try{let e=await D(),r=await K();if(e||r){let{preloadChainAdapters:s}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),n=[];e&&n.push(orbitCore.OrbitAdapter.EVM),r&&n.push(orbitCore.OrbitAdapter.SOLANA),await s(n),o.evm=e,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let r=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(r);}return o}async function gr(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?D():K()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.q}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.v}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.p}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.t}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.r}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.s}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.u}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.w}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.x}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkPXKZLOYO_cjs.y}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkK44IHM6B_cjs.j}});exports.ErrorsProvider=so;exports.NovaConnectLabelsProvider=io;exports.NovaConnectProvider=$o;exports.getBlockchainUtilities=Pr;exports.getEvmUtils=Tr;exports.getSolanaUtils=br;exports.initializeBlockchainSupport=yr;exports.isAdapterSupported=gr;
|
package/dist/index.css
CHANGED
|
@@ -27,9 +27,6 @@
|
|
|
27
27
|
--novacon-font-weight-bold: 700;
|
|
28
28
|
--novacon-tracking-wider: 0.05em;
|
|
29
29
|
--novacon-leading-relaxed: 1.625;
|
|
30
|
-
--novacon-radius-md: 0.375rem;
|
|
31
|
-
--novacon-radius-lg: 0.5rem;
|
|
32
|
-
--novacon-radius-xl: 0.75rem;
|
|
33
30
|
--novacon-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
34
31
|
--novacon-animate-spin: spin 1s linear infinite;
|
|
35
32
|
--novacon-animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
@@ -338,8 +335,8 @@
|
|
|
338
335
|
.novacon\:min-h-\[60px\] {
|
|
339
336
|
min-height: 60px;
|
|
340
337
|
}
|
|
341
|
-
.novacon\:min-h-\[
|
|
342
|
-
min-height:
|
|
338
|
+
.novacon\:min-h-\[180px\] {
|
|
339
|
+
min-height: 180px;
|
|
343
340
|
}
|
|
344
341
|
.novacon\:w-2 {
|
|
345
342
|
width: calc(var(--novacon-spacing) * 2);
|
|
@@ -413,8 +410,8 @@
|
|
|
413
410
|
.novacon\:min-w-\[60px\] {
|
|
414
411
|
min-width: 60px;
|
|
415
412
|
}
|
|
416
|
-
.novacon\:min-w-\[
|
|
417
|
-
min-width:
|
|
413
|
+
.novacon\:min-w-\[180px\] {
|
|
414
|
+
min-width: 180px;
|
|
418
415
|
}
|
|
419
416
|
.novacon\:flex-1 {
|
|
420
417
|
flex: 1;
|
|
@@ -565,18 +562,12 @@
|
|
|
565
562
|
.novacon\:overflow-y-auto {
|
|
566
563
|
overflow-y: auto;
|
|
567
564
|
}
|
|
565
|
+
.novacon\:rounded-\[var\(--tuwa-rounded-corners\)\] {
|
|
566
|
+
border-radius: var(--tuwa-rounded-corners);
|
|
567
|
+
}
|
|
568
568
|
.novacon\:rounded-full {
|
|
569
569
|
border-radius: calc(infinity * 1px);
|
|
570
570
|
}
|
|
571
|
-
.novacon\:rounded-lg {
|
|
572
|
-
border-radius: var(--novacon-radius-lg);
|
|
573
|
-
}
|
|
574
|
-
.novacon\:rounded-md {
|
|
575
|
-
border-radius: var(--novacon-radius-md);
|
|
576
|
-
}
|
|
577
|
-
.novacon\:rounded-xl {
|
|
578
|
-
border-radius: var(--novacon-radius-xl);
|
|
579
|
-
}
|
|
580
571
|
.novacon\:border {
|
|
581
572
|
border-style: var(--tw-border-style);
|
|
582
573
|
border-width: 1px;
|
|
@@ -621,9 +612,6 @@
|
|
|
621
612
|
.novacon\:border-red-500 {
|
|
622
613
|
border-color: var(--novacon-color-red-500);
|
|
623
614
|
}
|
|
624
|
-
.novacon\:border-transparent {
|
|
625
|
-
border-color: transparent;
|
|
626
|
-
}
|
|
627
615
|
.novacon\:border-t-transparent {
|
|
628
616
|
border-top-color: transparent;
|
|
629
617
|
}
|
|
@@ -651,6 +639,9 @@
|
|
|
651
639
|
.novacon\:bg-\[var\(--tuwa-border-primary\)\] {
|
|
652
640
|
background-color: var(--tuwa-border-primary);
|
|
653
641
|
}
|
|
642
|
+
.novacon\:bg-\[var\(--tuwa-button-gradient-from\)\] {
|
|
643
|
+
background-color: var(--tuwa-button-gradient-from);
|
|
644
|
+
}
|
|
654
645
|
.novacon\:bg-\[var\(--tuwa-error-text\)\] {
|
|
655
646
|
background-color: var(--tuwa-error-text);
|
|
656
647
|
}
|
|
@@ -930,15 +921,15 @@
|
|
|
930
921
|
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
931
922
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
932
923
|
}
|
|
933
|
-
.novacon\:ring-
|
|
934
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(
|
|
924
|
+
.novacon\:ring-\[length\:var\(--tuwa-ring-width\)\] {
|
|
925
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--tuwa-ring-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
935
926
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
936
927
|
}
|
|
937
928
|
.novacon\:ring-\[var\(--tuwa-border-primary\)\] {
|
|
938
929
|
--tw-ring-color: var(--tuwa-border-primary);
|
|
939
930
|
}
|
|
940
|
-
.novacon\:ring-\[var\(--tuwa-text-
|
|
941
|
-
--tw-ring-color: var(--tuwa-text-
|
|
931
|
+
.novacon\:ring-\[var\(--tuwa-text-secondary\)\] {
|
|
932
|
+
--tw-ring-color: var(--tuwa-text-secondary);
|
|
942
933
|
}
|
|
943
934
|
.novacon\:transition {
|
|
944
935
|
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;
|
|
@@ -1179,10 +1170,10 @@
|
|
|
1179
1170
|
}
|
|
1180
1171
|
}
|
|
1181
1172
|
}
|
|
1182
|
-
.novacon\:hover\:bg-\[var\(--tuwa-
|
|
1173
|
+
.novacon\:hover\:bg-\[var\(--tuwa-button-gradient-from-hover\)\] {
|
|
1183
1174
|
&:hover {
|
|
1184
1175
|
@media (hover: hover) {
|
|
1185
|
-
background-color: var(--tuwa-
|
|
1176
|
+
background-color: var(--tuwa-button-gradient-from-hover);
|
|
1186
1177
|
}
|
|
1187
1178
|
}
|
|
1188
1179
|
}
|
|
@@ -1193,33 +1184,24 @@
|
|
|
1193
1184
|
}
|
|
1194
1185
|
}
|
|
1195
1186
|
}
|
|
1196
|
-
.novacon\:hover\:bg-\[var\(--tuwa-
|
|
1187
|
+
.novacon\:hover\:bg-\[var\(--tuwa-standart-button-hover\)\] {
|
|
1197
1188
|
&:hover {
|
|
1198
1189
|
@media (hover: hover) {
|
|
1199
|
-
background-color: var(--tuwa-
|
|
1190
|
+
background-color: var(--tuwa-standart-button-hover);
|
|
1200
1191
|
}
|
|
1201
1192
|
}
|
|
1202
1193
|
}
|
|
1203
|
-
.novacon\:hover\:bg-
|
|
1204
|
-
&:hover {
|
|
1205
|
-
@media (hover: hover) {
|
|
1206
|
-
background-color: var(--novacon-color-red-600);
|
|
1207
|
-
}
|
|
1208
|
-
}
|
|
1209
|
-
}
|
|
1210
|
-
.novacon\:hover\:from-\[var\(--tuwa-button-gradient-from-hover\)\] {
|
|
1194
|
+
.novacon\:hover\:bg-\[var\(--tuwa-text-accent\)\] {
|
|
1211
1195
|
&:hover {
|
|
1212
1196
|
@media (hover: hover) {
|
|
1213
|
-
|
|
1214
|
-
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
1197
|
+
background-color: var(--tuwa-text-accent);
|
|
1215
1198
|
}
|
|
1216
1199
|
}
|
|
1217
1200
|
}
|
|
1218
|
-
.novacon\:hover\:
|
|
1201
|
+
.novacon\:hover\:bg-red-600 {
|
|
1219
1202
|
&:hover {
|
|
1220
1203
|
@media (hover: hover) {
|
|
1221
|
-
|
|
1222
|
-
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
|
1204
|
+
background-color: var(--novacon-color-red-600);
|
|
1223
1205
|
}
|
|
1224
1206
|
}
|
|
1225
1207
|
}
|
|
@@ -1271,9 +1253,9 @@
|
|
|
1271
1253
|
background-color: var(--tuwa-bg-muted);
|
|
1272
1254
|
}
|
|
1273
1255
|
}
|
|
1274
|
-
.novacon\:focus\:ring-
|
|
1256
|
+
.novacon\:focus\:ring-\[length\:var\(--tuwa-ring-width\)\] {
|
|
1275
1257
|
&:focus {
|
|
1276
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(
|
|
1258
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--tuwa-ring-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
1277
1259
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1278
1260
|
}
|
|
1279
1261
|
}
|
|
@@ -1307,15 +1289,15 @@
|
|
|
1307
1289
|
--tw-ring-color: var(--novacon-color-red-500);
|
|
1308
1290
|
}
|
|
1309
1291
|
}
|
|
1310
|
-
.novacon\:focus\:ring-offset-
|
|
1292
|
+
.novacon\:focus\:ring-offset-\[length\:var\(--tuwa-ring-width\)\] {
|
|
1311
1293
|
&:focus {
|
|
1312
|
-
--tw-ring-offset-width:
|
|
1294
|
+
--tw-ring-offset-width: var(--tuwa-ring-width);
|
|
1313
1295
|
--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1314
1296
|
}
|
|
1315
1297
|
}
|
|
1316
|
-
.novacon\:focus\:ring-offset-\[var\(--tuwa-
|
|
1298
|
+
.novacon\:focus\:ring-offset-\[var\(--tuwa-border-secondary\)\] {
|
|
1317
1299
|
&:focus {
|
|
1318
|
-
--tw-ring-offset-color: var(--tuwa-
|
|
1300
|
+
--tw-ring-offset-color: var(--tuwa-border-secondary);
|
|
1319
1301
|
}
|
|
1320
1302
|
}
|
|
1321
1303
|
.novacon\:focus\:outline-none {
|
|
@@ -1329,9 +1311,9 @@
|
|
|
1329
1311
|
--tw-ring-inset: inset;
|
|
1330
1312
|
}
|
|
1331
1313
|
}
|
|
1332
|
-
.novacon\:focus-visible\:ring-
|
|
1314
|
+
.novacon\:focus-visible\:ring-\[length\:var\(--tuwa-ring-width\)\] {
|
|
1333
1315
|
&:focus-visible {
|
|
1334
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(
|
|
1316
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--tuwa-ring-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
1335
1317
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1336
1318
|
}
|
|
1337
1319
|
}
|
|
@@ -1340,12 +1322,17 @@
|
|
|
1340
1322
|
--tw-ring-color: var(--tuwa-border-accent);
|
|
1341
1323
|
}
|
|
1342
1324
|
}
|
|
1343
|
-
.novacon\:focus-visible\:ring-offset-
|
|
1325
|
+
.novacon\:focus-visible\:ring-offset-\[length\:var\(--tuwa-ring-width\)\] {
|
|
1344
1326
|
&:focus-visible {
|
|
1345
|
-
--tw-ring-offset-width:
|
|
1327
|
+
--tw-ring-offset-width: var(--tuwa-ring-width);
|
|
1346
1328
|
--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
1347
1329
|
}
|
|
1348
1330
|
}
|
|
1331
|
+
.novacon\:focus-visible\:ring-offset-\[var\(--tuwa-border-secondary\)\] {
|
|
1332
|
+
&:focus-visible {
|
|
1333
|
+
--tw-ring-offset-color: var(--tuwa-border-secondary);
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1349
1336
|
.novacon\:focus-visible\:outline-none {
|
|
1350
1337
|
&:focus-visible {
|
|
1351
1338
|
--tw-outline-style: none;
|
|
@@ -1373,9 +1360,9 @@
|
|
|
1373
1360
|
scale: 0.98;
|
|
1374
1361
|
}
|
|
1375
1362
|
}
|
|
1376
|
-
.novacon\:active\:bg-\[var\(--tuwa-bg-
|
|
1363
|
+
.novacon\:active\:bg-\[var\(--tuwa-bg-muted\)\] {
|
|
1377
1364
|
&:active {
|
|
1378
|
-
background-color: var(--tuwa-bg-
|
|
1365
|
+
background-color: var(--tuwa-bg-muted);
|
|
1379
1366
|
}
|
|
1380
1367
|
}
|
|
1381
1368
|
.novacon\:active\:bg-\[var\(--tuwa-error-text\)\] {
|
|
@@ -1649,9 +1636,9 @@
|
|
|
1649
1636
|
width: 42px !important;
|
|
1650
1637
|
}
|
|
1651
1638
|
}
|
|
1652
|
-
.novacon\:\[\&_img\]\:w-\[
|
|
1639
|
+
.novacon\:\[\&_img\]\:w-\[100px\]\! {
|
|
1653
1640
|
& img {
|
|
1654
|
-
width:
|
|
1641
|
+
width: 100px !important;
|
|
1655
1642
|
}
|
|
1656
1643
|
}
|
|
1657
1644
|
.novacon\:\[\&_img\]\:transition-transform {
|
|
@@ -1755,9 +1742,9 @@
|
|
|
1755
1742
|
width: 42px !important;
|
|
1756
1743
|
}
|
|
1757
1744
|
}
|
|
1758
|
-
.novacon\:\[\&_svg\]\:w-\[
|
|
1745
|
+
.novacon\:\[\&_svg\]\:w-\[100px\]\! {
|
|
1759
1746
|
& svg {
|
|
1760
|
-
width:
|
|
1747
|
+
width: 100px !important;
|
|
1761
1748
|
}
|
|
1762
1749
|
}
|
|
1763
1750
|
.novacon\:\[\&_svg\]\:transition-transform {
|
package/dist/index.d.cts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
1
|
+
import { TuwaErrorState, OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { WalletNameAndAvatarData, useGetWalletNameAndAvatar, useWalletChainsList } from './hooks/index.cjs';
|
|
3
|
-
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps, I as InitialChains } from './useWalletNativeBalance-
|
|
4
|
-
export { A as AllChainConfigs, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from './useWalletNativeBalance-
|
|
3
|
+
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps, I as InitialChains } from './useWalletNativeBalance-C3-mg2mY.cjs';
|
|
4
|
+
export { A as AllChainConfigs, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from './useWalletNativeBalance-C3-mg2mY.cjs';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { ToastCloseButtonProps } from '@tuwaio/nova-core';
|
|
7
7
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
8
8
|
import { ToastContainer, toast, ToastPosition } from 'react-toastify';
|
|
9
|
-
import {
|
|
9
|
+
import { ToastErrorCustomization, ConnectModalCustomization, ConnectedModalCustomization } from './components/index.cjs';
|
|
10
10
|
import { N as NovaConnectLabels } from './types-DxUn8qmU.cjs';
|
|
11
11
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
12
12
|
import { Connector } from '@tuwaio/satellite-react';
|
|
@@ -16,7 +16,7 @@ import '@radix-ui/react-select';
|
|
|
16
16
|
|
|
17
17
|
type CustomToastErrorProps = {
|
|
18
18
|
title: string;
|
|
19
|
-
rawError: string;
|
|
19
|
+
rawError: string | TuwaErrorState;
|
|
20
20
|
onCopyComplete?: (success: boolean) => void;
|
|
21
21
|
errorType: 'wallet' | 'switch' | null;
|
|
22
22
|
isConnected: boolean;
|
|
@@ -52,7 +52,7 @@ type ErrorsProviderCustomization = {
|
|
|
52
52
|
/** Function to generate toast options */
|
|
53
53
|
error?: (params: {
|
|
54
54
|
title: string;
|
|
55
|
-
rawError: string;
|
|
55
|
+
rawError: string | TuwaErrorState;
|
|
56
56
|
errorType: 'wallet' | 'switch' | null;
|
|
57
57
|
isConnected: boolean;
|
|
58
58
|
}) => Partial<Parameters<typeof toast.error>[1]>;
|
|
@@ -60,16 +60,16 @@ type ErrorsProviderCustomization = {
|
|
|
60
60
|
/** Custom logic handlers */
|
|
61
61
|
handlers?: {
|
|
62
62
|
/** Custom error display logic */
|
|
63
|
-
showError?: (originalHandler: (title: string, rawError: string, errorKey: string) => void, params: {
|
|
63
|
+
showError?: (originalHandler: (title: string, rawError: string | TuwaErrorState, errorKey: string) => void, params: {
|
|
64
64
|
title: string;
|
|
65
|
-
rawError: string;
|
|
65
|
+
rawError: string | TuwaErrorState;
|
|
66
66
|
errorKey: string;
|
|
67
67
|
errorType: 'wallet' | 'switch' | null;
|
|
68
68
|
}) => void;
|
|
69
69
|
/** Custom error dismissal logic */
|
|
70
70
|
dismissError?: (originalHandler: () => void) => void;
|
|
71
71
|
/** Custom copy complete handler */
|
|
72
|
-
onCopyComplete?: (success: boolean, rawError: string, errorType: 'wallet' | 'switch' | null) => void;
|
|
72
|
+
onCopyComplete?: (success: boolean, rawError: string | TuwaErrorState, errorType: 'wallet' | 'switch' | null) => void;
|
|
73
73
|
};
|
|
74
74
|
/** Custom error title generator - does NOT customize labels, just allows title modification */
|
|
75
75
|
errorTitle?: (defaultTitle: string, params: {
|
|
@@ -77,7 +77,7 @@ type ErrorsProviderCustomization = {
|
|
|
77
77
|
}) => string;
|
|
78
78
|
/** Custom error hash generator for deduplication */
|
|
79
79
|
errorHash?: (defaultHash: string | null, params: {
|
|
80
|
-
primaryError:
|
|
80
|
+
primaryError: TuwaErrorState | null;
|
|
81
81
|
errorType: 'wallet' | 'switch' | null;
|
|
82
82
|
}) => string | null;
|
|
83
83
|
};
|
|
@@ -159,7 +159,7 @@ type ProviderContext = {
|
|
|
159
159
|
/** Active wallet instance */
|
|
160
160
|
activeConnection: BaseConnector | undefined;
|
|
161
161
|
/** Current wallet connection error */
|
|
162
|
-
connectionError:
|
|
162
|
+
connectionError: TuwaErrorState | undefined;
|
|
163
163
|
/** All modal and UI states */
|
|
164
164
|
modalStates: {
|
|
165
165
|
isConnectModalOpen: boolean;
|
|
@@ -288,7 +288,7 @@ interface NovaConnectProviderPropsWithCustomization extends NovaConnectProviderP
|
|
|
288
288
|
*
|
|
289
289
|
* @param props - Provider configuration and customization options
|
|
290
290
|
*/
|
|
291
|
-
declare function NovaConnectProvider({ labels, children, appChains, solanaRPCUrls, transactionPool, pulsarAdapter, withImpersonated, withBalance, withChain, legal, customization, }: NovaConnectProviderPropsWithCustomization): react_jsx_runtime.JSX.Element;
|
|
291
|
+
declare function NovaConnectProvider({ labels, children, appChains, solanaRPCUrls, transactionPool, pulsarAdapter, withImpersonated, withBalance, withChain, popularConnectors, customConnectorGroups, legal, customization, }: NovaConnectProviderPropsWithCustomization): react_jsx_runtime.JSX.Element;
|
|
292
292
|
declare namespace NovaConnectProvider {
|
|
293
293
|
var displayName: string;
|
|
294
294
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
1
|
+
import { TuwaErrorState, OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { WalletNameAndAvatarData, useGetWalletNameAndAvatar, useWalletChainsList } from './hooks/index.js';
|
|
3
|
-
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps, I as InitialChains } from './useWalletNativeBalance-
|
|
4
|
-
export { A as AllChainConfigs, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from './useWalletNativeBalance-
|
|
3
|
+
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps, I as InitialChains } from './useWalletNativeBalance-BNbq75Hw.js';
|
|
4
|
+
export { A as AllChainConfigs, l as LabelCategory, L as LegalConfig, q as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, p as createLabelsSubset, o as getLabelWithFallback, k as hasLabel, n as isDefaultLabels, e as useHasNovaConnectContext, m as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, r as useWalletNativeBalance } from './useWalletNativeBalance-BNbq75Hw.js';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { ToastCloseButtonProps } from '@tuwaio/nova-core';
|
|
7
7
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
8
8
|
import { ToastContainer, toast, ToastPosition } from 'react-toastify';
|
|
9
|
-
import {
|
|
9
|
+
import { ToastErrorCustomization, ConnectModalCustomization, ConnectedModalCustomization } from './components/index.js';
|
|
10
10
|
import { N as NovaConnectLabels } from './types-DxUn8qmU.js';
|
|
11
11
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
12
12
|
import { Connector } from '@tuwaio/satellite-react';
|
|
@@ -16,7 +16,7 @@ import '@radix-ui/react-select';
|
|
|
16
16
|
|
|
17
17
|
type CustomToastErrorProps = {
|
|
18
18
|
title: string;
|
|
19
|
-
rawError: string;
|
|
19
|
+
rawError: string | TuwaErrorState;
|
|
20
20
|
onCopyComplete?: (success: boolean) => void;
|
|
21
21
|
errorType: 'wallet' | 'switch' | null;
|
|
22
22
|
isConnected: boolean;
|
|
@@ -52,7 +52,7 @@ type ErrorsProviderCustomization = {
|
|
|
52
52
|
/** Function to generate toast options */
|
|
53
53
|
error?: (params: {
|
|
54
54
|
title: string;
|
|
55
|
-
rawError: string;
|
|
55
|
+
rawError: string | TuwaErrorState;
|
|
56
56
|
errorType: 'wallet' | 'switch' | null;
|
|
57
57
|
isConnected: boolean;
|
|
58
58
|
}) => Partial<Parameters<typeof toast.error>[1]>;
|
|
@@ -60,16 +60,16 @@ type ErrorsProviderCustomization = {
|
|
|
60
60
|
/** Custom logic handlers */
|
|
61
61
|
handlers?: {
|
|
62
62
|
/** Custom error display logic */
|
|
63
|
-
showError?: (originalHandler: (title: string, rawError: string, errorKey: string) => void, params: {
|
|
63
|
+
showError?: (originalHandler: (title: string, rawError: string | TuwaErrorState, errorKey: string) => void, params: {
|
|
64
64
|
title: string;
|
|
65
|
-
rawError: string;
|
|
65
|
+
rawError: string | TuwaErrorState;
|
|
66
66
|
errorKey: string;
|
|
67
67
|
errorType: 'wallet' | 'switch' | null;
|
|
68
68
|
}) => void;
|
|
69
69
|
/** Custom error dismissal logic */
|
|
70
70
|
dismissError?: (originalHandler: () => void) => void;
|
|
71
71
|
/** Custom copy complete handler */
|
|
72
|
-
onCopyComplete?: (success: boolean, rawError: string, errorType: 'wallet' | 'switch' | null) => void;
|
|
72
|
+
onCopyComplete?: (success: boolean, rawError: string | TuwaErrorState, errorType: 'wallet' | 'switch' | null) => void;
|
|
73
73
|
};
|
|
74
74
|
/** Custom error title generator - does NOT customize labels, just allows title modification */
|
|
75
75
|
errorTitle?: (defaultTitle: string, params: {
|
|
@@ -77,7 +77,7 @@ type ErrorsProviderCustomization = {
|
|
|
77
77
|
}) => string;
|
|
78
78
|
/** Custom error hash generator for deduplication */
|
|
79
79
|
errorHash?: (defaultHash: string | null, params: {
|
|
80
|
-
primaryError:
|
|
80
|
+
primaryError: TuwaErrorState | null;
|
|
81
81
|
errorType: 'wallet' | 'switch' | null;
|
|
82
82
|
}) => string | null;
|
|
83
83
|
};
|
|
@@ -159,7 +159,7 @@ type ProviderContext = {
|
|
|
159
159
|
/** Active wallet instance */
|
|
160
160
|
activeConnection: BaseConnector | undefined;
|
|
161
161
|
/** Current wallet connection error */
|
|
162
|
-
connectionError:
|
|
162
|
+
connectionError: TuwaErrorState | undefined;
|
|
163
163
|
/** All modal and UI states */
|
|
164
164
|
modalStates: {
|
|
165
165
|
isConnectModalOpen: boolean;
|
|
@@ -288,7 +288,7 @@ interface NovaConnectProviderPropsWithCustomization extends NovaConnectProviderP
|
|
|
288
288
|
*
|
|
289
289
|
* @param props - Provider configuration and customization options
|
|
290
290
|
*/
|
|
291
|
-
declare function NovaConnectProvider({ labels, children, appChains, solanaRPCUrls, transactionPool, pulsarAdapter, withImpersonated, withBalance, withChain, legal, customization, }: NovaConnectProviderPropsWithCustomization): react_jsx_runtime.JSX.Element;
|
|
291
|
+
declare function NovaConnectProvider({ labels, children, appChains, solanaRPCUrls, transactionPool, pulsarAdapter, withImpersonated, withBalance, withChain, popularConnectors, customConnectorGroups, legal, customization, }: NovaConnectProviderPropsWithCustomization): react_jsx_runtime.JSX.Element;
|
|
292
292
|
declare namespace NovaConnectProvider {
|
|
293
293
|
var displayName: string;
|
|
294
294
|
}
|