@tuwaio/nova-connect 1.0.0-fix-docs-alpha.4.0735e7bf → 1.0.0-fix-docs-alpha.6.616af6e3
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/components/index.d.cts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/hooks/index.d.cts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{useWalletNativeBalance-DEcykWOM.d.cts → useWalletNativeBalance-B64PI3UW.d.cts} +4 -0
- package/dist/{useWalletNativeBalance-BD58yAwj.d.ts → useWalletNativeBalance-Dq7RXM0z.d.ts} +4 -0
- package/package.json +8 -8
|
@@ -2,8 +2,8 @@ import { Variants, TargetAndTransition, VariantLabels, LegacyAnimationControls,
|
|
|
2
2
|
import * as React$1 from 'react';
|
|
3
3
|
import React__default, { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
4
4
|
import * as Select from '@radix-ui/react-select';
|
|
5
|
-
import { I as InitialChains, B as ButtonTxStatus, N as NovaConnectProviderProps, q as useNovaConnectLabels, d as NativeBalanceResult, a as ConnectedContentType, v as ConnectedModalTxHistoryProps, w as ConnectedModalTxHistoryCustomization, C as ConnectContentType } from '../useWalletNativeBalance-
|
|
6
|
-
export { x as ConnectedModalTxHistory, y as LocalTransactionsHistoryCustomization, z as LocalTxPagination } from '../useWalletNativeBalance-
|
|
5
|
+
import { I as InitialChains, B as ButtonTxStatus, N as NovaConnectProviderProps, q as useNovaConnectLabels, d as NativeBalanceResult, a as ConnectedContentType, v as ConnectedModalTxHistoryProps, w as ConnectedModalTxHistoryCustomization, C as ConnectContentType } from '../useWalletNativeBalance-B64PI3UW.cjs';
|
|
6
|
+
export { x as ConnectedModalTxHistory, y as LocalTransactionsHistoryCustomization, z as LocalTxPagination } from '../useWalletNativeBalance-B64PI3UW.cjs';
|
|
7
7
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
8
8
|
import { Dialog, DialogContent, StarsBackground } from '@tuwaio/nova-core';
|
|
9
9
|
import { Transaction } from '@tuwaio/pulsar-core';
|
|
@@ -2,8 +2,8 @@ import { Variants, TargetAndTransition, VariantLabels, LegacyAnimationControls,
|
|
|
2
2
|
import * as React$1 from 'react';
|
|
3
3
|
import React__default, { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
4
4
|
import * as Select from '@radix-ui/react-select';
|
|
5
|
-
import { I as InitialChains, B as ButtonTxStatus, N as NovaConnectProviderProps, q as useNovaConnectLabels, d as NativeBalanceResult, a as ConnectedContentType, v as ConnectedModalTxHistoryProps, w as ConnectedModalTxHistoryCustomization, C as ConnectContentType } from '../useWalletNativeBalance-
|
|
6
|
-
export { x as ConnectedModalTxHistory, y as LocalTransactionsHistoryCustomization, z as LocalTxPagination } from '../useWalletNativeBalance-
|
|
5
|
+
import { I as InitialChains, B as ButtonTxStatus, N as NovaConnectProviderProps, q as useNovaConnectLabels, d as NativeBalanceResult, a as ConnectedContentType, v as ConnectedModalTxHistoryProps, w as ConnectedModalTxHistoryCustomization, C as ConnectContentType } from '../useWalletNativeBalance-Dq7RXM0z.js';
|
|
6
|
+
export { x as ConnectedModalTxHistory, y as LocalTransactionsHistoryCustomization, z as LocalTxPagination } from '../useWalletNativeBalance-Dq7RXM0z.js';
|
|
7
7
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
8
8
|
import { Dialog, DialogContent, StarsBackground } from '@tuwaio/nova-core';
|
|
9
9
|
import { Transaction } from '@tuwaio/pulsar-core';
|
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, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, N as NovaConnectProviderProps, b as NovaConnectProviderType, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from '../useWalletNativeBalance-
|
|
1
|
+
import { I as InitialChains } from '../useWalletNativeBalance-B64PI3UW.cjs';
|
|
2
|
+
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, N as NovaConnectProviderProps, b as NovaConnectProviderType, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from '../useWalletNativeBalance-B64PI3UW.cjs';
|
|
3
3
|
import * as _tuwaio_satellite_core from '@tuwaio/satellite-core';
|
|
4
4
|
import * as _tuwaio_satellite_react from '@tuwaio/satellite-react';
|
|
5
5
|
import { SatelliteSiwxFieldOptions, UseSiwxSignInOptions } from '@tuwaio/siwx-react';
|
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, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, N as NovaConnectProviderProps, b as NovaConnectProviderType, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from '../useWalletNativeBalance-
|
|
1
|
+
import { I as InitialChains } from '../useWalletNativeBalance-Dq7RXM0z.js';
|
|
2
|
+
export { B as ButtonTxStatus, C as ConnectContentType, a as ConnectedContentType, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, N as NovaConnectProviderProps, b as NovaConnectProviderType, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from '../useWalletNativeBalance-Dq7RXM0z.js';
|
|
3
3
|
import * as _tuwaio_satellite_core from '@tuwaio/satellite-core';
|
|
4
4
|
import * as _tuwaio_satellite_react from '@tuwaio/satellite-react';
|
|
5
5
|
import { SatelliteSiwxFieldOptions, UseSiwxSignInOptions } from '@tuwaio/siwx-react';
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunkDRPEHLKF_cjs=require('./chunk-DRPEHLKF.cjs'),chunkNIHARC32_cjs=require('./chunk-NIHARC32.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkMGBN4EIT_cjs=require('./chunk-MGBN4EIT.cjs'),chunkV6XDFRWV_cjs=require('./chunk-V6XDFRWV.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),siwxReact=require('@tuwaio/siwx-react');var Ae=({title:e,rawError:o,onCopyComplete:r,errorType:i,isConnected:t,...c})=>jsxRuntime.jsx(chunkDRPEHLKF_cjs.H,{title:e,rawError:o,onCopyComplete:r,customization:c.customization}),ke=e=>{let o=chunkNIHARC32_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":o.somethingWentWrong})},ze=(e,o)=>{e(o.title,o.rawError,o.errorKey);},We=e=>{e();},He=(e,o)=>{if(e&&process.env.NODE_ENV==="development"){let r=typeof o=="string"?o:o.message;console.log("Error copied to clipboard:",r.substring(0,100));}},Ie=e=>e,Ve=e=>e;function ie({containerId:e="nova-connect-errors",position:o="top-center",autoClose:r=7e3,draggable:i=false,customization:t}){let c=chunkNIHARC32_cjs.h(),a=chunkV6XDFRWV_cjs.d(s=>s.switchNetworkError),N=chunkV6XDFRWV_cjs.d(s=>s.activeConnection),g=chunkV6XDFRWV_cjs.d(s=>s.connectionError),{ToastError:C=Ae,Container:S=ke}=t?.components??{},{showError:l=ze,dismissError:v=We,onCopyComplete:d=He}=t?.handlers??{},{errorTitle:X=Ie,errorHash:U=Ve}=t??{},b=react.useRef(new Set),y=react.useRef(null),k=!!g,x=!!a,h=!!N?.isConnected,M=k||x,L=g||a||null,f=k?"wallet":x?"switch":null,n={hasWalletError:k,hasSwitchError:x,isConnected:h,hasAnyError:M,primaryError:L,errorType:f},z=c.somethingWentWrong;switch(n.errorType){case "wallet":z=c.connectionError;break;case "switch":z=c.errorWhenChainSwitching;break}let O=X(z,{errorType:n.errorType}),$=n.primaryError?`${n.errorType}-${n.primaryError.message.substring(0,50)}`:null,w=U($,{primaryError:n.primaryError,errorType:n.errorType}),T=react.useCallback(()=>{v(()=>{y.current&&(reactToastify.toast.dismiss(y.current),y.current=null),reactToastify.toast.dismiss({containerId:e});});},[e,v]),R=react.useCallback((s,u)=>{d(s,u,f);},[d,f]),D=react.useCallback((s,u,E)=>{if(T(),!b.current.has(E))try{let H={containerId:e,toastId:E,onClose:()=>{b.current.delete(E),y.current=null;}},J=t?.toastOptions?.error?.({title:s,rawError:u,errorType:n.errorType,isConnected:n.isConnected}),I={...H,...J};reactToastify.toast.error(jsxRuntime.jsx(C,{title:s,rawError:u,errorType:n.errorType,isConnected:n.isConnected,onCopyComplete:Q=>R(Q,u),customization:t?.toastErrorCustomization}),I),b.current.add(E),y.current=E;}catch(H){console.error("Failed to show error toast:",H);}},[T,e,t?.toastOptions?.error,t?.toastErrorCustomization,C,n.errorType,n.isConnected,R]),B=react.useCallback((s,u,E)=>{l(D,{title:s,rawError:u,errorKey:E,errorType:f});},[D,l,f]);react.useEffect(()=>{if(h&&!M){T(),b.current.clear();return}if(M&&L&&w){if(h&&f!=="switch")return;B(O,L,w);}},[M,h,L,f,O,w,B,T]),react.useEffect(()=>()=>{T(),b.current.clear();},[T]);let _=t?.classNames?.container?t.classNames.container({hasErrors:n.hasAnyError,errorType:n.errorType}):"novacon:p-0 novacon:bg-transparent",W=react.useMemo(()=>{let s=t?.toastCloseButton;return s?({closeToast:u})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:u,...s}):novaCore.ToastCloseButton},[t?.toastCloseButton]),j={...{containerId:e,position:o,closeOnClick:false,icon:false,closeButton:W,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:i,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...t?.containerProps,className:_};return jsxRuntime.jsx(S,{...j})}ie.displayName="ErrorsProvider";function le({labels:e,children:o}){let r=react.useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(c=>!(c in e));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkNIHARC32_cjs.g.Provider,{value:r,children:o})}le.displayName="NovaConnectLabelsProvider";function ce(e){let{enabled:o=true,verifier:r,domain:i,uri:t,statement:c}=e,a=chunkV6XDFRWV_cjs.d(l=>l.activeConnection),{signIn:N}=siwxReact.useSiwx(),g=siwxReact.useSiwxSessionStore(l=>l.session),C=siwxReact.useSiwxSessionStore(l=>l.status),S=react.useRef(null);return react.useEffect(()=>{if(!(!o||!a?.isConnected||!a?.address||!a?.chainId)&&a.signMessage&&!(C==="building"||C==="signing"||C==="verifying"))try{let l={address:String(a.address),chainId:a.chainId,signMessage:a.signMessage,isConnected:a.isConnected},v=siwxReact.getSatelliteSiwxFields(l,{domain:i,uri:t,statement:c});if(C==="authenticated"&&g?.address===v.address||S.current===v.address)return;if(S.current=v.address,!r){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}N({signer:a.signMessage,verifier:r,fields:v}).catch(d=>{console.warn("[NovaSiwxWatcher] SIWX authentication failed:",d);});}catch(l){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",l);}},[a?.isConnected,a?.address,a?.chainId,a?.signMessage,o,C,g?.address,r,i,t,c,N]),null}var $e=({labels:e,children:o})=>jsxRuntime.jsx(le,{labels:e,children:o}),_e=({customization:e})=>jsxRuntime.jsx(ie,{customization:e}),je=(e,o)=>novaCore.deepMerge(e,o||{}),Je=e=>e,Qe=e=>e,Ye=(e,o,r)=>e;function Ze({labels:e,children:o,appChains:r,solanaRPCUrls:i,transactionPool:t,pulsarAdapter:c,withImpersonated:a,withBalance:N,withChain:g,popularConnectors:C,customConnectorGroups:S,legal:l,siwx:v,customization:d,pagination:X}){let U=chunkV6XDFRWV_cjs.d(te=>te.activeConnection),b=chunkV6XDFRWV_cjs.d(te=>te.connectionError),{LabelsProvider:y=$e,ErrorsProvider:k=_e}=d?.components??{},{merge:x=je,transform:h=Je}=d?.labels??{},{transform:M=Qe}=d?.contextValue??{},{providerTree:L=Ye}=d?.rendering??{},f=react.useMemo(()=>x(chunkMGBN4EIT_cjs.a,e||{}),[e,x]),[n,z]=react.useState(false),[O,$]=react.useState(false),[w,T]=react.useState(false),[R,D]=react.useState(false),[B,_]=react.useState("idle"),[W,pe]=react.useState("connectors"),[j,s]=react.useState(void 0),[u,E]=react.useState(void 0),[H,J]=react.useState(""),[I,Q]=react.useState(false),[Y,we]=react.useState("main"),Ne={appChains:r,solanaRPCUrls:i,withImpersonated:a,popularConnectors:C,customConnectorGroups:S,withBalance:N,withChain:g,isConnectModalOpen:n,setIsConnectModalOpen:z,isConnectedModalOpen:O,setIsConnectedModalOpen:$,isChainsListOpen:w,setIsChainsListOpen:T,isChainsListOpenMobile:R,setIsChainsListOpenMobile:D,connectedButtonStatus:B,setConnectedButtonStatus:_,connectedModalContentType:Y,setConnectedModalContentType:we,connectModalContentType:W,setConnectModalContentType:pe,selectedAdapter:j,setSelectedAdapter:s,activeConnector:u,setActiveConnector:E,impersonatedAddress:H,setImpersonatedAddress:J,isConnected:I,setIsConnected:Q,legal:l},F=react.useMemo(()=>({isConnected:I,activeConnection:U,connectionError:b,modalStates:{isConnectModalOpen:n,isConnectedModalOpen:O,isChainsListOpen:w,isChainsListOpenMobile:R},contentTypes:{connectModal:W,connectedModal:Y},statuses:{connectedButton:B}}),[I,U,b,n,O,w,R,W,Y,B]),Se=react.useMemo(()=>h(f,F),[f,h,F]),me=M(Ne,F),Z=jsxRuntime.jsx(k,{customization:d?.errors}),ee=jsxRuntime.jsx(y,{labels:Se,children:o}),oe=r||i?jsxRuntime.jsx(chunkDRPEHLKF_cjs.G,{solanaRPCUrls:i,appChains:r,customization:d?.modals?.connectModal}):null,re=r||i?jsxRuntime.jsx(chunkDRPEHLKF_cjs.t,{solanaRPCUrls:i,appChains:r,transactionPool:t,pulsarAdapter:c,customization:d?.modals?.connectedModal,pagination:X}):null,xe=jsxRuntime.jsxs(chunkNIHARC32_cjs.c.Provider,{value:me,children:[jsxRuntime.jsx(ce,{...v}),Z,ee,oe,re]}),Me=jsxRuntime.jsxs(chunkNIHARC32_cjs.c.Provider,{value:me,children:[jsxRuntime.jsx(ce,{...v}),Z,ee,oe,re]}),Le=L(Me,{ErrorsProvider:Z,LabelsProvider:ee,MainContent:xe,ConnectModal:oe||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:re||jsxRuntime.jsx(jsxRuntime.Fragment,{})},F);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Le})}Ze.displayName="NovaConnectProvider";async function kr(){let{getAllAdaptersStatus:e}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await G(),hasSolanaUtils:await q(),adaptersStatus:e()}}async function G(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function q(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function zr(){try{if(!await G())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let o=await import('./evm/index.cjs'),r=await o.getEvmExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"EVM utilities not available"}}}async function Wr(){try{if(!await q())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let o=await import('./solana/index.cjs'),r=await o.getSolanaExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"Solana utilities not available"}}}async function Hr(){let e={evm:false,solana:false,errors:[]};try{let o=await G(),r=await q();if(o||r){let{preloadChainAdapters:i}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),t=[];o&&t.push(orbitCore.OrbitAdapter.EVM),r&&t.push(orbitCore.OrbitAdapter.SOLANA),await i(t),e.evm=o,e.solana=r;}else e.errors.push("No blockchain packages available for initialization");}catch(o){let r=o instanceof Error?o.message:"Unknown initialization error";e.errors.push(r);}return e}async function Ir(e){return e===orbitCore.OrbitAdapter.Starknet||e!==orbitCore.OrbitAdapter.EVM&&e!==orbitCore.OrbitAdapter.SOLANA?false:e===orbitCore.OrbitAdapter.EVM?G():q()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkNIHARC32_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkNIHARC32_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkNIHARC32_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkNIHARC32_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkNIHARC32_cjs.r}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkNIHARC32_cjs.w}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkNIHARC32_cjs.q}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkNIHARC32_cjs.u}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkNIHARC32_cjs.s}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkNIHARC32_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkNIHARC32_cjs.t}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkNIHARC32_cjs.v}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkNIHARC32_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkNIHARC32_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkNIHARC32_cjs.x}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkNIHARC32_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkNIHARC32_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkNIHARC32_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkNIHARC32_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkNIHARC32_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkNIHARC32_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkNIHARC32_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkNIHARC32_cjs.f}});Object.defineProperty(exports,"useNovaSiwx",{enumerable:true,get:function(){return chunkNIHARC32_cjs.p}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkNIHARC32_cjs.y}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkNIHARC32_cjs.z}});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=ie;exports.NovaConnectLabelsProvider=le;exports.NovaConnectProvider=Ze;exports.NovaSiwxWatcher=ce;exports.getBlockchainUtilities=kr;exports.getEvmUtils=zr;exports.getSolanaUtils=Wr;exports.initializeBlockchainSupport=Hr;exports.isAdapterSupported=Ir;
|
|
1
|
+
'use strict';var chunkDRPEHLKF_cjs=require('./chunk-DRPEHLKF.cjs'),chunkNIHARC32_cjs=require('./chunk-NIHARC32.cjs'),chunkK44IHM6B_cjs=require('./chunk-K44IHM6B.cjs'),chunkMGBN4EIT_cjs=require('./chunk-MGBN4EIT.cjs'),chunkV6XDFRWV_cjs=require('./chunk-V6XDFRWV.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),siwxReact=require('@tuwaio/siwx-react');var Ae=({title:e,rawError:o,onCopyComplete:r,errorType:l,isConnected:t,...c})=>jsxRuntime.jsx(chunkDRPEHLKF_cjs.H,{title:e,rawError:o,onCopyComplete:r,customization:c.customization}),ke=e=>{let o=chunkNIHARC32_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":o.somethingWentWrong})},ze=(e,o)=>{e(o.title,o.rawError,o.errorKey);},We=e=>{e();},Ie=(e,o)=>{if(e&&process.env.NODE_ENV==="development"){let r=typeof o=="string"?o:o.message;console.log("Error copied to clipboard:",r.substring(0,100));}},He=e=>e,Ue=e=>e;function ie({containerId:e="nova-connect-errors",position:o="top-center",autoClose:r=7e3,draggable:l=false,customization:t}){let c=chunkNIHARC32_cjs.h(),S=chunkV6XDFRWV_cjs.d(i=>i.switchNetworkError),z=chunkV6XDFRWV_cjs.d(i=>i.activeConnection),s=chunkV6XDFRWV_cjs.d(i=>i.connectionError),{ToastError:T=Ae,Container:N=ke}=t?.components??{},{showError:m=ze,dismissError:E=We,onCopyComplete:n=Ie}=t?.handlers??{},{errorTitle:P=He,errorHash:x=Ue}=t??{},b=react.useRef(new Set),y=react.useRef(null),W=!!s,M=!!S,h=!!z?.isConnected,L=W||M,O=s||S||null,C=W?"wallet":M?"switch":null,a={hasWalletError:W,hasSwitchError:M,isConnected:h,hasAnyError:L,primaryError:O,errorType:C},I=c.somethingWentWrong;switch(a.errorType){case "wallet":I=c.connectionError;break;case "switch":I=c.errorWhenChainSwitching;break}let R=P(I,{errorType:a.errorType}),$=a.primaryError?`${a.errorType}-${a.primaryError.message.substring(0,50)}`:null,w=x($,{primaryError:a.primaryError,errorType:a.errorType}),g=react.useCallback(()=>{E(()=>{y.current&&(reactToastify.toast.dismiss(y.current),y.current=null),reactToastify.toast.dismiss({containerId:e});});},[e,E]),B=react.useCallback((i,d)=>{n(i,d,C);},[n,C]),F=react.useCallback((i,d,v)=>{if(g(),!b.current.has(v))try{let U={containerId:e,toastId:v,onClose:()=>{b.current.delete(v),y.current=null;}},J=t?.toastOptions?.error?.({title:i,rawError:d,errorType:a.errorType,isConnected:a.isConnected}),V={...U,...J};reactToastify.toast.error(jsxRuntime.jsx(T,{title:i,rawError:d,errorType:a.errorType,isConnected:a.isConnected,onCopyComplete:Q=>B(Q,d),customization:t?.toastErrorCustomization}),V),b.current.add(v),y.current=v;}catch(U){console.error("Failed to show error toast:",U);}},[g,e,t?.toastOptions?.error,t?.toastErrorCustomization,T,a.errorType,a.isConnected,B]),A=react.useCallback((i,d,v)=>{m(F,{title:i,rawError:d,errorKey:v,errorType:C});},[F,m,C]);react.useEffect(()=>{if(h&&!L){g(),b.current.clear();return}if(L&&O&&w){if(h&&C!=="switch")return;A(R,O,w);}},[L,h,O,C,R,w,A,g]),react.useEffect(()=>()=>{g(),b.current.clear();},[g]);let _=t?.classNames?.container?t.classNames.container({hasErrors:a.hasAnyError,errorType:a.errorType}):"novacon:p-0 novacon:bg-transparent",H=react.useMemo(()=>{let i=t?.toastCloseButton;return i?({closeToast:d})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:d,...i}):novaCore.ToastCloseButton},[t?.toastCloseButton]),j={...{containerId:e,position:o,closeOnClick:false,icon:false,closeButton:H,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:l,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce},...t?.containerProps,className:_};return jsxRuntime.jsx(N,{...j})}ie.displayName="ErrorsProvider";function le({labels:e,children:o}){let r=react.useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(c=>!(c in e));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkNIHARC32_cjs.g.Provider,{value:r,children:o})}le.displayName="NovaConnectLabelsProvider";function ce(e){let{enabled:o=true,verifier:r,domain:l,uri:t,statement:c,onSuccess:S,onError:z}=e,s=chunkV6XDFRWV_cjs.d(n=>n.activeConnection),{signIn:T}=siwxReact.useSiwx(),N=siwxReact.useSiwxSessionStore(n=>n.session),m=siwxReact.useSiwxSessionStore(n=>n.status),E=react.useRef(null);return react.useEffect(()=>{if(!(!o||!s?.isConnected||!s?.address||!s?.chainId)&&s.signMessage&&!(m==="building"||m==="signing"||m==="verifying"))try{let n={address:String(s.address),chainId:s.chainId,signMessage:s.signMessage,isConnected:s.isConnected},P=siwxReact.getSatelliteSiwxFields(n,{domain:l,uri:t,statement:c});if(m==="authenticated"&&N?.address===P.address||E.current===P.address)return;if(E.current=P.address,!r){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}T({signer:s.signMessage,verifier:r,fields:P,onSuccess:S,onError:z}).catch(x=>{console.warn("[NovaSiwxWatcher] SIWX authentication failed:",x);});}catch(n){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",n);}},[s?.isConnected,s?.address,s?.chainId,s?.signMessage,o,m,N?.address,r,l,t,c,T]),null}var $e=({labels:e,children:o})=>jsxRuntime.jsx(le,{labels:e,children:o}),_e=({customization:e})=>jsxRuntime.jsx(ie,{customization:e}),je=(e,o)=>novaCore.deepMerge(e,o||{}),Je=e=>e,Qe=e=>e,Ye=(e,o,r)=>e;function Ze({labels:e,children:o,appChains:r,solanaRPCUrls:l,transactionPool:t,pulsarAdapter:c,withImpersonated:S,withBalance:z,withChain:s,popularConnectors:T,customConnectorGroups:N,legal:m,siwx:E,customization:n,pagination:P}){let x=chunkV6XDFRWV_cjs.d(te=>te.activeConnection),b=chunkV6XDFRWV_cjs.d(te=>te.connectionError),{LabelsProvider:y=$e,ErrorsProvider:W=_e}=n?.components??{},{merge:M=je,transform:h=Je}=n?.labels??{},{transform:L=Qe}=n?.contextValue??{},{providerTree:O=Ye}=n?.rendering??{},C=react.useMemo(()=>M(chunkMGBN4EIT_cjs.a,e||{}),[e,M]),[a,I]=react.useState(false),[R,$]=react.useState(false),[w,g]=react.useState(false),[B,F]=react.useState(false),[A,_]=react.useState("idle"),[H,pe]=react.useState("connectors"),[j,i]=react.useState(void 0),[d,v]=react.useState(void 0),[U,J]=react.useState(""),[V,Q]=react.useState(false),[Y,we]=react.useState("main"),Se={appChains:r,solanaRPCUrls:l,withImpersonated:S,popularConnectors:T,customConnectorGroups:N,withBalance:z,withChain:s,isConnectModalOpen:a,setIsConnectModalOpen:I,isConnectedModalOpen:R,setIsConnectedModalOpen:$,isChainsListOpen:w,setIsChainsListOpen:g,isChainsListOpenMobile:B,setIsChainsListOpenMobile:F,connectedButtonStatus:A,setConnectedButtonStatus:_,connectedModalContentType:Y,setConnectedModalContentType:we,connectModalContentType:H,setConnectModalContentType:pe,selectedAdapter:j,setSelectedAdapter:i,activeConnector:d,setActiveConnector:v,impersonatedAddress:U,setImpersonatedAddress:J,isConnected:V,setIsConnected:Q,legal:m},K=react.useMemo(()=>({isConnected:V,activeConnection:x,connectionError:b,modalStates:{isConnectModalOpen:a,isConnectedModalOpen:R,isChainsListOpen:w,isChainsListOpenMobile:B},contentTypes:{connectModal:H,connectedModal:Y},statuses:{connectedButton:A}}),[V,x,b,a,R,w,B,H,Y,A]),Ne=react.useMemo(()=>h(C,K),[C,h,K]),me=L(Se,K),Z=jsxRuntime.jsx(W,{customization:n?.errors}),ee=jsxRuntime.jsx(y,{labels:Ne,children:o}),oe=r||l?jsxRuntime.jsx(chunkDRPEHLKF_cjs.G,{solanaRPCUrls:l,appChains:r,customization:n?.modals?.connectModal}):null,re=r||l?jsxRuntime.jsx(chunkDRPEHLKF_cjs.t,{solanaRPCUrls:l,appChains:r,transactionPool:t,pulsarAdapter:c,customization:n?.modals?.connectedModal,pagination:P}):null,xe=jsxRuntime.jsxs(chunkNIHARC32_cjs.c.Provider,{value:me,children:[jsxRuntime.jsx(ce,{...E}),Z,ee,oe,re]}),Me=jsxRuntime.jsxs(chunkNIHARC32_cjs.c.Provider,{value:me,children:[jsxRuntime.jsx(ce,{...E}),Z,ee,oe,re]}),Le=O(Me,{ErrorsProvider:Z,LabelsProvider:ee,MainContent:xe,ConnectModal:oe||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:re||jsxRuntime.jsx(jsxRuntime.Fragment,{})},K);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Le})}Ze.displayName="NovaConnectProvider";async function kr(){let{getAllAdaptersStatus:e}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs');return {hasEvmUtils:await q(),hasSolanaUtils:await X(),adaptersStatus:e()}}async function q(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function X(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function zr(){try{if(!await q())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let o=await import('./evm/index.cjs'),r=await o.getEvmExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"EVM utilities not available"}}}async function Wr(){try{if(!await X())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let o=await import('./solana/index.cjs'),r=await o.getSolanaExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"Solana utilities not available"}}}async function Ir(){let e={evm:false,solana:false,errors:[]};try{let o=await q(),r=await X();if(o||r){let{preloadChainAdapters:l}=await import('./getChainsListByConnectorType-QCNOPM6I.cjs'),t=[];o&&t.push(orbitCore.OrbitAdapter.EVM),r&&t.push(orbitCore.OrbitAdapter.SOLANA),await l(t),e.evm=o,e.solana=r;}else e.errors.push("No blockchain packages available for initialization");}catch(o){let r=o instanceof Error?o.message:"Unknown initialization error";e.errors.push(r);}return e}async function Hr(e){return e===orbitCore.OrbitAdapter.Starknet||e!==orbitCore.OrbitAdapter.EVM&&e!==orbitCore.OrbitAdapter.SOLANA?false:e===orbitCore.OrbitAdapter.EVM?q():X()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkNIHARC32_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkNIHARC32_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkNIHARC32_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkNIHARC32_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkNIHARC32_cjs.r}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkNIHARC32_cjs.w}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkNIHARC32_cjs.q}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkNIHARC32_cjs.u}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkNIHARC32_cjs.s}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkNIHARC32_cjs.n}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkNIHARC32_cjs.t}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkNIHARC32_cjs.v}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkNIHARC32_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkNIHARC32_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkNIHARC32_cjs.x}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkNIHARC32_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkNIHARC32_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkNIHARC32_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkNIHARC32_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkNIHARC32_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkNIHARC32_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkNIHARC32_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkNIHARC32_cjs.f}});Object.defineProperty(exports,"useNovaSiwx",{enumerable:true,get:function(){return chunkNIHARC32_cjs.p}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkNIHARC32_cjs.y}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkNIHARC32_cjs.z}});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=ie;exports.NovaConnectLabelsProvider=le;exports.NovaConnectProvider=Ze;exports.NovaSiwxWatcher=ce;exports.getBlockchainUtilities=kr;exports.getEvmUtils=zr;exports.getSolanaUtils=Wr;exports.initializeBlockchainSupport=Ir;exports.isAdapterSupported=Hr;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TuwaErrorState, OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { UseNovaSiwxOptions, WalletNameAndAvatarData, useGetWalletNameAndAvatar, useNovaSiwx, useWalletChainsList } from './hooks/index.cjs';
|
|
3
|
-
import { N as NovaConnectProviderProps, C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, b as NovaConnectProviderType, I as InitialChains } from './useWalletNativeBalance-
|
|
4
|
-
export { A as AllChainConfigs, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, h as NovaSiwxWatcher, i as NovaSiwxWatcherProps, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from './useWalletNativeBalance-
|
|
3
|
+
import { N as NovaConnectProviderProps, C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, b as NovaConnectProviderType, I as InitialChains } from './useWalletNativeBalance-B64PI3UW.cjs';
|
|
4
|
+
export { A as AllChainConfigs, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, h as NovaSiwxWatcher, i as NovaSiwxWatcherProps, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from './useWalletNativeBalance-B64PI3UW.cjs';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
7
7
|
import { ToastCloseButtonProps } from '@tuwaio/nova-core';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TuwaErrorState, OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { UseNovaSiwxOptions, WalletNameAndAvatarData, useGetWalletNameAndAvatar, useNovaSiwx, useWalletChainsList } from './hooks/index.js';
|
|
3
|
-
import { N as NovaConnectProviderProps, C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, b as NovaConnectProviderType, I as InitialChains } from './useWalletNativeBalance-
|
|
4
|
-
export { A as AllChainConfigs, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, h as NovaSiwxWatcher, i as NovaSiwxWatcherProps, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from './useWalletNativeBalance-
|
|
3
|
+
import { N as NovaConnectProviderProps, C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, b as NovaConnectProviderType, I as InitialChains } from './useWalletNativeBalance-Dq7RXM0z.js';
|
|
4
|
+
export { A as AllChainConfigs, L as LabelCategory, c as LegalConfig, d as NativeBalanceResult, e as NovaConnectLabelsContext, f as NovaConnectProviderContext, g as NovaConnectProviderError, h as NovaSiwxWatcher, i as NovaSiwxWatcherProps, W as WalletBalance, j as createLabelsSubset, k as getLabelWithFallback, l as hasLabel, m as isDefaultLabels, u as useHasNovaConnectContext, n as useLabelsByCategory, o as useNovaConnect, p as useNovaConnectLabel, q as useNovaConnectLabels, r as useNovaConnectLabelsSubset, s as useNovaConnectOptional, t as useWalletNativeBalance } from './useWalletNativeBalance-Dq7RXM0z.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
7
7
|
import { ToastCloseButtonProps } from '@tuwaio/nova-core';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {G as G$1,t,H}from'./chunk-TGWI6V2C.js';import {h,g,c}from'./chunk-BOOFGSLL.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,r as getAvailableChainIds,w as getAvailableSolanaClusters,q as getConnectChainId,u as getFilteredConnectors,s as getGroupedConnectors,n as getLabelWithFallback,t as hasAvailableConnectors,v as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,x as isValidSolanaCluster,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,y as useWalletChainsList,z as useWalletNativeBalance}from'./chunk-BOOFGSLL.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-NQ5AECZQ.js';import {d}from'./chunk-EYP534IS.js';import {OrbitAdapter}from'@tuwaio/orbit-core';import {ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {useRef,useCallback,useEffect,useMemo,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useSiwx,useSiwxSessionStore,getSatelliteSiwxFields}from'@tuwaio/siwx-react';var Ae=({title:e,rawError:o,onCopyComplete:r,errorType:i,isConnected:t,...c})=>jsx(H,{title:e,rawError:o,onCopyComplete:r,customization:c.customization}),ke=e=>{let o=h();return jsx(ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":o.somethingWentWrong})},ze=(e,o)=>{e(o.title,o.rawError,o.errorKey);},We=e=>{e();},He=(e,o)=>{if(e&&process.env.NODE_ENV==="development"){let r=typeof o=="string"?o:o.message;console.log("Error copied to clipboard:",r.substring(0,100));}},Ie=e=>e,Ve=e=>e;function ie({containerId:e="nova-connect-errors",position:o="top-center",autoClose:r=7e3,draggable:i=false,customization:t}){let c=h(),a=d(s=>s.switchNetworkError),N=d(s=>s.activeConnection),g=d(s=>s.connectionError),{ToastError:C=Ae,Container:S=ke}=t?.components??{},{showError:l=ze,dismissError:v=We,onCopyComplete:d$1=He}=t?.handlers??{},{errorTitle:X=Ie,errorHash:U=Ve}=t??{},b=useRef(new Set),y=useRef(null),k=!!g,x=!!a,h$1=!!N?.isConnected,M=k||x,L=g||a||null,f=k?"wallet":x?"switch":null,n={hasWalletError:k,hasSwitchError:x,isConnected:h$1,hasAnyError:M,primaryError:L,errorType:f},z=c.somethingWentWrong;switch(n.errorType){case "wallet":z=c.connectionError;break;case "switch":z=c.errorWhenChainSwitching;break}let O=X(z,{errorType:n.errorType}),$=n.primaryError?`${n.errorType}-${n.primaryError.message.substring(0,50)}`:null,w=U($,{primaryError:n.primaryError,errorType:n.errorType}),T=useCallback(()=>{v(()=>{y.current&&(toast.dismiss(y.current),y.current=null),toast.dismiss({containerId:e});});},[e,v]),R=useCallback((s,u)=>{d$1(s,u,f);},[d$1,f]),D=useCallback((s,u,E)=>{if(T(),!b.current.has(E))try{let H={containerId:e,toastId:E,onClose:()=>{b.current.delete(E),y.current=null;}},J=t?.toastOptions?.error?.({title:s,rawError:u,errorType:n.errorType,isConnected:n.isConnected}),I={...H,...J};toast.error(jsx(C,{title:s,rawError:u,errorType:n.errorType,isConnected:n.isConnected,onCopyComplete:Q=>R(Q,u),customization:t?.toastErrorCustomization}),I),b.current.add(E),y.current=E;}catch(H){console.error("Failed to show error toast:",H);}},[T,e,t?.toastOptions?.error,t?.toastErrorCustomization,C,n.errorType,n.isConnected,R]),B=useCallback((s,u,E)=>{l(D,{title:s,rawError:u,errorKey:E,errorType:f});},[D,l,f]);useEffect(()=>{if(h$1&&!M){T(),b.current.clear();return}if(M&&L&&w){if(h$1&&f!=="switch")return;B(O,L,w);}},[M,h$1,L,f,O,w,B,T]),useEffect(()=>()=>{T(),b.current.clear();},[T]);let _=t?.classNames?.container?t.classNames.container({hasErrors:n.hasAnyError,errorType:n.errorType}):"novacon:p-0 novacon:bg-transparent",W=useMemo(()=>{let s=t?.toastCloseButton;return s?({closeToast:u})=>jsx(ToastCloseButton,{closeToast:u,...s}):ToastCloseButton},[t?.toastCloseButton]),j={...{containerId:e,position:o,closeOnClick:false,icon:false,closeButton:W,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:i,pauseOnHover:true,theme:"light",transition:Bounce},...t?.containerProps,className:_};return jsx(S,{...j})}ie.displayName="ErrorsProvider";function le({labels:e,children:o}){let r=useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(c=>!(c in e));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:r,children:o})}le.displayName="NovaConnectLabelsProvider";function ce(e){let{enabled:o=true,verifier:r,domain:i,uri:t,statement:c}=e,a=d(l=>l.activeConnection),{signIn:N}=useSiwx(),g=useSiwxSessionStore(l=>l.session),C=useSiwxSessionStore(l=>l.status),S=useRef(null);return useEffect(()=>{if(!(!o||!a?.isConnected||!a?.address||!a?.chainId)&&a.signMessage&&!(C==="building"||C==="signing"||C==="verifying"))try{let l={address:String(a.address),chainId:a.chainId,signMessage:a.signMessage,isConnected:a.isConnected},v=getSatelliteSiwxFields(l,{domain:i,uri:t,statement:c});if(C==="authenticated"&&g?.address===v.address||S.current===v.address)return;if(S.current=v.address,!r){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}N({signer:a.signMessage,verifier:r,fields:v}).catch(d=>{console.warn("[NovaSiwxWatcher] SIWX authentication failed:",d);});}catch(l){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",l);}},[a?.isConnected,a?.address,a?.chainId,a?.signMessage,o,C,g?.address,r,i,t,c,N]),null}var $e=({labels:e,children:o})=>jsx(le,{labels:e,children:o}),_e=({customization:e})=>jsx(ie,{customization:e}),je=(e,o)=>deepMerge(e,o||{}),Je=e=>e,Qe=e=>e,Ye=(e,o,r)=>e;function Ze({labels:e,children:o,appChains:r,solanaRPCUrls:i,transactionPool:t$1,pulsarAdapter:c$1,withImpersonated:a$1,withBalance:N,withChain:g,popularConnectors:C,customConnectorGroups:S,legal:l,siwx:v,customization:d$1,pagination:X}){let U=d(te=>te.activeConnection),b=d(te=>te.connectionError),{LabelsProvider:y=$e,ErrorsProvider:k=_e}=d$1?.components??{},{merge:x=je,transform:h=Je}=d$1?.labels??{},{transform:M=Qe}=d$1?.contextValue??{},{providerTree:L=Ye}=d$1?.rendering??{},f=useMemo(()=>x(a,e||{}),[e,x]),[n,z]=useState(false),[O,$]=useState(false),[w,T]=useState(false),[R,D]=useState(false),[B,_]=useState("idle"),[W,pe]=useState("connectors"),[j,s]=useState(void 0),[u,E]=useState(void 0),[H,J]=useState(""),[I,Q]=useState(false),[Y,we]=useState("main"),Ne={appChains:r,solanaRPCUrls:i,withImpersonated:a$1,popularConnectors:C,customConnectorGroups:S,withBalance:N,withChain:g,isConnectModalOpen:n,setIsConnectModalOpen:z,isConnectedModalOpen:O,setIsConnectedModalOpen:$,isChainsListOpen:w,setIsChainsListOpen:T,isChainsListOpenMobile:R,setIsChainsListOpenMobile:D,connectedButtonStatus:B,setConnectedButtonStatus:_,connectedModalContentType:Y,setConnectedModalContentType:we,connectModalContentType:W,setConnectModalContentType:pe,selectedAdapter:j,setSelectedAdapter:s,activeConnector:u,setActiveConnector:E,impersonatedAddress:H,setImpersonatedAddress:J,isConnected:I,setIsConnected:Q,legal:l},F=useMemo(()=>({isConnected:I,activeConnection:U,connectionError:b,modalStates:{isConnectModalOpen:n,isConnectedModalOpen:O,isChainsListOpen:w,isChainsListOpenMobile:R},contentTypes:{connectModal:W,connectedModal:Y},statuses:{connectedButton:B}}),[I,U,b,n,O,w,R,W,Y,B]),Se=useMemo(()=>h(f,F),[f,h,F]),me=M(Ne,F),Z=jsx(k,{customization:d$1?.errors}),ee=jsx(y,{labels:Se,children:o}),oe=r||i?jsx(G$1,{solanaRPCUrls:i,appChains:r,customization:d$1?.modals?.connectModal}):null,re=r||i?jsx(t,{solanaRPCUrls:i,appChains:r,transactionPool:t$1,pulsarAdapter:c$1,customization:d$1?.modals?.connectedModal,pagination:X}):null,xe=jsxs(c.Provider,{value:me,children:[jsx(ce,{...v}),Z,ee,oe,re]}),Me=jsxs(c.Provider,{value:me,children:[jsx(ce,{...v}),Z,ee,oe,re]}),Le=L(Me,{ErrorsProvider:Z,LabelsProvider:ee,MainContent:xe,ConnectModal:oe||jsx(Fragment,{}),ConnectedModal:re||jsx(Fragment,{})},F);return jsx(Fragment,{children:Le})}Ze.displayName="NovaConnectProvider";async function kr(){let{getAllAdaptersStatus:e}=await import('./getChainsListByConnectorType-YZZUYC6D.js');return {hasEvmUtils:await G(),hasSolanaUtils:await q(),adaptersStatus:e()}}async function G(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function q(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function zr(){try{if(!await G())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let o=await import('./evm/index.js'),r=await o.getEvmExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"EVM utilities not available"}}}async function Wr(){try{if(!await q())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let o=await import('./solana/index.js'),r=await o.getSolanaExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"Solana utilities not available"}}}async function Hr(){let e={evm:false,solana:false,errors:[]};try{let o=await G(),r=await q();if(o||r){let{preloadChainAdapters:i}=await import('./getChainsListByConnectorType-YZZUYC6D.js'),t=[];o&&t.push(OrbitAdapter.EVM),r&&t.push(OrbitAdapter.SOLANA),await i(t),e.evm=o,e.solana=r;}else e.errors.push("No blockchain packages available for initialization");}catch(o){let r=o instanceof Error?o.message:"Unknown initialization error";e.errors.push(r);}return e}async function Ir(e){return e===OrbitAdapter.Starknet||e!==OrbitAdapter.EVM&&e!==OrbitAdapter.SOLANA?false:e===OrbitAdapter.EVM?G():q()}export{ie as ErrorsProvider,le as NovaConnectLabelsProvider,Ze as NovaConnectProvider,ce as NovaSiwxWatcher,kr as getBlockchainUtilities,zr as getEvmUtils,Wr as getSolanaUtils,Hr as initializeBlockchainSupport,Ir as isAdapterSupported};
|
|
1
|
+
import {G,t,H}from'./chunk-TGWI6V2C.js';import {h,g,c}from'./chunk-BOOFGSLL.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,r as getAvailableChainIds,w as getAvailableSolanaClusters,q as getConnectChainId,u as getFilteredConnectors,s as getGroupedConnectors,n as getLabelWithFallback,t as hasAvailableConnectors,v as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,x as isValidSolanaCluster,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,y as useWalletChainsList,z as useWalletNativeBalance}from'./chunk-BOOFGSLL.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-S3IRVZMG.js';import {a}from'./chunk-NQ5AECZQ.js';import {d}from'./chunk-EYP534IS.js';import {OrbitAdapter}from'@tuwaio/orbit-core';import {ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {useRef,useCallback,useEffect,useMemo,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useSiwx,useSiwxSessionStore,getSatelliteSiwxFields}from'@tuwaio/siwx-react';var Ae=({title:e,rawError:o,onCopyComplete:r,errorType:l,isConnected:t,...c})=>jsx(H,{title:e,rawError:o,onCopyComplete:r,customization:c.customization}),ke=e=>{let o=h();return jsx(ToastContainer,{...e,role:"alert","aria-live":"assertive","aria-label":o.somethingWentWrong})},ze=(e,o)=>{e(o.title,o.rawError,o.errorKey);},We=e=>{e();},Ie=(e,o)=>{if(e&&process.env.NODE_ENV==="development"){let r=typeof o=="string"?o:o.message;console.log("Error copied to clipboard:",r.substring(0,100));}},He=e=>e,Ue=e=>e;function ie({containerId:e="nova-connect-errors",position:o="top-center",autoClose:r=7e3,draggable:l=false,customization:t}){let c=h(),S=d(i=>i.switchNetworkError),z=d(i=>i.activeConnection),s=d(i=>i.connectionError),{ToastError:T=Ae,Container:N=ke}=t?.components??{},{showError:m=ze,dismissError:E=We,onCopyComplete:n=Ie}=t?.handlers??{},{errorTitle:P=He,errorHash:x=Ue}=t??{},b=useRef(new Set),y=useRef(null),W=!!s,M=!!S,h$1=!!z?.isConnected,L=W||M,O=s||S||null,C=W?"wallet":M?"switch":null,a={hasWalletError:W,hasSwitchError:M,isConnected:h$1,hasAnyError:L,primaryError:O,errorType:C},I=c.somethingWentWrong;switch(a.errorType){case "wallet":I=c.connectionError;break;case "switch":I=c.errorWhenChainSwitching;break}let R=P(I,{errorType:a.errorType}),$=a.primaryError?`${a.errorType}-${a.primaryError.message.substring(0,50)}`:null,w=x($,{primaryError:a.primaryError,errorType:a.errorType}),g=useCallback(()=>{E(()=>{y.current&&(toast.dismiss(y.current),y.current=null),toast.dismiss({containerId:e});});},[e,E]),B=useCallback((i,d)=>{n(i,d,C);},[n,C]),F=useCallback((i,d,v)=>{if(g(),!b.current.has(v))try{let U={containerId:e,toastId:v,onClose:()=>{b.current.delete(v),y.current=null;}},J=t?.toastOptions?.error?.({title:i,rawError:d,errorType:a.errorType,isConnected:a.isConnected}),V={...U,...J};toast.error(jsx(T,{title:i,rawError:d,errorType:a.errorType,isConnected:a.isConnected,onCopyComplete:Q=>B(Q,d),customization:t?.toastErrorCustomization}),V),b.current.add(v),y.current=v;}catch(U){console.error("Failed to show error toast:",U);}},[g,e,t?.toastOptions?.error,t?.toastErrorCustomization,T,a.errorType,a.isConnected,B]),A=useCallback((i,d,v)=>{m(F,{title:i,rawError:d,errorKey:v,errorType:C});},[F,m,C]);useEffect(()=>{if(h$1&&!L){g(),b.current.clear();return}if(L&&O&&w){if(h$1&&C!=="switch")return;A(R,O,w);}},[L,h$1,O,C,R,w,A,g]),useEffect(()=>()=>{g(),b.current.clear();},[g]);let _=t?.classNames?.container?t.classNames.container({hasErrors:a.hasAnyError,errorType:a.errorType}):"novacon:p-0 novacon:bg-transparent",H=useMemo(()=>{let i=t?.toastCloseButton;return i?({closeToast:d})=>jsx(ToastCloseButton,{closeToast:d,...i}):ToastCloseButton},[t?.toastCloseButton]),j={...{containerId:e,position:o,closeOnClick:false,icon:false,closeButton:H,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:l,pauseOnHover:true,theme:"light",transition:Bounce},...t?.containerProps,className:_};return jsx(N,{...j})}ie.displayName="ErrorsProvider";function le({labels:e,children:o}){let r=useMemo(()=>e,[e]);if(process.env.NODE_ENV==="development"){(!e||typeof e!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(c=>!(c in e));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:r,children:o})}le.displayName="NovaConnectLabelsProvider";function ce(e){let{enabled:o=true,verifier:r,domain:l,uri:t,statement:c,onSuccess:S,onError:z}=e,s=d(n=>n.activeConnection),{signIn:T}=useSiwx(),N=useSiwxSessionStore(n=>n.session),m=useSiwxSessionStore(n=>n.status),E=useRef(null);return useEffect(()=>{if(!(!o||!s?.isConnected||!s?.address||!s?.chainId)&&s.signMessage&&!(m==="building"||m==="signing"||m==="verifying"))try{let n={address:String(s.address),chainId:s.chainId,signMessage:s.signMessage,isConnected:s.isConnected},P=getSatelliteSiwxFields(n,{domain:l,uri:t,statement:c});if(m==="authenticated"&&N?.address===P.address||E.current===P.address)return;if(E.current=P.address,!r){console.warn("[NovaSiwxWatcher] Verifier not provided, skipping SIWX auto-authentication.");return}T({signer:s.signMessage,verifier:r,fields:P,onSuccess:S,onError:z}).catch(x=>{console.warn("[NovaSiwxWatcher] SIWX authentication failed:",x);});}catch(n){console.warn("[NovaSiwxWatcher] Failed to build SIWX fields:",n);}},[s?.isConnected,s?.address,s?.chainId,s?.signMessage,o,m,N?.address,r,l,t,c,T]),null}var $e=({labels:e,children:o})=>jsx(le,{labels:e,children:o}),_e=({customization:e})=>jsx(ie,{customization:e}),je=(e,o)=>deepMerge(e,o||{}),Je=e=>e,Qe=e=>e,Ye=(e,o,r)=>e;function Ze({labels:e,children:o,appChains:r,solanaRPCUrls:l,transactionPool:t$1,pulsarAdapter:c$1,withImpersonated:S,withBalance:z,withChain:s,popularConnectors:T,customConnectorGroups:N,legal:m,siwx:E,customization:n,pagination:P}){let x=d(te=>te.activeConnection),b=d(te=>te.connectionError),{LabelsProvider:y=$e,ErrorsProvider:W=_e}=n?.components??{},{merge:M=je,transform:h=Je}=n?.labels??{},{transform:L=Qe}=n?.contextValue??{},{providerTree:O=Ye}=n?.rendering??{},C=useMemo(()=>M(a,e||{}),[e,M]),[a$1,I]=useState(false),[R,$]=useState(false),[w,g]=useState(false),[B,F]=useState(false),[A,_]=useState("idle"),[H,pe]=useState("connectors"),[j,i]=useState(void 0),[d$1,v]=useState(void 0),[U,J]=useState(""),[V,Q]=useState(false),[Y,we]=useState("main"),Se={appChains:r,solanaRPCUrls:l,withImpersonated:S,popularConnectors:T,customConnectorGroups:N,withBalance:z,withChain:s,isConnectModalOpen:a$1,setIsConnectModalOpen:I,isConnectedModalOpen:R,setIsConnectedModalOpen:$,isChainsListOpen:w,setIsChainsListOpen:g,isChainsListOpenMobile:B,setIsChainsListOpenMobile:F,connectedButtonStatus:A,setConnectedButtonStatus:_,connectedModalContentType:Y,setConnectedModalContentType:we,connectModalContentType:H,setConnectModalContentType:pe,selectedAdapter:j,setSelectedAdapter:i,activeConnector:d$1,setActiveConnector:v,impersonatedAddress:U,setImpersonatedAddress:J,isConnected:V,setIsConnected:Q,legal:m},K=useMemo(()=>({isConnected:V,activeConnection:x,connectionError:b,modalStates:{isConnectModalOpen:a$1,isConnectedModalOpen:R,isChainsListOpen:w,isChainsListOpenMobile:B},contentTypes:{connectModal:H,connectedModal:Y},statuses:{connectedButton:A}}),[V,x,b,a$1,R,w,B,H,Y,A]),Ne=useMemo(()=>h(C,K),[C,h,K]),me=L(Se,K),Z=jsx(W,{customization:n?.errors}),ee=jsx(y,{labels:Ne,children:o}),oe=r||l?jsx(G,{solanaRPCUrls:l,appChains:r,customization:n?.modals?.connectModal}):null,re=r||l?jsx(t,{solanaRPCUrls:l,appChains:r,transactionPool:t$1,pulsarAdapter:c$1,customization:n?.modals?.connectedModal,pagination:P}):null,xe=jsxs(c.Provider,{value:me,children:[jsx(ce,{...E}),Z,ee,oe,re]}),Me=jsxs(c.Provider,{value:me,children:[jsx(ce,{...E}),Z,ee,oe,re]}),Le=O(Me,{ErrorsProvider:Z,LabelsProvider:ee,MainContent:xe,ConnectModal:oe||jsx(Fragment,{}),ConnectedModal:re||jsx(Fragment,{})},K);return jsx(Fragment,{children:Le})}Ze.displayName="NovaConnectProvider";async function kr(){let{getAllAdaptersStatus:e}=await import('./getChainsListByConnectorType-YZZUYC6D.js');return {hasEvmUtils:await q(),hasSolanaUtils:await X(),adaptersStatus:e()}}async function q(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function X(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function zr(){try{if(!await q())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let o=await import('./evm/index.js'),r=await o.getEvmExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"EVM utilities not available"}}}async function Wr(){try{if(!await X())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let o=await import('./solana/index.js'),r=await o.getSolanaExports();return r.available?{...o,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(e){return {available:false,error:e instanceof Error?e.message:"Solana utilities not available"}}}async function Ir(){let e={evm:false,solana:false,errors:[]};try{let o=await q(),r=await X();if(o||r){let{preloadChainAdapters:l}=await import('./getChainsListByConnectorType-YZZUYC6D.js'),t=[];o&&t.push(OrbitAdapter.EVM),r&&t.push(OrbitAdapter.SOLANA),await l(t),e.evm=o,e.solana=r;}else e.errors.push("No blockchain packages available for initialization");}catch(o){let r=o instanceof Error?o.message:"Unknown initialization error";e.errors.push(r);}return e}async function Hr(e){return e===OrbitAdapter.Starknet||e!==OrbitAdapter.EVM&&e!==OrbitAdapter.SOLANA?false:e===OrbitAdapter.EVM?q():X()}export{ie as ErrorsProvider,le as NovaConnectLabelsProvider,Ze as NovaConnectProvider,ce as NovaSiwxWatcher,kr as getBlockchainUtilities,zr as getEvmUtils,Wr as getSolanaUtils,Ir as initializeBlockchainSupport,Hr as isAdapterSupported};
|
package/dist/{useWalletNativeBalance-DEcykWOM.d.cts → useWalletNativeBalance-B64PI3UW.d.cts}
RENAMED
|
@@ -385,6 +385,10 @@ interface NovaSiwxWatcherProps extends SatelliteSiwxFieldOptions {
|
|
|
385
385
|
enabled?: boolean;
|
|
386
386
|
/** Optional backend verification callback function */
|
|
387
387
|
verifier?: UseSiwxSignInOptions['verifier'];
|
|
388
|
+
/** Optional callback triggered immediately after successful SIWX authentication */
|
|
389
|
+
onSuccess?: UseSiwxSignInOptions['onSuccess'];
|
|
390
|
+
/** Optional callback triggered if SIWX signing or verification fails */
|
|
391
|
+
onError?: UseSiwxSignInOptions['onError'];
|
|
388
392
|
}
|
|
389
393
|
/**
|
|
390
394
|
* Headless React component rendered inside `NovaConnectProvider`.
|
|
@@ -385,6 +385,10 @@ interface NovaSiwxWatcherProps extends SatelliteSiwxFieldOptions {
|
|
|
385
385
|
enabled?: boolean;
|
|
386
386
|
/** Optional backend verification callback function */
|
|
387
387
|
verifier?: UseSiwxSignInOptions['verifier'];
|
|
388
|
+
/** Optional callback triggered immediately after successful SIWX authentication */
|
|
389
|
+
onSuccess?: UseSiwxSignInOptions['onSuccess'];
|
|
390
|
+
/** Optional callback triggered if SIWX signing or verification fails */
|
|
391
|
+
onError?: UseSiwxSignInOptions['onError'];
|
|
388
392
|
}
|
|
389
393
|
/**
|
|
390
394
|
* Headless React component rendered inside `NovaConnectProvider`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/nova-connect",
|
|
3
|
-
"version": "1.0.0-fix-docs-alpha.
|
|
3
|
+
"version": "1.0.0-fix-docs-alpha.6.616af6e3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -208,11 +208,11 @@
|
|
|
208
208
|
"@tuwaio/orbit-core": "^0.2.15",
|
|
209
209
|
"@tuwaio/orbit-evm": "^0.2.21",
|
|
210
210
|
"@tuwaio/orbit-solana": "^0.2.13",
|
|
211
|
-
"@tuwaio/satellite-react": "1.0.0-fix-siwe-deprec-alpha.
|
|
212
|
-
"@tuwaio/satellite-core": "1.0.0-fix-siwe-deprec-alpha.
|
|
213
|
-
"@tuwaio/satellite-evm": "1.0.0-fix-siwe-deprec-alpha.
|
|
214
|
-
"@tuwaio/satellite-solana": "1.0.0-fix-siwe-deprec-alpha.
|
|
215
|
-
"@tuwaio/siwx-react": "1.0.0-fix-initialize-alpha.
|
|
211
|
+
"@tuwaio/satellite-react": "1.0.0-fix-siwe-deprec-alpha.7.9f4f7e3",
|
|
212
|
+
"@tuwaio/satellite-core": "1.0.0-fix-siwe-deprec-alpha.7.9f4f7e3",
|
|
213
|
+
"@tuwaio/satellite-evm": "1.0.0-fix-siwe-deprec-alpha.7.9f4f7e3",
|
|
214
|
+
"@tuwaio/satellite-solana": "1.0.0-fix-siwe-deprec-alpha.7.9f4f7e3",
|
|
215
|
+
"@tuwaio/siwx-react": "1.0.0-fix-initialize-alpha.9.ecff9ff",
|
|
216
216
|
"@tuwaio/pulsar-core": "1.0.0-fix-docs-alpha.2.819c1d9",
|
|
217
217
|
"@wallet-standard/react": "^1.0.3",
|
|
218
218
|
"@wagmi/core": "^3.6.4",
|
|
@@ -241,8 +241,8 @@
|
|
|
241
241
|
"tw-animate-css": "^1.4.0",
|
|
242
242
|
"typescript": "^6.0.3",
|
|
243
243
|
"tsup": "^8.5.1",
|
|
244
|
-
"@tuwaio/nova-core": "^1.0.0-fix-docs-alpha.
|
|
245
|
-
"@tuwaio/nova-transactions": "^1.0.0-fix-docs-alpha.
|
|
244
|
+
"@tuwaio/nova-core": "^1.0.0-fix-docs-alpha.6.616af6e3",
|
|
245
|
+
"@tuwaio/nova-transactions": "^1.0.0-fix-docs-alpha.6.616af6e3"
|
|
246
246
|
},
|
|
247
247
|
"scripts": {
|
|
248
248
|
"start": "tsup src/index.ts --watch",
|