@tuwaio/nova-transactions 1.0.0-fix-integrate-orbit-alpha.27.5a66ae1 → 1.0.0-fix-integrate-orbit-alpha.28.5540261

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/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TuwaLabels } from './TransactionsInfoModal-BPOe6aUa.cjs';
2
- export { a as HashLink, H as HashLinkProps, b as StatusAwareText, S as StatusAwareTextProps, o as StepProps, n as StepStatus, e as ToastTransaction, c as ToastTransactionCustomization, d as ToastTransactionProps, h as TrackingTxModal, f as TrackingTxModalCustomization, g as TrackingTxModalProps, v as TransactionHistoryItem, t as TransactionHistoryItemCustomization, u as TransactionHistoryItemProps, x as TransactionKey, w as TransactionKeyProps, F as TransactionStatusBadge, E as TransactionStatusBadgeProps, A as TransactionsHistory, y as TransactionsHistoryCustomization, z as TransactionsHistoryProps, D as TransactionsInfoModal, B as TransactionsInfoModalCustomization, C as TransactionsInfoModalProps, j as TxErrorBlock, i as TxErrorBlockProps, m as TxInfoBlock, k as TxInfoBlockCustomization, l as TxInfoBlockProps, q as TxProgressIndicator, p as TxProgressIndicatorProps, s as TxStatusVisual, r as TxStatusVisualProps } from './TransactionsInfoModal-BPOe6aUa.cjs';
1
+ import { N as NovaTransactionsLabels } from './TransactionsInfoModal-6RO18o9e.cjs';
2
+ export { a as HashLink, H as HashLinkProps, b as StatusAwareText, S as StatusAwareTextProps, n as StepProps, m as StepStatus, d as ToastTransaction, T as ToastTransactionCustomization, c as ToastTransactionProps, g as TrackingTxModal, e as TrackingTxModalCustomization, f as TrackingTxModalProps, u as TransactionHistoryItem, s as TransactionHistoryItemCustomization, t as TransactionHistoryItemProps, w as TransactionKey, v as TransactionKeyProps, E as TransactionStatusBadge, D as TransactionStatusBadgeProps, z as TransactionsHistory, x as TransactionsHistoryCustomization, y as TransactionsHistoryProps, C as TransactionsInfoModal, A as TransactionsInfoModalCustomization, B as TransactionsInfoModalProps, i as TxErrorBlock, h as TxErrorBlockProps, l as TxInfoBlock, j as TxInfoBlockCustomization, k as TxInfoBlockProps, p as TxProgressIndicator, o as TxProgressIndicatorProps, r as TxStatusVisual, q as TxStatusVisualProps } from './TransactionsInfoModal-6RO18o9e.cjs';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { Transaction, TransactionPool } from '@tuwaio/pulsar-core';
5
5
  import { ButtonHTMLAttributes, ReactNode } from 'react';
@@ -8,25 +8,6 @@ import '@tuwaio/orbit-core';
8
8
  import 'react-toastify';
9
9
  import 'framer-motion';
10
10
 
11
- /**
12
- * @file This file contains a reusable close button component, designed primarily for toast notifications.
13
- */
14
- /**
15
- * Defines the props for the ToastCloseButton component.
16
- */
17
- type ToastCloseButtonProps = {
18
- /**
19
- * The function to call when the button is clicked. This is typically provided by the
20
- * toast library (e.g., react-toastify) to dismiss the notification.
21
- */
22
- closeToast?: (e: React.MouseEvent<HTMLElement>) => void;
23
- };
24
- /**
25
- * A simple, styled close button component ('X' icon) intended for use within toast notifications.
26
- * It uses theme-aware CSS variables for styling and i18n labels for accessibility.
27
- */
28
- declare function ToastCloseButton({ closeToast }: ToastCloseButtonProps): react_jsx_runtime.JSX.Element;
29
-
30
11
  type TxActionButtonProps<T extends Transaction> = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> & {
31
12
  children: ReactNode;
32
13
  action: () => Promise<void>;
@@ -51,6 +32,6 @@ declare function TxActionButton<T extends Transaction>({ children, action, getLa
51
32
  * This object implements the `TuwaLabels` type and can be used as a template
52
33
  * for creating other language translations.
53
34
  */
54
- declare const defaultLabels: TuwaLabels;
35
+ declare const defaultLabels: NovaTransactionsLabels;
55
36
 
56
- export { ToastCloseButton, type ToastCloseButtonProps, TuwaLabels, TxActionButton, type TxActionButtonProps, defaultLabels };
37
+ export { NovaTransactionsLabels, TxActionButton, type TxActionButtonProps, defaultLabels };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TuwaLabels } from './TransactionsInfoModal-BPOe6aUa.js';
2
- export { a as HashLink, H as HashLinkProps, b as StatusAwareText, S as StatusAwareTextProps, o as StepProps, n as StepStatus, e as ToastTransaction, c as ToastTransactionCustomization, d as ToastTransactionProps, h as TrackingTxModal, f as TrackingTxModalCustomization, g as TrackingTxModalProps, v as TransactionHistoryItem, t as TransactionHistoryItemCustomization, u as TransactionHistoryItemProps, x as TransactionKey, w as TransactionKeyProps, F as TransactionStatusBadge, E as TransactionStatusBadgeProps, A as TransactionsHistory, y as TransactionsHistoryCustomization, z as TransactionsHistoryProps, D as TransactionsInfoModal, B as TransactionsInfoModalCustomization, C as TransactionsInfoModalProps, j as TxErrorBlock, i as TxErrorBlockProps, m as TxInfoBlock, k as TxInfoBlockCustomization, l as TxInfoBlockProps, q as TxProgressIndicator, p as TxProgressIndicatorProps, s as TxStatusVisual, r as TxStatusVisualProps } from './TransactionsInfoModal-BPOe6aUa.js';
1
+ import { N as NovaTransactionsLabels } from './TransactionsInfoModal-6RO18o9e.js';
2
+ export { a as HashLink, H as HashLinkProps, b as StatusAwareText, S as StatusAwareTextProps, n as StepProps, m as StepStatus, d as ToastTransaction, T as ToastTransactionCustomization, c as ToastTransactionProps, g as TrackingTxModal, e as TrackingTxModalCustomization, f as TrackingTxModalProps, u as TransactionHistoryItem, s as TransactionHistoryItemCustomization, t as TransactionHistoryItemProps, w as TransactionKey, v as TransactionKeyProps, E as TransactionStatusBadge, D as TransactionStatusBadgeProps, z as TransactionsHistory, x as TransactionsHistoryCustomization, y as TransactionsHistoryProps, C as TransactionsInfoModal, A as TransactionsInfoModalCustomization, B as TransactionsInfoModalProps, i as TxErrorBlock, h as TxErrorBlockProps, l as TxInfoBlock, j as TxInfoBlockCustomization, k as TxInfoBlockProps, p as TxProgressIndicator, o as TxProgressIndicatorProps, r as TxStatusVisual, q as TxStatusVisualProps } from './TransactionsInfoModal-6RO18o9e.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { Transaction, TransactionPool } from '@tuwaio/pulsar-core';
5
5
  import { ButtonHTMLAttributes, ReactNode } from 'react';
@@ -8,25 +8,6 @@ import '@tuwaio/orbit-core';
8
8
  import 'react-toastify';
9
9
  import 'framer-motion';
10
10
 
11
- /**
12
- * @file This file contains a reusable close button component, designed primarily for toast notifications.
13
- */
14
- /**
15
- * Defines the props for the ToastCloseButton component.
16
- */
17
- type ToastCloseButtonProps = {
18
- /**
19
- * The function to call when the button is clicked. This is typically provided by the
20
- * toast library (e.g., react-toastify) to dismiss the notification.
21
- */
22
- closeToast?: (e: React.MouseEvent<HTMLElement>) => void;
23
- };
24
- /**
25
- * A simple, styled close button component ('X' icon) intended for use within toast notifications.
26
- * It uses theme-aware CSS variables for styling and i18n labels for accessibility.
27
- */
28
- declare function ToastCloseButton({ closeToast }: ToastCloseButtonProps): react_jsx_runtime.JSX.Element;
29
-
30
11
  type TxActionButtonProps<T extends Transaction> = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> & {
31
12
  children: ReactNode;
32
13
  action: () => Promise<void>;
@@ -51,6 +32,6 @@ declare function TxActionButton<T extends Transaction>({ children, action, getLa
51
32
  * This object implements the `TuwaLabels` type and can be used as a template
52
33
  * for creating other language translations.
53
34
  */
54
- declare const defaultLabels: TuwaLabels;
35
+ declare const defaultLabels: NovaTransactionsLabels;
55
36
 
56
- export { ToastCloseButton, type ToastCloseButtonProps, TuwaLabels, TxActionButton, type TxActionButtonProps, defaultLabels };
37
+ export { NovaTransactionsLabels, TxActionButton, type TxActionButtonProps, defaultLabels };
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
- import {ArrowTopRightOnSquareIcon,CheckIcon,DocumentDuplicateIcon,XMarkIcon,ArrowPathIcon,XCircleIcon,CheckCircleIcon,ExclamationTriangleIcon,ClockIcon,ExclamationCircleIcon}from'@heroicons/react/24/solid';import {useCopyToClipboard,cn,textCenterEllipsis,Dialog,DialogContent,DialogHeader,DialogTitle,DialogClose,CloseIcon}from'@tuwaio/nova-core';import {createContext,useContext,useMemo,useState,useEffect}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {TransactionStatus,TransactionTracker,selectAllTransactionsByActiveWallet}from'@tuwaio/pulsar-core';import'react-toastify';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 kt from'dayjs';import ta from'dayjs/plugin/relativeTime';var J={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 Ut=createContext(J);var v=()=>useContext(Ut);({[TransactionStatus.Success]:"success",[TransactionStatus.Failed]:"error",[TransactionStatus.Replaced]:"info"});function D({label:t,hash:o,explorerUrl:n,variant:c="default",className:r}){let{isCopied:l,copy:i}=useCopyToClipboard(),{actions:s,txError:p}=v(),a=cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":c==="default","novatx:text-xs":c==="compact"},r),e=cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":c==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":c==="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:s.viewOnExplorer,"aria-label":s.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:()=>i(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:s.copy,"aria-label":l?p.copied:s.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 xt={[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 S({txStatus:t,source:o,fallback:n,variant:c,className:r,applyColor:l=false}){let i,s="";if(typeof o=="string")i=o;else if(Array.isArray(o)){let e=xt[t||"default"]??xt.default;i=o[e.index],l&&(s=e.colorClass);}else i=n;return i?jsx("div",{className:cn(c==="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)]",s,r),children:i}):null}function Ft({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 L({tx:t,adapter:o,variant:n="toast",className:c,renderHashLink:r,confirmations:l}){let{hashLabels:i,statuses:s}=v(),p=selectAdapterByKey({adapterKey:t.adapter,adapter:o});if(!p)return null;let a=f=>r?r(f):jsx(D,{...f}),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=i[String(t.tracker)],g=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,u=(()=>{let f=t.hash,T=t.replacedTxHash;return !f&&!T?null:T?jsxs(Fragment,{children:[f&&a({label:i.original,hash:f,variant:"compact"}),typeof p.getExplorerTxUrl<"u"&&a({label:i.replaced,hash:T,explorerUrl:p.getExplorerTxUrl(t)})]}):f&&typeof p.getExplorerTxUrl<"u"&&a({label:i.default,hash:f,explorerUrl:p.getExplorerTxUrl(t)})})(),m=x&&x!==i.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(e,c),children:[m&&g,u,typeof l=="number"&&jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[s.confirmationsLabel,": ",l]})]})}var so=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 F({tx:t,className:o}){let{statuses:n}=v(),c=useMemo(()=>so(n),[n]),r="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,i=l?c[l]:null;if(!i)return jsx("div",{className:cn(r,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",o),children:t.status??n.unknown});let{label:s,Icon:p,badgeClasses:a,iconClasses:e}=i;return jsxs("div",{className:cn(r,a,o),children:[jsx(p,{className:cn("novatx:h-4 novatx:w-4",e)}),s]})}var vo=({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}),uo=({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}),mo=({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 Wt({openTxInfoModal:t,tx:o,icon:n,className:c,customization:r,connectedWalletAddress:l,adapter:i}){let{actions:s,toast:p}=v(),a=selectAdapterByKey({adapterKey:o.adapter,adapter:i}),e=!!(o.tracker==="ethereum"&&o.pending&&a?.speedUpTxAction&&a?.cancelTxAction&&o.from.toLowerCase()===l?.toLowerCase()&&["metamask"].includes(o.walletType.split(":")[1])),x=()=>{e&&a.cancelTxAction(o);},g=()=>{e&&a.speedUpTxAction(o);},{StatusAwareText:u=S,TransactionKey:m=L,StatusBadge:f=F,SpeedUpButton:T=vo,CancelButton:w=uo,TxInfoButton:k=mo}=r?.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",c),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(u,{txStatus:o.status,source:o.title,fallback:o.type,variant:"title",applyColor:true}),jsx(u,{txStatus:o.status,source:o.description,variant:"description"})]})]}),jsxs("div",{children:[jsx(m,{adapter:i,tx:o,variant:"toast"}),jsxs("div",{className:"novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",children:[jsx(f,{tx:o}),e?jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:[jsx(T,{onClick:g,children:s.speedUp}),jsx(w,{onClick:x,children:s.cancel})]}):t&&!!l&&jsx(k,{onClick:t,children:p.openTransactionsInfo})]})]})]})}function zt({adapter:t,onClose:o,onOpenAllTransactions:n,className:c,customization:r,transactionsPool:l,executeTxAction:i,initialTx:s,connectedWalletAddress:p}){let a=useMemo(()=>s?.lastTxKey?l[s.lastTxKey]:void 0,[l,s]),e=a??s,x=s?.withTrackedModal&&!a||(a?.isTrackedModalOpen??false),{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}=useMemo(()=>{let M=a?.status,Kt=s?.isInitializing??false,Dt=a?.pending??false;return {isProcessing:Kt||Dt,isSucceed:M===TransactionStatus.Success,isFailed:a?.isError||!!s?.errorMessage,isReplaced:M===TransactionStatus.Replaced}},[a,s]),T=useMemo(()=>e?selectAdapterByKey({adapterKey:e.adapter,adapter:t}):void 0,[e,t]),w=!!(m&&e&&s?.actionFunction&&i),k=!!(T?.speedUpTxAction&&T?.cancelTxAction&&a?.pending&&a.tracker==="ethereum"),O=()=>{if(!w||!T?.retryTxAction)return;let M={adapter:e.adapter,type:e.type,desiredChainID:"desiredChainID"in e?e.desiredChainID:e.chainId,actionFunction:s?.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};T.retryTxAction({tx:M,txKey:a?.txKey??"",onClose:o,executeTxAction:i});},b=k&&a&&["metamask"].includes(a?.walletType.split(":")[1]),at=()=>{b&&T.cancelTxAction(a);},et=()=>{b&&T.speedUpTxAction(a);},nt=r?.components?.Header,rt=r?.components?.Footer,st=r?.components?.StatusVisual,it=r?.components?.ProgressIndicator,ct=r?.components?.InfoBlock,lt=r?.components?.ErrorBlock;return e?jsx(Dialog,{open:x,onOpenChange:M=>!M&&o(a?.txKey),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-md",r?.modalProps?.className),...r?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",c),children:[nt?jsx(nt,{onClose:()=>o(a?.txKey),title:jsx(yt,{tx:e})}):jsx(ho,{onClose:()=>o(a?.txKey),title:jsx(yt,{tx:e})}),jsxs("main",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[st?jsx(st,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}):jsx(ht,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}),it?jsx(it,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}):jsx(wt,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}),ct?jsx(ct,{tx:e,adapter:t}):jsx(Ct,{tx:e,adapter:t}),lt?jsx(lt,{error:a?.errorMessage||s?.errorMessage}):jsx(bt,{error:a?.errorMessage||s?.errorMessage})]}),rt?jsx(rt,{onClose:()=>o(a?.txKey),onOpenAllTransactions:n,isProcessing:g,isFailed:m,canReplace:k,onRetry:w?O:void 0,onSpeedUp:b?et:void 0,onCancel:b?at:void 0,connectedWalletAddress:p}):jsx(Po,{onClose:()=>o(a?.txKey),onOpenAllTransactions:n,isProcessing:g,isFailed:m,canReplace:k,onRetry:w?O:void 0,onSpeedUp:b?et:void 0,onCancel:b?at:void 0,connectedWalletAddress:p})]})})}):null}function yt({tx:t}){return jsx(S,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:"novatx:text-lg"})}var ho=({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
1
+ import {ArrowTopRightOnSquareIcon,CheckIcon,DocumentDuplicateIcon,ArrowPathIcon,XCircleIcon,CheckCircleIcon,ExclamationTriangleIcon,ClockIcon,ExclamationCircleIcon}from'@heroicons/react/24/solid';import {useCopyToClipboard,cn,textCenterEllipsis,Dialog,DialogContent,DialogHeader,DialogTitle,DialogClose,CloseIcon}from'@tuwaio/nova-core';import {createContext,useContext,useMemo,useState,useEffect}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {TransactionStatus,TransactionTracker,selectAllTransactionsByActiveWallet}from'@tuwaio/pulsar-core';import'react-toastify';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 It from'dayjs';import Qo from'dayjs/plugin/relativeTime';var J={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 Et=createContext(J);var v=()=>useContext(Et);({[TransactionStatus.Success]:"success",[TransactionStatus.Failed]:"error",[TransactionStatus.Replaced]:"info"});function D({label:t,hash:o,explorerUrl:n,variant:c="default",className:r}){let{isCopied:l,copy:s}=useCopyToClipboard(),{actions:i,txError:p}=v(),a=cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":c==="default","novatx:text-xs":c==="compact"},r),e=cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":c==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":c==="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:()=>s(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 xt={[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 S({txStatus:t,source:o,fallback:n,variant:c,className:r,applyColor:l=false}){let s,i="";if(typeof o=="string")s=o;else if(Array.isArray(o)){let e=xt[t||"default"]??xt.default;s=o[e.index],l&&(i=e.colorClass);}else s=n;return s?jsx("div",{className:cn(c==="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,r),children:s}):null}function R({tx:t,adapter:o,variant:n="toast",className:c,renderHashLink:r,confirmations:l}){let{hashLabels:s,statuses:i}=v(),p=selectAdapterByKey({adapterKey:t.adapter,adapter:o});if(!p)return null;let a=f=>r?r(f):jsx(D,{...f}),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=s[String(t.tracker)],g=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,u=(()=>{let f=t.hash,T=t.replacedTxHash;return !f&&!T?null:T?jsxs(Fragment,{children:[f&&a({label:s.original,hash:f,variant:"compact"}),typeof p.getExplorerTxUrl<"u"&&a({label:s.replaced,hash:T,explorerUrl:p.getExplorerTxUrl(t)})]}):f&&typeof p.getExplorerTxUrl<"u"&&a({label:s.default,hash:f,explorerUrl:p.getExplorerTxUrl(t)})})(),m=x&&x!==s.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(e,c),children:[m&&g,u,typeof l=="number"&&jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[i.confirmationsLabel,": ",l]})]})}var ao=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 F({tx:t,className:o}){let{statuses:n}=v(),c=useMemo(()=>ao(n),[n]),r="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,s=l?c[l]:null;if(!s)return jsx("div",{className:cn(r,"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}=s;return jsxs("div",{className:cn(r,a,o),children:[jsx(p,{className:cn("novatx:h-4 novatx:w-4",e)}),i]})}var co=({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}),lo=({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}),po=({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 Ut({openTxInfoModal:t,tx:o,icon:n,className:c,customization:r,connectedWalletAddress:l,adapter:s}){let{actions:i,toast:p}=v(),a=selectAdapterByKey({adapterKey:o.adapter,adapter:s}),e=!!(o.tracker==="ethereum"&&o.pending&&a?.speedUpTxAction&&a?.cancelTxAction&&o.from.toLowerCase()===l?.toLowerCase()&&["metamask"].includes(o.walletType.split(":")[1])),x=()=>{e&&a.cancelTxAction(o);},g=()=>{e&&a.speedUpTxAction(o);},{StatusAwareText:u=S,TransactionKey:m=R,StatusBadge:f=F,SpeedUpButton:T=co,CancelButton:w=lo,TxInfoButton:k=po}=r?.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",c),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(u,{txStatus:o.status,source:o.title,fallback:o.type,variant:"title",applyColor:true}),jsx(u,{txStatus:o.status,source:o.description,variant:"description"})]})]}),jsxs("div",{children:[jsx(m,{adapter:s,tx:o,variant:"toast"}),jsxs("div",{className:"novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",children:[jsx(f,{tx:o}),e?jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:[jsx(T,{onClick:g,children:i.speedUp}),jsx(w,{onClick:x,children:i.cancel})]}):t&&!!l&&jsx(k,{onClick:t,children:p.openTransactionsInfo})]})]})]})}function Ft({adapter:t,onClose:o,onOpenAllTransactions:n,className:c,customization:r,transactionsPool:l,executeTxAction:s,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:g,isSucceed:u,isFailed:m,isReplaced:f}=useMemo(()=>{let M=a?.status,Lt=i?.isInitializing??false,Kt=a?.pending??false;return {isProcessing:Lt||Kt,isSucceed:M===TransactionStatus.Success,isFailed:a?.isError||!!i?.errorMessage,isReplaced:M===TransactionStatus.Replaced}},[a,i]),T=useMemo(()=>e?selectAdapterByKey({adapterKey:e.adapter,adapter:t}):void 0,[e,t]),w=!!(m&&e&&i?.actionFunction&&s),k=!!(T?.speedUpTxAction&&T?.cancelTxAction&&a?.pending&&a.tracker==="ethereum"),E=()=>{if(!w||!T?.retryTxAction)return;let M={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};T.retryTxAction({tx:M,txKey:a?.txKey??"",onClose:o,executeTxAction:s});},b=k&&a&&["metamask"].includes(a?.walletType.split(":")[1]),at=()=>{b&&T.cancelTxAction(a);},et=()=>{b&&T.speedUpTxAction(a);},nt=r?.components?.Header,rt=r?.components?.Footer,st=r?.components?.StatusVisual,it=r?.components?.ProgressIndicator,ct=r?.components?.InfoBlock,lt=r?.components?.ErrorBlock;return e?jsx(Dialog,{open:x,onOpenChange:M=>!M&&o(a?.txKey),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-md",r?.modalProps?.className),...r?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",c),children:[nt?jsx(nt,{onClose:()=>o(a?.txKey),title:jsx(gt,{tx:e})}):jsx(yo,{onClose:()=>o(a?.txKey),title:jsx(gt,{tx:e})}),jsxs("main",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[st?jsx(st,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}):jsx(wt,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}),it?jsx(it,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}):jsx(Ct,{isProcessing:g,isSucceed:u,isFailed:m,isReplaced:f}),ct?jsx(ct,{tx:e,adapter:t}):jsx(bt,{tx:e,adapter:t}),lt?jsx(lt,{error:a?.errorMessage||i?.errorMessage}):jsx(yt,{error:a?.errorMessage||i?.errorMessage})]}),rt?jsx(rt,{onClose:()=>o(a?.txKey),onOpenAllTransactions:n,isProcessing:g,isFailed:m,canReplace:k,onRetry:w?E:void 0,onSpeedUp:b?et:void 0,onCancel:b?at:void 0,connectedWalletAddress:p}):jsx(Co,{onClose:()=>o(a?.txKey),onOpenAllTransactions:n,isProcessing:g,isFailed:m,canReplace:k,onRetry:w?E:void 0,onSpeedUp:b?et:void 0,onCancel:b?at:void 0,connectedWalletAddress:p})]})})}):null}function gt({tx:t}){return jsx(S,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:"novatx:text-lg"})}var yo=({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
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,{})})})]})},Po=({onClose:t,onOpenAllTransactions:o,isProcessing:n,onRetry:c,onSpeedUp:r,onCancel:l,canReplace:i,isFailed:s,connectedWalletAddress:p})=>{let{trackingModal:a,actions:e}=v(),x=()=>s&&c?jsx("button",{type:"button",onClick:c,className:`novatx:cursor-pointer novatx:rounded-t-md novatx:sm:rounded-md
3
+ novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]`,children:jsx(CloseIcon,{})})})]})},bo=({isFailed:t,onRetry:o,isProcessing:n,canReplace:c,connectedWalletAddress:r,onOpenAllTransactions:l})=>{let{trackingModal:s}=v();return t&&o?jsx("button",{type:"button",onClick:o,className:`novatx:cursor-pointer novatx:rounded-t-md novatx:sm:rounded-md
4
4
  novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)]
5
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&&!i&&p?jsx("button",{type:"button",onClick:o,className:`novatx:cursor-pointer novatx:rounded-md
6
+ novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)]`,children:s.retry}):!n&&!c&&r?jsx("button",{type:"button",onClick:l,className:`novatx:cursor-pointer novatx:rounded-md
7
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:i&&r&&l&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:r,className:`novatx:cursor-pointer novatx:text-sm novatx:font-medium
8
+ novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]`,children:s.allTransactions}):null},Co=({onClose:t,onOpenAllTransactions:o,isProcessing:n,onRetry:c,onSpeedUp:r,onCancel:l,canReplace:s,isFailed:i,connectedWalletAddress:p})=>{let{trackingModal:a,actions:e}=v();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:s&&r&&l&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:r,className:`novatx:cursor-pointer novatx:text-sm novatx:font-medium
10
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&&!i,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
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(bo,{isFailed:i,onRetry:c,isProcessing:n,canReplace:s,connectedWalletAddress:p,onOpenAllTransactions:o}),jsx("button",{type:"button",onClick:t,disabled:n&&!s,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
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&&!i?a.processing:a.close})]})]})};function bt({error:t,className:o}){let{isCopied:n,copy:c}=useCopyToClipboard(),{actions:r,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:()=>c(t),title:n?l.copied:r.copy,"aria-label":n?l.copied:`${r.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 Eo({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 Ct({tx:t,adapter:o,className:n,customization:c}){let{txInfo:r,statuses:l,hashLabels:i}=v(),s=selectAdapterByKey({adapterKey:t.adapter,adapter:o});if(!s)return null;let{InfoRow:p=Eo}=c?.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:r.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:r.started,value:kt.unix(t.localTimestamp).format("MMM D, HH:mm:ss")}),e&&jsxs(Fragment,{children:[x?.slot&&jsx(p,{label:r.slot,value:jsx(D,{hash:x.slot.toString(),explorerUrl:s?.getExplorerUrl?`${s?.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:i.recentBlockhash,value:jsx(D,{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(L,{tx:t,adapter:o,variant:"history",renderHashLink:c?.components?.transactionKey})})]})}var Vo={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 _o({status:t,label:o,isFirst:n=false}){let c=Vo[t],r=()=>{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",c.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",c.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",c.border,c.fill),children:r()}),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 wt({isProcessing:t,isSucceed:o,isFailed:n,isReplaced:c,className:r,StepComponent:l=_o}){let{trackingModal:i,statuses:s}=v(),p=useMemo(()=>{let a=x=>{if(x===1)return "completed";if(x===2){if(o||n||c)return "completed";if(t)return "active"}if(x===3){if(o)return "completed";if(n)return "error";if(c)return "replaced";if(t)return "active"}return "inactive"},e=x=>x===1?i.progressIndicator.created:x===2?i.progressIndicator.processing:n?s.failed:c?s.replaced:i.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,c,i,s]);return jsx("div",{className:cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",r),children:p.map((a,e)=>jsx(l,{...a},e))})}var qo={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 ht({isProcessing:t,isSucceed:o,isFailed:n,isReplaced:c}){let r=o&&"succeed"||n&&"failed"||c&&"replaced"||t&&"processing"||"initializing",{Icon:l,className:i}=qo[r];return jsx("div",{className:"novatx:flex novatx:justify-center novatx:py-4",children:jsx(l,{className:cn("novatx:h-16 novatx:w-16",i)})})}kt.extend(ta);var oa=({chainId:t})=>jsx("div",{className:"novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",children:jsx(Web3Icon,{chainId:setChainId(t)})}),aa=({timestamp:t})=>jsx("span",{className:"novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",children:t?kt.unix(t).fromNow():"..."});function St({tx:t,adapter:o,className:n,customization:c}){let{Icon:r=oa,Title:l=S,Description:i=S,Timestamp:s=aa,StatusBadge:p=F,TransactionKey:a=L}=c?.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(r,{chainId:t.chainId})}),jsxs("div",{children:[jsx(l,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true}),jsx(s,{timestamp:t.localTimestamp}),jsx(i,{txStatus:t.status,source:t.description,variant:"description"})]})]}),jsx(p,{tx:t})]}),jsx(a,{tx:t,adapter:o,variant:"history"})]})}function ra({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 At({adapter:t,connectedWalletAddress:o,transactionsPool:n,className:c,customization:r}){let{transactionsModal:l}=v(),i=useMemo(()=>o?selectAllTransactionsByActiveWallet(n,o).sort((x,g)=>(g.localTimestamp??0)-(x.localTimestamp??0)):[],[n,o]),{Placeholder:s=ra,HistoryItem:p=St}=r?.components??{},a=()=>o?i.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)]",r?.classNames?.listWrapper),children:i.map(e=>jsx(p,{tx:e,adapter:t},e.txKey))}):jsx(s,{title:l.history.noTransactionsTitle,message:l.history.noTransactionsMessage}):jsx(s,{title:l.history.connectWalletTitle,message:l.history.connectWalletMessage});return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-y-3",c),children:[r?.title&&jsx("h3",{className:"novatx:text-lg novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:r?.title}),a()]})}var da=({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
13
+ novatx:disabled:cursor-not-allowed novatx:disabled:opacity-50`,children:n&&!s?a.processing:a.close})]})]})};function yt({error:t,className:o}){let{isCopied:n,copy:c}=useCopyToClipboard(),{actions:r,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:()=>c(t),title:n?l.copied:r.copy,"aria-label":n?l.copied:`${r.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 Lo({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 bt({tx:t,adapter:o,className:n,customization:c}){let{txInfo:r,statuses:l,hashLabels:s}=v(),i=selectAdapterByKey({adapterKey:t.adapter,adapter:o});if(!i)return null;let{InfoRow:p=Lo}=c?.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:r.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:r.started,value:It.unix(t.localTimestamp).format("MMM D, HH:mm:ss")}),e&&jsxs(Fragment,{children:[x?.slot&&jsx(p,{label:r.slot,value:jsx(D,{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:s.recentBlockhash,value:jsx(D,{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:c?.components?.transactionKey})})]})}var Fo={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 Wo({status:t,label:o,isFirst:n=false}){let c=Fo[t],r=()=>{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",c.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",c.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",c.border,c.fill),children:r()}),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 Ct({isProcessing:t,isSucceed:o,isFailed:n,isReplaced:c,className:r,StepComponent:l=Wo}){let{trackingModal:s,statuses:i}=v(),p=useMemo(()=>{let a=x=>{if(x===1)return "completed";if(x===2){if(o||n||c)return "completed";if(t)return "active"}if(x===3){if(o)return "completed";if(n)return "error";if(c)return "replaced";if(t)return "active"}return "inactive"},e=x=>x===1?s.progressIndicator.created:x===2?s.progressIndicator.processing:n?i.failed:c?i.replaced:s.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,c,s,i]);return jsx("div",{className:cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",r),children:p.map((a,e)=>jsx(l,{...a},e))})}var Go={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 wt({isProcessing:t,isSucceed:o,isFailed:n,isReplaced:c}){let r=o&&"succeed"||n&&"failed"||c&&"replaced"||t&&"processing"||"initializing",{Icon:l,className:s}=Go[r];return jsx("div",{className:"novatx:flex novatx:justify-center novatx:py-4",children:jsx(l,{className:cn("novatx:h-16 novatx:w-16",s)})})}It.extend(Qo);var Zo=({chainId:t})=>jsx("div",{className:"novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",children:jsx(Web3Icon,{chainId:setChainId(t)})}),jo=({timestamp:t})=>jsx("span",{className:"novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",children:t?It.unix(t).fromNow():"..."});function kt({tx:t,adapter:o,className:n,customization:c}){let{Icon:r=Zo,Title:l=S,Description:s=S,Timestamp:i=jo,StatusBadge:p=F,TransactionKey:a=R}=c?.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(r,{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(s,{txStatus:t.status,source:t.description,variant:"description"})]})]}),jsx(p,{tx:t})]}),jsx(a,{tx:t,adapter:o,variant:"history"})]})}function aa({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 St({adapter:t,connectedWalletAddress:o,transactionsPool:n,className:c,customization:r}){let{transactionsModal:l}=v(),s=useMemo(()=>o?selectAllTransactionsByActiveWallet(n,o).sort((x,g)=>(g.localTimestamp??0)-(x.localTimestamp??0)):[],[n,o]),{Placeholder:i=aa,HistoryItem:p=kt}=r?.components??{},a=()=>o?s.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)]",r?.classNames?.listWrapper),children:s.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",c),children:[r?.title&&jsx("h3",{className:"novatx:text-lg novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:r?.title}),a()]})}var la=({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
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 Vt({isOpen:t,setIsOpen:o,customization:n,adapter:c,connectedWalletAddress:r,transactionsPool:l}){let{transactionsModal:i}=v(),s=()=>o(false),p=n?.components?.Header,a=n?.components?.History;return jsx(Dialog,{open:t,onOpenChange:e=>!e&&s(),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:s}):jsx(da,{closeModal:s,title:i.history.title}),a?jsx(a,{adapter:c,transactionsPool:l,connectedWalletAddress:r}):jsx(At,{adapter:c,transactionsPool:l,connectedWalletAddress:r})]})})})}var Ta=t=>({replaced:jsxs(Fragment,{children:[jsx(ArrowPathIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{children:t.replaced})]}),loading:jsxs(Fragment,{children:[jsx(ArrowPathIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-spin"}),jsx("span",{children:t.loading})]}),succeed:jsxs(Fragment,{children:[jsx(CheckCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{children:t.succeed})]}),failed:jsxs(Fragment,{children:[jsx(ExclamationCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{children:t.failed})]})});function Ur({children:t,action:o,getLastTxKey:n,transactionsPool:c,walletAddress:r,loadingContent:l,succeedContent:i,failedContent:s,replacedContent:p,resetTimeout:a=2500,className:e,...x}){let{trackedTxButton:g}=v(),[u,m]=useState("idle"),[f,T]=useState(void 0),w=useMemo(()=>Ta(g),[g]);useEffect(()=>{m("idle"),T(void 0);},[r]),useEffect(()=>{if(!f)return;let b=c[f];if(b)switch(b.status){case TransactionStatus.Success:m("succeed");break;case TransactionStatus.Replaced:m("replaced");break;case TransactionStatus.Failed:m("failed");break}},[c,f,r]),useEffect(()=>{if(["succeed","failed","replaced"].includes(u)){let b=setTimeout(()=>{m("idle"),T(void 0);},a);return ()=>clearTimeout(b)}},[u,a]);let k=async()=>{m("loading");try{await o(),T(n());}catch(b){console.error("Transaction initiation failed:",b),m("failed");}},O=()=>{switch(u){case "loading":return l??w.loading;case "succeed":return i??w.succeed;case "failed":return s??w.failed;case "replaced":return p??w.replaced;default:return t}};return jsx("button",{...x,disabled:u!=="idle"||x.disabled,onClick:k,className:cn("novatx:flex novatx:cursor-pointer novatx:items-center novatx:justify-center novatx:gap-1.5 novatx:rounded-md novatx:px-3 novatx:py-1.5 novatx:text-sm novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70",{"novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:text-[var(--tuwa-text-on-accent)] novatx:hover:opacity-90":u==="idle","novatx:bg-gray-400 novatx:text-white":u==="loading","novatx:bg-gray-500 novatx:text-white":u==="replaced","novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]":u==="succeed","novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]":u==="failed"},e),children:O()})}export{D as HashLink,S as StatusAwareText,Ft as ToastCloseButton,Wt as ToastTransaction,zt as TrackingTxModal,St as TransactionHistoryItem,L as TransactionKey,F as TransactionStatusBadge,At as TransactionsHistory,Vt as TransactionsInfoModal,Ur as TxActionButton,bt as TxErrorBlock,Ct as TxInfoBlock,wt as TxProgressIndicator,ht as TxStatusVisual,J as defaultLabels};//# sourceMappingURL=index.js.map
15
+ novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]`,children:jsx(CloseIcon,{})})})]})};function Wt({isOpen:t,setIsOpen:o,customization:n,adapter:c,connectedWalletAddress:r,transactionsPool:l}){let{transactionsModal:s}=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(la,{closeModal:i,title:s.history.title}),a?jsx(a,{adapter:c,transactionsPool:l,connectedWalletAddress:r}):jsx(St,{adapter:c,transactionsPool:l,connectedWalletAddress:r})]})})})}var ua=t=>({replaced:jsxs(Fragment,{children:[jsx(ArrowPathIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{children:t.replaced})]}),loading:jsxs(Fragment,{children:[jsx(ArrowPathIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-spin"}),jsx("span",{children:t.loading})]}),succeed:jsxs(Fragment,{children:[jsx(CheckCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{children:t.succeed})]}),failed:jsxs(Fragment,{children:[jsx(ExclamationCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{children:t.failed})]})});function Hr({children:t,action:o,getLastTxKey:n,transactionsPool:c,walletAddress:r,loadingContent:l,succeedContent:s,failedContent:i,replacedContent:p,resetTimeout:a=2500,className:e,...x}){let{trackedTxButton:g}=v(),[u,m]=useState("idle"),[f,T]=useState(void 0),w=useMemo(()=>ua(g),[g]);useEffect(()=>{m("idle"),T(void 0);},[r]),useEffect(()=>{if(!f)return;let b=c[f];if(b)switch(b.status){case TransactionStatus.Success:m("succeed");break;case TransactionStatus.Replaced:m("replaced");break;case TransactionStatus.Failed:m("failed");break}},[c,f,r]),useEffect(()=>{if(["succeed","failed","replaced"].includes(u)){let b=setTimeout(()=>{m("idle"),T(void 0);},a);return ()=>clearTimeout(b)}},[u,a]);let k=async()=>{m("loading");try{await o(),T(n());}catch(b){console.error("Transaction initiation failed:",b),m("failed");}},E=()=>{switch(u){case "loading":return l??w.loading;case "succeed":return s??w.succeed;case "failed":return i??w.failed;case "replaced":return p??w.replaced;default:return t}};return jsx("button",{...x,disabled:u!=="idle"||x.disabled,onClick:k,className:cn("novatx:flex novatx:cursor-pointer novatx:items-center novatx:justify-center novatx:gap-1.5 novatx:rounded-md novatx:px-3 novatx:py-1.5 novatx:text-sm novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70",{"novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:text-[var(--tuwa-text-on-accent)] novatx:hover:opacity-90":u==="idle","novatx:bg-gray-400 novatx:text-white":u==="loading","novatx:bg-gray-500 novatx:text-white":u==="replaced","novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]":u==="succeed","novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]":u==="failed"},e),children:E()})}export{D as HashLink,S as StatusAwareText,Ut as ToastTransaction,Ft as TrackingTxModal,kt as TransactionHistoryItem,R as TransactionKey,F as TransactionStatusBadge,St as TransactionsHistory,Wt as TransactionsInfoModal,Hr as TxActionButton,yt as TxErrorBlock,bt as TxInfoBlock,Ct as TxProgressIndicator,wt as TxStatusVisual,J as defaultLabels};//# sourceMappingURL=index.js.map
16
16
  //# sourceMappingURL=index.js.map