@tuwaio/nova-transactions 1.0.0-fix-integrate-orbit-alpha.21.4b8f114 → 1.0.0-fix-integrate-orbit-alpha.23.c69d70b
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/{TransactionsInfoModal-ZGqfDAxN.d.cts → TransactionsInfoModal-BPOe6aUa.d.cts} +0 -76
- package/dist/{TransactionsInfoModal-ZGqfDAxN.d.ts → TransactionsInfoModal-BPOe6aUa.d.ts} +0 -76
- package/dist/index.cjs +15 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +282 -394
- package/dist/index.d.cts +2 -16
- package/dist/index.d.ts +2 -16
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/dist/providers/index.cjs +15 -15
- package/dist/providers/index.cjs.map +1 -1
- package/dist/providers/index.d.cts +2 -2
- package/dist/providers/index.d.ts +2 -2
- package/dist/providers/index.js +15 -15
- package/dist/providers/index.js.map +1 -1
- package/package.json +2 -2
package/dist/providers/index.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
import {createContext,useContext,useState,useRef,useMemo,useCallback,useEffect}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useMediaQuery,deepMerge,cn,Dialog,DialogContent,DialogHeader,DialogTitle,DialogClose,CloseIcon,useCopyToClipboard,textCenterEllipsis}from'@tuwaio/nova-core';import {TransactionStatus,selectAllTransactionsByActiveWallet,TransactionTracker}from'@tuwaio/pulsar-core';import {toast,ToastContainer}from'react-toastify';import {XMarkIcon,ClockIcon,ArrowPathIcon,ExclamationCircleIcon,CheckCircleIcon,ExclamationTriangleIcon,CheckIcon,DocumentDuplicateIcon,XCircleIcon,ArrowTopRightOnSquareIcon}from'@heroicons/react/24/solid';import {Web3Icon}from'@bgd-labs/react-web3-icons';import {getChainName}from'@bgd-labs/react-web3-icons/dist/utils';import {selectAdapterByKey,setChainId,OrbitAdapter}from'@tuwaio/orbit-core';import St from'dayjs';import Qe from'dayjs/plugin/relativeTime';var z={transactionsModal:{history:{title:"Transactions History",connectWalletTitle:"Connect Wallet",connectWalletMessage:"Please connect your wallet to see your past activity.",noTransactionsTitle:"No Transactions Yet",noTransactionsMessage:"Once you interact with the app, your transaction history will appear here."}},toast:{openTransactionsInfo:"Open transactions"},statuses:{pending:"Pending",success:"Success",failed:"Failed",reverted:"Reverted",replaced:"Replaced",unknown:"Unknown",confirmationsLabel:"Confirmations"},hashLabels:{gelato:"Gelato Task ID",safe:"Safe Tx Hash",original:"Original Tx Hash",replaced:"Replaced Tx Hash",default:"Tx Hash",recentBlockhash:"Recent Blockhash",solana:"Signature"},txInfo:{started:"Started",network:"Network",slot:"Slot"},txError:{title:"Error",copied:"Copied!"},trackingModal:{title:"Transaction Overview",processing:"Processing...",close:"Close",allTransactions:"All transactions",retry:"Retry",progressIndicator:{created:"Created",processing:"Processing",succeed:"Succeed"}},trackedTxButton:{loading:"Processing...",succeed:"Success",failed:"Failed",replaced:"Replaced"},actions:{copy:"Copy address",viewOnExplorer:"View on explorer",close:"Close",cancel:"Cancel",speedUp:"Speed up"}};var nt=createContext(z),it=({labels:t,children:e})=>jsx(nt.Provider,{value:t,children:e}),m=()=>useContext(nt);function E({label:t,hash:e,explorerUrl:r,variant:s="default",className:n}){let{isCopied:l,copy:c}=useCopyToClipboard(),{actions:i,txError:p}=m(),o=cn("flex items-center justify-between",{"text-sm":s==="default","text-xs":s==="compact"},n),a=cn("pr-1",{"font-bold text-[var(--tuwa-text-primary)]":s==="default","font-medium text-[var(--tuwa-text-secondary)]":s==="compact"}),d=jsx("span",{className:"font-mono",children:textCenterEllipsis(e,5,5)});return jsxs("div",{className:o,children:[t&&jsxs("span",{className:a,children:[t,":"]}),jsxs("div",{className:"flex items-center gap-x-2",children:[r?jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-x-1 text-[var(--tuwa-text-accent)] transition-colors hover:underline",title:i.viewOnExplorer,"aria-label":i.viewOnExplorer,children:[d,jsx(ArrowTopRightOnSquareIcon,{className:"h-4 w-4"})]}):jsx("span",{className:"text-[var(--tuwa-text-primary)]",children:d}),jsx("button",{type:"button",onClick:()=>c(e),className:"cursor-pointer text-[var(--tuwa-text-tertiary)] transition-colors hover:text-[var(--tuwa-text-secondary)]",title:l?p.copied:i.copy,"aria-label":l?p.copied:i.copy,children:l?jsx(CheckIcon,{className:"h-4 w-4 text-[var(--tuwa-success-icon)]"}):jsx(DocumentDuplicateIcon,{className:"h-4 w-4"})})]})]})}var lt={[TransactionStatus.Success]:{index:1,colorClass:"text-[var(--tuwa-success-text)]"},[TransactionStatus.Failed]:{index:2,colorClass:"text-[var(--tuwa-error-text)]"},[TransactionStatus.Replaced]:{index:3,colorClass:"text-[var(--tuwa-text-secondary)]"},default:{index:0,colorClass:"text-[var(--tuwa-text-primary)]"}};function A({txStatus:t,source:e,fallback:r,variant:s,className:n,applyColor:l=false}){let c,i="";if(typeof e=="string")c=e;else if(Array.isArray(e)){let a=lt[t||"default"]??lt.default;c=e[a.index],l&&(i=a.colorClass);}else c=r;return c?jsx("div",{className:cn(s==="title"?"text-sm font-semibold text-[var(--tuwa-text-primary)]":"mt-1 text-xs text-[var(--tuwa-text-secondary)]",i,n),children:c}):null}function dt({closeToast:t}){let{actions:e}=m();return jsx("button",{type:"button",onClick:t,"aria-label":e.close,title:e.close,className:cn("absolute top-2 right-2 cursor-pointer rounded-full p-1","text-[var(--tuwa-text-tertiary)] transition-colors","hover:bg-[var(--tuwa-bg-muted)] hover:text-[var(--tuwa-text-primary)]"),children:jsx(XMarkIcon,{className:"h-5 w-5"})})}function R({tx:t,adapter:e,variant:r="toast",className:s,renderHashLink:n,confirmations:l}){let{hashLabels:c,statuses:i}=m(),p=selectAdapterByKey({adapterKey:t.adapter,adapter:e});if(!p)return null;let o=T=>n?n(T):jsx(E,{...T}),a=r==="toast"?"mt-2 flex w-full flex-col gap-y-2 border-t border-[var(--tuwa-border-primary)] pt-2":"flex w-full flex-col gap-y-2",d=c[String(t.tracker)],x=d?o({label:d,hash:t.txKey,variant:t.tracker!==TransactionTracker.Solana?"compact":"default",explorerUrl:p.getExplorerTxUrl&&t.tracker===TransactionTracker.Solana?p?.getExplorerTxUrl(t):void 0}):null,C=(()=>{let T=t.hash,f=t.replacedTxHash;return !T&&!f?null:f?jsxs(Fragment,{children:[T&&o({label:c.original,hash:T,variant:"compact"}),typeof p.getExplorerTxUrl<"u"&&o({label:c.replaced,hash:f,explorerUrl:p.getExplorerTxUrl(t)})]}):T&&typeof p.getExplorerTxUrl<"u"&&o({label:c.default,hash:T,explorerUrl:p.getExplorerTxUrl(t)})})(),g=d&&d!==c.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(a,s),children:[g&&x,C,typeof l=="number"&&jsxs("p",{className:"text-xs text-[var(--tuwa-text-tertiary)]",children:[i.confirmationsLabel,": ",l]})]})}var re=t=>({Pending:{label:t.pending,Icon:ArrowPathIcon,badgeClasses:"bg-[var(--tuwa-pending-bg)] text-[var(--tuwa-pending-text)]",iconClasses:"animate-spin text-[var(--tuwa-pending-icon)]"},[TransactionStatus.Success]:{label:t.success,Icon:CheckCircleIcon,badgeClasses:"bg-[var(--tuwa-success-bg)] text-[var(--tuwa-success-text)]",iconClasses:"text-[var(--tuwa-success-icon)]"},[TransactionStatus.Failed]:{label:t.failed,Icon:XCircleIcon,badgeClasses:"bg-[var(--tuwa-error-bg)] text-[var(--tuwa-error-text)]",iconClasses:"text-[var(--tuwa-error-icon)]"},[TransactionStatus.Replaced]:{label:t.replaced,Icon:ArrowPathIcon,badgeClasses:"bg-[var(--tuwa-info-bg)] text-[var(--tuwa-info-text)]",iconClasses:"text-[var(--tuwa-info-icon)]"}});function _({tx:t,className:e}){let{statuses:r}=m(),s=useMemo(()=>re(r),[r]),n="inline-flex items-center gap-x-1.5 rounded-full px-2 py-1 text-xs font-medium",l=t.pending?"Pending":t.status,c=l?s[l]:null;if(!c)return jsx("div",{className:cn(n,"bg-[var(--tuwa-info-bg)] text-[var(--tuwa-info-text)]",e),children:t.status??r.unknown});let{label:i,Icon:p,badgeClasses:o,iconClasses:a}=c;return jsxs("div",{className:cn(n,o,e),children:[jsx(p,{className:cn("h-4 w-4",a)}),i]})}var pe=({onClick:t,children:e})=>jsx("button",{onClick:t,type:"button",className:"cursor-pointer text-sm font-medium text-[var(--tuwa-text-accent)] transition-opacity hover:opacity-80",children:e}),de=({onClick:t,children:e})=>jsx("button",{onClick:t,type:"button",className:"cursor-pointer text-sm font-medium text-[var(--tuwa-text-secondary)] transition-opacity hover:opacity-80",children:e}),ue=({onClick:t,children:e})=>jsx("button",{className:"cursor-pointer rounded-md bg-gradient-to-r from-[var(--tuwa-button-gradient-from)] to-[var(--tuwa-button-gradient-to)] px-3 py-1 text-xs font-bold text-[var(--tuwa-text-on-accent)] shadow-lg transition-all duration-200 ease-in-out hover:shadow-xl hover:from-[var(--tuwa-button-gradient-from-hover)] hover:to-[var(--tuwa-button-gradient-to-hover)] active:scale-95",onClick:t,type:"button",children:e});function xt({openTxInfoModal:t,tx:e,icon:r,className:s,customization:n,connectedWalletAddress:l,adapter:c}){let{actions:i,toast:p}=m(),o=selectAdapterByKey({adapterKey:e.adapter,adapter:c}),a=!!(e.tracker==="ethereum"&&e.pending&&o?.speedUpTxAction&&o?.cancelTxAction&&e.from.toLowerCase()===l?.toLowerCase()),d=()=>{a&&o.cancelTxAction(e);},x=()=>{a&&o.speedUpTxAction(e);},{StatusAwareText:C=A,TransactionKey:g=R,StatusBadge:T=_,SpeedUpButton:f=pe,CancelButton:S=de,TxInfoButton:v=ue}=n?.components??{};return jsxs("div",{className:cn("flex w-full flex-col gap-3 rounded-lg bg-[var(--tuwa-bg-primary)] p-4 shadow-md",s),children:[jsxs("div",{className:"flex items-center gap-3",children:[jsx("div",{className:"w-[40px] flex-shrink-0 [&>img]:w-full [&>img]:h-auto",title:getChainName(setChainId(e.chainId)),children:r??jsx(Web3Icon,{chainId:setChainId(e.chainId)})}),jsxs("div",{className:"flex-1",children:[jsx(C,{txStatus:e.status,source:e.title,fallback:e.type,variant:"title",applyColor:true}),jsx(C,{txStatus:e.status,source:e.description,variant:"description"})]})]}),jsxs("div",{children:[jsx(g,{adapter:c,tx:e,variant:"toast"}),jsxs("div",{className:"mt-3 flex items-center justify-between",children:[jsx(T,{tx:e}),a?jsxs("div",{className:"flex items-center gap-4",children:[jsx(f,{onClick:x,children:i.speedUp}),jsx(S,{onClick:d,children:i.cancel})]}):t&&!!l&&jsx(v,{onClick:t,children:p.openTransactionsInfo})]})]})]})}function bt({adapter:t,onClose:e,onOpenAllTransactions:r,className:s,customization:n,transactionsPool:l,executeTxAction:c,initialTx:i,connectedWalletAddress:p}){let o=useMemo(()=>i?.lastTxKey?l[i.lastTxKey]:void 0,[l,i]),a=o??i,d=i?.withTrackedModal&&!o||(o?.isTrackedModalOpen??false),{isProcessing:x,isSucceed:C,isFailed:g,isReplaced:T}=useMemo(()=>{let H=o?.status,Et=i?.isInitializing??false,Ot=o?.pending??false;return {isProcessing:Et||Ot,isSucceed:H===TransactionStatus.Success,isFailed:o?.isError||!!i?.errorMessage,isReplaced:H===TransactionStatus.Replaced}},[o,i]),f=useMemo(()=>a?selectAdapterByKey({adapterKey:a.adapter,adapter:t}):void 0,[a,t]),S=!!(g&&a&&i?.actionFunction&&c),v=!!(f?.speedUpTxAction&&f?.cancelTxAction&&o?.pending&&o.tracker==="ethereum"),U=()=>{if(!S||!f?.retryTxAction)return;let H={adapter:a.adapter,type:a.type,desiredChainID:"desiredChainID"in a?a.desiredChainID:a.chainId,actionFunction:i?.actionFunction,title:a.title,description:a.description,payload:a.payload,rpcUrl:"rpcUrl"in a?a?.rpcUrl:"desiredChainID"in a?a.desiredChainID:a.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in a?a.withTrackedModal:false};f.retryTxAction({tx:H,txKey:o?.txKey??"",onClose:e,executeTxAction:c});},F=()=>{v&&o&&f.cancelTxAction(o);},y=()=>{v&&o&&f.speedUpTxAction(o);},h=n?.components?.Header,I=n?.components?.Footer,W=n?.components?.StatusVisual,at=n?.components?.ProgressIndicator,rt=n?.components?.InfoBlock,st=n?.components?.ErrorBlock;return a?jsx(Dialog,{open:d,onOpenChange:H=>!H&&e(o?.txKey),children:jsx(DialogContent,{className:cn("w-full sm:max-w-md",n?.modalProps?.className),...n?.modalProps,children:jsxs("div",{className:cn("relative flex w-full flex-col",s),children:[h?jsx(h,{onClose:()=>e(o?.txKey),title:jsx(yt,{tx:a})}):jsx(be,{onClose:()=>e(o?.txKey),title:jsx(yt,{tx:a})}),jsxs("main",{className:"flex flex-col gap-4 p-4",children:[W?jsx(W,{isProcessing:x,isSucceed:C,isFailed:g,isReplaced:T}):jsx(Pt,{isProcessing:x,isSucceed:C,isFailed:g,isReplaced:T}),at?jsx(at,{isProcessing:x,isSucceed:C,isFailed:g,isReplaced:T}):jsx(ht,{isProcessing:x,isSucceed:C,isFailed:g,isReplaced:T}),rt?jsx(rt,{tx:a,adapter:t}):jsx(wt,{tx:a,adapter:t}),st?jsx(st,{error:o?.errorMessage||i?.errorMessage}):jsx(Ct,{error:o?.errorMessage||i?.errorMessage})]}),I?jsx(I,{onClose:()=>e(o?.txKey),onOpenAllTransactions:r,isProcessing:x,isFailed:g,canReplace:v,onRetry:S?U:void 0,onSpeedUp:v?y:void 0,onCancel:v?F:void 0,connectedWalletAddress:p}):jsx(Ce,{onClose:()=>e(o?.txKey),onOpenAllTransactions:r,isProcessing:x,isFailed:g,canReplace:v,onRetry:S?U:void 0,onSpeedUp:v?y:void 0,onCancel:v?F:void 0,connectedWalletAddress:p})]})})}):null}function yt({tx:t}){return jsx(A,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:"text-lg"})}var be=({onClose:t,title:e})=>{let{actions:r}=m();return jsxs(DialogHeader,{children:[jsx(DialogTitle,{children:e}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:()=>t(),"aria-label":r.close,className:`cursor-pointer rounded-full p-1
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
text-[var(--tuwa-text-tertiary)] transition-colors
|
15
|
-
hover:bg-[var(--tuwa-bg-muted)] hover:text-[var(--tuwa-text-primary)]`,children:jsx(CloseIcon,{})})})]})};function Lt({isOpen:t,setIsOpen:
|
1
|
+
import {createContext,useContext,useState,useRef,useMemo,useCallback,useEffect}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useMediaQuery,deepMerge,cn,Dialog,DialogContent,DialogHeader,DialogTitle,DialogClose,CloseIcon,useCopyToClipboard,textCenterEllipsis}from'@tuwaio/nova-core';import {TransactionStatus,selectAllTransactionsByActiveWallet,TransactionTracker}from'@tuwaio/pulsar-core';import {toast,ToastContainer}from'react-toastify';import {XMarkIcon,ClockIcon,ArrowPathIcon,ExclamationCircleIcon,CheckCircleIcon,ExclamationTriangleIcon,CheckIcon,DocumentDuplicateIcon,XCircleIcon,ArrowTopRightOnSquareIcon}from'@heroicons/react/24/solid';import {Web3Icon}from'@bgd-labs/react-web3-icons';import {getChainName}from'@bgd-labs/react-web3-icons/dist/utils';import {selectAdapterByKey,setChainId,OrbitAdapter}from'@tuwaio/orbit-core';import St from'dayjs';import Zo from'dayjs/plugin/relativeTime';var z={transactionsModal:{history:{title:"Transactions History",connectWalletTitle:"Connect Wallet",connectWalletMessage:"Please connect your wallet to see your past activity.",noTransactionsTitle:"No Transactions Yet",noTransactionsMessage:"Once you interact with the app, your transaction history will appear here."}},toast:{openTransactionsInfo:"Open transactions"},statuses:{pending:"Pending",success:"Success",failed:"Failed",reverted:"Reverted",replaced:"Replaced",unknown:"Unknown",confirmationsLabel:"Confirmations"},hashLabels:{gelato:"Gelato Task ID",safe:"Safe Tx Hash",original:"Original Tx Hash",replaced:"Replaced Tx Hash",default:"Tx Hash",recentBlockhash:"Recent Blockhash",solana:"Signature"},txInfo:{started:"Started",network:"Network",slot:"Slot"},txError:{title:"Error",copied:"Copied!"},trackingModal:{title:"Transaction Overview",processing:"Processing...",close:"Close",allTransactions:"All transactions",retry:"Retry",progressIndicator:{created:"Created",processing:"Processing",succeed:"Succeed"}},trackedTxButton:{loading:"Processing...",succeed:"Success",failed:"Failed",replaced:"Replaced"},actions:{copy:"Copy address",viewOnExplorer:"View on explorer",close:"Close",cancel:"Cancel",speedUp:"Speed up"}};var st=createContext(z),it=({labels:t,children:o})=>jsx(st.Provider,{value:t,children:o}),v=()=>useContext(st);function E({label:t,hash:o,explorerUrl:n,variant:r="default",className:s}){let{isCopied:l,copy:c}=useCopyToClipboard(),{actions:i,txError:p}=v(),a=cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":r==="default","novatx:text-xs":r==="compact"},s),e=cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":r==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":r==="compact"}),x=jsx("span",{className:"novatx:font-mono",children:textCenterEllipsis(o,5,5)});return jsxs("div",{className:a,children:[t&&jsxs("span",{className:e,children:[t,":"]}),jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-x-2",children:[n?jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"novatx:flex novatx:items-center novatx:gap-x-1 novatx:text-[var(--tuwa-text-accent)] novatx:transition-colors novatx:hover:underline",title:i.viewOnExplorer,"aria-label":i.viewOnExplorer,children:[x,jsx(ArrowTopRightOnSquareIcon,{className:"novatx:h-4 novatx:w-4"})]}):jsx("span",{className:"novatx:text-[var(--tuwa-text-primary)]",children:x}),jsx("button",{type:"button",onClick:()=>c(o),className:"novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",title:l?p.copied:i.copy,"aria-label":l?p.copied:i.copy,children:l?jsx(CheckIcon,{className:"novatx:h-4 novatx:w-4 novatx:text-[var(--tuwa-success-icon)]"}):jsx(DocumentDuplicateIcon,{className:"novatx:h-4 novatx:w-4"})})]})]})}var lt={[TransactionStatus.Success]:{index:1,colorClass:"novatx:text-[var(--tuwa-success-text)]"},[TransactionStatus.Failed]:{index:2,colorClass:"novatx:text-[var(--tuwa-error-text)]"},[TransactionStatus.Replaced]:{index:3,colorClass:"novatx:text-[var(--tuwa-text-secondary)]"},default:{index:0,colorClass:"novatx:text-[var(--tuwa-text-primary)]"}};function A({txStatus:t,source:o,fallback:n,variant:r,className:s,applyColor:l=false}){let c,i="";if(typeof o=="string")c=o;else if(Array.isArray(o)){let e=lt[t||"default"]??lt.default;c=o[e.index],l&&(i=e.colorClass);}else c=n;return c?jsx("div",{className:cn(r==="title"?"novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",i,s),children:c}):null}function xt({closeToast:t}){let{actions:o}=v();return jsx("button",{type:"button",onClick:t,"aria-label":o.close,title:o.close,className:cn("novatx:absolute novatx:top-2 novatx:right-2 novatx:cursor-pointer novatx:rounded-full novatx:p-1","novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors","novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]"),children:jsx(XMarkIcon,{className:"novatx:h-5 novatx:w-5"})})}function R({tx:t,adapter:o,variant:n="toast",className:r,renderHashLink:s,confirmations:l}){let{hashLabels:c,statuses:i}=v(),p=selectAdapterByKey({adapterKey:t.adapter,adapter:o});if(!p)return null;let a=m=>s?s(m):jsx(E,{...m}),e=n==="toast"?"novatx:mt-2 novatx:flex novatx:w-full novatx:flex-col novatx:gap-y-2 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-2":"novatx:flex novatx:w-full novatx:flex-col novatx:gap-y-2",x=c[String(t.tracker)],f=x?a({label:x,hash:t.txKey,variant:t.tracker!==TransactionTracker.Solana?"compact":"default",explorerUrl:p.getExplorerTxUrl&&t.tracker===TransactionTracker.Solana?p?.getExplorerTxUrl(t):void 0}):null,C=(()=>{let m=t.hash,u=t.replacedTxHash;return !m&&!u?null:u?jsxs(Fragment,{children:[m&&a({label:c.original,hash:m,variant:"compact"}),typeof p.getExplorerTxUrl<"u"&&a({label:c.replaced,hash:u,explorerUrl:p.getExplorerTxUrl(t)})]}):m&&typeof p.getExplorerTxUrl<"u"&&a({label:c.default,hash:m,explorerUrl:p.getExplorerTxUrl(t)})})(),T=x&&x!==c.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(e,r),children:[T&&f,C,typeof l=="number"&&jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[i.confirmationsLabel,": ",l]})]})}var no=t=>({Pending:{label:t.pending,Icon:ArrowPathIcon,badgeClasses:"novatx:bg-[var(--tuwa-pending-bg)] novatx:text-[var(--tuwa-pending-text)]",iconClasses:"novatx:animate-spin novatx:text-[var(--tuwa-pending-icon)]"},[TransactionStatus.Success]:{label:t.success,Icon:CheckCircleIcon,badgeClasses:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",iconClasses:"novatx:text-[var(--tuwa-success-icon)]"},[TransactionStatus.Failed]:{label:t.failed,Icon:XCircleIcon,badgeClasses:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]",iconClasses:"novatx:text-[var(--tuwa-error-icon)]"},[TransactionStatus.Replaced]:{label:t.replaced,Icon:ArrowPathIcon,badgeClasses:"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",iconClasses:"novatx:text-[var(--tuwa-info-icon)]"}});function _({tx:t,className:o}){let{statuses:n}=v(),r=useMemo(()=>no(n),[n]),s="novatx:inline-flex novatx:items-center novatx:gap-x-1.5 novatx:rounded-full novatx:px-2 novatx:py-1 novatx:text-xs novatx:font-medium",l=t.pending?"Pending":t.status,c=l?r[l]:null;if(!c)return jsx("div",{className:cn(s,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",o),children:t.status??n.unknown});let{label:i,Icon:p,badgeClasses:a,iconClasses:e}=c;return jsxs("div",{className:cn(s,a,o),children:[jsx(p,{className:cn("novatx:h-4 novatx:w-4",e)}),i]})}var po=({onClick:t,children:o})=>jsx("button",{onClick:t,type:"button",className:"novatx:cursor-pointer novatx:text-sm novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",children:o}),xo=({onClick:t,children:o})=>jsx("button",{onClick:t,type:"button",className:"novatx:cursor-pointer novatx:text-sm novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",children:o}),vo=({onClick:t,children:o})=>jsx("button",{className:"novatx:cursor-pointer novatx:rounded-md novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:px-3 novatx:py-1 novatx:text-xs novatx:font-bold novatx:text-[var(--tuwa-text-on-accent)] novatx:shadow-lg novatx:transition-all novatx:duration-200 novatx:ease-in-out novatx:hover:shadow-xl novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)] novatx:active:scale-95",onClick:t,type:"button",children:o});function ft({openTxInfoModal:t,tx:o,icon:n,className:r,customization:s,connectedWalletAddress:l,adapter:c}){let{actions:i,toast:p}=v(),a=selectAdapterByKey({adapterKey:o.adapter,adapter:c}),e=!!(o.tracker==="ethereum"&&o.pending&&a?.speedUpTxAction&&a?.cancelTxAction&&o.from.toLowerCase()===l?.toLowerCase()),x=()=>{e&&a.cancelTxAction(o);},f=()=>{e&&a.speedUpTxAction(o);},{StatusAwareText:C=A,TransactionKey:T=R,StatusBadge:m=_,SpeedUpButton:u=po,CancelButton:S=xo,TxInfoButton:g=vo}=s?.components??{};return jsxs("div",{className:cn("novatx:flex novatx:w-full novatx:flex-col novatx:gap-3 novatx:rounded-lg novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",r),children:[jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsx("div",{className:"novatx:w-[40px] novatx:flex-shrink-0 [&>img]:novatx:w-full [&>img]:novatx:h-auto",title:getChainName(setChainId(o.chainId)),children:n??jsx(Web3Icon,{chainId:setChainId(o.chainId)})}),jsxs("div",{className:"novatx:flex-1",children:[jsx(C,{txStatus:o.status,source:o.title,fallback:o.type,variant:"title",applyColor:true}),jsx(C,{txStatus:o.status,source:o.description,variant:"description"})]})]}),jsxs("div",{children:[jsx(T,{adapter:c,tx:o,variant:"toast"}),jsxs("div",{className:"novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",children:[jsx(m,{tx:o}),e?jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:[jsx(u,{onClick:f,children:i.speedUp}),jsx(S,{onClick:x,children:i.cancel})]}):t&&!!l&&jsx(g,{onClick:t,children:p.openTransactionsInfo})]})]})]})}function bt({adapter:t,onClose:o,onOpenAllTransactions:n,className:r,customization:s,transactionsPool:l,executeTxAction:c,initialTx:i,connectedWalletAddress:p}){let a=useMemo(()=>i?.lastTxKey?l[i.lastTxKey]:void 0,[l,i]),e=a??i,x=i?.withTrackedModal&&!a||(a?.isTrackedModalOpen??false),{isProcessing:f,isSucceed:C,isFailed:T,isReplaced:m}=useMemo(()=>{let H=a?.status,Et=i?.isInitializing??false,Ot=a?.pending??false;return {isProcessing:Et||Ot,isSucceed:H===TransactionStatus.Success,isFailed:a?.isError||!!i?.errorMessage,isReplaced:H===TransactionStatus.Replaced}},[a,i]),u=useMemo(()=>e?selectAdapterByKey({adapterKey:e.adapter,adapter:t}):void 0,[e,t]),S=!!(T&&e&&i?.actionFunction&&c),g=!!(u?.speedUpTxAction&&u?.cancelTxAction&&a?.pending&&a.tracker==="ethereum"),U=()=>{if(!S||!u?.retryTxAction)return;let H={adapter:e.adapter,type:e.type,desiredChainID:"desiredChainID"in e?e.desiredChainID:e.chainId,actionFunction:i?.actionFunction,title:e.title,description:e.description,payload:e.payload,rpcUrl:"rpcUrl"in e?e?.rpcUrl:"desiredChainID"in e?e.desiredChainID:e.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in e?e.withTrackedModal:false};u.retryTxAction({tx:H,txKey:a?.txKey??"",onClose:o,executeTxAction:c});},F=()=>{g&&a&&u.cancelTxAction(a);},y=()=>{g&&a&&u.speedUpTxAction(a);},h=s?.components?.Header,I=s?.components?.Footer,W=s?.components?.StatusVisual,et=s?.components?.ProgressIndicator,nt=s?.components?.InfoBlock,rt=s?.components?.ErrorBlock;return e?jsx(Dialog,{open:x,onOpenChange:H=>!H&&o(a?.txKey),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-md",s?.modalProps?.className),...s?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",r),children:[h?jsx(h,{onClose:()=>o(a?.txKey),title:jsx(yt,{tx:e})}):jsx(Co,{onClose:()=>o(a?.txKey),title:jsx(yt,{tx:e})}),jsxs("main",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[W?jsx(W,{isProcessing:f,isSucceed:C,isFailed:T,isReplaced:m}):jsx(Pt,{isProcessing:f,isSucceed:C,isFailed:T,isReplaced:m}),et?jsx(et,{isProcessing:f,isSucceed:C,isFailed:T,isReplaced:m}):jsx(ht,{isProcessing:f,isSucceed:C,isFailed:T,isReplaced:m}),nt?jsx(nt,{tx:e,adapter:t}):jsx(wt,{tx:e,adapter:t}),rt?jsx(rt,{error:a?.errorMessage||i?.errorMessage}):jsx(Ct,{error:a?.errorMessage||i?.errorMessage})]}),I?jsx(I,{onClose:()=>o(a?.txKey),onOpenAllTransactions:n,isProcessing:f,isFailed:T,canReplace:g,onRetry:S?U:void 0,onSpeedUp:g?y:void 0,onCancel:g?F:void 0,connectedWalletAddress:p}):jsx(wo,{onClose:()=>o(a?.txKey),onOpenAllTransactions:n,isProcessing:f,isFailed:T,canReplace:g,onRetry:S?U:void 0,onSpeedUp:g?y:void 0,onCancel:g?F:void 0,connectedWalletAddress:p})]})})}):null}function yt({tx:t}){return jsx(A,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:"novatx:text-lg"})}var Co=({onClose:t,title:o})=>{let{actions:n}=v();return jsxs(DialogHeader,{children:[jsx(DialogTitle,{children:o}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:()=>t(),"aria-label":n.close,className:`novatx:cursor-pointer novatx:rounded-full novatx:p-1
|
2
|
+
novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors
|
3
|
+
novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]`,children:jsx(CloseIcon,{})})})]})},wo=({onClose:t,onOpenAllTransactions:o,isProcessing:n,onRetry:r,onSpeedUp:s,onCancel:l,canReplace:c,isFailed:i,connectedWalletAddress:p})=>{let{trackingModal:a,actions:e}=v(),x=()=>i&&r?jsx("button",{type:"button",onClick:r,className:`novatx:cursor-pointer novatx:rounded-t-md novatx:sm:rounded-md
|
4
|
+
novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)]
|
5
|
+
novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-text-on-accent)] novatx:transition-opacity
|
6
|
+
novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)]`,children:a.retry}):!n&&!c&&p?jsx("button",{type:"button",onClick:o,className:`novatx:cursor-pointer novatx:rounded-md
|
7
|
+
novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]
|
8
|
+
novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]`,children:a.allTransactions}):null;return jsxs("footer",{className:`novatx:flex novatx:w-full novatx:items-center novatx:justify-between
|
9
|
+
novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:p-4`,children:[jsx("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:c&&s&&l&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:s,className:`novatx:cursor-pointer novatx:text-sm novatx:font-medium
|
10
|
+
novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80`,children:e.speedUp}),jsx("button",{type:"button",onClick:l,className:`novatx:cursor-pointer novatx:text-sm novatx:font-medium
|
11
|
+
novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80`,children:e.cancel})]})}),jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsx(x,{}),jsx("button",{type:"button",onClick:t,disabled:n&&!c,className:`novatx:cursor-pointer novatx:rounded-md novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-semibold
|
12
|
+
novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]
|
13
|
+
novatx:disabled:cursor-not-allowed novatx:disabled:opacity-50`,children:n&&!c?a.processing:a.close})]})]})};function Ct({error:t,className:o}){let{isCopied:n,copy:r}=useCopyToClipboard(),{actions:s,txError:l}=v();return t?jsxs("div",{className:cn("novatx:rounded-lg novatx:border novatx:border-[var(--tuwa-error-icon)]/30 novatx:bg-[var(--tuwa-error-bg)] novatx:p-3 novatx:text-sm",o),children:[jsxs("div",{className:"novatx:mb-2 novatx:flex novatx:items-center novatx:justify-between",children:[jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-2 novatx:font-bold novatx:text-[var(--tuwa-error-icon)]",children:[jsx(ExclamationTriangleIcon,{className:"novatx:h-5 novatx:w-5"}),jsx("span",{children:l.title})]}),jsx("button",{type:"button",onClick:()=>r(t),title:n?l.copied:s.copy,"aria-label":n?l.copied:`${s.copy} error message`,className:"novatx:cursor-pointer novatx:text-[var(--tuwa-error-icon)]/50 novatx:transition-colors novatx:hover:text-[var(--tuwa-error-icon)]",children:n?jsx(CheckIcon,{className:"novatx:h-5 novatx:w-5 novatx:text-[var(--tuwa-success-icon)]"}):jsx(DocumentDuplicateIcon,{className:"novatx:h-5 novatx:w-5"})})]}),jsx("div",{className:"novatx:max-h-24 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-primary)] novatx:p-2",children:jsx("p",{className:"novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)] novatx:break-all",children:t})})]}):null}function Ko({label:t,value:o}){return jsxs("div",{className:"novatx:flex novatx:items-center novatx:justify-between novatx:text-sm",children:[jsx("span",{className:"novatx:text-[var(--tuwa-text-secondary)]",children:t}),jsx("span",{className:"novatx:font-medium novatx:text-[var(--tuwa-text-primary)]",children:o})]})}function wt({tx:t,adapter:o,className:n,customization:r}){let{txInfo:s,statuses:l,hashLabels:c}=v(),i=selectAdapterByKey({adapterKey:t.adapter,adapter:o});if(!i)return null;let{InfoRow:p=Ko}=r?.components??{},a="chainId"in t?t.chainId:t.desiredChainID,e=t.adapter===OrbitAdapter.SOLANA,x=e?t:void 0;return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-3 novatx:rounded-lg novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-3",n),children:[jsx(p,{label:s.network,value:jsxs("div",{className:"novatx:flex novatx:items-center novatx:justify-end novatx:gap-2",children:[jsx("div",{className:"novatx:h-4 novatx:w-4",children:jsx(Web3Icon,{chainId:setChainId(a)})}),jsx("span",{children:getChainName(setChainId(a))})]})}),t.localTimestamp&&jsx(p,{label:s.started,value:St.unix(t.localTimestamp).format("MMM D, HH:mm:ss")}),e&&jsxs(Fragment,{children:[x?.slot&&jsx(p,{label:s.slot,value:jsx(E,{hash:x.slot.toString(),explorerUrl:i?.getExplorerUrl?`${i?.getExplorerUrl(`/block/${x.slot}`)}`:void 0})}),(typeof x?.confirmations=="number"||typeof x?.confirmations=="string")&&jsx(p,{label:l.confirmationsLabel,value:x.confirmations}),x?.recentBlockhash&&jsx(p,{label:c.recentBlockhash,value:jsx(E,{hash:x.recentBlockhash})})]}),"txKey"in t&&t.txKey&&jsx("div",{className:"novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-3",children:jsx(R,{tx:t,adapter:o,variant:"history",renderHashLink:r?.components?.transactionKey})})]})}var Wo={completed:{line:"novatx:bg-[var(--tuwa-success-icon)]",border:"novatx:border-[var(--tuwa-success-icon)]",fill:"novatx:bg-[var(--tuwa-success-icon)]"},error:{line:"novatx:bg-[var(--tuwa-error-icon)]",border:"novatx:border-[var(--tuwa-error-icon)]",fill:"novatx:bg-[var(--tuwa-error-icon)]"},replaced:{line:"novatx:bg-[var(--tuwa-info-icon)]",border:"novatx:border-[var(--tuwa-info-icon)]",fill:"novatx:bg-[var(--tuwa-info-icon)]"},active:{line:"novatx:bg-[var(--tuwa-pending-icon)]",border:"novatx:border-[var(--tuwa-pending-icon)]",fill:"novatx:bg-transparent",pulse:"novatx:bg-[var(--tuwa-pending-icon)]"},inactive:{line:"novatx:bg-[var(--tuwa-border-primary)]",border:"novatx:border-[var(--tuwa-border-primary)]",fill:"novatx:bg-transparent"}};function zo({status:t,label:o,isFirst:n=false}){let r=Wo[t],s=()=>{switch(t){case "completed":return jsx(CheckIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "error":return jsx(ExclamationTriangleIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "replaced":return jsx(ArrowPathIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "active":return jsx("div",{className:cn("novatx:h-2 novatx:w-2 novatx:animate-pulse novatx:rounded-full",r.pulse)});default:return null}};return jsxs("div",{className:"novatx:relative novatx:flex novatx:min-w-[80px] novatx:flex-1 novatx:flex-col novatx:items-center",children:[!n&&jsx("div",{className:cn("novatx:absolute novatx:right-1/2 novatx:top-[10px] novatx:h-0.5 novatx:w-full",r.line)}),jsx("div",{className:cn("novatx:relative novatx:z-10 novatx:flex novatx:h-5 novatx:w-5 novatx:items-center novatx:justify-center novatx:rounded-full novatx:border-2",r.border,r.fill),children:s()}),jsx("span",{className:cn("novatx:mt-2 novatx:text-center novatx:text-xs",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]"),children:o})]})}function ht({isProcessing:t,isSucceed:o,isFailed:n,isReplaced:r,className:s,StepComponent:l=zo}){let{trackingModal:c,statuses:i}=v(),p=useMemo(()=>{let a=x=>{if(x===1)return "completed";if(x===2){if(o||n||r)return "completed";if(t)return "active"}if(x===3){if(o)return "completed";if(n)return "error";if(r)return "replaced";if(t)return "active"}return "inactive"},e=x=>x===1?c.progressIndicator.created:x===2?c.progressIndicator.processing:n?i.failed:r?i.replaced:c.progressIndicator.succeed;return [{status:a(1),label:e(1),isFirst:true},{status:a(2),label:e(2)},{status:a(3),label:e(3),isLast:true}]},[t,o,n,r,c,i]);return jsx("div",{className:cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",s),children:p.map((a,e)=>jsx(l,{...a},e))})}var Yo={succeed:{Icon:CheckCircleIcon,className:"novatx:text-[var(--tuwa-success-icon)]"},failed:{Icon:ExclamationCircleIcon,className:"novatx:text-[var(--tuwa-error-icon)]"},replaced:{Icon:ArrowPathIcon,className:"novatx:text-[var(--tuwa-info-icon)]"},processing:{Icon:ArrowPathIcon,className:"novatx:animate-spin novatx:text-[var(--tuwa-text-accent)]"},initializing:{Icon:ClockIcon,className:"novatx:animate-pulse novatx:text-[var(--tuwa-pending-icon)]"}};function Pt({isProcessing:t,isSucceed:o,isFailed:n,isReplaced:r}){let s=o&&"succeed"||n&&"failed"||r&&"replaced"||t&&"processing"||"initializing",{Icon:l,className:c}=Yo[s];return jsx("div",{className:"novatx:flex novatx:justify-center novatx:py-4",children:jsx(l,{className:cn("novatx:h-16 novatx:w-16",c)})})}St.extend(Zo);var jo=({chainId:t})=>jsx("div",{className:"novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",children:jsx(Web3Icon,{chainId:setChainId(t)})}),ta=({timestamp:t})=>jsx("span",{className:"novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",children:t?St.unix(t).fromNow():"..."});function At({tx:t,adapter:o,className:n,customization:r}){let{Icon:s=jo,Title:l=A,Description:c=A,Timestamp:i=ta,StatusBadge:p=_,TransactionKey:a=R}=r?.components??{};return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-2 novatx:border-b novatx:border-[var(--tuwa-border-secondary)] novatx:p-3 novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-secondary)]",n),children:[jsxs("div",{className:"novatx:flex novatx:items-start novatx:justify-between",children:[jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:[jsx("div",{className:"novatx:flex novatx:h-10 novatx:w-10 novatx:flex-shrink-0 novatx:items-center novatx:justify-center novatx:rounded-full novatx:bg-[var(--tuwa-bg-muted)]",children:jsx(s,{chainId:t.chainId})}),jsxs("div",{children:[jsx(l,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true}),jsx(i,{timestamp:t.localTimestamp}),jsx(c,{txStatus:t.status,source:t.description,variant:"description"})]})]}),jsx(p,{tx:t})]}),jsx(a,{tx:t,adapter:o,variant:"history"})]})}function ea({title:t,message:o,className:n}){return jsxs("div",{className:cn("novatx:rounded-lg novatx:bg-[var(--tuwa-bg-muted)] novatx:p-8 novatx:text-center",n),children:[jsx("h4",{className:"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]",children:t}),jsx("p",{className:"novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",children:o})]})}function Bt({adapter:t,connectedWalletAddress:o,transactionsPool:n,className:r,customization:s}){let{transactionsModal:l}=v(),c=useMemo(()=>o?selectAllTransactionsByActiveWallet(n,o).sort((x,f)=>(f.localTimestamp??0)-(x.localTimestamp??0)):[],[n,o]),{Placeholder:i=ea,HistoryItem:p=At}=s?.components??{},a=()=>o?c.length>0?jsx("div",{className:cn("NovaCustomScroll novatx:max-h-[400px] novatx:overflow-y-auto novatx:rounded-lg novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)]",s?.classNames?.listWrapper),children:c.map(e=>jsx(p,{tx:e,adapter:t},e.txKey))}):jsx(i,{title:l.history.noTransactionsTitle,message:l.history.noTransactionsMessage}):jsx(i,{title:l.history.connectWalletTitle,message:l.history.connectWalletMessage});return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-y-3",r),children:[s?.title&&jsx("h3",{className:"novatx:text-lg novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:s?.title}),a()]})}var pa=({closeModal:t,title:o})=>{let{actions:n}=v();return jsxs(DialogHeader,{children:[jsx(DialogTitle,{children:o}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:t,"aria-label":n.close,className:`novatx:cursor-pointer novatx:rounded-full novatx:p-1
|
14
|
+
novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors
|
15
|
+
novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]`,children:jsx(CloseIcon,{})})})]})};function Lt({isOpen:t,setIsOpen:o,customization:n,adapter:r,connectedWalletAddress:s,transactionsPool:l}){let{transactionsModal:c}=v(),i=()=>o(false),p=n?.components?.Header,a=n?.components?.History;return jsx(Dialog,{open:t,onOpenChange:e=>!e&&i(),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-2xl",n?.modalProps?.className),...n?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:max-h-[95dvh] novatx:w-full novatx:flex novatx:flex-col",n?.classNames?.contentWrapper),children:[p?jsx(p,{closeModal:i}):jsx(pa,{closeModal:i,title:c.history.title}),a?jsx(a,{adapter:r,transactionsPool:l,connectedWalletAddress:s}):jsx(Bt,{adapter:r,transactionsPool:l,connectedWalletAddress:s})]})})})}var Ta={[TransactionStatus.Success]:"success",[TransactionStatus.Failed]:"error",[TransactionStatus.Replaced]:"info"};function Xr({adapter:t,connectedWalletAddress:o,connectedAdapterType:n,transactionsPool:r,initialTx:s,executeTxAction:l,closeTxTrackedModal:c,labels:i,features:p,customization:a,...e}){let[x,f]=useState(false),C=useRef(r),T="nova-transactions",m=useMediaQuery("(max-width: 767px)"),u=useMemo(()=>({toasts:p?.toasts??true,transactionsModal:p?.transactionsModal??true,trackingTxModal:p?.trackingTxModal??true}),[p]),S=useMemo(()=>deepMerge(z,i||{}),[i]),g=useCallback(y=>{if(!u.toasts)return;let h=y.pending?"info":Ta[y.status]??"info",I=W=>jsx(ft,{...W,tx:y,openTxInfoModal:u.transactionsModal?()=>f(true):void 0,customization:a?.toast,adapter:t,connectedWalletAddress:o});toast.isActive(y.txKey)?toast.update(y.txKey,{render:I,type:h,containerId:T}):toast(I,{toastId:y.txKey,type:h,closeOnClick:false,containerId:T});},[r,u,a?.toast,t,o]);useEffect(()=>{let y=C.current;Object.values(r).forEach(h=>{let I=y[h.txKey];if(!I&&h.pending){g(h);return}I&&JSON.stringify(I)!==JSON.stringify(h)&&g(h);}),C.current=r;},[r,g]),useEffect(()=>{Object.values(r).forEach(y=>{toast.isActive(y.txKey,T)&&g(y);});},[o,g,r]);let U=!!s?.withTrackedModal&&r[s?.lastTxKey??""]?.isTrackedModalOpen,F=u.toasts&&(!m||!U&&!x);return jsxs(it,{labels:S,children:[F&&jsx(ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:xt,containerId:T,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...e}),u.transactionsModal&&jsx(Lt,{isOpen:x,setIsOpen:f,customization:a?.transactionsInfoModal,adapter:t,connectedWalletAddress:o,connectedAdapterType:n,transactionsPool:r}),u.trackingTxModal&&jsx(bt,{initialTx:s,onClose:c,onOpenAllTransactions:()=>f(true),transactionsPool:r,customization:a?.trackingTxModal,executeTxAction:l,adapter:t,connectedWalletAddress:o})]})}export{it as LabelsProvider,Xr as NovaProvider,v as useLabels};//# sourceMappingURL=index.js.map
|
16
16
|
//# sourceMappingURL=index.js.map
|