@tuwaio/nova-transactions 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -10
- package/dist/{TransactionsInfoModal-DQqtLb9z.d.cts → TransactionsInfoModal-BotDng6i.d.cts} +2 -0
- package/dist/{TransactionsInfoModal-DQqtLb9z.d.ts → TransactionsInfoModal-BotDng6i.d.ts} +2 -0
- package/dist/chunk-A2RUB4BK.js +2 -0
- package/dist/chunk-TPO53DJ7.cjs +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.d.cts +2 -2
- package/dist/providers/index.d.ts +2 -2
- package/dist/providers/index.js +1 -1
- package/package.json +25 -23
- package/dist/chunk-2FWAGZOY.js +0 -2
- package/dist/chunk-BJO47ZBY.cjs +0 -2
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ By coupling the UI manager to Pulsar stores, it automatically handles pending lo
|
|
|
12
12
|
## 🏛️ Core Capabilities
|
|
13
13
|
|
|
14
14
|
- **🧩 Interactive Visual Nodes:** Built-in dialogs and widget cards (`TrackingTxModal` for individual status, `TransactionsInfoModal` for full transaction lists, and `ToastTransaction` feeds).
|
|
15
|
+
- **⚡ ERC-4337 Account Abstraction & Two-Stage Presentation:** Native handling of UserOperation tracking. Displays `UserOp Hash` while in the bundler mempool (Stage 1), automatically transitioning to the mined on-chain transaction hash (Stage 2) with native explorer links.
|
|
15
16
|
- **🔌 Isolated Provider Hooks:** The `<NovaTransactionsProvider />` bridges your React tree with Pulsar's transaction history pools and signature polling events.
|
|
16
17
|
- **🎨 Custom Styling overrides:** Style sub-components via CSS variables from `@tuwaio/nova-core` or replace components using the `customization` property.
|
|
17
18
|
- **🌍 Dynamic Internationalization:** Supports overriding labels configuration to localize status messages (`pending`, `success`, `failed`, `replaced`) and actions.
|
|
@@ -21,20 +22,21 @@ By coupling the UI manager to Pulsar stores, it automatically handles pending lo
|
|
|
21
22
|
## 💾 Installation
|
|
22
23
|
|
|
23
24
|
```bash
|
|
24
|
-
pnpm add @tuwaio/nova-transactions @tuwaio/nova-core @tuwaio/pulsar-core @tuwaio/
|
|
25
|
+
pnpm add @tuwaio/nova-transactions @tuwaio/nova-core @tuwaio/pulsar-core @tuwaio/orbit-core @web3icons/react @web3icons/common @heroicons/react @radix-ui/react-dialog framer-motion react-toastify dayjs react
|
|
25
26
|
```
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
> [!IMPORTANT]
|
|
29
|
+
> All peer dependencies listed above must be present in your project for `@tuwaio/nova-transactions` to operate correctly.
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
---
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
# State & Utilities
|
|
33
|
-
pnpm add zustand immer dayjs clsx tailwind-merge framer-motion
|
|
33
|
+
## ⚡ ERC-4337 Support & Hash Labels
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
When tracking ERC-4337 Smart Account transactions (dispatched via Pimlico or native bundlers):
|
|
36
|
+
|
|
37
|
+
1. **UserOp Hash (Mempool Stage)**: While the operation is pending execution by the bundler, the UI displays the transaction key labeled as **`UserOp Hash`** (`hashLabels.erc4337 = 'UserOp Hash'`).
|
|
38
|
+
2. **On-Chain Settlement (Mined Stage)**: Once the UserOp is bundled into an on-chain transaction, the UI updates seamlessly to show the mined block transaction hash, linking directly to the standard blockchain explorer (e.g. Etherscan `/tx/${hash}`).
|
|
39
|
+
3. **Custom Labels**: Localize or customize hash labels via `NovaTransactionsLabelsProvider` or the `labels` prop on `NovaTransactionsProvider`.
|
|
38
40
|
|
|
39
41
|
---
|
|
40
42
|
|
|
@@ -131,7 +133,7 @@ export function SwapButton() {
|
|
|
131
133
|
|
|
132
134
|
const triggerSwap = async () => {
|
|
133
135
|
const swapFunction = async () => {
|
|
134
|
-
// Execute smart contract write method and return the hash
|
|
136
|
+
// Execute smart contract write method or UserOperation and return the hash
|
|
135
137
|
return '0x...';
|
|
136
138
|
};
|
|
137
139
|
|
|
@@ -281,6 +281,8 @@ type NovaTransactionsLabels = {
|
|
|
281
281
|
gelato: string;
|
|
282
282
|
/** Label for a Safe Transaction Hash. */
|
|
283
283
|
safe: string;
|
|
284
|
+
/** Label for an ERC-4337 UserOperation Hash. */
|
|
285
|
+
erc4337: string;
|
|
284
286
|
/** Label for the original transaction hash (before replacement). */
|
|
285
287
|
original: string;
|
|
286
288
|
/** Label for the new transaction hash that replaced the original. */
|
|
@@ -281,6 +281,8 @@ type NovaTransactionsLabels = {
|
|
|
281
281
|
gelato: string;
|
|
282
282
|
/** Label for a Safe Transaction Hash. */
|
|
283
283
|
safe: string;
|
|
284
|
+
/** Label for an ERC-4337 UserOperation Hash. */
|
|
285
|
+
erc4337: string;
|
|
284
286
|
/** Label for the original transaction hash (before replacement). */
|
|
285
287
|
original: string;
|
|
286
288
|
/** Label for the new transaction hash that replaced the original. */
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {createContext,useContext,useCallback,useMemo,useState,useEffect,useRef}from'react';import {toast,ToastContainer}from'react-toastify';import {ExclamationTriangleIcon,ArrowTopRightOnSquareIcon,CheckIcon,DocumentDuplicateIcon,ClockIcon,ArrowPathIcon,ExclamationCircleIcon,CheckCircleIcon,XCircleIcon}from'@heroicons/react/24/solid';import {useCopyToClipboard,cn,textCenterEllipsis,NetworkIcon,getChainName,Dialog,DialogContent,DialogHeader,DialogTitle,DialogClose,CloseIcon,useMediaQuery,deepMerge,ToastCloseButton}from'@tuwaio/nova-core';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {TransactionStatus,TransactionTracker,selectAllTransactionsByActiveWallet}from'@tuwaio/pulsar-core';import {selectAdapterByKey,setChainId,OrbitAdapter}from'@tuwaio/orbit-core';import da from'dayjs';import {ArrowLeftIcon,CheckCircleIcon as CheckCircleIcon$1,ClockIcon as ClockIcon$1,ExclamationTriangleIcon as ExclamationTriangleIcon$1,CloudArrowUpIcon,CloudIcon,GlobeAltIcon,CpuChipIcon,LinkIcon,CheckBadgeIcon,KeyIcon,DocumentDuplicateIcon as DocumentDuplicateIcon$1}from'@heroicons/react/24/outline';import ge from'dayjs/plugin/relativeTime';var Pa=({isCopied:t,className:a,...e})=>jsx(ExclamationTriangleIcon,{className:cn("novatx:h-5 novatx:w-5 novatx:flex-shrink-0 novatx:text-[var(--tuwa-error-icon)]",a),...e}),ka=({title:t,className:a})=>jsx("span",{className:cn("novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-error-icon)]",a),role:"heading","aria-level":3,children:t}),Ia=({fieldLabel:t,fieldName:a,className:e})=>jsxs("div",{className:cn("novatx:mt-2 novatx:inline-flex novatx:items-center novatx:gap-1 novatx:rounded novatx:border novatx:border-[var(--tuwa-error-icon)]/20 novatx:bg-[var(--tuwa-error-bg)] novatx:px-2 novatx:py-0.5 novatx:text-xs novatx:text-[var(--tuwa-error-text)]",e),children:[jsxs("span",{className:"novatx:opacity-60",children:[t,":"]}),jsx("span",{className:"novatx:font-mono novatx:font-semibold",children:a})]}),Sa=({message:t,className:a})=>jsx("div",{className:cn("novatx:mt-2 novatx:max-h-20 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-secondary)] novatx:p-2"),children:jsx("p",{className:cn("novatx:wrap-break-word novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)]",a),children:t})}),Ba=({icon:t,isCopied:a,copyLabel:e,copiedLabel:s})=>jsxs(Fragment,{children:[t,jsx("span",{className:"novatx:select-none novatx:transition-colors","aria-live":"polite",role:"status",children:a?s:e})]});function dt({message:t,rawError:a,fieldName:e,className:s,customization:o}){let{validationError:n}=h(),{isCopied:l,copy:d}=useCopyToClipboard(),p=a??t,{Icon:r=Pa,Title:i=ka,FieldBadge:m=Ia,Message:x=Sa,CopyContent:g=Ba}=o?.components??{},k=o?.classNames??{},T=!p.trim(),C=k.copyButton??cn("novatx:mt-3 novatx:inline-flex novatx:cursor-pointer novatx:items-center novatx:gap-1.5","novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-2 novatx:py-1","novatx:text-xs novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-error-text)]","novatx:transition-all novatx:duration-200","novatx:hover:bg-[var(--tuwa-error-icon)]/10","novatx:focus:outline-none novatx:focus:ring-[length:var(--tuwa-ring-width)] novatx:focus:ring-[var(--tuwa-error-text)]/50",{"novatx:text-[var(--tuwa-success-text)] novatx:bg-[var(--tuwa-success-icon)]/10":l}),v=jsx(ExclamationTriangleIcon,{className:cn("novatx:h-4 novatx:w-4 novatx:transition-colors",l&&"novatx:text-[var(--tuwa-success-text)]"),"aria-hidden":true});return jsxs("div",{...o?.containerProps??{},role:"alert","aria-live":"assertive",className:cn("novatx:w-full novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30","novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",k.container,s),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",k.header),children:jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",k.titleWrapper),children:[jsx(r,{isCopied:l,className:k.icon,"aria-hidden":true}),jsx(i,{title:n.title,className:k.title})]})}),e&&jsx(m,{fieldLabel:n.field,fieldName:e,className:k.fieldBadge}),jsx(x,{message:t,className:k.messageText}),jsx("button",{...o?.buttonProps??{},type:"button",disabled:T,"aria-label":l?`${n.copied} ${n.copy}`:n.copy,className:C,onClick:async f=>{f.stopPropagation(),await d(p);},children:jsx(g,{icon:v,isCopied:l,copyLabel:n.copy,copiedLabel:n.copied})})]})}var pt="nova-validation-errors",Aa={enabled:true},Pt=createContext(Aa);function Wt(){let{customization:t,enabled:a}=useContext(Pt);return {showPreSubmitErrorToast:useCallback(s=>{if(!a)return;let o=s instanceof Error?s.message:String(s),n=s instanceof Error?JSON.stringify({name:s.name,message:s.message},null,2):o,l=s.field;toast(d=>jsx(dt,{...d,message:o,rawError:n,fieldName:l,customization:t}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[a,t])}}var xt={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:{openTransaction:"Open transaction"},statuses:{pending:"Pending",success:"Success",failed:"Failed",reverted:"Reverted",replaced:"Replaced",unknown:"Unknown",confirmationsLabel:"Confirmations"},hashLabels:{gelato:"Gelato Task ID",safe:"Safe Tx Hash",erc4337:"UserOp 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!"},validationError:{title:"Validation Error",field:"Field",copy:"Copy 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"},transactionDetails:{title:"Transaction Details",subtitle:"View full execution metrics and on-chain status.",metadata:"Metadata",executionData:"Execution Data",adapter:"Adapter",submittedAt:"Submitted At",finishedAt:"Finished At",tracker:"Tracker",connector:"Connector",confirmations:"Confirmations",txKey:"TX Key",from:"From (Origin)",to:"To (Recipient)",hash:"Transaction Hash",network:"Network",inputData:"Input Data",payload:"Payload Data",context:"Context",nonce:"Nonce",value:"Value (Raw)",maxFee:"Max Fee per Gas",maxPriorityFee:"Max Priority Fee per Gas",solanaTitle:"Solana Execution Data",starknetTitle:"Starknet Execution Data",contextTitle:"Context & Payload",fee:"Fee",slot:"Slot",instructions:"Instructions",recentBlockhash:"Recent Blockhash",contractAddress:"Contract Address",actualFee:"Actual Fee",titleContext:"Title Context",descriptionContext:"Description Context",errorContext:"Error Context",fullPayload:"Full Payload",rpcUrl:"RPC URL",replacedHash:"Replaced Hash",syncStatus:{pending:"Pending Sync",pendingTooltip:"Queued for Cloud Sync",synced:"Synced",syncedTooltip:"Synced to Quasar Cloud"}}};var _t=createContext(xt),Jt=({labels:t,children:a})=>jsx(_t.Provider,{value:t,children:a}),h=()=>useContext(_t);function rt({label:t,hash:a,explorerUrl:e,variant:s="default",className:o,classNames:n}){let{isCopied:l,copy:d}=useCopyToClipboard(),{actions:p,txError:r}=h(),i=cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":s==="default","novatx:text-xs":s==="compact"},o),m=cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":s==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":s==="compact"},n?.label),x=jsx("span",{className:cn("",n?.hash),children:textCenterEllipsis(a,5,5)});return jsxs("div",{className:i,children:[t&&jsxs("span",{className:m,children:[t,":"]}),jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-x-2",children:[e?jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:cn("novatx:flex novatx:items-center novatx:gap-x-1 novatx:text-[var(--tuwa-text-accent)] novatx:transition-colors novatx:hover:underline",n?.link),title:p.viewOnExplorer,"aria-label":p.viewOnExplorer,children:[x,jsx(ArrowTopRightOnSquareIcon,{className:cn("novatx:h-4 novatx:w-4",n?.linkIcon)})]}):jsx("span",{className:cn("novatx:text-[var(--tuwa-text-primary)]",n?.link),children:x}),jsx("button",{type:"button",onClick:()=>d(a),className:cn("novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",n?.copyButton),title:l?r.copied:p.copy,"aria-label":l?r.copied:p.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 Yt={[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 j({txStatus:t,source:a,fallback:e,variant:s,className:o,applyColor:n=false}){let l,d="";if(typeof a=="string")l=a;else if(Array.isArray(a)){let i=Yt[t||"default"]??Yt.default;l=a[i.index],n&&(d=i.colorClass);}else l=e;return l?jsx("div",{className:cn(s==="title"?"novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",d,o),children:l}):null}function at({tx:t,adapter:a,variant:e="toast",className:s,renderHashLink:o,confirmations:n,hashLinkClassNames:l,originalHashLinkClassNames:d}){let{hashLabels:p,statuses:r}=h(),i=selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!i)return null;let m=(v,f)=>o?o(v):jsx(rt,{...v,classNames:f??l}),x=e==="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",g=p[String(t.tracker)],k=g?m({label:g,hash:t.txKey,variant:t.tracker!==TransactionTracker.Solana?"compact":"default",explorerUrl:i.getExplorerTxUrl&&(t.tracker===TransactionTracker.Solana||t.tracker===TransactionTracker.ERC4337)?i.getExplorerTxUrl(t.tracker===TransactionTracker.ERC4337&&t.hash?{...t,hash:void 0,replacedTxHash:void 0}:t):void 0}):null,T=(()=>{let v=t,f=typeof v.hash=="string"?v.hash:void 0,u=typeof v.replacedTxHash=="string"?v.replacedTxHash:void 0;return !f&&!u?null:u?jsxs(Fragment,{children:[f&&m({label:p.original,hash:f,variant:"compact"},d),typeof i.getExplorerTxUrl<"u"&&m({label:p.replaced,hash:u,explorerUrl:i.getExplorerTxUrl(t)})]}):f&&typeof i.getExplorerTxUrl<"u"&&m({label:p.default,hash:f,explorerUrl:i.getExplorerTxUrl(t)})})(),C=g&&g!==p.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(x,s),children:[C&&k,T,typeof n=="number"&&n>0&&jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[r.confirmationsLabel,": ",n]})]})}var Za=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 gt({tx:t,className:a,classNames:e}){let{statuses:s}=h(),o=Za(s),n="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-mono novatx:font-medium",l=t.pending?"Pending":t.status,d=l?o[l]:null;if(!d)return jsx("div",{className:cn(n,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",e?.container,a),children:jsx("span",{className:e?.label,children:t.status??s.unknown})});let{label:p,Icon:r,badgeClasses:i,iconClasses:m}=d;return jsxs("div",{className:cn(n,i,e?.container,a),children:[jsx(r,{className:cn("novatx:h-4 novatx:w-4",m,e?.icon)}),jsx("span",{className:e?.label,children:p})]})}var so=({onClick:t,children:a,className:e})=>jsx("button",{onClick:t,type:"button",className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),ro=({onClick:t,children:a,className:e})=>jsx("button",{onClick:t,type:"button",className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),io=({onClick:t,children:a,className:e})=>jsx("button",{className:e||"novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-button-gradient-from)] novatx:px-3 novatx:py-1 novatx:min-h-[28px] novatx:text-xs novatx:font-mono 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:bg-[var(--tuwa-button-gradient-from-hover)] novatx:active:scale-95",onClick:t,type:"button",children:a}),co=({count:t,required:a,isSuccess:e,className:s})=>jsxs("div",{className:cn("novatx:absolute novatx:-left-1 novatx:-top-1 novatx:z-10 novatx:flex novatx:min-w-[18px] novatx:items-center novatx:justify-center novatx:rounded-full novatx:border novatx:px-1.5 novatx:py-0.5 novatx:font-mono novatx:text-[10px] novatx:font-bold novatx:shadow-sm novatx:backdrop-blur-sm novatx:transition-colors",e?"novatx:border-[var(--tuwa-success-icon)]/30 novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]":"novatx:border-[var(--tuwa-pending-icon)]/30 novatx:bg-[var(--tuwa-pending-bg)]/50 novatx:text-[var(--tuwa-pending-text)]",s),children:[t,a&&a>1?`/${a}`:""]});function Xt({openTxInfoModal:t,tx:a,icon:e,className:s,customization:o,connectedWalletAddress:n,adapter:l}){let{actions:d,toast:p}=h(),r=selectAdapterByKey({adapterKey:a.adapter,adapter:l}),i=!!(a.tracker==="ethereum"&&a.pending&&(!a.confirmations||Number(a.confirmations)<1)&&r?.speedUpTxAction&&r?.cancelTxAction&&a.from.toLowerCase()===n?.toLowerCase()&&["metamask"].includes(a.connectorType.split(":")[1])),m=()=>{i&&r.cancelTxAction(a);},x=()=>{i&&r.speedUpTxAction(a);},{StatusAwareText:g=j,TransactionKey:k=at,StatusBadge:T=gt,SpeedUpButton:C=so,CancelButton:v=ro,TxInfoButton:f=io,ConfirmationsBadge:u=co}=o?.components??{},y=o?.classNames;return jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",y?.container,s),children:[a.confirmations&&Number(a.confirmations)>0&&jsx(u,{count:a.confirmations,required:a.requiredConfirmations,isSuccess:a.status===TransactionStatus.Success,className:y?.confirmationsBadge}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-3",y?.header),children:[jsx("div",{className:cn("novatx:w-[40px] novatx:flex-shrink-0",y?.iconWrapper),title:getChainName(setChainId(a.chainId)).name,children:e??jsx(NetworkIcon,{chainId:setChainId(a.chainId)})}),jsxs("div",{className:cn("novatx:flex-1",y?.contentWrapper),children:[jsx(g,{txStatus:a.status,source:a.title,fallback:a.type,variant:"title",applyColor:true,className:y?.title}),jsx(g,{txStatus:a.status,source:a.description,variant:"description",className:y?.description})]})]}),jsxs("div",{children:[jsx(k,{adapter:l,tx:a,variant:"toast",className:y?.transactionKey,hashLinkClassNames:{label:y?.hashLabel,link:y?.hashLink,copyButton:y?.hashCopyButton},originalHashLinkClassNames:{label:y?.originalHashLabel,link:y?.originalHashLink,copyButton:y?.originalHashCopyButton}}),jsxs("div",{className:cn("novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",y?.footer),children:[jsx(T,{tx:a,className:y?.statusBadge,classNames:{icon:y?.statusBadgeIcon,label:y?.statusBadgeLabel}}),i?jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-4",y?.actionsContainer),children:[jsx(C,{onClick:x,className:y?.speedUpButton,children:d.speedUp}),jsx(v,{onClick:m,className:y?.cancelButton,children:d.cancel})]}):t&&a.from.toLowerCase()===n?.toLowerCase()&&jsx(f,{onClick:()=>t(a.txKey),className:y?.txInfoButton,children:p.openTransaction})]})]})]})}function qt({adapter:t,onClose:a,onOpenAllTransactions:e,className:s,customization:o,transactionsPool:n,executeTxAction:l,initialTx:d,connectedWalletAddress:p}){let r=d?.lastTxKey?n[d.lastTxKey]:void 0,i=r??d,m=d?.withTrackedModal&&!r||(r?.isTrackedModalOpen??false),x=r?.status,g=d?.isInitializing??false,k=r?.pending??false,T=g||k,C=x===TransactionStatus.Success,v=r?.isError||!!d?.error,f=x===TransactionStatus.Replaced,u=i?selectAdapterByKey({adapterKey:i.adapter,adapter:t}):void 0,y=!!(v&&i&&d?.actionFunction&&l),O=!!(u?.speedUpTxAction&&u?.cancelTxAction&&r?.pending&&(!r.confirmations||Number(r.confirmations)<1)&&r.tracker==="ethereum"),S=()=>{if(!y||!u?.retryTxAction)return;let wt={adapter:i.adapter,type:i.type,desiredChainID:"desiredChainID"in i?i.desiredChainID:i.chainId,actionFunction:d?.actionFunction,title:i.title,description:i.description,payload:i.payload,rpcUrl:"rpcUrl"in i?i?.rpcUrl:"desiredChainID"in i?i.desiredChainID:i.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in i?i.withTrackedModal:false};u.retryTxAction({tx:wt,txKey:r?.txKey??"",onClose:a,executeTxAction:l});},I=O&&r&&["metamask"].includes(r?.connectorType.split(":")[1]),F=()=>{I&&u.cancelTxAction(r);},K=()=>{I&&u.speedUpTxAction(r);},nt=o?.components?.Header,lt=o?.components?.Footer,N=o?.components?.StatusVisual,B=o?.components?.ProgressIndicator,A=o?.components?.InfoBlock,Z=o?.components?.ErrorBlock;if(!i)return null;let D=o?.classNames;return jsx(Dialog,{open:m,onOpenChange:wt=>!wt&&a(r?.txKey),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-md",o?.modalProps?.className),...o?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",D?.container,s),children:[nt?jsx(nt,{onClose:()=>a(r?.txKey),title:jsx(Gt,{tx:i,className:D?.headerTitle})}):jsx(fo,{onClose:()=>a(r?.txKey),title:jsx(Gt,{tx:i,className:D?.headerTitle}),classNames:D}),jsxs("main",{className:cn("novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",D?.main),children:[N?jsx(N,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f}):jsx(aa,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f,className:o?.statusVisualCustomization?.className,iconClassNames:o?.statusVisualCustomization?.iconClassNames}),B?jsx(B,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f}):jsx(ta,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f,className:o?.progressIndicatorCustomization?.className,stepClassNames:o?.progressIndicatorCustomization?.stepClassNames}),A?jsx(A,{tx:i,adapter:t}):jsx(Zt,{tx:i,adapter:t,customization:o?.infoBlockCustomization}),Z?jsx(Z,{error:r?.error||d?.error}):jsx(Qt,{error:r?.error||d?.error,className:o?.errorBlockCustomization?.className,classNames:o?.errorBlockCustomization?.classNames})]}),lt?jsx(lt,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:T,isFailed:v,canReplace:O,onRetry:y?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p}):jsx(yo,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:T,isFailed:v,canReplace:O,onRetry:y?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p,classNames:D})]})})})}function Gt({tx:t,className:a}){return jsx(j,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:cn("novatx:text-lg",a)})}var fo=({onClose:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxs(DialogHeader,{className:e?.header,children:[jsx(DialogTitle,{className:e?.headerTitle,children:a}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:()=>t(),"aria-label":s.close,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsx(CloseIcon,{})})})]})},To=({isFailed:t,onRetry:a,isProcessing:e,canReplace:s,connectedWalletAddress:o,onOpenAllTransactions:n,classNames:l})=>{let{trackingModal:d}=h();return t&&a?jsx("button",{type:"button",onClick:a,className:cn("novatx:cursor-pointer novatx:rounded-t-[var(--tuwa-rounded-corners)] novatx:sm:rounded-[var(--tuwa-rounded-corners)] novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-on-accent)] novatx:transition-opacity novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)]",l?.retryButton),children:d.retry}):!e&&!s&&o?jsx("button",{type:"button",onClick:n,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]",l?.allTransactionsButton),children:d.allTransactions}):null},yo=({onClose:t,onOpenAllTransactions:a,isProcessing:e,onRetry:s,onSpeedUp:o,onCancel:n,canReplace:l,isFailed:d,connectedWalletAddress:p,classNames:r})=>{let{trackingModal:i,actions:m}=h();return jsxs("footer",{className:cn("novatx:flex novatx:w-full novatx:items-center novatx:justify-between novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:p-4",r?.footer),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:gap-4",r?.footerActions),children:l&&o&&n&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:o,className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",r?.speedUpButton),children:m.speedUp}),jsx("button",{type:"button",onClick:n,className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",r?.cancelButton),children:m.cancel})]})}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-3",r?.footerButtons),children:[jsx(To,{isFailed:d,onRetry:s,isProcessing:e,canReplace:l,connectedWalletAddress:p,onOpenAllTransactions:a,classNames:r}),jsx("button",{type:"button",onClick:t,disabled:e&&!l,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)] novatx:disabled:cursor-not-allowed novatx:disabled:opacity-50",r?.closeModalButton),children:e&&!l?i.processing:i.close})]})]})};function Qt({error:t,className:a,classNames:e}){let{isCopied:s,copy:o}=useCopyToClipboard(),{actions:n,txError:l}=h(),{displayMessage:d,copyMessage:p}=useMemo(()=>t?typeof t=="string"?{displayMessage:t,copyMessage:t}:{displayMessage:t.message,copyMessage:JSON.stringify(t.raw,null,2)}:{displayMessage:"",copyMessage:""},[t]);return !t||!d?null:jsxs("div",{className:cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30 novatx:bg-[var(--tuwa-error-bg)] novatx:p-3 novatx:text-sm",e?.container,a),children:[jsxs("div",{className:cn("novatx:mb-2 novatx:flex novatx:items-center novatx:justify-between",e?.header),children:[jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2 novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-error-icon)]",e?.title),children:[jsx(ExclamationTriangleIcon,{className:cn("novatx:h-5 novatx:w-5",e?.icon)}),jsx("span",{children:l.title})]}),jsx("button",{type:"button",onClick:()=>o(p),title:s?l.copied:n.copy,"aria-label":s?l.copied:`${n.copy} error message`,className:cn("novatx:cursor-pointer novatx:text-[var(--tuwa-error-icon)]/50 novatx:transition-colors novatx:hover:text-[var(--tuwa-error-icon)]",e?.copyButton),children:s?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:cn("novatx:max-h-24 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-primary)] novatx:p-2",e?.messageContainer),children:jsx("p",{className:cn("novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)] novatx:break-all",e?.messageText),children:d})})]})}function Eo({label:t,value:a,classNames:e}){return jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between novatx:text-sm novatx:gap-2",e?.row),children:[jsx("span",{className:cn("novatx:text-[var(--tuwa-text-secondary)]",e?.label),children:t}),jsx("span",{className:cn("novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-primary)]",e?.value),children:a})]})}function Zt({tx:t,adapter:a,className:e,customization:s}){let{txInfo:o,statuses:n,hashLabels:l}=h(),d=selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!d)return null;let{InfoRow:p=Eo}=s?.components??{},r=s?.classNames,i={row:r?.row,label:r?.rowLabel,value:r?.rowValue},m="chainId"in t?t.chainId:t.desiredChainID,x=t.adapter===OrbitAdapter.SOLANA,g=x?t:void 0;return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-3",r?.container,e),children:[jsx(p,{label:o.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(NetworkIcon,{chainId:setChainId(m)})}),jsx("span",{children:getChainName(setChainId(m)).name})]}),classNames:i}),t.localTimestamp&&jsx(p,{label:o.started,value:da.unix(t.localTimestamp).format("MMM D, HH:mm:ss"),classNames:i}),x&&jsxs(Fragment,{children:[g?.slot&&jsx(p,{label:o.slot,value:jsx(rt,{hash:g.slot.toString(),explorerUrl:d?.getExplorerUrl?`${d?.getExplorerUrl(`/block/${g.slot}`)}`:void 0}),classNames:i}),g?.recentBlockhash&&jsx(p,{label:l.recentBlockhash,value:jsx(rt,{hash:g.recentBlockhash}),classNames:i})]}),"confirmations"in t&&Number(t.confirmations)>0&&jsx(p,{label:n.confirmationsLabel,value:t.confirmations,classNames:i}),"txKey"in t&&t.txKey&&jsx("div",{className:cn("novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-3",r?.separator),children:jsx(at,{tx:t,adapter:a,variant:"history",renderHashLink:s?.components?.transactionKey,hashLinkClassNames:r?.hashLink,originalHashLinkClassNames:r?.originalHashLink})})]})}var Do={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 Ko({status:t,label:a,isFirst:e=false,classNames:s}){let o=Do[t],n=s?.statusOverrides?.[t],l=()=>{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",o.pulse)});default:return null}};return jsxs("div",{className:cn("novatx:relative novatx:flex novatx:min-w-[80px] novatx:flex-1 novatx:flex-col novatx:items-center",s?.container),children:[!e&&jsx("div",{className:cn("novatx:absolute novatx:right-1/2 novatx:top-[10px] novatx:h-0.5 novatx:w-full",o.line,s?.line,n?.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",o.border,o.fill,s?.circle,n?.circle),children:l()}),jsx("span",{className:cn("novatx:mt-2 novatx:text-center novatx:text-xs novatx:font-mono",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]",s?.label,n?.label),children:a})]})}function ta({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,StepComponent:n=Ko,stepClassNames:l}){let{trackingModal:d,statuses:p}=h(),r=x=>{if(x===1)return "completed";if(x===2){if(a||e||s)return "completed";if(t)return "active"}if(x===3){if(a)return "completed";if(e)return "error";if(s)return "replaced";if(t)return "active"}return "inactive"},i=x=>x===1?d.progressIndicator.created:x===2?d.progressIndicator.processing:e?p.failed:s?p.replaced:d.progressIndicator.succeed,m=[{status:r(1),label:i(1),isFirst:true,classNames:l},{status:r(2),label:i(2),classNames:l},{status:r(3),label:i(3),isLast:true,classNames:l}];return jsx("div",{className:cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",o),children:m.map((x,g)=>jsx(n,{...x},g))})}var Wo={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 aa({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,iconClassNames:n}){let l=a&&"succeed"||e&&"failed"||s&&"replaced"||t&&"processing"||"initializing",{Icon:d,className:p}=Wo[l],r=n?.statusOverrides?.[l];return jsx("div",{className:cn("novatx:flex novatx:justify-center novatx:py-4",o),children:jsx(d,{className:cn("novatx:h-16 novatx:w-16",p,n?.icon,r)})})}var se=({children:t,className:a})=>jsx("div",{className:cn("novatx:overflow-hidden novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-secondary)]",a),children:t}),re=({children:t,className:a})=>jsx("h4",{className:cn("novatx:mb-2 novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:pb-2 novatx:text-[10px] novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-primary)] sm:novatx:mb-4 sm:novatx:pb-4",a),children:t}),Tt=({children:t,className:a})=>jsx("span",{className:cn("novatx:block novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",a),children:t}),Mt=({value:t,className:a,size:e="md"})=>{let{isCopied:s,copy:o}=useCopyToClipboard(),{actions:n,txError:l}=h(),d=e==="sm"?"novatx:h-3.5 novatx:w-3.5":"novatx:h-4 novatx:w-4";return jsx("button",{type:"button",onClick:()=>o(t),className:cn("novatx:cursor-pointer novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-accent)]",e==="sm"&&"novatx:p-1",a),title:s?l.copied:n.copy,"aria-label":s?l.copied:n.copy,children:s?jsx(CheckIcon,{className:cn(d,"novatx:text-[var(--tuwa-success-icon)]")}):jsx(DocumentDuplicateIcon$1,{className:d})})},ie=({label:t,value:a,mono:e=true,className:s,children:o,classNames:n})=>jsxs("div",{className:cn("novatx:space-y-1.5",s),children:[jsx(Tt,{className:n?.label,children:t}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",n?.container),children:[o||jsx("code",{className:cn("novatx:min-w-0 novatx:flex-1 novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono",n?.code),title:a,children:a}),jsx(Mt,{value:a,className:n?.copyButton})]})]}),ce=({label:t,value:a,mono:e=false,className:s,classNames:o})=>a==null||a===""?null:jsxs("div",{className:cn("novatx:space-y-1",s),children:[jsx(Tt,{className:o?.label,children:t}),jsx("span",{className:cn("novatx:block novatx:break-all novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono novatx:text-xs",o?.value),children:a})]}),le=({icon:t,label:a,children:e,className:s,classNames:o})=>jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between novatx:py-2.5",s),children:[jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-2.5",children:[jsx(t,{className:cn("novatx:h-4 novatx:w-4 novatx:shrink-0 novatx:text-[var(--tuwa-text-tertiary)]",o?.icon)}),jsx("span",{className:cn("novatx:truncate novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",o?.label),children:a})]}),jsx("div",{className:cn("novatx:ml-4 novatx:max-w-[55%] novatx:shrink-0 novatx:truncate novatx:text-right novatx:text-xs novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",o?.value),children:e})]}),de=({label:t,data:a,className:e,classNames:s})=>{if(!a||typeof a=="object"&&Object.keys(a).length===0)return null;let o=typeof a=="string"?a:JSON.stringify(a,null,2);return jsxs("div",{className:cn("novatx:space-y-2",e),children:[jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between",s?.header),children:[jsx(Tt,{className:s?.label,children:t}),jsx(Mt,{value:o,size:"sm",className:s?.copyButton})]}),jsx("div",{className:cn("NovaCustomScroll novatx:max-h-[300px] novatx:overflow-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:p-3",s?.container),children:jsx("pre",{className:cn("novatx:font-mono novatx:text-[10px] novatx:leading-relaxed novatx:text-[var(--tuwa-text-primary)] novatx:whitespace-pre-wrap",s?.pre),children:o})})]})},pe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2 lg:novatx:grid-cols-3",children:[jsx(e,{label:a.nonce,value:t.nonce}),jsx(e,{label:a.maxFee,value:t.maxFeePerGas}),jsx(e,{label:a.maxPriorityFee,value:t.maxPriorityFeePerGas}),jsx(e,{label:a.value,value:t.value}),t.replacedTxHash&&jsx(s,{label:a.replacedHash,value:t.replacedTxHash})]}),xe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[jsx(e,{label:a.fee,value:t.fee}),jsx(e,{label:a.slot,value:t.slot}),t.recentBlockhash&&jsx(s,{label:a.recentBlockhash,value:t.recentBlockhash})]}),ve=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[t.contractAddress&&jsx(s,{label:a.contractAddress,value:t.contractAddress}),jsx(e,{label:a.actualFee,value:t.actualFee?`${t.actualFee.amount} ${t.actualFee.unit}`:void 0})]});function pa({tx:t,onBack:a,adapter:e,className:s,customization:o}){let{transactionDetails:n,statuses:l,actions:d}=h(),p=useMemo(()=>selectAdapterByKey({adapterKey:t.adapter,adapter:e}),[t.adapter,e]),r=t.pending?"pending":t.status===TransactionStatus.Success?"success":"error",i=p?.getExplorerTxUrl?.(t),{SectionCard:m=se,SectionHeading:x=re,CopyableField:g=ie,DetailItem:k=ce,MetadataRow:T=le,JsonBlock:C=de}=o?.components??{},v=o?.classNames,f=t.adapter===OrbitAdapter.EVM?t:null,u=t.adapter===OrbitAdapter.SOLANA?t:null,y=t.adapter===OrbitAdapter.Starknet?t:null;return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-6 novatx:p-4",s,v?.container),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between",v?.header),children:jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsx("button",{type:"button",onClick:a,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",v?.backButton),title:d.close,children:jsx(ArrowLeftIcon,{className:"novatx:h-5 novatx:w-5"})}),jsxs("div",{children:[jsx("h3",{className:cn("novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",v?.title),children:n.title}),jsx("p",{className:cn("novatx:text-[10px] novatx:font-mono novatx:font-bold novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",v?.subtitle),children:n.subtitle})]})]})}),jsxs(m,{className:v?.coreInfoCard,children:[jsxs("div",{className:"novatx:flex novatx:gap-2 novatx:flex-wrap novatx:items-center novatx:justify-between novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:p-4",children:[jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsx("div",{className:cn("novatx:flex novatx:h-10 novatx:w-10 novatx:shrink-0 novatx:items-center novatx:justify-center novatx:rounded-[var(--tuwa-rounded-corners)]",r==="success"?"novatx:bg-emerald-500/10 novatx:text-emerald-500":r==="pending"?"novatx:bg-amber-500/10 novatx:text-amber-500":"novatx:bg-rose-500/10 novatx:text-rose-500",v?.statusIconContainer),children:r==="success"?jsx(CheckCircleIcon$1,{className:"novatx:h-6 novatx:w-6"}):r==="pending"?jsx(ClockIcon$1,{className:"novatx:h-6 novatx:w-6"}):jsx(ExclamationTriangleIcon$1,{className:"novatx:h-6 novatx:w-6"})}),jsxs("div",{children:[jsx("h3",{className:"novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",children:t.type}),jsx("p",{className:cn("novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",r==="success"?"novatx:text-emerald-500":r==="pending"?"novatx:text-amber-500":"novatx:text-rose-500"),children:t.pending?l.pending:t.status??l.failed})]})]}),t.syncStatus==="pending-sync"&&jsxs("div",{className:"novatx:ml-auto novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-amber-500/10 novatx:px-2.5 novatx:py-1.5 novatx:text-amber-500",title:n.syncStatus.pendingTooltip,children:[jsx(CloudArrowUpIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-pulse"}),jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.pending})]}),t.syncStatus==="synced"&&jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-2.5 novatx:py-1.5 novatx:text-[var(--tuwa-text-tertiary)]",title:n.syncStatus.syncedTooltip,children:[jsx(CloudIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.synced})]})]}),jsxs("div",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-4 sm:novatx:grid-cols-2",children:[jsx(g,{label:n.hash,value:f?.hash||t.txKey,className:"novatx:min-w-0",classNames:{code:i?"novatx:p-0 novatx:border-none novatx:bg-transparent":void 0},children:i?jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"novatx:block novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:font-mono novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",children:f?.hash||t.txKey}):null}),jsxs("div",{className:"novatx:space-y-1.5",children:[jsx(Tt,{children:n.network}),jsxs("div",{className:cn("novatx:flex novatx:h-[42px] novatx:items-center novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-4",v?.networkBadge),children:[jsx("div",{className:"novatx:h-5 novatx:w-5",children:jsx(NetworkIcon,{chainId:setChainId(t.chainId)})}),jsx("span",{className:"novatx:truncate novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:getChainName(setChainId(t.chainId)).name}),jsxs("span",{className:"novatx:ml-auto novatx:shrink-0 novatx:font-mono novatx:text-[10px] novatx:text-[var(--tuwa-text-tertiary)]",children:["ID: ",t.chainId]})]})]})]}),jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-8 sm:novatx:grid-cols-2",children:[jsx(g,{label:n.from,value:t.from}),f?.to?jsx(g,{label:n.to,value:f.to}):jsx(k,{label:n.to,value:"\u2014"})]})]})]}),jsxs(m,{className:cn("novatx:p-4",v?.metadataSection),children:[jsx(x,{children:n.metadata}),jsxs("div",{className:"novatx:divide-y novatx:divide-[var(--tuwa-border-primary)]",children:[jsx(T,{icon:GlobeAltIcon,label:n.adapter,children:jsx("span",{className:"novatx:capitalize",children:t.adapter})}),jsx(T,{icon:ClockIcon$1,label:n.submittedAt,children:da.unix(t.localTimestamp).format("MMM D, YYYY HH:mm:ss")}),t.finishedTimestamp&&jsx(T,{icon:CheckCircleIcon$1,label:n.finishedAt,children:da.unix(t.finishedTimestamp).format("MMM D, YYYY HH:mm:ss")}),jsx(T,{icon:CpuChipIcon,label:n.tracker,children:jsx("span",{className:"novatx:capitalize",children:t.tracker})}),jsx(T,{icon:LinkIcon,label:n.connector,children:jsx("span",{className:"novatx:capitalize",children:t.connectorType})}),t.confirmations&&Number(t.confirmations)>0&&jsxs(T,{icon:CheckBadgeIcon,label:n.confirmations,children:[t.confirmations,t.requiredConfirmations?` / ${t.requiredConfirmations}`:""]}),t.rpcUrl&&jsx(T,{icon:GlobeAltIcon,label:n.rpcUrl,children:jsx("span",{className:"novatx:block novatx:max-w-[200px] novatx:truncate",title:t.rpcUrl,children:t.rpcUrl})}),jsx(T,{icon:KeyIcon,label:n.txKey,children:jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-1.5",children:[jsx("span",{className:"novatx:truncate font-mono",children:t.txKey}),jsx(Mt,{value:t.txKey,size:"sm",className:"novatx:p-0"})]})})]})]}),jsxs(m,{className:cn("novatx:p-4",v?.executionSection),children:[jsx(x,{children:n.executionData}),jsxs("div",{className:"novatx:space-y-6",children:[f&&jsx(pe,{tx:f,labels:n,components:{DetailItem:k,CopyableField:g}}),u&&jsx(xe,{tx:u,labels:n,components:{DetailItem:k,CopyableField:g}}),y&&jsx(ve,{tx:y,labels:n,components:{DetailItem:k,CopyableField:g}}),jsxs("div",{className:"novatx:space-y-6 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-6",children:[f&&f.input&&f.input!=="0x"&&jsx(C,{label:n.inputData,data:f.input}),u&&u.instructions&&jsx(C,{label:n.instructions,data:u.instructions}),jsx(C,{label:n.fullPayload,data:t.payload}),jsx(C,{label:n.errorContext,data:t.error})]})]})]})]})}da.extend(ge);var fe=({chainId:t,className:a})=>jsx("div",{className:cn("novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",a),children:jsx(NetworkIcon,{chainId:setChainId(t)})}),Te=({timestamp:t,className:a})=>jsx("span",{className:cn("novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",a),children:t?da.unix(t).fromNow():"..."});function va({tx:t,adapter:a,className:e,customization:s,onSelectTx:o,canViewDetails:n=true}){let{Icon:l=fe,Title:d=j,Description:p=j,Timestamp:r=Te,StatusBadge:i=gt,TransactionKey:m=at}=s?.components??{},x=s?.classNames;return jsxs("div",{onClick:g=>{g.target.closest("button, a")||n&&o?.();},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:last:border-b-0",o&&n&&"novatx:cursor-pointer novatx:hover:bg-[var(--tuwa-bg-secondary)]",x?.container,e),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:cn("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)]",x?.iconWrapper),children:jsx(l,{chainId:t.chainId,className:x?.icon})}),jsxs("div",{className:x?.contentWrapper,children:[jsx(d,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true,className:x?.title}),jsx(r,{timestamp:t.localTimestamp,className:x?.timestamp}),jsx(p,{txStatus:t.status,source:t.description,variant:"description",className:x?.description})]})]}),jsx(i,{tx:t,className:x?.statusBadge,classNames:{icon:x?.statusBadgeIcon,label:x?.statusBadgeLabel}})]}),jsx(m,{tx:t,adapter:a,variant:"history",className:x?.txKeyContainer,hashLinkClassNames:{label:x?.hashLabel,link:x?.hashLink,copyButton:x?.hashCopyButton},originalHashLinkClassNames:{label:x?.originalHashLabel,link:x?.originalHashLink,copyButton:x?.originalHashCopyButton}})]})}var Ce=2500;function Ne({className:t,iconClassName:a}){return jsx("div",{className:cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-4",t),role:"status","aria-live":"polite",children:jsx("div",{className:cn("novatx:h-5 novatx:w-5 novatx:animate-spin novatx:rounded-full novatx:border-2 novatx:border-[var(--tuwa-text-secondary)] novatx:border-t-transparent",a)})})}function he({className:t,iconClassName:a}){return jsx("div",{className:cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-3 novatx:animate-[novatx-fade-out_0.4s_ease-out_2s_forwards]",t),role:"alert","aria-live":"assertive",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:cn("novatx:h-5 novatx:w-5 novatx:text-red-500",a),children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM8.28 7.22a.75.75 0 0 0-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 1 0 1.06 1.06L10 11.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L11.06 10l1.72-1.72a.75.75 0 0 0-1.06-1.06L10 8.94 8.28 7.22Z",clipRule:"evenodd"})})})}function we({title:t,message:a,className:e,classNames:s}){return jsxs("div",{className:cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:p-8 novatx:text-center",e),children:[jsx("h4",{className:cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",s?.title),children:t}),jsx("p",{className:cn("novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",s?.message),children:a})]})}function ua({adapter:t,connectedWalletAddress:a,transactionsPool:e,className:s,customization:o,pagination:n,initialTxKey:l,canViewDetails:d=true}){let{transactionsModal:p}=h(),[r,i]=useState(d?l??null:null);useEffect(()=>{if(l&&d){let S=setTimeout(()=>i(l),0);return ()=>clearTimeout(S)}},[l,d]);let m=useRef(null),x=useRef(false),[g,k]=useState(false),T=useRef(void 0),C=a?selectAllTransactionsByActiveWallet(e,a).sort((I,F)=>(F.localTimestamp??0)-(I.localTimestamp??0)):[];useEffect(()=>{let S=n?.isError??false,I=x.current;if(x.current=S,S&&!I){let F=setTimeout(()=>k(true),0);return T.current=setTimeout(()=>k(false),Ce),()=>{clearTimeout(F),clearTimeout(T.current);}}},[n?.isError]);let v=useCallback(S=>{S[0]?.isIntersecting&&n?.hasMore&&!n?.isLoading&&a&&n.fetchNextPage(a);},[n,a]);useEffect(()=>{if(!n?.hasMore||!m.current)return;let S=new IntersectionObserver(v,{threshold:.1});return S.observe(m.current),()=>S.disconnect()},[n?.hasMore,v]);let{Placeholder:f=we,HistoryItem:u=va,Loader:y=Ne}=o?.components??{},O=()=>{if(!a)return jsx(f,{title:p.history.connectWalletTitle,message:p.history.connectWalletMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}});if(C.length>0){let S={container:o?.classNames?.itemContainer,iconWrapper:o?.classNames?.itemIconWrapper,icon:o?.classNames?.itemIcon,contentWrapper:o?.classNames?.itemContentWrapper,title:o?.classNames?.itemTitle,timestamp:o?.classNames?.itemTimestamp,description:o?.classNames?.itemDescription,statusBadge:o?.classNames?.itemStatusBadge,statusBadgeIcon:o?.classNames?.itemStatusBadgeIcon,statusBadgeLabel:o?.classNames?.itemStatusBadgeLabel,txKeyContainer:o?.classNames?.itemTxKeyContainer,hashLabel:o?.classNames?.itemHashLabel,hashLink:o?.classNames?.itemHashLink,hashCopyButton:o?.classNames?.itemHashCopyButton,originalHashLabel:o?.classNames?.itemOriginalHashLabel,originalHashLink:o?.classNames?.itemOriginalHashLink,originalHashCopyButton:o?.classNames?.itemOriginalHashCopyButton};return jsxs("div",{className:cn("NovaCustomScroll novatx:sm:max-h-[400px] novatx:overflow-y-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)]",o?.classNames?.listWrapper),children:[C.map(I=>jsx(u,{tx:I,adapter:t,canViewDetails:d,customization:{classNames:S},onSelectTx:()=>d&&i(I.txKey)},I.txKey)),n?.hasMore&&jsx("div",{ref:m,className:"novatx:h-px","aria-hidden":"true"}),n?.isLoading&&jsx(y,{className:o?.classNames?.loaderContainer,iconClassName:o?.classNames?.loaderIcon}),g&&jsx(he,{className:o?.classNames?.errorContainer,iconClassName:o?.classNames?.errorIcon})]})}return jsx(f,{title:p.history.noTransactionsTitle,message:p.history.noTransactionsMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}})};if(r){let S=C.find(I=>I.txKey===r);if(S)return jsx(pa,{tx:S,adapter:t,onBack:()=>i(null),customization:o?.detailsCustomization})}return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-y-3",o?.classNames?.container,s),children:[o?.title&&jsx("h3",{className:cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",o?.classNames?.titleText),children:o?.title}),O()]})}var Ee=({closeModal:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxs(DialogHeader,{className:e?.header,children:[jsx(DialogTitle,{className:e?.title,children:a}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:t,"aria-label":s.close,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsx(CloseIcon,{})})})]})};function ga({isOpen:t,setIsOpen:a,customization:e,adapter:s,connectedWalletAddress:o,transactionsPool:n,pagination:l,selectedTxKey:d}){let{transactionsModal:p}=h(),r=()=>a(false),i=e?.components?.Header,m=e?.components?.History;return jsx(Dialog,{open:t,onOpenChange:x=>!x&&r(),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-2xl",e?.modalProps?.className),...e?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:max-h-[100dvh] novatx:w-full novatx:flex novatx:flex-col",e?.classNames?.contentWrapper),children:[i?jsx(i,{closeModal:r}):jsx(Ee,{closeModal:r,title:p.history.title,classNames:{header:e?.classNames?.header,title:e?.classNames?.headerTitle,closeButton:e?.classNames?.closeButton}}),m?jsx(m,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l}):jsx(ua,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l,initialTxKey:d})]})})})}var Ae=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 Gr({children:t,action:a,getLastTxKey:e,transactionsPool:s,walletAddress:o,loadingContent:n,succeedContent:l,failedContent:d,replacedContent:p,resetTimeout:r=2500,className:i,classNames:m,...x}){let{trackedTxButton:g}=h(),{showPreSubmitErrorToast:k}=Wt(),[T,C]=useState("idle"),[v,f]=useState(void 0),u=Ae(g);useEffect(()=>{C("idle"),f(void 0);},[o]),useEffect(()=>{if(!v)return;let K=s[v];if(K)switch(K.status){case TransactionStatus.Success:C("succeed");break;case TransactionStatus.Replaced:C("replaced");break;case TransactionStatus.Failed:C("failed");break}},[s,v,o]),useEffect(()=>{if(["succeed","failed","replaced"].includes(T)){let K=setTimeout(()=>{C("idle"),f(void 0);},r);return ()=>clearTimeout(K)}},[T,r]);let y=async()=>{C("loading");try{await a(),f(e());}catch(K){k(K),C("failed");}},O=()=>{switch(T){case "loading":return n??u.loading;case "succeed":return l??u.succeed;case "failed":return d??u.failed;case "replaced":return p??u.replaced;default:return t}},S={idle:"novatx:bg-[var(--tuwa-button-gradient-from)] novatx:text-[var(--tuwa-text-on-accent)] novatx:hover:opacity-90",loading:"novatx:bg-gray-400 novatx:text-white",replaced:"novatx:bg-gray-500 novatx:text-white",succeed:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",failed:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]"},I=m?.[T]??S[T],F=m?.base??"novatx:flex novatx:cursor-pointer novatx:items-center novatx:justify-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-3 novatx:py-1.5 novatx:min-h-[42px] novatx:text-sm novatx:font-mono novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70";return jsx("button",{...x,disabled:T!=="idle"||x.disabled,onClick:y,className:cn(F,I,i),children:O()})}var Fe={[TransactionStatus.Success]:"success",[TransactionStatus.Failed]:"error",[TransactionStatus.Replaced]:"info"};function Hi({adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,initialTx:o,executeTxAction:n,closeTxTrackedModal:l,labels:d,features:p,customization:r,pagination:i,...m}){let[x,g]=useState(false),[k,T]=useState(null),C=useRef(s),v="nova-transactions",f=useMediaQuery("(max-width: 767px)"),u=useMemo(()=>({toasts:p?.toasts??true,transactionsModal:p?.transactionsModal??true,trackingTxModal:p?.trackingTxModal??true,validationErrorToast:p?.validationErrorToast??true}),[p]),y=useMemo(()=>deepMerge(xt,d||{}),[d]),O=useCallback(N=>{if(!u.validationErrorToast)return;let B=N instanceof Error?N.message:String(N),A=N instanceof Error?JSON.stringify({name:N.name,message:N.message},null,2):B,Z=N.field;toast(D=>jsx(dt,{...D,message:B,rawError:A,fieldName:Z,customization:r?.validationErrorToast}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[u.validationErrorToast,r?.validationErrorToast]),S=useCallback(async(...N)=>{try{await n(...N);}catch(B){throw !o?.lastTxKey&&O(B),B}},[n,o?.lastTxKey,O]),I=useCallback(N=>{if(!u.toasts)return;let B=N.pending?"info":Fe[N.status]??"info",A=Z=>jsx(Xt,{...Z,tx:N,openTxInfoModal:u.transactionsModal?D=>{T(D&&typeof D=="string"?D:null),g(true);}:void 0,customization:r?.toast,adapter:t,connectedWalletAddress:a});toast.isActive(N.txKey)?toast.update(N.txKey,{render:A,type:B,containerId:v}):toast(A,{toastId:N.txKey,type:B,closeOnClick:false,containerId:v});},[s,u,r?.toast,t,a]);useEffect(()=>{let N=C.current;Object.values(s).forEach(B=>{let A=N[B.txKey];if(!A&&B.pending){I(B);return}A&&JSON.stringify(A)!==JSON.stringify(B)&&I(B);}),C.current=s;},[s,I]),useEffect(()=>{Object.values(s).forEach(N=>{toast.isActive(N.txKey,v)&&I(N);});},[a,I,s]);let F=!!o?.withTrackedModal&&s[o?.lastTxKey??""]?.isTrackedModalOpen,K=u.toasts&&(!f||!F&&!x),nt=useMemo(()=>{let N=r?.toastCloseButton;return N?({closeToast:B})=>jsx(ToastCloseButton,{closeToast:B,...N}):ToastCloseButton},[r?.toastCloseButton]),lt=useMemo(()=>({customization:r?.validationErrorToast,enabled:u.validationErrorToast}),[r?.validationErrorToast,u.validationErrorToast]);return jsx(Jt,{labels:y,children:jsxs(Pt.Provider,{value:lt,children:[K&&jsx(ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:nt,containerId:v,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...m}),u.transactionsModal&&jsx(ga,{isOpen:x,setIsOpen:N=>{g(N),N||T(null);},selectedTxKey:k,customization:r?.transactionsInfoModal,adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,pagination:i}),u.validationErrorToast&&jsx(ToastContainer,{containerId:pt,position:"top-center",autoClose:6e3,pauseOnHover:true,hideProgressBar:false,closeOnClick:false,icon:false,closeButton:nt,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0"}),u.trackingTxModal&&jsx(qt,{initialTx:o,onClose:l,onOpenAllTransactions:()=>g(true),transactionsPool:s,customization:r?.trackingTxModal,executeTxAction:S,adapter:t,connectedWalletAddress:a})]})})}
|
|
2
|
+
export{dt as a,pt as b,Pt as c,Wt as d,xt as e,Jt as f,h as g,Hi as h,rt as i,j,at as k,gt as l,Xt as m,qt as n,Qt as o,Zt as p,ta as q,aa as r,pa as s,va as t,ua as u,ga as v,Gr as w};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var react=require('react'),reactToastify=require('react-toastify'),solid=require('@heroicons/react/24/solid'),novaCore=require('@tuwaio/nova-core'),jsxRuntime=require('react/jsx-runtime'),pulsarCore=require('@tuwaio/pulsar-core'),orbitCore=require('@tuwaio/orbit-core'),da=require('dayjs'),outline=require('@heroicons/react/24/outline'),ge=require('dayjs/plugin/relativeTime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var da__default=/*#__PURE__*/_interopDefault(da);var ge__default=/*#__PURE__*/_interopDefault(ge);var Pa=({isCopied:t,className:a,...e})=>jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-5 novatx:w-5 novatx:flex-shrink-0 novatx:text-[var(--tuwa-error-icon)]",a),...e}),ka=({title:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-error-icon)]",a),role:"heading","aria-level":3,children:t}),Ia=({fieldLabel:t,fieldName:a,className:e})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mt-2 novatx:inline-flex novatx:items-center novatx:gap-1 novatx:rounded novatx:border novatx:border-[var(--tuwa-error-icon)]/20 novatx:bg-[var(--tuwa-error-bg)] novatx:px-2 novatx:py-0.5 novatx:text-xs novatx:text-[var(--tuwa-error-text)]",e),children:[jsxRuntime.jsxs("span",{className:"novatx:opacity-60",children:[t,":"]}),jsxRuntime.jsx("span",{className:"novatx:font-mono novatx:font-semibold",children:a})]}),Sa=({message:t,className:a})=>jsxRuntime.jsx("div",{className:novaCore.cn("novatx:mt-2 novatx:max-h-20 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-secondary)] novatx:p-2"),children:jsxRuntime.jsx("p",{className:novaCore.cn("novatx:wrap-break-word novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)]",a),children:t})}),Ba=({icon:t,isCopied:a,copyLabel:e,copiedLabel:s})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t,jsxRuntime.jsx("span",{className:"novatx:select-none novatx:transition-colors","aria-live":"polite",role:"status",children:a?s:e})]});function dt({message:t,rawError:a,fieldName:e,className:s,customization:o}){let{validationError:n}=h(),{isCopied:l,copy:d}=novaCore.useCopyToClipboard(),p=a??t,{Icon:r=Pa,Title:i=ka,FieldBadge:m=Ia,Message:x=Sa,CopyContent:g=Ba}=o?.components??{},k=o?.classNames??{},T=!p.trim(),C=k.copyButton??novaCore.cn("novatx:mt-3 novatx:inline-flex novatx:cursor-pointer novatx:items-center novatx:gap-1.5","novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-2 novatx:py-1","novatx:text-xs novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-error-text)]","novatx:transition-all novatx:duration-200","novatx:hover:bg-[var(--tuwa-error-icon)]/10","novatx:focus:outline-none novatx:focus:ring-[length:var(--tuwa-ring-width)] novatx:focus:ring-[var(--tuwa-error-text)]/50",{"novatx:text-[var(--tuwa-success-text)] novatx:bg-[var(--tuwa-success-icon)]/10":l}),v=jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-4 novatx:w-4 novatx:transition-colors",l&&"novatx:text-[var(--tuwa-success-text)]"),"aria-hidden":true});return jsxRuntime.jsxs("div",{...o?.containerProps??{},role:"alert","aria-live":"assertive",className:novaCore.cn("novatx:w-full novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30","novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",k.container,s),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",k.header),children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",k.titleWrapper),children:[jsxRuntime.jsx(r,{isCopied:l,className:k.icon,"aria-hidden":true}),jsxRuntime.jsx(i,{title:n.title,className:k.title})]})}),e&&jsxRuntime.jsx(m,{fieldLabel:n.field,fieldName:e,className:k.fieldBadge}),jsxRuntime.jsx(x,{message:t,className:k.messageText}),jsxRuntime.jsx("button",{...o?.buttonProps??{},type:"button",disabled:T,"aria-label":l?`${n.copied} ${n.copy}`:n.copy,className:C,onClick:async f=>{f.stopPropagation(),await d(p);},children:jsxRuntime.jsx(g,{icon:v,isCopied:l,copyLabel:n.copy,copiedLabel:n.copied})})]})}var pt="nova-validation-errors",Aa={enabled:true},Pt=react.createContext(Aa);function Wt(){let{customization:t,enabled:a}=react.useContext(Pt);return {showPreSubmitErrorToast:react.useCallback(s=>{if(!a)return;let o=s instanceof Error?s.message:String(s),n=s instanceof Error?JSON.stringify({name:s.name,message:s.message},null,2):o,l=s.field;reactToastify.toast(d=>jsxRuntime.jsx(dt,{...d,message:o,rawError:n,fieldName:l,customization:t}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[a,t])}}var xt={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:{openTransaction:"Open transaction"},statuses:{pending:"Pending",success:"Success",failed:"Failed",reverted:"Reverted",replaced:"Replaced",unknown:"Unknown",confirmationsLabel:"Confirmations"},hashLabels:{gelato:"Gelato Task ID",safe:"Safe Tx Hash",erc4337:"UserOp 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!"},validationError:{title:"Validation Error",field:"Field",copy:"Copy 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"},transactionDetails:{title:"Transaction Details",subtitle:"View full execution metrics and on-chain status.",metadata:"Metadata",executionData:"Execution Data",adapter:"Adapter",submittedAt:"Submitted At",finishedAt:"Finished At",tracker:"Tracker",connector:"Connector",confirmations:"Confirmations",txKey:"TX Key",from:"From (Origin)",to:"To (Recipient)",hash:"Transaction Hash",network:"Network",inputData:"Input Data",payload:"Payload Data",context:"Context",nonce:"Nonce",value:"Value (Raw)",maxFee:"Max Fee per Gas",maxPriorityFee:"Max Priority Fee per Gas",solanaTitle:"Solana Execution Data",starknetTitle:"Starknet Execution Data",contextTitle:"Context & Payload",fee:"Fee",slot:"Slot",instructions:"Instructions",recentBlockhash:"Recent Blockhash",contractAddress:"Contract Address",actualFee:"Actual Fee",titleContext:"Title Context",descriptionContext:"Description Context",errorContext:"Error Context",fullPayload:"Full Payload",rpcUrl:"RPC URL",replacedHash:"Replaced Hash",syncStatus:{pending:"Pending Sync",pendingTooltip:"Queued for Cloud Sync",synced:"Synced",syncedTooltip:"Synced to Quasar Cloud"}}};var _t=react.createContext(xt),Jt=({labels:t,children:a})=>jsxRuntime.jsx(_t.Provider,{value:t,children:a}),h=()=>react.useContext(_t);function rt({label:t,hash:a,explorerUrl:e,variant:s="default",className:o,classNames:n}){let{isCopied:l,copy:d}=novaCore.useCopyToClipboard(),{actions:p,txError:r}=h(),i=novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":s==="default","novatx:text-xs":s==="compact"},o),m=novaCore.cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":s==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":s==="compact"},n?.label),x=jsxRuntime.jsx("span",{className:novaCore.cn("",n?.hash),children:novaCore.textCenterEllipsis(a,5,5)});return jsxRuntime.jsxs("div",{className:i,children:[t&&jsxRuntime.jsxs("span",{className:m,children:[t,":"]}),jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-x-2",children:[e?jsxRuntime.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-x-1 novatx:text-[var(--tuwa-text-accent)] novatx:transition-colors novatx:hover:underline",n?.link),title:p.viewOnExplorer,"aria-label":p.viewOnExplorer,children:[x,jsxRuntime.jsx(solid.ArrowTopRightOnSquareIcon,{className:novaCore.cn("novatx:h-4 novatx:w-4",n?.linkIcon)})]}):jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-[var(--tuwa-text-primary)]",n?.link),children:x}),jsxRuntime.jsx("button",{type:"button",onClick:()=>d(a),className:novaCore.cn("novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",n?.copyButton),title:l?r.copied:p.copy,"aria-label":l?r.copied:p.copy,children:l?jsxRuntime.jsx(solid.CheckIcon,{className:"novatx:h-4 novatx:w-4 novatx:text-[var(--tuwa-success-icon)]"}):jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:"novatx:h-4 novatx:w-4"})})]})]})}var Yt={[pulsarCore.TransactionStatus.Success]:{index:1,colorClass:"novatx:text-[var(--tuwa-success-text)]"},[pulsarCore.TransactionStatus.Failed]:{index:2,colorClass:"novatx:text-[var(--tuwa-error-text)]"},[pulsarCore.TransactionStatus.Replaced]:{index:3,colorClass:"novatx:text-[var(--tuwa-text-secondary)]"},default:{index:0,colorClass:"novatx:text-[var(--tuwa-text-primary)]"}};function j({txStatus:t,source:a,fallback:e,variant:s,className:o,applyColor:n=false}){let l,d="";if(typeof a=="string")l=a;else if(Array.isArray(a)){let i=Yt[t||"default"]??Yt.default;l=a[i.index],n&&(d=i.colorClass);}else l=e;return l?jsxRuntime.jsx("div",{className:novaCore.cn(s==="title"?"novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",d,o),children:l}):null}function at({tx:t,adapter:a,variant:e="toast",className:s,renderHashLink:o,confirmations:n,hashLinkClassNames:l,originalHashLinkClassNames:d}){let{hashLabels:p,statuses:r}=h(),i=orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!i)return null;let m=(v,f)=>o?o(v):jsxRuntime.jsx(rt,{...v,classNames:f??l}),x=e==="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",g=p[String(t.tracker)],k=g?m({label:g,hash:t.txKey,variant:t.tracker!==pulsarCore.TransactionTracker.Solana?"compact":"default",explorerUrl:i.getExplorerTxUrl&&(t.tracker===pulsarCore.TransactionTracker.Solana||t.tracker===pulsarCore.TransactionTracker.ERC4337)?i.getExplorerTxUrl(t.tracker===pulsarCore.TransactionTracker.ERC4337&&t.hash?{...t,hash:void 0,replacedTxHash:void 0}:t):void 0}):null,T=(()=>{let v=t,f=typeof v.hash=="string"?v.hash:void 0,u=typeof v.replacedTxHash=="string"?v.replacedTxHash:void 0;return !f&&!u?null:u?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[f&&m({label:p.original,hash:f,variant:"compact"},d),typeof i.getExplorerTxUrl<"u"&&m({label:p.replaced,hash:u,explorerUrl:i.getExplorerTxUrl(t)})]}):f&&typeof i.getExplorerTxUrl<"u"&&m({label:p.default,hash:f,explorerUrl:i.getExplorerTxUrl(t)})})(),C=g&&g!==p.default&&t.txKey!==t.hash;return jsxRuntime.jsxs("div",{className:novaCore.cn(x,s),children:[C&&k,T,typeof n=="number"&&n>0&&jsxRuntime.jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[r.confirmationsLabel,": ",n]})]})}var Za=t=>({Pending:{label:t.pending,Icon:solid.ArrowPathIcon,badgeClasses:"novatx:bg-[var(--tuwa-pending-bg)] novatx:text-[var(--tuwa-pending-text)]",iconClasses:"novatx:animate-spin novatx:text-[var(--tuwa-pending-icon)]"},[pulsarCore.TransactionStatus.Success]:{label:t.success,Icon:solid.CheckCircleIcon,badgeClasses:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",iconClasses:"novatx:text-[var(--tuwa-success-icon)]"},[pulsarCore.TransactionStatus.Failed]:{label:t.failed,Icon:solid.XCircleIcon,badgeClasses:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]",iconClasses:"novatx:text-[var(--tuwa-error-icon)]"},[pulsarCore.TransactionStatus.Replaced]:{label:t.replaced,Icon:solid.ArrowPathIcon,badgeClasses:"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",iconClasses:"novatx:text-[var(--tuwa-info-icon)]"}});function gt({tx:t,className:a,classNames:e}){let{statuses:s}=h(),o=Za(s),n="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-mono novatx:font-medium",l=t.pending?"Pending":t.status,d=l?o[l]:null;if(!d)return jsxRuntime.jsx("div",{className:novaCore.cn(n,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",e?.container,a),children:jsxRuntime.jsx("span",{className:e?.label,children:t.status??s.unknown})});let{label:p,Icon:r,badgeClasses:i,iconClasses:m}=d;return jsxRuntime.jsxs("div",{className:novaCore.cn(n,i,e?.container,a),children:[jsxRuntime.jsx(r,{className:novaCore.cn("novatx:h-4 novatx:w-4",m,e?.icon)}),jsxRuntime.jsx("span",{className:e?.label,children:p})]})}var so=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{onClick:t,type:"button",className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),ro=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{onClick:t,type:"button",className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),io=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{className:e||"novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-button-gradient-from)] novatx:px-3 novatx:py-1 novatx:min-h-[28px] novatx:text-xs novatx:font-mono 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:bg-[var(--tuwa-button-gradient-from-hover)] novatx:active:scale-95",onClick:t,type:"button",children:a}),co=({count:t,required:a,isSuccess:e,className:s})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:absolute novatx:-left-1 novatx:-top-1 novatx:z-10 novatx:flex novatx:min-w-[18px] novatx:items-center novatx:justify-center novatx:rounded-full novatx:border novatx:px-1.5 novatx:py-0.5 novatx:font-mono novatx:text-[10px] novatx:font-bold novatx:shadow-sm novatx:backdrop-blur-sm novatx:transition-colors",e?"novatx:border-[var(--tuwa-success-icon)]/30 novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]":"novatx:border-[var(--tuwa-pending-icon)]/30 novatx:bg-[var(--tuwa-pending-bg)]/50 novatx:text-[var(--tuwa-pending-text)]",s),children:[t,a&&a>1?`/${a}`:""]});function Xt({openTxInfoModal:t,tx:a,icon:e,className:s,customization:o,connectedWalletAddress:n,adapter:l}){let{actions:d,toast:p}=h(),r=orbitCore.selectAdapterByKey({adapterKey:a.adapter,adapter:l}),i=!!(a.tracker==="ethereum"&&a.pending&&(!a.confirmations||Number(a.confirmations)<1)&&r?.speedUpTxAction&&r?.cancelTxAction&&a.from.toLowerCase()===n?.toLowerCase()&&["metamask"].includes(a.connectorType.split(":")[1])),m=()=>{i&&r.cancelTxAction(a);},x=()=>{i&&r.speedUpTxAction(a);},{StatusAwareText:g=j,TransactionKey:k=at,StatusBadge:T=gt,SpeedUpButton:C=so,CancelButton:v=ro,TxInfoButton:f=io,ConfirmationsBadge:u=co}=o?.components??{},y=o?.classNames;return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",y?.container,s),children:[a.confirmations&&Number(a.confirmations)>0&&jsxRuntime.jsx(u,{count:a.confirmations,required:a.requiredConfirmations,isSuccess:a.status===pulsarCore.TransactionStatus.Success,className:y?.confirmationsBadge}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-3",y?.header),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:w-[40px] novatx:flex-shrink-0",y?.iconWrapper),title:novaCore.getChainName(orbitCore.setChainId(a.chainId)).name,children:e??jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(a.chainId)})}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex-1",y?.contentWrapper),children:[jsxRuntime.jsx(g,{txStatus:a.status,source:a.title,fallback:a.type,variant:"title",applyColor:true,className:y?.title}),jsxRuntime.jsx(g,{txStatus:a.status,source:a.description,variant:"description",className:y?.description})]})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(k,{adapter:l,tx:a,variant:"toast",className:y?.transactionKey,hashLinkClassNames:{label:y?.hashLabel,link:y?.hashLink,copyButton:y?.hashCopyButton},originalHashLinkClassNames:{label:y?.originalHashLabel,link:y?.originalHashLink,copyButton:y?.originalHashCopyButton}}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",y?.footer),children:[jsxRuntime.jsx(T,{tx:a,className:y?.statusBadge,classNames:{icon:y?.statusBadgeIcon,label:y?.statusBadgeLabel}}),i?jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-4",y?.actionsContainer),children:[jsxRuntime.jsx(C,{onClick:x,className:y?.speedUpButton,children:d.speedUp}),jsxRuntime.jsx(v,{onClick:m,className:y?.cancelButton,children:d.cancel})]}):t&&a.from.toLowerCase()===n?.toLowerCase()&&jsxRuntime.jsx(f,{onClick:()=>t(a.txKey),className:y?.txInfoButton,children:p.openTransaction})]})]})]})}function qt({adapter:t,onClose:a,onOpenAllTransactions:e,className:s,customization:o,transactionsPool:n,executeTxAction:l,initialTx:d,connectedWalletAddress:p}){let r=d?.lastTxKey?n[d.lastTxKey]:void 0,i=r??d,m=d?.withTrackedModal&&!r||(r?.isTrackedModalOpen??false),x=r?.status,g=d?.isInitializing??false,k=r?.pending??false,T=g||k,C=x===pulsarCore.TransactionStatus.Success,v=r?.isError||!!d?.error,f=x===pulsarCore.TransactionStatus.Replaced,u=i?orbitCore.selectAdapterByKey({adapterKey:i.adapter,adapter:t}):void 0,y=!!(v&&i&&d?.actionFunction&&l),O=!!(u?.speedUpTxAction&&u?.cancelTxAction&&r?.pending&&(!r.confirmations||Number(r.confirmations)<1)&&r.tracker==="ethereum"),S=()=>{if(!y||!u?.retryTxAction)return;let wt={adapter:i.adapter,type:i.type,desiredChainID:"desiredChainID"in i?i.desiredChainID:i.chainId,actionFunction:d?.actionFunction,title:i.title,description:i.description,payload:i.payload,rpcUrl:"rpcUrl"in i?i?.rpcUrl:"desiredChainID"in i?i.desiredChainID:i.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in i?i.withTrackedModal:false};u.retryTxAction({tx:wt,txKey:r?.txKey??"",onClose:a,executeTxAction:l});},I=O&&r&&["metamask"].includes(r?.connectorType.split(":")[1]),F=()=>{I&&u.cancelTxAction(r);},K=()=>{I&&u.speedUpTxAction(r);},nt=o?.components?.Header,lt=o?.components?.Footer,N=o?.components?.StatusVisual,B=o?.components?.ProgressIndicator,A=o?.components?.InfoBlock,Z=o?.components?.ErrorBlock;if(!i)return null;let D=o?.classNames;return jsxRuntime.jsx(novaCore.Dialog,{open:m,onOpenChange:wt=>!wt&&a(r?.txKey),children:jsxRuntime.jsx(novaCore.DialogContent,{className:novaCore.cn("novatx:w-full novatx:sm:max-w-md",o?.modalProps?.className),...o?.modalProps,children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",D?.container,s),children:[nt?jsxRuntime.jsx(nt,{onClose:()=>a(r?.txKey),title:jsxRuntime.jsx(Gt,{tx:i,className:D?.headerTitle})}):jsxRuntime.jsx(fo,{onClose:()=>a(r?.txKey),title:jsxRuntime.jsx(Gt,{tx:i,className:D?.headerTitle}),classNames:D}),jsxRuntime.jsxs("main",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",D?.main),children:[N?jsxRuntime.jsx(N,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f}):jsxRuntime.jsx(aa,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f,className:o?.statusVisualCustomization?.className,iconClassNames:o?.statusVisualCustomization?.iconClassNames}),B?jsxRuntime.jsx(B,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f}):jsxRuntime.jsx(ta,{isProcessing:T,isSucceed:C,isFailed:v,isReplaced:f,className:o?.progressIndicatorCustomization?.className,stepClassNames:o?.progressIndicatorCustomization?.stepClassNames}),A?jsxRuntime.jsx(A,{tx:i,adapter:t}):jsxRuntime.jsx(Zt,{tx:i,adapter:t,customization:o?.infoBlockCustomization}),Z?jsxRuntime.jsx(Z,{error:r?.error||d?.error}):jsxRuntime.jsx(Qt,{error:r?.error||d?.error,className:o?.errorBlockCustomization?.className,classNames:o?.errorBlockCustomization?.classNames})]}),lt?jsxRuntime.jsx(lt,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:T,isFailed:v,canReplace:O,onRetry:y?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p}):jsxRuntime.jsx(yo,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:T,isFailed:v,canReplace:O,onRetry:y?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p,classNames:D})]})})})}function Gt({tx:t,className:a}){return jsxRuntime.jsx(j,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:novaCore.cn("novatx:text-lg",a)})}var fo=({onClose:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxRuntime.jsxs(novaCore.DialogHeader,{className:e?.header,children:[jsxRuntime.jsx(novaCore.DialogTitle,{className:e?.headerTitle,children:a}),jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{type:"button",onClick:()=>t(),"aria-label":s.close,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsxRuntime.jsx(novaCore.CloseIcon,{})})})]})},To=({isFailed:t,onRetry:a,isProcessing:e,canReplace:s,connectedWalletAddress:o,onOpenAllTransactions:n,classNames:l})=>{let{trackingModal:d}=h();return t&&a?jsxRuntime.jsx("button",{type:"button",onClick:a,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-t-[var(--tuwa-rounded-corners)] novatx:sm:rounded-[var(--tuwa-rounded-corners)] novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-on-accent)] novatx:transition-opacity novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)]",l?.retryButton),children:d.retry}):!e&&!s&&o?jsxRuntime.jsx("button",{type:"button",onClick:n,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]",l?.allTransactionsButton),children:d.allTransactions}):null},yo=({onClose:t,onOpenAllTransactions:a,isProcessing:e,onRetry:s,onSpeedUp:o,onCancel:n,canReplace:l,isFailed:d,connectedWalletAddress:p,classNames:r})=>{let{trackingModal:i,actions:m}=h();return jsxRuntime.jsxs("footer",{className:novaCore.cn("novatx:flex novatx:w-full novatx:items-center novatx:justify-between novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:p-4",r?.footer),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-4",r?.footerActions),children:l&&o&&n&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:o,className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",r?.speedUpButton),children:m.speedUp}),jsxRuntime.jsx("button",{type:"button",onClick:n,className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",r?.cancelButton),children:m.cancel})]})}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-3",r?.footerButtons),children:[jsxRuntime.jsx(To,{isFailed:d,onRetry:s,isProcessing:e,canReplace:l,connectedWalletAddress:p,onOpenAllTransactions:a,classNames:r}),jsxRuntime.jsx("button",{type:"button",onClick:t,disabled:e&&!l,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)] novatx:disabled:cursor-not-allowed novatx:disabled:opacity-50",r?.closeModalButton),children:e&&!l?i.processing:i.close})]})]})};function Qt({error:t,className:a,classNames:e}){let{isCopied:s,copy:o}=novaCore.useCopyToClipboard(),{actions:n,txError:l}=h(),{displayMessage:d,copyMessage:p}=react.useMemo(()=>t?typeof t=="string"?{displayMessage:t,copyMessage:t}:{displayMessage:t.message,copyMessage:JSON.stringify(t.raw,null,2)}:{displayMessage:"",copyMessage:""},[t]);return !t||!d?null:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30 novatx:bg-[var(--tuwa-error-bg)] novatx:p-3 novatx:text-sm",e?.container,a),children:[jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mb-2 novatx:flex novatx:items-center novatx:justify-between",e?.header),children:[jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2 novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-error-icon)]",e?.title),children:[jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-5 novatx:w-5",e?.icon)}),jsxRuntime.jsx("span",{children:l.title})]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>o(p),title:s?l.copied:n.copy,"aria-label":s?l.copied:`${n.copy} error message`,className:novaCore.cn("novatx:cursor-pointer novatx:text-[var(--tuwa-error-icon)]/50 novatx:transition-colors novatx:hover:text-[var(--tuwa-error-icon)]",e?.copyButton),children:s?jsxRuntime.jsx(solid.CheckIcon,{className:"novatx:h-5 novatx:w-5 novatx:text-[var(--tuwa-success-icon)]"}):jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:"novatx:h-5 novatx:w-5"})})]}),jsxRuntime.jsx("div",{className:novaCore.cn("novatx:max-h-24 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-primary)] novatx:p-2",e?.messageContainer),children:jsxRuntime.jsx("p",{className:novaCore.cn("novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)] novatx:break-all",e?.messageText),children:d})})]})}function Eo({label:t,value:a,classNames:e}){return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between novatx:text-sm novatx:gap-2",e?.row),children:[jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-[var(--tuwa-text-secondary)]",e?.label),children:t}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-primary)]",e?.value),children:a})]})}function Zt({tx:t,adapter:a,className:e,customization:s}){let{txInfo:o,statuses:n,hashLabels:l}=h(),d=orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!d)return null;let{InfoRow:p=Eo}=s?.components??{},r=s?.classNames,i={row:r?.row,label:r?.rowLabel,value:r?.rowValue},m="chainId"in t?t.chainId:t.desiredChainID,x=t.adapter===orbitCore.OrbitAdapter.SOLANA,g=x?t:void 0;return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-3",r?.container,e),children:[jsxRuntime.jsx(p,{label:o.network,value:jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:justify-end novatx:gap-2",children:[jsxRuntime.jsx("div",{className:"novatx:h-4 novatx:w-4",children:jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(m)})}),jsxRuntime.jsx("span",{children:novaCore.getChainName(orbitCore.setChainId(m)).name})]}),classNames:i}),t.localTimestamp&&jsxRuntime.jsx(p,{label:o.started,value:da__default.default.unix(t.localTimestamp).format("MMM D, HH:mm:ss"),classNames:i}),x&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[g?.slot&&jsxRuntime.jsx(p,{label:o.slot,value:jsxRuntime.jsx(rt,{hash:g.slot.toString(),explorerUrl:d?.getExplorerUrl?`${d?.getExplorerUrl(`/block/${g.slot}`)}`:void 0}),classNames:i}),g?.recentBlockhash&&jsxRuntime.jsx(p,{label:l.recentBlockhash,value:jsxRuntime.jsx(rt,{hash:g.recentBlockhash}),classNames:i})]}),"confirmations"in t&&Number(t.confirmations)>0&&jsxRuntime.jsx(p,{label:n.confirmationsLabel,value:t.confirmations,classNames:i}),"txKey"in t&&t.txKey&&jsxRuntime.jsx("div",{className:novaCore.cn("novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-3",r?.separator),children:jsxRuntime.jsx(at,{tx:t,adapter:a,variant:"history",renderHashLink:s?.components?.transactionKey,hashLinkClassNames:r?.hashLink,originalHashLinkClassNames:r?.originalHashLink})})]})}var Do={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 Ko({status:t,label:a,isFirst:e=false,classNames:s}){let o=Do[t],n=s?.statusOverrides?.[t],l=()=>{switch(t){case "completed":return jsxRuntime.jsx(solid.CheckIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "error":return jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "replaced":return jsxRuntime.jsx(solid.ArrowPathIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "active":return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:h-2 novatx:w-2 novatx:animate-pulse novatx:rounded-full",o.pulse)});default:return null}};return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:flex novatx:min-w-[80px] novatx:flex-1 novatx:flex-col novatx:items-center",s?.container),children:[!e&&jsxRuntime.jsx("div",{className:novaCore.cn("novatx:absolute novatx:right-1/2 novatx:top-[10px] novatx:h-0.5 novatx:w-full",o.line,s?.line,n?.line)}),jsxRuntime.jsx("div",{className:novaCore.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",o.border,o.fill,s?.circle,n?.circle),children:l()}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:mt-2 novatx:text-center novatx:text-xs novatx:font-mono",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]",s?.label,n?.label),children:a})]})}function ta({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,StepComponent:n=Ko,stepClassNames:l}){let{trackingModal:d,statuses:p}=h(),r=x=>{if(x===1)return "completed";if(x===2){if(a||e||s)return "completed";if(t)return "active"}if(x===3){if(a)return "completed";if(e)return "error";if(s)return "replaced";if(t)return "active"}return "inactive"},i=x=>x===1?d.progressIndicator.created:x===2?d.progressIndicator.processing:e?p.failed:s?p.replaced:d.progressIndicator.succeed,m=[{status:r(1),label:i(1),isFirst:true,classNames:l},{status:r(2),label:i(2),classNames:l},{status:r(3),label:i(3),isLast:true,classNames:l}];return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",o),children:m.map((x,g)=>jsxRuntime.jsx(n,{...x},g))})}var Wo={succeed:{Icon:solid.CheckCircleIcon,className:"novatx:text-[var(--tuwa-success-icon)]"},failed:{Icon:solid.ExclamationCircleIcon,className:"novatx:text-[var(--tuwa-error-icon)]"},replaced:{Icon:solid.ArrowPathIcon,className:"novatx:text-[var(--tuwa-info-icon)]"},processing:{Icon:solid.ArrowPathIcon,className:"novatx:animate-spin novatx:text-[var(--tuwa-text-accent)]"},initializing:{Icon:solid.ClockIcon,className:"novatx:animate-pulse novatx:text-[var(--tuwa-pending-icon)]"}};function aa({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,iconClassNames:n}){let l=a&&"succeed"||e&&"failed"||s&&"replaced"||t&&"processing"||"initializing",{Icon:d,className:p}=Wo[l],r=n?.statusOverrides?.[l];return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:justify-center novatx:py-4",o),children:jsxRuntime.jsx(d,{className:novaCore.cn("novatx:h-16 novatx:w-16",p,n?.icon,r)})})}var se=({children:t,className:a})=>jsxRuntime.jsx("div",{className:novaCore.cn("novatx:overflow-hidden novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-secondary)]",a),children:t}),re=({children:t,className:a})=>jsxRuntime.jsx("h4",{className:novaCore.cn("novatx:mb-2 novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:pb-2 novatx:text-[10px] novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-primary)] sm:novatx:mb-4 sm:novatx:pb-4",a),children:t}),Tt=({children:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:block novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",a),children:t}),Mt=({value:t,className:a,size:e="md"})=>{let{isCopied:s,copy:o}=novaCore.useCopyToClipboard(),{actions:n,txError:l}=h(),d=e==="sm"?"novatx:h-3.5 novatx:w-3.5":"novatx:h-4 novatx:w-4";return jsxRuntime.jsx("button",{type:"button",onClick:()=>o(t),className:novaCore.cn("novatx:cursor-pointer novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-accent)]",e==="sm"&&"novatx:p-1",a),title:s?l.copied:n.copy,"aria-label":s?l.copied:n.copy,children:s?jsxRuntime.jsx(solid.CheckIcon,{className:novaCore.cn(d,"novatx:text-[var(--tuwa-success-icon)]")}):jsxRuntime.jsx(outline.DocumentDuplicateIcon,{className:d})})},ie=({label:t,value:a,mono:e=true,className:s,children:o,classNames:n})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-1.5",s),children:[jsxRuntime.jsx(Tt,{className:n?.label,children:t}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",n?.container),children:[o||jsxRuntime.jsx("code",{className:novaCore.cn("novatx:min-w-0 novatx:flex-1 novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono",n?.code),title:a,children:a}),jsxRuntime.jsx(Mt,{value:a,className:n?.copyButton})]})]}),ce=({label:t,value:a,mono:e=false,className:s,classNames:o})=>a==null||a===""?null:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-1",s),children:[jsxRuntime.jsx(Tt,{className:o?.label,children:t}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:block novatx:break-all novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono novatx:text-xs",o?.value),children:a})]}),le=({icon:t,label:a,children:e,className:s,classNames:o})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between novatx:py-2.5",s),children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-2.5",children:[jsxRuntime.jsx(t,{className:novaCore.cn("novatx:h-4 novatx:w-4 novatx:shrink-0 novatx:text-[var(--tuwa-text-tertiary)]",o?.icon)}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:truncate novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",o?.label),children:a})]}),jsxRuntime.jsx("div",{className:novaCore.cn("novatx:ml-4 novatx:max-w-[55%] novatx:shrink-0 novatx:truncate novatx:text-right novatx:text-xs novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",o?.value),children:e})]}),de=({label:t,data:a,className:e,classNames:s})=>{if(!a||typeof a=="object"&&Object.keys(a).length===0)return null;let o=typeof a=="string"?a:JSON.stringify(a,null,2);return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-2",e),children:[jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",s?.header),children:[jsxRuntime.jsx(Tt,{className:s?.label,children:t}),jsxRuntime.jsx(Mt,{value:o,size:"sm",className:s?.copyButton})]}),jsxRuntime.jsx("div",{className:novaCore.cn("NovaCustomScroll novatx:max-h-[300px] novatx:overflow-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:p-3",s?.container),children:jsxRuntime.jsx("pre",{className:novaCore.cn("novatx:font-mono novatx:text-[10px] novatx:leading-relaxed novatx:text-[var(--tuwa-text-primary)] novatx:whitespace-pre-wrap",s?.pre),children:o})})]})},pe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2 lg:novatx:grid-cols-3",children:[jsxRuntime.jsx(e,{label:a.nonce,value:t.nonce}),jsxRuntime.jsx(e,{label:a.maxFee,value:t.maxFeePerGas}),jsxRuntime.jsx(e,{label:a.maxPriorityFee,value:t.maxPriorityFeePerGas}),jsxRuntime.jsx(e,{label:a.value,value:t.value}),t.replacedTxHash&&jsxRuntime.jsx(s,{label:a.replacedHash,value:t.replacedTxHash})]}),xe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[jsxRuntime.jsx(e,{label:a.fee,value:t.fee}),jsxRuntime.jsx(e,{label:a.slot,value:t.slot}),t.recentBlockhash&&jsxRuntime.jsx(s,{label:a.recentBlockhash,value:t.recentBlockhash})]}),ve=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[t.contractAddress&&jsxRuntime.jsx(s,{label:a.contractAddress,value:t.contractAddress}),jsxRuntime.jsx(e,{label:a.actualFee,value:t.actualFee?`${t.actualFee.amount} ${t.actualFee.unit}`:void 0})]});function pa({tx:t,onBack:a,adapter:e,className:s,customization:o}){let{transactionDetails:n,statuses:l,actions:d}=h(),p=react.useMemo(()=>orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:e}),[t.adapter,e]),r=t.pending?"pending":t.status===pulsarCore.TransactionStatus.Success?"success":"error",i=p?.getExplorerTxUrl?.(t),{SectionCard:m=se,SectionHeading:x=re,CopyableField:g=ie,DetailItem:k=ce,MetadataRow:T=le,JsonBlock:C=de}=o?.components??{},v=o?.classNames,f=t.adapter===orbitCore.OrbitAdapter.EVM?t:null,u=t.adapter===orbitCore.OrbitAdapter.SOLANA?t:null,y=t.adapter===orbitCore.OrbitAdapter.Starknet?t:null;return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-6 novatx:p-4",s,v?.container),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",v?.header),children:jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsxRuntime.jsx("button",{type:"button",onClick:a,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",v?.backButton),title:d.close,children:jsxRuntime.jsx(outline.ArrowLeftIcon,{className:"novatx:h-5 novatx:w-5"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:novaCore.cn("novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",v?.title),children:n.title}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:text-[10px] novatx:font-mono novatx:font-bold novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",v?.subtitle),children:n.subtitle})]})]})}),jsxRuntime.jsxs(m,{className:v?.coreInfoCard,children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:gap-2 novatx:flex-wrap novatx:items-center novatx:justify-between novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:p-4",children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:h-10 novatx:w-10 novatx:shrink-0 novatx:items-center novatx:justify-center novatx:rounded-[var(--tuwa-rounded-corners)]",r==="success"?"novatx:bg-emerald-500/10 novatx:text-emerald-500":r==="pending"?"novatx:bg-amber-500/10 novatx:text-amber-500":"novatx:bg-rose-500/10 novatx:text-rose-500",v?.statusIconContainer),children:r==="success"?jsxRuntime.jsx(outline.CheckCircleIcon,{className:"novatx:h-6 novatx:w-6"}):r==="pending"?jsxRuntime.jsx(outline.ClockIcon,{className:"novatx:h-6 novatx:w-6"}):jsxRuntime.jsx(outline.ExclamationTriangleIcon,{className:"novatx:h-6 novatx:w-6"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",children:t.type}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",r==="success"?"novatx:text-emerald-500":r==="pending"?"novatx:text-amber-500":"novatx:text-rose-500"),children:t.pending?l.pending:t.status??l.failed})]})]}),t.syncStatus==="pending-sync"&&jsxRuntime.jsxs("div",{className:"novatx:ml-auto novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-amber-500/10 novatx:px-2.5 novatx:py-1.5 novatx:text-amber-500",title:n.syncStatus.pendingTooltip,children:[jsxRuntime.jsx(outline.CloudArrowUpIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-pulse"}),jsxRuntime.jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.pending})]}),t.syncStatus==="synced"&&jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-2.5 novatx:py-1.5 novatx:text-[var(--tuwa-text-tertiary)]",title:n.syncStatus.syncedTooltip,children:[jsxRuntime.jsx(outline.CloudIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.synced})]})]}),jsxRuntime.jsxs("div",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-4 sm:novatx:grid-cols-2",children:[jsxRuntime.jsx(g,{label:n.hash,value:f?.hash||t.txKey,className:"novatx:min-w-0",classNames:{code:i?"novatx:p-0 novatx:border-none novatx:bg-transparent":void 0},children:i?jsxRuntime.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"novatx:block novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:font-mono novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",children:f?.hash||t.txKey}):null}),jsxRuntime.jsxs("div",{className:"novatx:space-y-1.5",children:[jsxRuntime.jsx(Tt,{children:n.network}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:h-[42px] novatx:items-center novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-4",v?.networkBadge),children:[jsxRuntime.jsx("div",{className:"novatx:h-5 novatx:w-5",children:jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(t.chainId)})}),jsxRuntime.jsx("span",{className:"novatx:truncate novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:novaCore.getChainName(orbitCore.setChainId(t.chainId)).name}),jsxRuntime.jsxs("span",{className:"novatx:ml-auto novatx:shrink-0 novatx:font-mono novatx:text-[10px] novatx:text-[var(--tuwa-text-tertiary)]",children:["ID: ",t.chainId]})]})]})]}),jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-8 sm:novatx:grid-cols-2",children:[jsxRuntime.jsx(g,{label:n.from,value:t.from}),f?.to?jsxRuntime.jsx(g,{label:n.to,value:f.to}):jsxRuntime.jsx(k,{label:n.to,value:"\u2014"})]})]})]}),jsxRuntime.jsxs(m,{className:novaCore.cn("novatx:p-4",v?.metadataSection),children:[jsxRuntime.jsx(x,{children:n.metadata}),jsxRuntime.jsxs("div",{className:"novatx:divide-y novatx:divide-[var(--tuwa-border-primary)]",children:[jsxRuntime.jsx(T,{icon:outline.GlobeAltIcon,label:n.adapter,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.adapter})}),jsxRuntime.jsx(T,{icon:outline.ClockIcon,label:n.submittedAt,children:da__default.default.unix(t.localTimestamp).format("MMM D, YYYY HH:mm:ss")}),t.finishedTimestamp&&jsxRuntime.jsx(T,{icon:outline.CheckCircleIcon,label:n.finishedAt,children:da__default.default.unix(t.finishedTimestamp).format("MMM D, YYYY HH:mm:ss")}),jsxRuntime.jsx(T,{icon:outline.CpuChipIcon,label:n.tracker,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.tracker})}),jsxRuntime.jsx(T,{icon:outline.LinkIcon,label:n.connector,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.connectorType})}),t.confirmations&&Number(t.confirmations)>0&&jsxRuntime.jsxs(T,{icon:outline.CheckBadgeIcon,label:n.confirmations,children:[t.confirmations,t.requiredConfirmations?` / ${t.requiredConfirmations}`:""]}),t.rpcUrl&&jsxRuntime.jsx(T,{icon:outline.GlobeAltIcon,label:n.rpcUrl,children:jsxRuntime.jsx("span",{className:"novatx:block novatx:max-w-[200px] novatx:truncate",title:t.rpcUrl,children:t.rpcUrl})}),jsxRuntime.jsx(T,{icon:outline.KeyIcon,label:n.txKey,children:jsxRuntime.jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-1.5",children:[jsxRuntime.jsx("span",{className:"novatx:truncate font-mono",children:t.txKey}),jsxRuntime.jsx(Mt,{value:t.txKey,size:"sm",className:"novatx:p-0"})]})})]})]}),jsxRuntime.jsxs(m,{className:novaCore.cn("novatx:p-4",v?.executionSection),children:[jsxRuntime.jsx(x,{children:n.executionData}),jsxRuntime.jsxs("div",{className:"novatx:space-y-6",children:[f&&jsxRuntime.jsx(pe,{tx:f,labels:n,components:{DetailItem:k,CopyableField:g}}),u&&jsxRuntime.jsx(xe,{tx:u,labels:n,components:{DetailItem:k,CopyableField:g}}),y&&jsxRuntime.jsx(ve,{tx:y,labels:n,components:{DetailItem:k,CopyableField:g}}),jsxRuntime.jsxs("div",{className:"novatx:space-y-6 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-6",children:[f&&f.input&&f.input!=="0x"&&jsxRuntime.jsx(C,{label:n.inputData,data:f.input}),u&&u.instructions&&jsxRuntime.jsx(C,{label:n.instructions,data:u.instructions}),jsxRuntime.jsx(C,{label:n.fullPayload,data:t.payload}),jsxRuntime.jsx(C,{label:n.errorContext,data:t.error})]})]})]})]})}da__default.default.extend(ge__default.default);var fe=({chainId:t,className:a})=>jsxRuntime.jsx("div",{className:novaCore.cn("novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",a),children:jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(t)})}),Te=({timestamp:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",a),children:t?da__default.default.unix(t).fromNow():"..."});function va({tx:t,adapter:a,className:e,customization:s,onSelectTx:o,canViewDetails:n=true}){let{Icon:l=fe,Title:d=j,Description:p=j,Timestamp:r=Te,StatusBadge:i=gt,TransactionKey:m=at}=s?.components??{},x=s?.classNames;return jsxRuntime.jsxs("div",{onClick:g=>{g.target.closest("button, a")||n&&o?.();},className:novaCore.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:last:border-b-0",o&&n&&"novatx:cursor-pointer novatx:hover:bg-[var(--tuwa-bg-secondary)]",x?.container,e),children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-start novatx:justify-between",children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:[jsxRuntime.jsx("div",{className:novaCore.cn("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)]",x?.iconWrapper),children:jsxRuntime.jsx(l,{chainId:t.chainId,className:x?.icon})}),jsxRuntime.jsxs("div",{className:x?.contentWrapper,children:[jsxRuntime.jsx(d,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true,className:x?.title}),jsxRuntime.jsx(r,{timestamp:t.localTimestamp,className:x?.timestamp}),jsxRuntime.jsx(p,{txStatus:t.status,source:t.description,variant:"description",className:x?.description})]})]}),jsxRuntime.jsx(i,{tx:t,className:x?.statusBadge,classNames:{icon:x?.statusBadgeIcon,label:x?.statusBadgeLabel}})]}),jsxRuntime.jsx(m,{tx:t,adapter:a,variant:"history",className:x?.txKeyContainer,hashLinkClassNames:{label:x?.hashLabel,link:x?.hashLink,copyButton:x?.hashCopyButton},originalHashLinkClassNames:{label:x?.originalHashLabel,link:x?.originalHashLink,copyButton:x?.originalHashCopyButton}})]})}var Ce=2500;function Ne({className:t,iconClassName:a}){return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-4",t),role:"status","aria-live":"polite",children:jsxRuntime.jsx("div",{className:novaCore.cn("novatx:h-5 novatx:w-5 novatx:animate-spin novatx:rounded-full novatx:border-2 novatx:border-[var(--tuwa-text-secondary)] novatx:border-t-transparent",a)})})}function he({className:t,iconClassName:a}){return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-3 novatx:animate-[novatx-fade-out_0.4s_ease-out_2s_forwards]",t),role:"alert","aria-live":"assertive",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:novaCore.cn("novatx:h-5 novatx:w-5 novatx:text-red-500",a),children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM8.28 7.22a.75.75 0 0 0-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 1 0 1.06 1.06L10 11.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L11.06 10l1.72-1.72a.75.75 0 0 0-1.06-1.06L10 8.94 8.28 7.22Z",clipRule:"evenodd"})})})}function we({title:t,message:a,className:e,classNames:s}){return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:p-8 novatx:text-center",e),children:[jsxRuntime.jsx("h4",{className:novaCore.cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",s?.title),children:t}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",s?.message),children:a})]})}function ua({adapter:t,connectedWalletAddress:a,transactionsPool:e,className:s,customization:o,pagination:n,initialTxKey:l,canViewDetails:d=true}){let{transactionsModal:p}=h(),[r,i]=react.useState(d?l??null:null);react.useEffect(()=>{if(l&&d){let S=setTimeout(()=>i(l),0);return ()=>clearTimeout(S)}},[l,d]);let m=react.useRef(null),x=react.useRef(false),[g,k]=react.useState(false),T=react.useRef(void 0),C=a?pulsarCore.selectAllTransactionsByActiveWallet(e,a).sort((I,F)=>(F.localTimestamp??0)-(I.localTimestamp??0)):[];react.useEffect(()=>{let S=n?.isError??false,I=x.current;if(x.current=S,S&&!I){let F=setTimeout(()=>k(true),0);return T.current=setTimeout(()=>k(false),Ce),()=>{clearTimeout(F),clearTimeout(T.current);}}},[n?.isError]);let v=react.useCallback(S=>{S[0]?.isIntersecting&&n?.hasMore&&!n?.isLoading&&a&&n.fetchNextPage(a);},[n,a]);react.useEffect(()=>{if(!n?.hasMore||!m.current)return;let S=new IntersectionObserver(v,{threshold:.1});return S.observe(m.current),()=>S.disconnect()},[n?.hasMore,v]);let{Placeholder:f=we,HistoryItem:u=va,Loader:y=Ne}=o?.components??{},O=()=>{if(!a)return jsxRuntime.jsx(f,{title:p.history.connectWalletTitle,message:p.history.connectWalletMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}});if(C.length>0){let S={container:o?.classNames?.itemContainer,iconWrapper:o?.classNames?.itemIconWrapper,icon:o?.classNames?.itemIcon,contentWrapper:o?.classNames?.itemContentWrapper,title:o?.classNames?.itemTitle,timestamp:o?.classNames?.itemTimestamp,description:o?.classNames?.itemDescription,statusBadge:o?.classNames?.itemStatusBadge,statusBadgeIcon:o?.classNames?.itemStatusBadgeIcon,statusBadgeLabel:o?.classNames?.itemStatusBadgeLabel,txKeyContainer:o?.classNames?.itemTxKeyContainer,hashLabel:o?.classNames?.itemHashLabel,hashLink:o?.classNames?.itemHashLink,hashCopyButton:o?.classNames?.itemHashCopyButton,originalHashLabel:o?.classNames?.itemOriginalHashLabel,originalHashLink:o?.classNames?.itemOriginalHashLink,originalHashCopyButton:o?.classNames?.itemOriginalHashCopyButton};return jsxRuntime.jsxs("div",{className:novaCore.cn("NovaCustomScroll novatx:sm:max-h-[400px] novatx:overflow-y-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)]",o?.classNames?.listWrapper),children:[C.map(I=>jsxRuntime.jsx(u,{tx:I,adapter:t,canViewDetails:d,customization:{classNames:S},onSelectTx:()=>d&&i(I.txKey)},I.txKey)),n?.hasMore&&jsxRuntime.jsx("div",{ref:m,className:"novatx:h-px","aria-hidden":"true"}),n?.isLoading&&jsxRuntime.jsx(y,{className:o?.classNames?.loaderContainer,iconClassName:o?.classNames?.loaderIcon}),g&&jsxRuntime.jsx(he,{className:o?.classNames?.errorContainer,iconClassName:o?.classNames?.errorIcon})]})}return jsxRuntime.jsx(f,{title:p.history.noTransactionsTitle,message:p.history.noTransactionsMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}})};if(r){let S=C.find(I=>I.txKey===r);if(S)return jsxRuntime.jsx(pa,{tx:S,adapter:t,onBack:()=>i(null),customization:o?.detailsCustomization})}return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-y-3",o?.classNames?.container,s),children:[o?.title&&jsxRuntime.jsx("h3",{className:novaCore.cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",o?.classNames?.titleText),children:o?.title}),O()]})}var Ee=({closeModal:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxRuntime.jsxs(novaCore.DialogHeader,{className:e?.header,children:[jsxRuntime.jsx(novaCore.DialogTitle,{className:e?.title,children:a}),jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":s.close,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsxRuntime.jsx(novaCore.CloseIcon,{})})})]})};function ga({isOpen:t,setIsOpen:a,customization:e,adapter:s,connectedWalletAddress:o,transactionsPool:n,pagination:l,selectedTxKey:d}){let{transactionsModal:p}=h(),r=()=>a(false),i=e?.components?.Header,m=e?.components?.History;return jsxRuntime.jsx(novaCore.Dialog,{open:t,onOpenChange:x=>!x&&r(),children:jsxRuntime.jsx(novaCore.DialogContent,{className:novaCore.cn("novatx:w-full novatx:sm:max-w-2xl",e?.modalProps?.className),...e?.modalProps,children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:max-h-[100dvh] novatx:w-full novatx:flex novatx:flex-col",e?.classNames?.contentWrapper),children:[i?jsxRuntime.jsx(i,{closeModal:r}):jsxRuntime.jsx(Ee,{closeModal:r,title:p.history.title,classNames:{header:e?.classNames?.header,title:e?.classNames?.headerTitle,closeButton:e?.classNames?.closeButton}}),m?jsxRuntime.jsx(m,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l}):jsxRuntime.jsx(ua,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l,initialTxKey:d})]})})})}var Ae=t=>({replaced:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.ArrowPathIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{children:t.replaced})]}),loading:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.ArrowPathIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-spin"}),jsxRuntime.jsx("span",{children:t.loading})]}),succeed:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.CheckCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{children:t.succeed})]}),failed:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.ExclamationCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{children:t.failed})]})});function Gr({children:t,action:a,getLastTxKey:e,transactionsPool:s,walletAddress:o,loadingContent:n,succeedContent:l,failedContent:d,replacedContent:p,resetTimeout:r=2500,className:i,classNames:m,...x}){let{trackedTxButton:g}=h(),{showPreSubmitErrorToast:k}=Wt(),[T,C]=react.useState("idle"),[v,f]=react.useState(void 0),u=Ae(g);react.useEffect(()=>{C("idle"),f(void 0);},[o]),react.useEffect(()=>{if(!v)return;let K=s[v];if(K)switch(K.status){case pulsarCore.TransactionStatus.Success:C("succeed");break;case pulsarCore.TransactionStatus.Replaced:C("replaced");break;case pulsarCore.TransactionStatus.Failed:C("failed");break}},[s,v,o]),react.useEffect(()=>{if(["succeed","failed","replaced"].includes(T)){let K=setTimeout(()=>{C("idle"),f(void 0);},r);return ()=>clearTimeout(K)}},[T,r]);let y=async()=>{C("loading");try{await a(),f(e());}catch(K){k(K),C("failed");}},O=()=>{switch(T){case "loading":return n??u.loading;case "succeed":return l??u.succeed;case "failed":return d??u.failed;case "replaced":return p??u.replaced;default:return t}},S={idle:"novatx:bg-[var(--tuwa-button-gradient-from)] novatx:text-[var(--tuwa-text-on-accent)] novatx:hover:opacity-90",loading:"novatx:bg-gray-400 novatx:text-white",replaced:"novatx:bg-gray-500 novatx:text-white",succeed:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",failed:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]"},I=m?.[T]??S[T],F=m?.base??"novatx:flex novatx:cursor-pointer novatx:items-center novatx:justify-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-3 novatx:py-1.5 novatx:min-h-[42px] novatx:text-sm novatx:font-mono novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70";return jsxRuntime.jsx("button",{...x,disabled:T!=="idle"||x.disabled,onClick:y,className:novaCore.cn(F,I,i),children:O()})}var Fe={[pulsarCore.TransactionStatus.Success]:"success",[pulsarCore.TransactionStatus.Failed]:"error",[pulsarCore.TransactionStatus.Replaced]:"info"};function Hi({adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,initialTx:o,executeTxAction:n,closeTxTrackedModal:l,labels:d,features:p,customization:r,pagination:i,...m}){let[x,g]=react.useState(false),[k,T]=react.useState(null),C=react.useRef(s),v="nova-transactions",f=novaCore.useMediaQuery("(max-width: 767px)"),u=react.useMemo(()=>({toasts:p?.toasts??true,transactionsModal:p?.transactionsModal??true,trackingTxModal:p?.trackingTxModal??true,validationErrorToast:p?.validationErrorToast??true}),[p]),y=react.useMemo(()=>novaCore.deepMerge(xt,d||{}),[d]),O=react.useCallback(N=>{if(!u.validationErrorToast)return;let B=N instanceof Error?N.message:String(N),A=N instanceof Error?JSON.stringify({name:N.name,message:N.message},null,2):B,Z=N.field;reactToastify.toast(D=>jsxRuntime.jsx(dt,{...D,message:B,rawError:A,fieldName:Z,customization:r?.validationErrorToast}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[u.validationErrorToast,r?.validationErrorToast]),S=react.useCallback(async(...N)=>{try{await n(...N);}catch(B){throw !o?.lastTxKey&&O(B),B}},[n,o?.lastTxKey,O]),I=react.useCallback(N=>{if(!u.toasts)return;let B=N.pending?"info":Fe[N.status]??"info",A=Z=>jsxRuntime.jsx(Xt,{...Z,tx:N,openTxInfoModal:u.transactionsModal?D=>{T(D&&typeof D=="string"?D:null),g(true);}:void 0,customization:r?.toast,adapter:t,connectedWalletAddress:a});reactToastify.toast.isActive(N.txKey)?reactToastify.toast.update(N.txKey,{render:A,type:B,containerId:v}):reactToastify.toast(A,{toastId:N.txKey,type:B,closeOnClick:false,containerId:v});},[s,u,r?.toast,t,a]);react.useEffect(()=>{let N=C.current;Object.values(s).forEach(B=>{let A=N[B.txKey];if(!A&&B.pending){I(B);return}A&&JSON.stringify(A)!==JSON.stringify(B)&&I(B);}),C.current=s;},[s,I]),react.useEffect(()=>{Object.values(s).forEach(N=>{reactToastify.toast.isActive(N.txKey,v)&&I(N);});},[a,I,s]);let F=!!o?.withTrackedModal&&s[o?.lastTxKey??""]?.isTrackedModalOpen,K=u.toasts&&(!f||!F&&!x),nt=react.useMemo(()=>{let N=r?.toastCloseButton;return N?({closeToast:B})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:B,...N}):novaCore.ToastCloseButton},[r?.toastCloseButton]),lt=react.useMemo(()=>({customization:r?.validationErrorToast,enabled:u.validationErrorToast}),[r?.validationErrorToast,u.validationErrorToast]);return jsxRuntime.jsx(Jt,{labels:y,children:jsxRuntime.jsxs(Pt.Provider,{value:lt,children:[K&&jsxRuntime.jsx(reactToastify.ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:nt,containerId:v,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...m}),u.transactionsModal&&jsxRuntime.jsx(ga,{isOpen:x,setIsOpen:N=>{g(N),N||T(null);},selectedTxKey:k,customization:r?.transactionsInfoModal,adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,pagination:i}),u.validationErrorToast&&jsxRuntime.jsx(reactToastify.ToastContainer,{containerId:pt,position:"top-center",autoClose:6e3,pauseOnHover:true,hideProgressBar:false,closeOnClick:false,icon:false,closeButton:nt,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0"}),u.trackingTxModal&&jsxRuntime.jsx(qt,{initialTx:o,onClose:l,onOpenAllTransactions:()=>g(true),transactionsPool:s,customization:r?.trackingTxModal,executeTxAction:S,adapter:t,connectedWalletAddress:a})]})})}
|
|
2
|
+
exports.a=dt;exports.b=pt;exports.c=Pt;exports.d=Wt;exports.e=xt;exports.f=Jt;exports.g=h;exports.h=Hi;exports.i=rt;exports.j=j;exports.k=at;exports.l=gt;exports.m=Xt;exports.n=qt;exports.o=Qt;exports.p=Zt;exports.q=ta;exports.r=aa;exports.s=pa;exports.t=va;exports.u=ua;exports.v=ga;exports.w=Gr;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkTPO53DJ7_cjs=require('./chunk-TPO53DJ7.cjs');Object.defineProperty(exports,"HashLink",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.i}});Object.defineProperty(exports,"StatusAwareText",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.j}});Object.defineProperty(exports,"ToastTransaction",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.m}});Object.defineProperty(exports,"ToastValidationError",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.a}});Object.defineProperty(exports,"TrackingTxModal",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.n}});Object.defineProperty(exports,"TransactionDetails",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.s}});Object.defineProperty(exports,"TransactionHistoryItem",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.t}});Object.defineProperty(exports,"TransactionKey",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.k}});Object.defineProperty(exports,"TransactionStatusBadge",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.l}});Object.defineProperty(exports,"TransactionsHistory",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.u}});Object.defineProperty(exports,"TransactionsInfoModal",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.v}});Object.defineProperty(exports,"TxActionButton",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.w}});Object.defineProperty(exports,"TxErrorBlock",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.o}});Object.defineProperty(exports,"TxInfoBlock",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.p}});Object.defineProperty(exports,"TxProgressIndicator",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.q}});Object.defineProperty(exports,"TxStatusVisual",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.r}});Object.defineProperty(exports,"defaultLabels",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.e}});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as NovaTransactionsLabels } from './TransactionsInfoModal-
|
|
2
|
-
export { C as CopyableFieldProps, D as DetailItemProps, H as HashLink, a as HashLinkProps, J as JsonBlockProps, M as MetadataRowProps, S as StatusAwareText, b as StatusAwareTextProps, c as StepClassNames, d as StepProps, e as StepStatus, T as ToastTransaction, f as ToastTransactionCustomization, g as ToastTransactionProps, h as ToastValidationError, i as ToastValidationErrorClassNames, j as ToastValidationErrorCopyContentProps, k as ToastValidationErrorCustomization, l as ToastValidationErrorFieldProps, m as ToastValidationErrorIconProps, n as ToastValidationErrorMessageProps, o as ToastValidationErrorProps, p as ToastValidationErrorTitleProps, q as TrackingTxModal, r as TrackingTxModalCustomization, s as TrackingTxModalProps, t as TransactionDetails, u as TransactionDetailsCustomization, v as TransactionDetailsProps, w as TransactionHistoryItem, x as TransactionHistoryItemCustomization, y as TransactionHistoryItemProps, z as TransactionKey, A as TransactionKeyProps, B as TransactionStatusBadge, E as TransactionStatusBadgeProps, F as TransactionsHistory, G as TransactionsHistoryCustomization, I as TransactionsHistoryLoaderProps, K as TransactionsHistoryProps, L as TransactionsInfoModal, O as TransactionsInfoModalCustomization, P as TransactionsInfoModalProps, Q as TxErrorBlock, R as TxErrorBlockClassNames, U as TxErrorBlockProps, V as TxInfoBlock, W as TxInfoBlockCustomization, X as TxInfoBlockProps, Y as TxProgressIndicator, Z as TxProgressIndicatorProps, _ as TxStatusVisual, $ as TxStatusVisualClassNames, a0 as TxStatusVisualProps } from './TransactionsInfoModal-
|
|
1
|
+
import { N as NovaTransactionsLabels } from './TransactionsInfoModal-BotDng6i.cjs';
|
|
2
|
+
export { C as CopyableFieldProps, D as DetailItemProps, H as HashLink, a as HashLinkProps, J as JsonBlockProps, M as MetadataRowProps, S as StatusAwareText, b as StatusAwareTextProps, c as StepClassNames, d as StepProps, e as StepStatus, T as ToastTransaction, f as ToastTransactionCustomization, g as ToastTransactionProps, h as ToastValidationError, i as ToastValidationErrorClassNames, j as ToastValidationErrorCopyContentProps, k as ToastValidationErrorCustomization, l as ToastValidationErrorFieldProps, m as ToastValidationErrorIconProps, n as ToastValidationErrorMessageProps, o as ToastValidationErrorProps, p as ToastValidationErrorTitleProps, q as TrackingTxModal, r as TrackingTxModalCustomization, s as TrackingTxModalProps, t as TransactionDetails, u as TransactionDetailsCustomization, v as TransactionDetailsProps, w as TransactionHistoryItem, x as TransactionHistoryItemCustomization, y as TransactionHistoryItemProps, z as TransactionKey, A as TransactionKeyProps, B as TransactionStatusBadge, E as TransactionStatusBadgeProps, F as TransactionsHistory, G as TransactionsHistoryCustomization, I as TransactionsHistoryLoaderProps, K as TransactionsHistoryProps, L as TransactionsInfoModal, O as TransactionsInfoModalCustomization, P as TransactionsInfoModalProps, Q as TxErrorBlock, R as TxErrorBlockClassNames, U as TxErrorBlockProps, V as TxInfoBlock, W as TxInfoBlockCustomization, X as TxInfoBlockProps, Y as TxProgressIndicator, Z as TxProgressIndicatorProps, _ as TxStatusVisual, $ as TxStatusVisualClassNames, a0 as TxStatusVisualProps } from './TransactionsInfoModal-BotDng6i.cjs';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
5
5
|
import { Transaction, TransactionPool } from '@tuwaio/pulsar-core';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as NovaTransactionsLabels } from './TransactionsInfoModal-
|
|
2
|
-
export { C as CopyableFieldProps, D as DetailItemProps, H as HashLink, a as HashLinkProps, J as JsonBlockProps, M as MetadataRowProps, S as StatusAwareText, b as StatusAwareTextProps, c as StepClassNames, d as StepProps, e as StepStatus, T as ToastTransaction, f as ToastTransactionCustomization, g as ToastTransactionProps, h as ToastValidationError, i as ToastValidationErrorClassNames, j as ToastValidationErrorCopyContentProps, k as ToastValidationErrorCustomization, l as ToastValidationErrorFieldProps, m as ToastValidationErrorIconProps, n as ToastValidationErrorMessageProps, o as ToastValidationErrorProps, p as ToastValidationErrorTitleProps, q as TrackingTxModal, r as TrackingTxModalCustomization, s as TrackingTxModalProps, t as TransactionDetails, u as TransactionDetailsCustomization, v as TransactionDetailsProps, w as TransactionHistoryItem, x as TransactionHistoryItemCustomization, y as TransactionHistoryItemProps, z as TransactionKey, A as TransactionKeyProps, B as TransactionStatusBadge, E as TransactionStatusBadgeProps, F as TransactionsHistory, G as TransactionsHistoryCustomization, I as TransactionsHistoryLoaderProps, K as TransactionsHistoryProps, L as TransactionsInfoModal, O as TransactionsInfoModalCustomization, P as TransactionsInfoModalProps, Q as TxErrorBlock, R as TxErrorBlockClassNames, U as TxErrorBlockProps, V as TxInfoBlock, W as TxInfoBlockCustomization, X as TxInfoBlockProps, Y as TxProgressIndicator, Z as TxProgressIndicatorProps, _ as TxStatusVisual, $ as TxStatusVisualClassNames, a0 as TxStatusVisualProps } from './TransactionsInfoModal-
|
|
1
|
+
import { N as NovaTransactionsLabels } from './TransactionsInfoModal-BotDng6i.js';
|
|
2
|
+
export { C as CopyableFieldProps, D as DetailItemProps, H as HashLink, a as HashLinkProps, J as JsonBlockProps, M as MetadataRowProps, S as StatusAwareText, b as StatusAwareTextProps, c as StepClassNames, d as StepProps, e as StepStatus, T as ToastTransaction, f as ToastTransactionCustomization, g as ToastTransactionProps, h as ToastValidationError, i as ToastValidationErrorClassNames, j as ToastValidationErrorCopyContentProps, k as ToastValidationErrorCustomization, l as ToastValidationErrorFieldProps, m as ToastValidationErrorIconProps, n as ToastValidationErrorMessageProps, o as ToastValidationErrorProps, p as ToastValidationErrorTitleProps, q as TrackingTxModal, r as TrackingTxModalCustomization, s as TrackingTxModalProps, t as TransactionDetails, u as TransactionDetailsCustomization, v as TransactionDetailsProps, w as TransactionHistoryItem, x as TransactionHistoryItemCustomization, y as TransactionHistoryItemProps, z as TransactionKey, A as TransactionKeyProps, B as TransactionStatusBadge, E as TransactionStatusBadgeProps, F as TransactionsHistory, G as TransactionsHistoryCustomization, I as TransactionsHistoryLoaderProps, K as TransactionsHistoryProps, L as TransactionsInfoModal, O as TransactionsInfoModalCustomization, P as TransactionsInfoModalProps, Q as TxErrorBlock, R as TxErrorBlockClassNames, U as TxErrorBlockProps, V as TxInfoBlock, W as TxInfoBlockCustomization, X as TxInfoBlockProps, Y as TxProgressIndicator, Z as TxProgressIndicatorProps, _ as TxStatusVisual, $ as TxStatusVisualClassNames, a0 as TxStatusVisualProps } from './TransactionsInfoModal-BotDng6i.js';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
5
5
|
import { Transaction, TransactionPool } from '@tuwaio/pulsar-core';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{i as HashLink,j as StatusAwareText,m as ToastTransaction,a as ToastValidationError,n as TrackingTxModal,s as TransactionDetails,t as TransactionHistoryItem,k as TransactionKey,l as TransactionStatusBadge,u as TransactionsHistory,v as TransactionsInfoModal,w as TxActionButton,o as TxErrorBlock,p as TxInfoBlock,q as TxProgressIndicator,r as TxStatusVisual,e as defaultLabels}from'./chunk-
|
|
1
|
+
export{i as HashLink,j as StatusAwareText,m as ToastTransaction,a as ToastValidationError,n as TrackingTxModal,s as TransactionDetails,t as TransactionHistoryItem,k as TransactionKey,l as TransactionStatusBadge,u as TransactionsHistory,v as TransactionsInfoModal,w as TxActionButton,o as TxErrorBlock,p as TxInfoBlock,q as TxProgressIndicator,r as TxStatusVisual,e as defaultLabels}from'./chunk-A2RUB4BK.js';
|
package/dist/providers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkTPO53DJ7_cjs=require('../chunk-TPO53DJ7.cjs');Object.defineProperty(exports,"NovaTransactionsErrorContext",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.c}});Object.defineProperty(exports,"NovaTransactionsLabelsProvider",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.f}});Object.defineProperty(exports,"NovaTransactionsProvider",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.h}});Object.defineProperty(exports,"VALIDATION_ERROR_CONTAINER_ID",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.b}});Object.defineProperty(exports,"useLabels",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.g}});Object.defineProperty(exports,"useNovaTransactionsError",{enumerable:true,get:function(){return chunkTPO53DJ7_cjs.d}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { k as ToastValidationErrorCustomization, N as NovaTransactionsLabels } from '../TransactionsInfoModal-
|
|
4
|
-
export { a1 as NovaTransactionsProvider, a2 as NovaTransactionsProviderProps } from '../TransactionsInfoModal-
|
|
3
|
+
import { k as ToastValidationErrorCustomization, N as NovaTransactionsLabels } from '../TransactionsInfoModal-BotDng6i.cjs';
|
|
4
|
+
export { a1 as NovaTransactionsProvider, a2 as NovaTransactionsProviderProps } from '../TransactionsInfoModal-BotDng6i.cjs';
|
|
5
5
|
import '@tuwaio/nova-core';
|
|
6
6
|
import '@tuwaio/pulsar-core';
|
|
7
7
|
import '@tuwaio/orbit-core';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { k as ToastValidationErrorCustomization, N as NovaTransactionsLabels } from '../TransactionsInfoModal-
|
|
4
|
-
export { a1 as NovaTransactionsProvider, a2 as NovaTransactionsProviderProps } from '../TransactionsInfoModal-
|
|
3
|
+
import { k as ToastValidationErrorCustomization, N as NovaTransactionsLabels } from '../TransactionsInfoModal-BotDng6i.js';
|
|
4
|
+
export { a1 as NovaTransactionsProvider, a2 as NovaTransactionsProviderProps } from '../TransactionsInfoModal-BotDng6i.js';
|
|
5
5
|
import '@tuwaio/nova-core';
|
|
6
6
|
import '@tuwaio/pulsar-core';
|
|
7
7
|
import '@tuwaio/orbit-core';
|
package/dist/providers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{c as NovaTransactionsErrorContext,f as NovaTransactionsLabelsProvider,h as NovaTransactionsProvider,b as VALIDATION_ERROR_CONTAINER_ID,g as useLabels,d as useNovaTransactionsError}from'../chunk-
|
|
1
|
+
export{c as NovaTransactionsErrorContext,f as NovaTransactionsLabelsProvider,h as NovaTransactionsProvider,b as VALIDATION_ERROR_CONTAINER_ID,g as useLabels,d as useNovaTransactionsError}from'../chunk-A2RUB4BK.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/nova-transactions",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
"type": "module",
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
14
15
|
"import": "./dist/index.js",
|
|
15
|
-
"require": "./dist/index.cjs"
|
|
16
|
-
"types": "./dist/index.d.ts"
|
|
16
|
+
"require": "./dist/index.cjs"
|
|
17
17
|
},
|
|
18
18
|
"./providers": {
|
|
19
|
+
"types": "./dist/providers/index.d.ts",
|
|
19
20
|
"import": "./dist/providers/index.js",
|
|
20
|
-
"require": "./dist/providers/index.cjs"
|
|
21
|
-
"types": "./dist/providers/index.d.ts"
|
|
21
|
+
"require": "./dist/providers/index.cjs"
|
|
22
22
|
},
|
|
23
23
|
"./dist/index.css": "./dist/index.css"
|
|
24
24
|
},
|
|
@@ -70,36 +70,38 @@
|
|
|
70
70
|
"framer-motion": "12.x.x",
|
|
71
71
|
"react": ">=19.2.3",
|
|
72
72
|
"react-toastify": ">=11",
|
|
73
|
-
"@tuwaio/pulsar-core": "
|
|
74
|
-
"@tuwaio/
|
|
75
|
-
"
|
|
76
|
-
"
|
|
73
|
+
"@tuwaio/pulsar-core": ">=0.7",
|
|
74
|
+
"@tuwaio/nova-core": "^0.6.0",
|
|
75
|
+
"@tuwaio/orbit-core": ">=0.3",
|
|
76
|
+
"dayjs": "1.x.x"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@tuwaio/orbit-core": "
|
|
80
|
-
"@tuwaio/pulsar-core": "
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"@web3icons/
|
|
79
|
+
"@tuwaio/orbit-core": "1.0.0-feat-update-alpha.4.d411095",
|
|
80
|
+
"@tuwaio/pulsar-core": "1.0.0-feat-update-alpha.3.51498c2",
|
|
81
|
+
"@tuwaio/nova-core": "^0.6.0",
|
|
82
|
+
"dayjs": "^1.11.23",
|
|
83
|
+
"@web3icons/react": "^4.1.21",
|
|
84
|
+
"@web3icons/common": "^0.11.50",
|
|
84
85
|
"@heroicons/react": "^2.2.0",
|
|
85
86
|
"@radix-ui/react-dialog": "^1.1.23",
|
|
86
87
|
"@tailwindcss/postcss": "^4.3.3",
|
|
87
88
|
"@types/react": "^19.2.18",
|
|
88
|
-
"autoprefixer": "^10.5.
|
|
89
|
+
"autoprefixer": "^10.5.5",
|
|
89
90
|
"clsx": "^2.1.1",
|
|
90
|
-
"framer-motion": "^13.
|
|
91
|
-
"immer": "^11.1.
|
|
92
|
-
"postcss": "^8.5.
|
|
93
|
-
"postcss-cli": "^
|
|
91
|
+
"framer-motion": "^13.2.0",
|
|
92
|
+
"immer": "^11.1.18",
|
|
93
|
+
"postcss": "^8.5.28",
|
|
94
|
+
"postcss-cli": "^12.0.0",
|
|
94
95
|
"react": "^19.2.8",
|
|
95
96
|
"react-toastify": "^11.1.0",
|
|
96
97
|
"tsup": "^8.5.1",
|
|
97
|
-
"typescript": "
|
|
98
|
+
"typescript": "6.0.3",
|
|
98
99
|
"tailwindcss": "^4.3.3",
|
|
99
|
-
"zustand": "^5.0.
|
|
100
|
-
"
|
|
100
|
+
"zustand": "^5.0.15",
|
|
101
|
+
"vitest": "^5.0.0"
|
|
101
102
|
},
|
|
102
103
|
"scripts": {
|
|
103
|
-
"build": "tsup && pnpm exec postcss ./src/styles/app.css -o ./dist/index.css"
|
|
104
|
+
"build": "tsup && pnpm exec postcss ./src/styles/app.css -o ./dist/index.css",
|
|
105
|
+
"test": "vitest run"
|
|
104
106
|
}
|
|
105
107
|
}
|
package/dist/chunk-2FWAGZOY.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {createContext,useContext,useCallback,useMemo,useState,useEffect,useRef}from'react';import {toast,ToastContainer}from'react-toastify';import {ExclamationTriangleIcon,ArrowTopRightOnSquareIcon,CheckIcon,DocumentDuplicateIcon,ClockIcon,ArrowPathIcon,ExclamationCircleIcon,CheckCircleIcon,XCircleIcon}from'@heroicons/react/24/solid';import {useCopyToClipboard,cn,textCenterEllipsis,NetworkIcon,getChainName,Dialog,DialogContent,DialogHeader,DialogTitle,DialogClose,CloseIcon,useMediaQuery,deepMerge,ToastCloseButton}from'@tuwaio/nova-core';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {TransactionStatus,TransactionTracker,selectAllTransactionsByActiveWallet}from'@tuwaio/pulsar-core';import {selectAdapterByKey,setChainId,OrbitAdapter}from'@tuwaio/orbit-core';import da from'dayjs';import {ArrowLeftIcon,CheckCircleIcon as CheckCircleIcon$1,ClockIcon as ClockIcon$1,ExclamationTriangleIcon as ExclamationTriangleIcon$1,CloudArrowUpIcon,CloudIcon,GlobeAltIcon,CpuChipIcon,LinkIcon,CheckBadgeIcon,KeyIcon,DocumentDuplicateIcon as DocumentDuplicateIcon$1}from'@heroicons/react/24/outline';import ge from'dayjs/plugin/relativeTime';var Pa=({isCopied:t,className:a,...e})=>jsx(ExclamationTriangleIcon,{className:cn("novatx:h-5 novatx:w-5 novatx:flex-shrink-0 novatx:text-[var(--tuwa-error-icon)]",a),...e}),ka=({title:t,className:a})=>jsx("span",{className:cn("novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-error-icon)]",a),role:"heading","aria-level":3,children:t}),Ia=({fieldLabel:t,fieldName:a,className:e})=>jsxs("div",{className:cn("novatx:mt-2 novatx:inline-flex novatx:items-center novatx:gap-1 novatx:rounded novatx:border novatx:border-[var(--tuwa-error-icon)]/20 novatx:bg-[var(--tuwa-error-bg)] novatx:px-2 novatx:py-0.5 novatx:text-xs novatx:text-[var(--tuwa-error-text)]",e),children:[jsxs("span",{className:"novatx:opacity-60",children:[t,":"]}),jsx("span",{className:"novatx:font-mono novatx:font-semibold",children:a})]}),Sa=({message:t,className:a})=>jsx("div",{className:cn("novatx:mt-2 novatx:max-h-20 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-secondary)] novatx:p-2"),children:jsx("p",{className:cn("novatx:wrap-break-word novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)]",a),children:t})}),Ba=({icon:t,isCopied:a,copyLabel:e,copiedLabel:s})=>jsxs(Fragment,{children:[t,jsx("span",{className:"novatx:select-none novatx:transition-colors","aria-live":"polite",role:"status",children:a?s:e})]});function dt({message:t,rawError:a,fieldName:e,className:s,customization:o}){let{validationError:n}=h(),{isCopied:l,copy:d}=useCopyToClipboard(),p=a??t,{Icon:r=Pa,Title:i=ka,FieldBadge:m=Ia,Message:x=Sa,CopyContent:u=Ba}=o?.components??{},k=o?.classNames??{},g=!p.trim(),C=k.copyButton??cn("novatx:mt-3 novatx:inline-flex novatx:cursor-pointer novatx:items-center novatx:gap-1.5","novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-2 novatx:py-1","novatx:text-xs novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-error-text)]","novatx:transition-all novatx:duration-200","novatx:hover:bg-[var(--tuwa-error-icon)]/10","novatx:focus:outline-none novatx:focus:ring-[length:var(--tuwa-ring-width)] novatx:focus:ring-[var(--tuwa-error-text)]/50",{"novatx:text-[var(--tuwa-success-text)] novatx:bg-[var(--tuwa-success-icon)]/10":l}),v=jsx(ExclamationTriangleIcon,{className:cn("novatx:h-4 novatx:w-4 novatx:transition-colors",l&&"novatx:text-[var(--tuwa-success-text)]"),"aria-hidden":true});return jsxs("div",{...o?.containerProps??{},role:"alert","aria-live":"assertive",className:cn("novatx:w-full novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30","novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",k.container,s),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",k.header),children:jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",k.titleWrapper),children:[jsx(r,{isCopied:l,className:k.icon,"aria-hidden":true}),jsx(i,{title:n.title,className:k.title})]})}),e&&jsx(m,{fieldLabel:n.field,fieldName:e,className:k.fieldBadge}),jsx(x,{message:t,className:k.messageText}),jsx("button",{...o?.buttonProps??{},type:"button",disabled:g,"aria-label":l?`${n.copied} ${n.copy}`:n.copy,className:C,onClick:async T=>{T.stopPropagation(),await d(p);},children:jsx(u,{icon:v,isCopied:l,copyLabel:n.copy,copiedLabel:n.copied})})]})}var pt="nova-validation-errors",Aa={enabled:true},wt=createContext(Aa);function Ut(){let{customization:t,enabled:a}=useContext(wt);return {showPreSubmitErrorToast:useCallback(s=>{if(!a)return;let o=s instanceof Error?s.message:String(s),n=s instanceof Error?JSON.stringify({name:s.name,message:s.message},null,2):o,l=s.field;toast(d=>jsx(dt,{...d,message:o,rawError:n,fieldName:l,customization:t}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[a,t])}}var xt={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:{openTransaction:"Open transaction"},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!"},validationError:{title:"Validation Error",field:"Field",copy:"Copy 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"},transactionDetails:{title:"Transaction Details",subtitle:"View full execution metrics and on-chain status.",metadata:"Metadata",executionData:"Execution Data",adapter:"Adapter",submittedAt:"Submitted At",finishedAt:"Finished At",tracker:"Tracker",connector:"Connector",confirmations:"Confirmations",txKey:"TX Key",from:"From (Origin)",to:"To (Recipient)",hash:"Transaction Hash",network:"Network",inputData:"Input Data",payload:"Payload Data",context:"Context",nonce:"Nonce",value:"Value (Raw)",maxFee:"Max Fee per Gas",maxPriorityFee:"Max Priority Fee per Gas",solanaTitle:"Solana Execution Data",starknetTitle:"Starknet Execution Data",contextTitle:"Context & Payload",fee:"Fee",slot:"Slot",instructions:"Instructions",recentBlockhash:"Recent Blockhash",contractAddress:"Contract Address",actualFee:"Actual Fee",titleContext:"Title Context",descriptionContext:"Description Context",errorContext:"Error Context",fullPayload:"Full Payload",rpcUrl:"RPC URL",replacedHash:"Replaced Hash",syncStatus:{pending:"Pending Sync",pendingTooltip:"Queued for Cloud Sync",synced:"Synced",syncedTooltip:"Synced to Quasar Cloud"}}};var Wt=createContext(xt),_t=({labels:t,children:a})=>jsx(Wt.Provider,{value:t,children:a}),h=()=>useContext(Wt);function rt({label:t,hash:a,explorerUrl:e,variant:s="default",className:o,classNames:n}){let{isCopied:l,copy:d}=useCopyToClipboard(),{actions:p,txError:r}=h(),i=cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":s==="default","novatx:text-xs":s==="compact"},o),m=cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":s==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":s==="compact"},n?.label),x=jsx("span",{className:cn("",n?.hash),children:textCenterEllipsis(a,5,5)});return jsxs("div",{className:i,children:[t&&jsxs("span",{className:m,children:[t,":"]}),jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-x-2",children:[e?jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:cn("novatx:flex novatx:items-center novatx:gap-x-1 novatx:text-[var(--tuwa-text-accent)] novatx:transition-colors novatx:hover:underline",n?.link),title:p.viewOnExplorer,"aria-label":p.viewOnExplorer,children:[x,jsx(ArrowTopRightOnSquareIcon,{className:cn("novatx:h-4 novatx:w-4",n?.linkIcon)})]}):jsx("span",{className:cn("novatx:text-[var(--tuwa-text-primary)]",n?.link),children:x}),jsx("button",{type:"button",onClick:()=>d(a),className:cn("novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",n?.copyButton),title:l?r.copied:p.copy,"aria-label":l?r.copied:p.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 Jt={[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 j({txStatus:t,source:a,fallback:e,variant:s,className:o,applyColor:n=false}){let l,d="";if(typeof a=="string")l=a;else if(Array.isArray(a)){let i=Jt[t||"default"]??Jt.default;l=a[i.index],n&&(d=i.colorClass);}else l=e;return l?jsx("div",{className:cn(s==="title"?"novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",d,o),children:l}):null}function at({tx:t,adapter:a,variant:e="toast",className:s,renderHashLink:o,confirmations:n,hashLinkClassNames:l,originalHashLinkClassNames:d}){let{hashLabels:p,statuses:r}=h(),i=selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!i)return null;let m=(v,T)=>o?o(v):jsx(rt,{...v,classNames:T??l}),x=e==="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",u=p[String(t.tracker)],k=u?m({label:u,hash:t.txKey,variant:t.tracker!==TransactionTracker.Solana?"compact":"default",explorerUrl:i.getExplorerTxUrl&&t.tracker===TransactionTracker.Solana?i?.getExplorerTxUrl(t):void 0}):null,g=(()=>{let v=t.hash,T=t.replacedTxHash;return !v&&!T?null:T?jsxs(Fragment,{children:[v&&m({label:p.original,hash:v,variant:"compact"},d),typeof i.getExplorerTxUrl<"u"&&m({label:p.replaced,hash:T,explorerUrl:i.getExplorerTxUrl(t)})]}):v&&typeof i.getExplorerTxUrl<"u"&&m({label:p.default,hash:v,explorerUrl:i.getExplorerTxUrl(t)})})(),C=u&&u!==p.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(x,s),children:[C&&k,g,typeof n=="number"&&n>0&&jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[r.confirmationsLabel,": ",n]})]})}var Za=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 ut({tx:t,className:a,classNames:e}){let{statuses:s}=h(),o=Za(s),n="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-mono novatx:font-medium",l=t.pending?"Pending":t.status,d=l?o[l]:null;if(!d)return jsx("div",{className:cn(n,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",e?.container,a),children:jsx("span",{className:e?.label,children:t.status??s.unknown})});let{label:p,Icon:r,badgeClasses:i,iconClasses:m}=d;return jsxs("div",{className:cn(n,i,e?.container,a),children:[jsx(r,{className:cn("novatx:h-4 novatx:w-4",m,e?.icon)}),jsx("span",{className:e?.label,children:p})]})}var so=({onClick:t,children:a,className:e})=>jsx("button",{onClick:t,type:"button",className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),ro=({onClick:t,children:a,className:e})=>jsx("button",{onClick:t,type:"button",className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),io=({onClick:t,children:a,className:e})=>jsx("button",{className:e||"novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-button-gradient-from)] novatx:px-3 novatx:py-1 novatx:min-h-[28px] novatx:text-xs novatx:font-mono 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:bg-[var(--tuwa-button-gradient-from-hover)] novatx:active:scale-95",onClick:t,type:"button",children:a}),co=({count:t,required:a,isSuccess:e,className:s})=>jsxs("div",{className:cn("novatx:absolute novatx:-left-1 novatx:-top-1 novatx:z-10 novatx:flex novatx:min-w-[18px] novatx:items-center novatx:justify-center novatx:rounded-full novatx:border novatx:px-1.5 novatx:py-0.5 novatx:font-mono novatx:text-[10px] novatx:font-bold novatx:shadow-sm novatx:backdrop-blur-sm novatx:transition-colors",e?"novatx:border-[var(--tuwa-success-icon)]/30 novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]":"novatx:border-[var(--tuwa-pending-icon)]/30 novatx:bg-[var(--tuwa-pending-bg)]/50 novatx:text-[var(--tuwa-pending-text)]",s),children:[t,a&&a>1?`/${a}`:""]});function Xt({openTxInfoModal:t,tx:a,icon:e,className:s,customization:o,connectedWalletAddress:n,adapter:l}){let{actions:d,toast:p}=h(),r=selectAdapterByKey({adapterKey:a.adapter,adapter:l}),i=!!(a.tracker==="ethereum"&&a.pending&&(!a.confirmations||Number(a.confirmations)<1)&&r?.speedUpTxAction&&r?.cancelTxAction&&a.from.toLowerCase()===n?.toLowerCase()&&["metamask"].includes(a.connectorType.split(":")[1])),m=()=>{i&&r.cancelTxAction(a);},x=()=>{i&&r.speedUpTxAction(a);},{StatusAwareText:u=j,TransactionKey:k=at,StatusBadge:g=ut,SpeedUpButton:C=so,CancelButton:v=ro,TxInfoButton:T=io,ConfirmationsBadge:y=co}=o?.components??{},f=o?.classNames;return jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",f?.container,s),children:[a.confirmations&&Number(a.confirmations)>0&&jsx(y,{count:a.confirmations,required:a.requiredConfirmations,isSuccess:a.status===TransactionStatus.Success,className:f?.confirmationsBadge}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-3",f?.header),children:[jsx("div",{className:cn("novatx:w-[40px] novatx:flex-shrink-0",f?.iconWrapper),title:getChainName(setChainId(a.chainId)).name,children:e??jsx(NetworkIcon,{chainId:setChainId(a.chainId)})}),jsxs("div",{className:cn("novatx:flex-1",f?.contentWrapper),children:[jsx(u,{txStatus:a.status,source:a.title,fallback:a.type,variant:"title",applyColor:true,className:f?.title}),jsx(u,{txStatus:a.status,source:a.description,variant:"description",className:f?.description})]})]}),jsxs("div",{children:[jsx(k,{adapter:l,tx:a,variant:"toast",className:f?.transactionKey,hashLinkClassNames:{label:f?.hashLabel,link:f?.hashLink,copyButton:f?.hashCopyButton},originalHashLinkClassNames:{label:f?.originalHashLabel,link:f?.originalHashLink,copyButton:f?.originalHashCopyButton}}),jsxs("div",{className:cn("novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",f?.footer),children:[jsx(g,{tx:a,className:f?.statusBadge,classNames:{icon:f?.statusBadgeIcon,label:f?.statusBadgeLabel}}),i?jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-4",f?.actionsContainer),children:[jsx(C,{onClick:x,className:f?.speedUpButton,children:d.speedUp}),jsx(v,{onClick:m,className:f?.cancelButton,children:d.cancel})]}):t&&a.from.toLowerCase()===n?.toLowerCase()&&jsx(T,{onClick:()=>t(a.txKey),className:f?.txInfoButton,children:p.openTransaction})]})]})]})}function qt({adapter:t,onClose:a,onOpenAllTransactions:e,className:s,customization:o,transactionsPool:n,executeTxAction:l,initialTx:d,connectedWalletAddress:p}){let r=d?.lastTxKey?n[d.lastTxKey]:void 0,i=r??d,m=d?.withTrackedModal&&!r||(r?.isTrackedModalOpen??false),x=r?.status,u=d?.isInitializing??false,k=r?.pending??false,g=u||k,C=x===TransactionStatus.Success,v=r?.isError||!!d?.error,T=x===TransactionStatus.Replaced,y=i?selectAdapterByKey({adapterKey:i.adapter,adapter:t}):void 0,f=!!(v&&i&&d?.actionFunction&&l),O=!!(y?.speedUpTxAction&&y?.cancelTxAction&&r?.pending&&(!r.confirmations||Number(r.confirmations)<1)&&r.tracker==="ethereum"),S=()=>{if(!f||!y?.retryTxAction)return;let ht={adapter:i.adapter,type:i.type,desiredChainID:"desiredChainID"in i?i.desiredChainID:i.chainId,actionFunction:d?.actionFunction,title:i.title,description:i.description,payload:i.payload,rpcUrl:"rpcUrl"in i?i?.rpcUrl:"desiredChainID"in i?i.desiredChainID:i.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in i?i.withTrackedModal:false};y.retryTxAction({tx:ht,txKey:r?.txKey??"",onClose:a,executeTxAction:l});},I=O&&r&&["metamask"].includes(r?.connectorType.split(":")[1]),F=()=>{I&&y.cancelTxAction(r);},K=()=>{I&&y.speedUpTxAction(r);},nt=o?.components?.Header,lt=o?.components?.Footer,N=o?.components?.StatusVisual,B=o?.components?.ProgressIndicator,A=o?.components?.InfoBlock,Z=o?.components?.ErrorBlock;if(!i)return null;let D=o?.classNames;return jsx(Dialog,{open:m,onOpenChange:ht=>!ht&&a(r?.txKey),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-md",o?.modalProps?.className),...o?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",D?.container,s),children:[nt?jsx(nt,{onClose:()=>a(r?.txKey),title:jsx(Gt,{tx:i,className:D?.headerTitle})}):jsx(fo,{onClose:()=>a(r?.txKey),title:jsx(Gt,{tx:i,className:D?.headerTitle}),classNames:D}),jsxs("main",{className:cn("novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",D?.main),children:[N?jsx(N,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T}):jsx(aa,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T,className:o?.statusVisualCustomization?.className,iconClassNames:o?.statusVisualCustomization?.iconClassNames}),B?jsx(B,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T}):jsx(ta,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T,className:o?.progressIndicatorCustomization?.className,stepClassNames:o?.progressIndicatorCustomization?.stepClassNames}),A?jsx(A,{tx:i,adapter:t}):jsx(Zt,{tx:i,adapter:t,customization:o?.infoBlockCustomization}),Z?jsx(Z,{error:r?.error||d?.error}):jsx(Qt,{error:r?.error||d?.error,className:o?.errorBlockCustomization?.className,classNames:o?.errorBlockCustomization?.classNames})]}),lt?jsx(lt,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:g,isFailed:v,canReplace:O,onRetry:f?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p}):jsx(yo,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:g,isFailed:v,canReplace:O,onRetry:f?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p,classNames:D})]})})})}function Gt({tx:t,className:a}){return jsx(j,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:cn("novatx:text-lg",a)})}var fo=({onClose:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxs(DialogHeader,{className:e?.header,children:[jsx(DialogTitle,{className:e?.headerTitle,children:a}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:()=>t(),"aria-label":s.close,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsx(CloseIcon,{})})})]})},To=({isFailed:t,onRetry:a,isProcessing:e,canReplace:s,connectedWalletAddress:o,onOpenAllTransactions:n,classNames:l})=>{let{trackingModal:d}=h();return t&&a?jsx("button",{type:"button",onClick:a,className:cn("novatx:cursor-pointer novatx:rounded-t-[var(--tuwa-rounded-corners)] novatx:sm:rounded-[var(--tuwa-rounded-corners)] novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-on-accent)] novatx:transition-opacity novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)]",l?.retryButton),children:d.retry}):!e&&!s&&o?jsx("button",{type:"button",onClick:n,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]",l?.allTransactionsButton),children:d.allTransactions}):null},yo=({onClose:t,onOpenAllTransactions:a,isProcessing:e,onRetry:s,onSpeedUp:o,onCancel:n,canReplace:l,isFailed:d,connectedWalletAddress:p,classNames:r})=>{let{trackingModal:i,actions:m}=h();return jsxs("footer",{className:cn("novatx:flex novatx:w-full novatx:items-center novatx:justify-between novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:p-4",r?.footer),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:gap-4",r?.footerActions),children:l&&o&&n&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:o,className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",r?.speedUpButton),children:m.speedUp}),jsx("button",{type:"button",onClick:n,className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",r?.cancelButton),children:m.cancel})]})}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-3",r?.footerButtons),children:[jsx(To,{isFailed:d,onRetry:s,isProcessing:e,canReplace:l,connectedWalletAddress:p,onOpenAllTransactions:a,classNames:r}),jsx("button",{type:"button",onClick:t,disabled:e&&!l,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)] novatx:disabled:cursor-not-allowed novatx:disabled:opacity-50",r?.closeModalButton),children:e&&!l?i.processing:i.close})]})]})};function Qt({error:t,className:a,classNames:e}){let{isCopied:s,copy:o}=useCopyToClipboard(),{actions:n,txError:l}=h(),{displayMessage:d,copyMessage:p}=useMemo(()=>t?typeof t=="string"?{displayMessage:t,copyMessage:t}:{displayMessage:t.message,copyMessage:JSON.stringify(t.raw,null,2)}:{displayMessage:"",copyMessage:""},[t]);return !t||!d?null:jsxs("div",{className:cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30 novatx:bg-[var(--tuwa-error-bg)] novatx:p-3 novatx:text-sm",e?.container,a),children:[jsxs("div",{className:cn("novatx:mb-2 novatx:flex novatx:items-center novatx:justify-between",e?.header),children:[jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2 novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-error-icon)]",e?.title),children:[jsx(ExclamationTriangleIcon,{className:cn("novatx:h-5 novatx:w-5",e?.icon)}),jsx("span",{children:l.title})]}),jsx("button",{type:"button",onClick:()=>o(p),title:s?l.copied:n.copy,"aria-label":s?l.copied:`${n.copy} error message`,className:cn("novatx:cursor-pointer novatx:text-[var(--tuwa-error-icon)]/50 novatx:transition-colors novatx:hover:text-[var(--tuwa-error-icon)]",e?.copyButton),children:s?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:cn("novatx:max-h-24 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-primary)] novatx:p-2",e?.messageContainer),children:jsx("p",{className:cn("novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)] novatx:break-all",e?.messageText),children:d})})]})}function Eo({label:t,value:a,classNames:e}){return jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between novatx:text-sm novatx:gap-2",e?.row),children:[jsx("span",{className:cn("novatx:text-[var(--tuwa-text-secondary)]",e?.label),children:t}),jsx("span",{className:cn("novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-primary)]",e?.value),children:a})]})}function Zt({tx:t,adapter:a,className:e,customization:s}){let{txInfo:o,statuses:n,hashLabels:l}=h(),d=selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!d)return null;let{InfoRow:p=Eo}=s?.components??{},r=s?.classNames,i={row:r?.row,label:r?.rowLabel,value:r?.rowValue},m="chainId"in t?t.chainId:t.desiredChainID,x=t.adapter===OrbitAdapter.SOLANA,u=x?t:void 0;return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-3",r?.container,e),children:[jsx(p,{label:o.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(NetworkIcon,{chainId:setChainId(m)})}),jsx("span",{children:getChainName(setChainId(m)).name})]}),classNames:i}),t.localTimestamp&&jsx(p,{label:o.started,value:da.unix(t.localTimestamp).format("MMM D, HH:mm:ss"),classNames:i}),x&&jsxs(Fragment,{children:[u?.slot&&jsx(p,{label:o.slot,value:jsx(rt,{hash:u.slot.toString(),explorerUrl:d?.getExplorerUrl?`${d?.getExplorerUrl(`/block/${u.slot}`)}`:void 0}),classNames:i}),u?.recentBlockhash&&jsx(p,{label:l.recentBlockhash,value:jsx(rt,{hash:u.recentBlockhash}),classNames:i})]}),"confirmations"in t&&Number(t.confirmations)>0&&jsx(p,{label:n.confirmationsLabel,value:t.confirmations,classNames:i}),"txKey"in t&&t.txKey&&jsx("div",{className:cn("novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-3",r?.separator),children:jsx(at,{tx:t,adapter:a,variant:"history",renderHashLink:s?.components?.transactionKey,hashLinkClassNames:r?.hashLink,originalHashLinkClassNames:r?.originalHashLink})})]})}var Do={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 Ko({status:t,label:a,isFirst:e=false,classNames:s}){let o=Do[t],n=s?.statusOverrides?.[t],l=()=>{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",o.pulse)});default:return null}};return jsxs("div",{className:cn("novatx:relative novatx:flex novatx:min-w-[80px] novatx:flex-1 novatx:flex-col novatx:items-center",s?.container),children:[!e&&jsx("div",{className:cn("novatx:absolute novatx:right-1/2 novatx:top-[10px] novatx:h-0.5 novatx:w-full",o.line,s?.line,n?.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",o.border,o.fill,s?.circle,n?.circle),children:l()}),jsx("span",{className:cn("novatx:mt-2 novatx:text-center novatx:text-xs novatx:font-mono",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]",s?.label,n?.label),children:a})]})}function ta({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,StepComponent:n=Ko,stepClassNames:l}){let{trackingModal:d,statuses:p}=h(),r=x=>{if(x===1)return "completed";if(x===2){if(a||e||s)return "completed";if(t)return "active"}if(x===3){if(a)return "completed";if(e)return "error";if(s)return "replaced";if(t)return "active"}return "inactive"},i=x=>x===1?d.progressIndicator.created:x===2?d.progressIndicator.processing:e?p.failed:s?p.replaced:d.progressIndicator.succeed,m=[{status:r(1),label:i(1),isFirst:true,classNames:l},{status:r(2),label:i(2),classNames:l},{status:r(3),label:i(3),isLast:true,classNames:l}];return jsx("div",{className:cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",o),children:m.map((x,u)=>jsx(n,{...x},u))})}var Wo={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 aa({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,iconClassNames:n}){let l=a&&"succeed"||e&&"failed"||s&&"replaced"||t&&"processing"||"initializing",{Icon:d,className:p}=Wo[l],r=n?.statusOverrides?.[l];return jsx("div",{className:cn("novatx:flex novatx:justify-center novatx:py-4",o),children:jsx(d,{className:cn("novatx:h-16 novatx:w-16",p,n?.icon,r)})})}var se=({children:t,className:a})=>jsx("div",{className:cn("novatx:overflow-hidden novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-secondary)]",a),children:t}),re=({children:t,className:a})=>jsx("h4",{className:cn("novatx:mb-2 novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:pb-2 novatx:text-[10px] novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-primary)] sm:novatx:mb-4 sm:novatx:pb-4",a),children:t}),ft=({children:t,className:a})=>jsx("span",{className:cn("novatx:block novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",a),children:t}),Et=({value:t,className:a,size:e="md"})=>{let{isCopied:s,copy:o}=useCopyToClipboard(),{actions:n,txError:l}=h(),d=e==="sm"?"novatx:h-3.5 novatx:w-3.5":"novatx:h-4 novatx:w-4";return jsx("button",{type:"button",onClick:()=>o(t),className:cn("novatx:cursor-pointer novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-accent)]",e==="sm"&&"novatx:p-1",a),title:s?l.copied:n.copy,"aria-label":s?l.copied:n.copy,children:s?jsx(CheckIcon,{className:cn(d,"novatx:text-[var(--tuwa-success-icon)]")}):jsx(DocumentDuplicateIcon$1,{className:d})})},ie=({label:t,value:a,mono:e=true,className:s,children:o,classNames:n})=>jsxs("div",{className:cn("novatx:space-y-1.5",s),children:[jsx(ft,{className:n?.label,children:t}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",n?.container),children:[o||jsx("code",{className:cn("novatx:min-w-0 novatx:flex-1 novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono",n?.code),title:a,children:a}),jsx(Et,{value:a,className:n?.copyButton})]})]}),ce=({label:t,value:a,mono:e=false,className:s,classNames:o})=>a==null||a===""?null:jsxs("div",{className:cn("novatx:space-y-1",s),children:[jsx(ft,{className:o?.label,children:t}),jsx("span",{className:cn("novatx:block novatx:break-all novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono novatx:text-xs",o?.value),children:a})]}),le=({icon:t,label:a,children:e,className:s,classNames:o})=>jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between novatx:py-2.5",s),children:[jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-2.5",children:[jsx(t,{className:cn("novatx:h-4 novatx:w-4 novatx:shrink-0 novatx:text-[var(--tuwa-text-tertiary)]",o?.icon)}),jsx("span",{className:cn("novatx:truncate novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",o?.label),children:a})]}),jsx("div",{className:cn("novatx:ml-4 novatx:max-w-[55%] novatx:shrink-0 novatx:truncate novatx:text-right novatx:text-xs novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",o?.value),children:e})]}),de=({label:t,data:a,className:e,classNames:s})=>{if(!a||typeof a=="object"&&Object.keys(a).length===0)return null;let o=typeof a=="string"?a:JSON.stringify(a,null,2);return jsxs("div",{className:cn("novatx:space-y-2",e),children:[jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between",s?.header),children:[jsx(ft,{className:s?.label,children:t}),jsx(Et,{value:o,size:"sm",className:s?.copyButton})]}),jsx("div",{className:cn("NovaCustomScroll novatx:max-h-[300px] novatx:overflow-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:p-3",s?.container),children:jsx("pre",{className:cn("novatx:font-mono novatx:text-[10px] novatx:leading-relaxed novatx:text-[var(--tuwa-text-primary)] novatx:whitespace-pre-wrap",s?.pre),children:o})})]})},pe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2 lg:novatx:grid-cols-3",children:[jsx(e,{label:a.nonce,value:t.nonce}),jsx(e,{label:a.maxFee,value:t.maxFeePerGas}),jsx(e,{label:a.maxPriorityFee,value:t.maxPriorityFeePerGas}),jsx(e,{label:a.value,value:t.value}),t.replacedTxHash&&jsx(s,{label:a.replacedHash,value:t.replacedTxHash})]}),xe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[jsx(e,{label:a.fee,value:t.fee}),jsx(e,{label:a.slot,value:t.slot}),t.recentBlockhash&&jsx(s,{label:a.recentBlockhash,value:t.recentBlockhash})]}),ve=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[t.contractAddress&&jsx(s,{label:a.contractAddress,value:t.contractAddress}),jsx(e,{label:a.actualFee,value:t.actualFee?`${t.actualFee.amount} ${t.actualFee.unit}`:void 0})]});function pa({tx:t,onBack:a,adapter:e,className:s,customization:o}){let{transactionDetails:n,statuses:l,actions:d}=h(),p=useMemo(()=>selectAdapterByKey({adapterKey:t.adapter,adapter:e}),[t.adapter,e]),r=t.pending?"pending":t.status===TransactionStatus.Success?"success":"error",i=p?.getExplorerTxUrl?.(t),{SectionCard:m=se,SectionHeading:x=re,CopyableField:u=ie,DetailItem:k=ce,MetadataRow:g=le,JsonBlock:C=de}=o?.components??{},v=o?.classNames,T=t.adapter===OrbitAdapter.EVM?t:null,y=t.adapter===OrbitAdapter.SOLANA?t:null,f=t.adapter===OrbitAdapter.Starknet?t:null;return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-6 novatx:p-4",s,v?.container),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between",v?.header),children:jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsx("button",{type:"button",onClick:a,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",v?.backButton),title:d.close,children:jsx(ArrowLeftIcon,{className:"novatx:h-5 novatx:w-5"})}),jsxs("div",{children:[jsx("h3",{className:cn("novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",v?.title),children:n.title}),jsx("p",{className:cn("novatx:text-[10px] novatx:font-mono novatx:font-bold novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",v?.subtitle),children:n.subtitle})]})]})}),jsxs(m,{className:v?.coreInfoCard,children:[jsxs("div",{className:"novatx:flex novatx:gap-2 novatx:flex-wrap novatx:items-center novatx:justify-between novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:p-4",children:[jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsx("div",{className:cn("novatx:flex novatx:h-10 novatx:w-10 novatx:shrink-0 novatx:items-center novatx:justify-center novatx:rounded-[var(--tuwa-rounded-corners)]",r==="success"?"novatx:bg-emerald-500/10 novatx:text-emerald-500":r==="pending"?"novatx:bg-amber-500/10 novatx:text-amber-500":"novatx:bg-rose-500/10 novatx:text-rose-500",v?.statusIconContainer),children:r==="success"?jsx(CheckCircleIcon$1,{className:"novatx:h-6 novatx:w-6"}):r==="pending"?jsx(ClockIcon$1,{className:"novatx:h-6 novatx:w-6"}):jsx(ExclamationTriangleIcon$1,{className:"novatx:h-6 novatx:w-6"})}),jsxs("div",{children:[jsx("h3",{className:"novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",children:t.type}),jsx("p",{className:cn("novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",r==="success"?"novatx:text-emerald-500":r==="pending"?"novatx:text-amber-500":"novatx:text-rose-500"),children:t.pending?l.pending:t.status??l.failed})]})]}),t.syncStatus==="pending-sync"&&jsxs("div",{className:"novatx:ml-auto novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-amber-500/10 novatx:px-2.5 novatx:py-1.5 novatx:text-amber-500",title:n.syncStatus.pendingTooltip,children:[jsx(CloudArrowUpIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-pulse"}),jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.pending})]}),t.syncStatus==="synced"&&jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-2.5 novatx:py-1.5 novatx:text-[var(--tuwa-text-tertiary)]",title:n.syncStatus.syncedTooltip,children:[jsx(CloudIcon,{className:"novatx:h-4 novatx:w-4"}),jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.synced})]})]}),jsxs("div",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-4 sm:novatx:grid-cols-2",children:[jsx(u,{label:n.hash,value:T?.hash||t.txKey,className:"novatx:min-w-0",classNames:{code:i?"novatx:p-0 novatx:border-none novatx:bg-transparent":void 0},children:i?jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"novatx:block novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:font-mono novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",children:T?.hash||t.txKey}):null}),jsxs("div",{className:"novatx:space-y-1.5",children:[jsx(ft,{children:n.network}),jsxs("div",{className:cn("novatx:flex novatx:h-[42px] novatx:items-center novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-4",v?.networkBadge),children:[jsx("div",{className:"novatx:h-5 novatx:w-5",children:jsx(NetworkIcon,{chainId:setChainId(t.chainId)})}),jsx("span",{className:"novatx:truncate novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:getChainName(setChainId(t.chainId)).name}),jsxs("span",{className:"novatx:ml-auto novatx:shrink-0 novatx:font-mono novatx:text-[10px] novatx:text-[var(--tuwa-text-tertiary)]",children:["ID: ",t.chainId]})]})]})]}),jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-8 sm:novatx:grid-cols-2",children:[jsx(u,{label:n.from,value:t.from}),T?.to?jsx(u,{label:n.to,value:T.to}):jsx(k,{label:n.to,value:"\u2014"})]})]})]}),jsxs(m,{className:cn("novatx:p-4",v?.metadataSection),children:[jsx(x,{children:n.metadata}),jsxs("div",{className:"novatx:divide-y novatx:divide-[var(--tuwa-border-primary)]",children:[jsx(g,{icon:GlobeAltIcon,label:n.adapter,children:jsx("span",{className:"novatx:capitalize",children:t.adapter})}),jsx(g,{icon:ClockIcon$1,label:n.submittedAt,children:da.unix(t.localTimestamp).format("MMM D, YYYY HH:mm:ss")}),t.finishedTimestamp&&jsx(g,{icon:CheckCircleIcon$1,label:n.finishedAt,children:da.unix(t.finishedTimestamp).format("MMM D, YYYY HH:mm:ss")}),jsx(g,{icon:CpuChipIcon,label:n.tracker,children:jsx("span",{className:"novatx:capitalize",children:t.tracker})}),jsx(g,{icon:LinkIcon,label:n.connector,children:jsx("span",{className:"novatx:capitalize",children:t.connectorType})}),t.confirmations&&Number(t.confirmations)>0&&jsxs(g,{icon:CheckBadgeIcon,label:n.confirmations,children:[t.confirmations,t.requiredConfirmations?` / ${t.requiredConfirmations}`:""]}),t.rpcUrl&&jsx(g,{icon:GlobeAltIcon,label:n.rpcUrl,children:jsx("span",{className:"novatx:block novatx:max-w-[200px] novatx:truncate",title:t.rpcUrl,children:t.rpcUrl})}),jsx(g,{icon:KeyIcon,label:n.txKey,children:jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-1.5",children:[jsx("span",{className:"novatx:truncate font-mono",children:t.txKey}),jsx(Et,{value:t.txKey,size:"sm",className:"novatx:p-0"})]})})]})]}),jsxs(m,{className:cn("novatx:p-4",v?.executionSection),children:[jsx(x,{children:n.executionData}),jsxs("div",{className:"novatx:space-y-6",children:[T&&jsx(pe,{tx:T,labels:n,components:{DetailItem:k,CopyableField:u}}),y&&jsx(xe,{tx:y,labels:n,components:{DetailItem:k,CopyableField:u}}),f&&jsx(ve,{tx:f,labels:n,components:{DetailItem:k,CopyableField:u}}),jsxs("div",{className:"novatx:space-y-6 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-6",children:[T&&T.input&&T.input!=="0x"&&jsx(C,{label:n.inputData,data:T.input}),y&&y.instructions&&jsx(C,{label:n.instructions,data:y.instructions}),jsx(C,{label:n.fullPayload,data:t.payload}),jsx(C,{label:n.errorContext,data:t.error})]})]})]})]})}da.extend(ge);var fe=({chainId:t,className:a})=>jsx("div",{className:cn("novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",a),children:jsx(NetworkIcon,{chainId:setChainId(t)})}),Te=({timestamp:t,className:a})=>jsx("span",{className:cn("novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",a),children:t?da.unix(t).fromNow():"..."});function va({tx:t,adapter:a,className:e,customization:s,onSelectTx:o,canViewDetails:n=true}){let{Icon:l=fe,Title:d=j,Description:p=j,Timestamp:r=Te,StatusBadge:i=ut,TransactionKey:m=at}=s?.components??{},x=s?.classNames;return jsxs("div",{onClick:u=>{u.target.closest("button, a")||n&&o?.();},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:last:border-b-0",o&&n&&"novatx:cursor-pointer novatx:hover:bg-[var(--tuwa-bg-secondary)]",x?.container,e),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:cn("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)]",x?.iconWrapper),children:jsx(l,{chainId:t.chainId,className:x?.icon})}),jsxs("div",{className:x?.contentWrapper,children:[jsx(d,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true,className:x?.title}),jsx(r,{timestamp:t.localTimestamp,className:x?.timestamp}),jsx(p,{txStatus:t.status,source:t.description,variant:"description",className:x?.description})]})]}),jsx(i,{tx:t,className:x?.statusBadge,classNames:{icon:x?.statusBadgeIcon,label:x?.statusBadgeLabel}})]}),jsx(m,{tx:t,adapter:a,variant:"history",className:x?.txKeyContainer,hashLinkClassNames:{label:x?.hashLabel,link:x?.hashLink,copyButton:x?.hashCopyButton},originalHashLinkClassNames:{label:x?.originalHashLabel,link:x?.originalHashLink,copyButton:x?.originalHashCopyButton}})]})}var Ce=2500;function Ne({className:t,iconClassName:a}){return jsx("div",{className:cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-4",t),role:"status","aria-live":"polite",children:jsx("div",{className:cn("novatx:h-5 novatx:w-5 novatx:animate-spin novatx:rounded-full novatx:border-2 novatx:border-[var(--tuwa-text-secondary)] novatx:border-t-transparent",a)})})}function he({className:t,iconClassName:a}){return jsx("div",{className:cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-3 novatx:animate-[novatx-fade-out_0.4s_ease-out_2s_forwards]",t),role:"alert","aria-live":"assertive",children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:cn("novatx:h-5 novatx:w-5 novatx:text-red-500",a),children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM8.28 7.22a.75.75 0 0 0-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 1 0 1.06 1.06L10 11.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L11.06 10l1.72-1.72a.75.75 0 0 0-1.06-1.06L10 8.94 8.28 7.22Z",clipRule:"evenodd"})})})}function we({title:t,message:a,className:e,classNames:s}){return jsxs("div",{className:cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:p-8 novatx:text-center",e),children:[jsx("h4",{className:cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",s?.title),children:t}),jsx("p",{className:cn("novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",s?.message),children:a})]})}function ua({adapter:t,connectedWalletAddress:a,transactionsPool:e,className:s,customization:o,pagination:n,initialTxKey:l,canViewDetails:d=true}){let{transactionsModal:p}=h(),[r,i]=useState(d?l??null:null);useEffect(()=>{if(l&&d){let S=setTimeout(()=>i(l),0);return ()=>clearTimeout(S)}},[l,d]);let m=useRef(null),x=useRef(false),[u,k]=useState(false),g=useRef(void 0),C=a?selectAllTransactionsByActiveWallet(e,a).sort((I,F)=>(F.localTimestamp??0)-(I.localTimestamp??0)):[];useEffect(()=>{let S=n?.isError??false,I=x.current;if(x.current=S,S&&!I){let F=setTimeout(()=>k(true),0);return g.current=setTimeout(()=>k(false),Ce),()=>{clearTimeout(F),clearTimeout(g.current);}}},[n?.isError]);let v=useCallback(S=>{S[0]?.isIntersecting&&n?.hasMore&&!n?.isLoading&&a&&n.fetchNextPage(a);},[n,a]);useEffect(()=>{if(!n?.hasMore||!m.current)return;let S=new IntersectionObserver(v,{threshold:.1});return S.observe(m.current),()=>S.disconnect()},[n?.hasMore,v]);let{Placeholder:T=we,HistoryItem:y=va,Loader:f=Ne}=o?.components??{},O=()=>{if(!a)return jsx(T,{title:p.history.connectWalletTitle,message:p.history.connectWalletMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}});if(C.length>0){let S={container:o?.classNames?.itemContainer,iconWrapper:o?.classNames?.itemIconWrapper,icon:o?.classNames?.itemIcon,contentWrapper:o?.classNames?.itemContentWrapper,title:o?.classNames?.itemTitle,timestamp:o?.classNames?.itemTimestamp,description:o?.classNames?.itemDescription,statusBadge:o?.classNames?.itemStatusBadge,statusBadgeIcon:o?.classNames?.itemStatusBadgeIcon,statusBadgeLabel:o?.classNames?.itemStatusBadgeLabel,txKeyContainer:o?.classNames?.itemTxKeyContainer,hashLabel:o?.classNames?.itemHashLabel,hashLink:o?.classNames?.itemHashLink,hashCopyButton:o?.classNames?.itemHashCopyButton,originalHashLabel:o?.classNames?.itemOriginalHashLabel,originalHashLink:o?.classNames?.itemOriginalHashLink,originalHashCopyButton:o?.classNames?.itemOriginalHashCopyButton};return jsxs("div",{className:cn("NovaCustomScroll novatx:sm:max-h-[400px] novatx:overflow-y-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)]",o?.classNames?.listWrapper),children:[C.map(I=>jsx(y,{tx:I,adapter:t,canViewDetails:d,customization:{classNames:S},onSelectTx:()=>d&&i(I.txKey)},I.txKey)),n?.hasMore&&jsx("div",{ref:m,className:"novatx:h-px","aria-hidden":"true"}),n?.isLoading&&jsx(f,{className:o?.classNames?.loaderContainer,iconClassName:o?.classNames?.loaderIcon}),u&&jsx(he,{className:o?.classNames?.errorContainer,iconClassName:o?.classNames?.errorIcon})]})}return jsx(T,{title:p.history.noTransactionsTitle,message:p.history.noTransactionsMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}})};if(r){let S=C.find(I=>I.txKey===r);if(S)return jsx(pa,{tx:S,adapter:t,onBack:()=>i(null),customization:o?.detailsCustomization})}return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-y-3",o?.classNames?.container,s),children:[o?.title&&jsx("h3",{className:cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",o?.classNames?.titleText),children:o?.title}),O()]})}var Ee=({closeModal:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxs(DialogHeader,{className:e?.header,children:[jsx(DialogTitle,{className:e?.title,children:a}),jsx(DialogClose,{asChild:true,children:jsx("button",{type:"button",onClick:t,"aria-label":s.close,className:cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsx(CloseIcon,{})})})]})};function ga({isOpen:t,setIsOpen:a,customization:e,adapter:s,connectedWalletAddress:o,transactionsPool:n,pagination:l,selectedTxKey:d}){let{transactionsModal:p}=h(),r=()=>a(false),i=e?.components?.Header,m=e?.components?.History;return jsx(Dialog,{open:t,onOpenChange:x=>!x&&r(),children:jsx(DialogContent,{className:cn("novatx:w-full novatx:sm:max-w-2xl",e?.modalProps?.className),...e?.modalProps,children:jsxs("div",{className:cn("novatx:relative novatx:max-h-[100dvh] novatx:w-full novatx:flex novatx:flex-col",e?.classNames?.contentWrapper),children:[i?jsx(i,{closeModal:r}):jsx(Ee,{closeModal:r,title:p.history.title,classNames:{header:e?.classNames?.header,title:e?.classNames?.headerTitle,closeButton:e?.classNames?.closeButton}}),m?jsx(m,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l}):jsx(ua,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l,initialTxKey:d})]})})})}var Ae=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 Gr({children:t,action:a,getLastTxKey:e,transactionsPool:s,walletAddress:o,loadingContent:n,succeedContent:l,failedContent:d,replacedContent:p,resetTimeout:r=2500,className:i,classNames:m,...x}){let{trackedTxButton:u}=h(),{showPreSubmitErrorToast:k}=Ut(),[g,C]=useState("idle"),[v,T]=useState(void 0),y=Ae(u);useEffect(()=>{C("idle"),T(void 0);},[o]),useEffect(()=>{if(!v)return;let K=s[v];if(K)switch(K.status){case TransactionStatus.Success:C("succeed");break;case TransactionStatus.Replaced:C("replaced");break;case TransactionStatus.Failed:C("failed");break}},[s,v,o]),useEffect(()=>{if(["succeed","failed","replaced"].includes(g)){let K=setTimeout(()=>{C("idle"),T(void 0);},r);return ()=>clearTimeout(K)}},[g,r]);let f=async()=>{C("loading");try{await a(),T(e());}catch(K){k(K),C("failed");}},O=()=>{switch(g){case "loading":return n??y.loading;case "succeed":return l??y.succeed;case "failed":return d??y.failed;case "replaced":return p??y.replaced;default:return t}},S={idle:"novatx:bg-[var(--tuwa-button-gradient-from)] novatx:text-[var(--tuwa-text-on-accent)] novatx:hover:opacity-90",loading:"novatx:bg-gray-400 novatx:text-white",replaced:"novatx:bg-gray-500 novatx:text-white",succeed:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",failed:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]"},I=m?.[g]??S[g],F=m?.base??"novatx:flex novatx:cursor-pointer novatx:items-center novatx:justify-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-3 novatx:py-1.5 novatx:min-h-[42px] novatx:text-sm novatx:font-mono novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70";return jsx("button",{...x,disabled:g!=="idle"||x.disabled,onClick:f,className:cn(F,I,i),children:O()})}var Fe={[TransactionStatus.Success]:"success",[TransactionStatus.Failed]:"error",[TransactionStatus.Replaced]:"info"};function Hi({adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,initialTx:o,executeTxAction:n,closeTxTrackedModal:l,labels:d,features:p,customization:r,pagination:i,...m}){let[x,u]=useState(false),[k,g]=useState(null),C=useRef(s),v="nova-transactions",T=useMediaQuery("(max-width: 767px)"),y=useMemo(()=>({toasts:p?.toasts??true,transactionsModal:p?.transactionsModal??true,trackingTxModal:p?.trackingTxModal??true,validationErrorToast:p?.validationErrorToast??true}),[p]),f=useMemo(()=>deepMerge(xt,d||{}),[d]),O=useCallback(N=>{if(!y.validationErrorToast)return;let B=N instanceof Error?N.message:String(N),A=N instanceof Error?JSON.stringify({name:N.name,message:N.message},null,2):B,Z=N.field;toast(D=>jsx(dt,{...D,message:B,rawError:A,fieldName:Z,customization:r?.validationErrorToast}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[y.validationErrorToast,r?.validationErrorToast]),S=useCallback(async(...N)=>{try{await n(...N);}catch(B){throw !o?.lastTxKey&&O(B),B}},[n,o?.lastTxKey,O]),I=useCallback(N=>{if(!y.toasts)return;let B=N.pending?"info":Fe[N.status]??"info",A=Z=>jsx(Xt,{...Z,tx:N,openTxInfoModal:y.transactionsModal?D=>{g(D&&typeof D=="string"?D:null),u(true);}:void 0,customization:r?.toast,adapter:t,connectedWalletAddress:a});toast.isActive(N.txKey)?toast.update(N.txKey,{render:A,type:B,containerId:v}):toast(A,{toastId:N.txKey,type:B,closeOnClick:false,containerId:v});},[s,y,r?.toast,t,a]);useEffect(()=>{let N=C.current;Object.values(s).forEach(B=>{let A=N[B.txKey];if(!A&&B.pending){I(B);return}A&&JSON.stringify(A)!==JSON.stringify(B)&&I(B);}),C.current=s;},[s,I]),useEffect(()=>{Object.values(s).forEach(N=>{toast.isActive(N.txKey,v)&&I(N);});},[a,I,s]);let F=!!o?.withTrackedModal&&s[o?.lastTxKey??""]?.isTrackedModalOpen,K=y.toasts&&(!T||!F&&!x),nt=useMemo(()=>{let N=r?.toastCloseButton;return N?({closeToast:B})=>jsx(ToastCloseButton,{closeToast:B,...N}):ToastCloseButton},[r?.toastCloseButton]),lt=useMemo(()=>({customization:r?.validationErrorToast,enabled:y.validationErrorToast}),[r?.validationErrorToast,y.validationErrorToast]);return jsx(_t,{labels:f,children:jsxs(wt.Provider,{value:lt,children:[K&&jsx(ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:nt,containerId:v,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...m}),y.transactionsModal&&jsx(ga,{isOpen:x,setIsOpen:N=>{u(N),N||g(null);},selectedTxKey:k,customization:r?.transactionsInfoModal,adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,pagination:i}),y.validationErrorToast&&jsx(ToastContainer,{containerId:pt,position:"top-center",autoClose:6e3,pauseOnHover:true,hideProgressBar:false,closeOnClick:false,icon:false,closeButton:nt,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0"}),y.trackingTxModal&&jsx(qt,{initialTx:o,onClose:l,onOpenAllTransactions:()=>u(true),transactionsPool:s,customization:r?.trackingTxModal,executeTxAction:S,adapter:t,connectedWalletAddress:a})]})})}
|
|
2
|
-
export{dt as a,pt as b,wt as c,Ut as d,xt as e,_t as f,h as g,Hi as h,rt as i,j,at as k,ut as l,Xt as m,qt as n,Qt as o,Zt as p,ta as q,aa as r,pa as s,va as t,ua as u,ga as v,Gr as w};
|
package/dist/chunk-BJO47ZBY.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var react=require('react'),reactToastify=require('react-toastify'),solid=require('@heroicons/react/24/solid'),novaCore=require('@tuwaio/nova-core'),jsxRuntime=require('react/jsx-runtime'),pulsarCore=require('@tuwaio/pulsar-core'),orbitCore=require('@tuwaio/orbit-core'),da=require('dayjs'),outline=require('@heroicons/react/24/outline'),ge=require('dayjs/plugin/relativeTime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var da__default=/*#__PURE__*/_interopDefault(da);var ge__default=/*#__PURE__*/_interopDefault(ge);var Pa=({isCopied:t,className:a,...e})=>jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-5 novatx:w-5 novatx:flex-shrink-0 novatx:text-[var(--tuwa-error-icon)]",a),...e}),ka=({title:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-error-icon)]",a),role:"heading","aria-level":3,children:t}),Ia=({fieldLabel:t,fieldName:a,className:e})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mt-2 novatx:inline-flex novatx:items-center novatx:gap-1 novatx:rounded novatx:border novatx:border-[var(--tuwa-error-icon)]/20 novatx:bg-[var(--tuwa-error-bg)] novatx:px-2 novatx:py-0.5 novatx:text-xs novatx:text-[var(--tuwa-error-text)]",e),children:[jsxRuntime.jsxs("span",{className:"novatx:opacity-60",children:[t,":"]}),jsxRuntime.jsx("span",{className:"novatx:font-mono novatx:font-semibold",children:a})]}),Sa=({message:t,className:a})=>jsxRuntime.jsx("div",{className:novaCore.cn("novatx:mt-2 novatx:max-h-20 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-secondary)] novatx:p-2"),children:jsxRuntime.jsx("p",{className:novaCore.cn("novatx:wrap-break-word novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)]",a),children:t})}),Ba=({icon:t,isCopied:a,copyLabel:e,copiedLabel:s})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t,jsxRuntime.jsx("span",{className:"novatx:select-none novatx:transition-colors","aria-live":"polite",role:"status",children:a?s:e})]});function dt({message:t,rawError:a,fieldName:e,className:s,customization:o}){let{validationError:n}=h(),{isCopied:l,copy:d}=novaCore.useCopyToClipboard(),p=a??t,{Icon:r=Pa,Title:i=ka,FieldBadge:m=Ia,Message:x=Sa,CopyContent:u=Ba}=o?.components??{},k=o?.classNames??{},g=!p.trim(),C=k.copyButton??novaCore.cn("novatx:mt-3 novatx:inline-flex novatx:cursor-pointer novatx:items-center novatx:gap-1.5","novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-2 novatx:py-1","novatx:text-xs novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-error-text)]","novatx:transition-all novatx:duration-200","novatx:hover:bg-[var(--tuwa-error-icon)]/10","novatx:focus:outline-none novatx:focus:ring-[length:var(--tuwa-ring-width)] novatx:focus:ring-[var(--tuwa-error-text)]/50",{"novatx:text-[var(--tuwa-success-text)] novatx:bg-[var(--tuwa-success-icon)]/10":l}),v=jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-4 novatx:w-4 novatx:transition-colors",l&&"novatx:text-[var(--tuwa-success-text)]"),"aria-hidden":true});return jsxRuntime.jsxs("div",{...o?.containerProps??{},role:"alert","aria-live":"assertive",className:novaCore.cn("novatx:w-full novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30","novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",k.container,s),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",k.header),children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",k.titleWrapper),children:[jsxRuntime.jsx(r,{isCopied:l,className:k.icon,"aria-hidden":true}),jsxRuntime.jsx(i,{title:n.title,className:k.title})]})}),e&&jsxRuntime.jsx(m,{fieldLabel:n.field,fieldName:e,className:k.fieldBadge}),jsxRuntime.jsx(x,{message:t,className:k.messageText}),jsxRuntime.jsx("button",{...o?.buttonProps??{},type:"button",disabled:g,"aria-label":l?`${n.copied} ${n.copy}`:n.copy,className:C,onClick:async T=>{T.stopPropagation(),await d(p);},children:jsxRuntime.jsx(u,{icon:v,isCopied:l,copyLabel:n.copy,copiedLabel:n.copied})})]})}var pt="nova-validation-errors",Aa={enabled:true},wt=react.createContext(Aa);function Ut(){let{customization:t,enabled:a}=react.useContext(wt);return {showPreSubmitErrorToast:react.useCallback(s=>{if(!a)return;let o=s instanceof Error?s.message:String(s),n=s instanceof Error?JSON.stringify({name:s.name,message:s.message},null,2):o,l=s.field;reactToastify.toast(d=>jsxRuntime.jsx(dt,{...d,message:o,rawError:n,fieldName:l,customization:t}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[a,t])}}var xt={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:{openTransaction:"Open transaction"},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!"},validationError:{title:"Validation Error",field:"Field",copy:"Copy 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"},transactionDetails:{title:"Transaction Details",subtitle:"View full execution metrics and on-chain status.",metadata:"Metadata",executionData:"Execution Data",adapter:"Adapter",submittedAt:"Submitted At",finishedAt:"Finished At",tracker:"Tracker",connector:"Connector",confirmations:"Confirmations",txKey:"TX Key",from:"From (Origin)",to:"To (Recipient)",hash:"Transaction Hash",network:"Network",inputData:"Input Data",payload:"Payload Data",context:"Context",nonce:"Nonce",value:"Value (Raw)",maxFee:"Max Fee per Gas",maxPriorityFee:"Max Priority Fee per Gas",solanaTitle:"Solana Execution Data",starknetTitle:"Starknet Execution Data",contextTitle:"Context & Payload",fee:"Fee",slot:"Slot",instructions:"Instructions",recentBlockhash:"Recent Blockhash",contractAddress:"Contract Address",actualFee:"Actual Fee",titleContext:"Title Context",descriptionContext:"Description Context",errorContext:"Error Context",fullPayload:"Full Payload",rpcUrl:"RPC URL",replacedHash:"Replaced Hash",syncStatus:{pending:"Pending Sync",pendingTooltip:"Queued for Cloud Sync",synced:"Synced",syncedTooltip:"Synced to Quasar Cloud"}}};var Wt=react.createContext(xt),_t=({labels:t,children:a})=>jsxRuntime.jsx(Wt.Provider,{value:t,children:a}),h=()=>react.useContext(Wt);function rt({label:t,hash:a,explorerUrl:e,variant:s="default",className:o,classNames:n}){let{isCopied:l,copy:d}=novaCore.useCopyToClipboard(),{actions:p,txError:r}=h(),i=novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":s==="default","novatx:text-xs":s==="compact"},o),m=novaCore.cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":s==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":s==="compact"},n?.label),x=jsxRuntime.jsx("span",{className:novaCore.cn("",n?.hash),children:novaCore.textCenterEllipsis(a,5,5)});return jsxRuntime.jsxs("div",{className:i,children:[t&&jsxRuntime.jsxs("span",{className:m,children:[t,":"]}),jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-x-2",children:[e?jsxRuntime.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-x-1 novatx:text-[var(--tuwa-text-accent)] novatx:transition-colors novatx:hover:underline",n?.link),title:p.viewOnExplorer,"aria-label":p.viewOnExplorer,children:[x,jsxRuntime.jsx(solid.ArrowTopRightOnSquareIcon,{className:novaCore.cn("novatx:h-4 novatx:w-4",n?.linkIcon)})]}):jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-[var(--tuwa-text-primary)]",n?.link),children:x}),jsxRuntime.jsx("button",{type:"button",onClick:()=>d(a),className:novaCore.cn("novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",n?.copyButton),title:l?r.copied:p.copy,"aria-label":l?r.copied:p.copy,children:l?jsxRuntime.jsx(solid.CheckIcon,{className:"novatx:h-4 novatx:w-4 novatx:text-[var(--tuwa-success-icon)]"}):jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:"novatx:h-4 novatx:w-4"})})]})]})}var Jt={[pulsarCore.TransactionStatus.Success]:{index:1,colorClass:"novatx:text-[var(--tuwa-success-text)]"},[pulsarCore.TransactionStatus.Failed]:{index:2,colorClass:"novatx:text-[var(--tuwa-error-text)]"},[pulsarCore.TransactionStatus.Replaced]:{index:3,colorClass:"novatx:text-[var(--tuwa-text-secondary)]"},default:{index:0,colorClass:"novatx:text-[var(--tuwa-text-primary)]"}};function j({txStatus:t,source:a,fallback:e,variant:s,className:o,applyColor:n=false}){let l,d="";if(typeof a=="string")l=a;else if(Array.isArray(a)){let i=Jt[t||"default"]??Jt.default;l=a[i.index],n&&(d=i.colorClass);}else l=e;return l?jsxRuntime.jsx("div",{className:novaCore.cn(s==="title"?"novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",d,o),children:l}):null}function at({tx:t,adapter:a,variant:e="toast",className:s,renderHashLink:o,confirmations:n,hashLinkClassNames:l,originalHashLinkClassNames:d}){let{hashLabels:p,statuses:r}=h(),i=orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!i)return null;let m=(v,T)=>o?o(v):jsxRuntime.jsx(rt,{...v,classNames:T??l}),x=e==="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",u=p[String(t.tracker)],k=u?m({label:u,hash:t.txKey,variant:t.tracker!==pulsarCore.TransactionTracker.Solana?"compact":"default",explorerUrl:i.getExplorerTxUrl&&t.tracker===pulsarCore.TransactionTracker.Solana?i?.getExplorerTxUrl(t):void 0}):null,g=(()=>{let v=t.hash,T=t.replacedTxHash;return !v&&!T?null:T?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[v&&m({label:p.original,hash:v,variant:"compact"},d),typeof i.getExplorerTxUrl<"u"&&m({label:p.replaced,hash:T,explorerUrl:i.getExplorerTxUrl(t)})]}):v&&typeof i.getExplorerTxUrl<"u"&&m({label:p.default,hash:v,explorerUrl:i.getExplorerTxUrl(t)})})(),C=u&&u!==p.default&&t.txKey!==t.hash;return jsxRuntime.jsxs("div",{className:novaCore.cn(x,s),children:[C&&k,g,typeof n=="number"&&n>0&&jsxRuntime.jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[r.confirmationsLabel,": ",n]})]})}var Za=t=>({Pending:{label:t.pending,Icon:solid.ArrowPathIcon,badgeClasses:"novatx:bg-[var(--tuwa-pending-bg)] novatx:text-[var(--tuwa-pending-text)]",iconClasses:"novatx:animate-spin novatx:text-[var(--tuwa-pending-icon)]"},[pulsarCore.TransactionStatus.Success]:{label:t.success,Icon:solid.CheckCircleIcon,badgeClasses:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",iconClasses:"novatx:text-[var(--tuwa-success-icon)]"},[pulsarCore.TransactionStatus.Failed]:{label:t.failed,Icon:solid.XCircleIcon,badgeClasses:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]",iconClasses:"novatx:text-[var(--tuwa-error-icon)]"},[pulsarCore.TransactionStatus.Replaced]:{label:t.replaced,Icon:solid.ArrowPathIcon,badgeClasses:"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",iconClasses:"novatx:text-[var(--tuwa-info-icon)]"}});function ut({tx:t,className:a,classNames:e}){let{statuses:s}=h(),o=Za(s),n="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-mono novatx:font-medium",l=t.pending?"Pending":t.status,d=l?o[l]:null;if(!d)return jsxRuntime.jsx("div",{className:novaCore.cn(n,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",e?.container,a),children:jsxRuntime.jsx("span",{className:e?.label,children:t.status??s.unknown})});let{label:p,Icon:r,badgeClasses:i,iconClasses:m}=d;return jsxRuntime.jsxs("div",{className:novaCore.cn(n,i,e?.container,a),children:[jsxRuntime.jsx(r,{className:novaCore.cn("novatx:h-4 novatx:w-4",m,e?.icon)}),jsxRuntime.jsx("span",{className:e?.label,children:p})]})}var so=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{onClick:t,type:"button",className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),ro=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{onClick:t,type:"button",className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),io=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{className:e||"novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-button-gradient-from)] novatx:px-3 novatx:py-1 novatx:min-h-[28px] novatx:text-xs novatx:font-mono 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:bg-[var(--tuwa-button-gradient-from-hover)] novatx:active:scale-95",onClick:t,type:"button",children:a}),co=({count:t,required:a,isSuccess:e,className:s})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:absolute novatx:-left-1 novatx:-top-1 novatx:z-10 novatx:flex novatx:min-w-[18px] novatx:items-center novatx:justify-center novatx:rounded-full novatx:border novatx:px-1.5 novatx:py-0.5 novatx:font-mono novatx:text-[10px] novatx:font-bold novatx:shadow-sm novatx:backdrop-blur-sm novatx:transition-colors",e?"novatx:border-[var(--tuwa-success-icon)]/30 novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]":"novatx:border-[var(--tuwa-pending-icon)]/30 novatx:bg-[var(--tuwa-pending-bg)]/50 novatx:text-[var(--tuwa-pending-text)]",s),children:[t,a&&a>1?`/${a}`:""]});function Xt({openTxInfoModal:t,tx:a,icon:e,className:s,customization:o,connectedWalletAddress:n,adapter:l}){let{actions:d,toast:p}=h(),r=orbitCore.selectAdapterByKey({adapterKey:a.adapter,adapter:l}),i=!!(a.tracker==="ethereum"&&a.pending&&(!a.confirmations||Number(a.confirmations)<1)&&r?.speedUpTxAction&&r?.cancelTxAction&&a.from.toLowerCase()===n?.toLowerCase()&&["metamask"].includes(a.connectorType.split(":")[1])),m=()=>{i&&r.cancelTxAction(a);},x=()=>{i&&r.speedUpTxAction(a);},{StatusAwareText:u=j,TransactionKey:k=at,StatusBadge:g=ut,SpeedUpButton:C=so,CancelButton:v=ro,TxInfoButton:T=io,ConfirmationsBadge:y=co}=o?.components??{},f=o?.classNames;return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-4 novatx:shadow-md",f?.container,s),children:[a.confirmations&&Number(a.confirmations)>0&&jsxRuntime.jsx(y,{count:a.confirmations,required:a.requiredConfirmations,isSuccess:a.status===pulsarCore.TransactionStatus.Success,className:f?.confirmationsBadge}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-3",f?.header),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:w-[40px] novatx:flex-shrink-0",f?.iconWrapper),title:novaCore.getChainName(orbitCore.setChainId(a.chainId)).name,children:e??jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(a.chainId)})}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex-1",f?.contentWrapper),children:[jsxRuntime.jsx(u,{txStatus:a.status,source:a.title,fallback:a.type,variant:"title",applyColor:true,className:f?.title}),jsxRuntime.jsx(u,{txStatus:a.status,source:a.description,variant:"description",className:f?.description})]})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(k,{adapter:l,tx:a,variant:"toast",className:f?.transactionKey,hashLinkClassNames:{label:f?.hashLabel,link:f?.hashLink,copyButton:f?.hashCopyButton},originalHashLinkClassNames:{label:f?.originalHashLabel,link:f?.originalHashLink,copyButton:f?.originalHashCopyButton}}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",f?.footer),children:[jsxRuntime.jsx(g,{tx:a,className:f?.statusBadge,classNames:{icon:f?.statusBadgeIcon,label:f?.statusBadgeLabel}}),i?jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-4",f?.actionsContainer),children:[jsxRuntime.jsx(C,{onClick:x,className:f?.speedUpButton,children:d.speedUp}),jsxRuntime.jsx(v,{onClick:m,className:f?.cancelButton,children:d.cancel})]}):t&&a.from.toLowerCase()===n?.toLowerCase()&&jsxRuntime.jsx(T,{onClick:()=>t(a.txKey),className:f?.txInfoButton,children:p.openTransaction})]})]})]})}function qt({adapter:t,onClose:a,onOpenAllTransactions:e,className:s,customization:o,transactionsPool:n,executeTxAction:l,initialTx:d,connectedWalletAddress:p}){let r=d?.lastTxKey?n[d.lastTxKey]:void 0,i=r??d,m=d?.withTrackedModal&&!r||(r?.isTrackedModalOpen??false),x=r?.status,u=d?.isInitializing??false,k=r?.pending??false,g=u||k,C=x===pulsarCore.TransactionStatus.Success,v=r?.isError||!!d?.error,T=x===pulsarCore.TransactionStatus.Replaced,y=i?orbitCore.selectAdapterByKey({adapterKey:i.adapter,adapter:t}):void 0,f=!!(v&&i&&d?.actionFunction&&l),O=!!(y?.speedUpTxAction&&y?.cancelTxAction&&r?.pending&&(!r.confirmations||Number(r.confirmations)<1)&&r.tracker==="ethereum"),S=()=>{if(!f||!y?.retryTxAction)return;let ht={adapter:i.adapter,type:i.type,desiredChainID:"desiredChainID"in i?i.desiredChainID:i.chainId,actionFunction:d?.actionFunction,title:i.title,description:i.description,payload:i.payload,rpcUrl:"rpcUrl"in i?i?.rpcUrl:"desiredChainID"in i?i.desiredChainID:i.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in i?i.withTrackedModal:false};y.retryTxAction({tx:ht,txKey:r?.txKey??"",onClose:a,executeTxAction:l});},I=O&&r&&["metamask"].includes(r?.connectorType.split(":")[1]),F=()=>{I&&y.cancelTxAction(r);},K=()=>{I&&y.speedUpTxAction(r);},nt=o?.components?.Header,lt=o?.components?.Footer,N=o?.components?.StatusVisual,B=o?.components?.ProgressIndicator,A=o?.components?.InfoBlock,Z=o?.components?.ErrorBlock;if(!i)return null;let D=o?.classNames;return jsxRuntime.jsx(novaCore.Dialog,{open:m,onOpenChange:ht=>!ht&&a(r?.txKey),children:jsxRuntime.jsx(novaCore.DialogContent,{className:novaCore.cn("novatx:w-full novatx:sm:max-w-md",o?.modalProps?.className),...o?.modalProps,children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:flex novatx:w-full novatx:flex-col",D?.container,s),children:[nt?jsxRuntime.jsx(nt,{onClose:()=>a(r?.txKey),title:jsxRuntime.jsx(Gt,{tx:i,className:D?.headerTitle})}):jsxRuntime.jsx(fo,{onClose:()=>a(r?.txKey),title:jsxRuntime.jsx(Gt,{tx:i,className:D?.headerTitle}),classNames:D}),jsxRuntime.jsxs("main",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",D?.main),children:[N?jsxRuntime.jsx(N,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T}):jsxRuntime.jsx(aa,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T,className:o?.statusVisualCustomization?.className,iconClassNames:o?.statusVisualCustomization?.iconClassNames}),B?jsxRuntime.jsx(B,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T}):jsxRuntime.jsx(ta,{isProcessing:g,isSucceed:C,isFailed:v,isReplaced:T,className:o?.progressIndicatorCustomization?.className,stepClassNames:o?.progressIndicatorCustomization?.stepClassNames}),A?jsxRuntime.jsx(A,{tx:i,adapter:t}):jsxRuntime.jsx(Zt,{tx:i,adapter:t,customization:o?.infoBlockCustomization}),Z?jsxRuntime.jsx(Z,{error:r?.error||d?.error}):jsxRuntime.jsx(Qt,{error:r?.error||d?.error,className:o?.errorBlockCustomization?.className,classNames:o?.errorBlockCustomization?.classNames})]}),lt?jsxRuntime.jsx(lt,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:g,isFailed:v,canReplace:O,onRetry:f?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p}):jsxRuntime.jsx(yo,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:g,isFailed:v,canReplace:O,onRetry:f?S:void 0,onSpeedUp:I?K:void 0,onCancel:I?F:void 0,connectedWalletAddress:p,classNames:D})]})})})}function Gt({tx:t,className:a}){return jsxRuntime.jsx(j,{txStatus:"status"in t?t.status:void 0,source:t.title,fallback:t.type,variant:"title",className:novaCore.cn("novatx:text-lg",a)})}var fo=({onClose:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxRuntime.jsxs(novaCore.DialogHeader,{className:e?.header,children:[jsxRuntime.jsx(novaCore.DialogTitle,{className:e?.headerTitle,children:a}),jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{type:"button",onClick:()=>t(),"aria-label":s.close,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsxRuntime.jsx(novaCore.CloseIcon,{})})})]})},To=({isFailed:t,onRetry:a,isProcessing:e,canReplace:s,connectedWalletAddress:o,onOpenAllTransactions:n,classNames:l})=>{let{trackingModal:d}=h();return t&&a?jsxRuntime.jsx("button",{type:"button",onClick:a,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-t-[var(--tuwa-rounded-corners)] novatx:sm:rounded-[var(--tuwa-rounded-corners)] novatx:bg-gradient-to-r novatx:from-[var(--tuwa-button-gradient-from)] novatx:to-[var(--tuwa-button-gradient-to)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-on-accent)] novatx:transition-opacity novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)]",l?.retryButton),children:d.retry}):!e&&!s&&o?jsxRuntime.jsx("button",{type:"button",onClick:n,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]",l?.allTransactionsButton),children:d.allTransactions}):null},yo=({onClose:t,onOpenAllTransactions:a,isProcessing:e,onRetry:s,onSpeedUp:o,onCancel:n,canReplace:l,isFailed:d,connectedWalletAddress:p,classNames:r})=>{let{trackingModal:i,actions:m}=h();return jsxRuntime.jsxs("footer",{className:novaCore.cn("novatx:flex novatx:w-full novatx:items-center novatx:justify-between novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:p-4",r?.footer),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-4",r?.footerActions),children:l&&o&&n&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:o,className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",r?.speedUpButton),children:m.speedUp}),jsxRuntime.jsx("button",{type:"button",onClick:n,className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",r?.cancelButton),children:m.cancel})]})}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-3",r?.footerButtons),children:[jsxRuntime.jsx(To,{isFailed:d,onRetry:s,isProcessing:e,canReplace:l,connectedWalletAddress:p,onOpenAllTransactions:a,classNames:r}),jsxRuntime.jsx("button",{type:"button",onClick:t,disabled:e&&!l,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-4 novatx:py-2 novatx:text-sm novatx:font-mono novatx:font-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)] novatx:disabled:cursor-not-allowed novatx:disabled:opacity-50",r?.closeModalButton),children:e&&!l?i.processing:i.close})]})]})};function Qt({error:t,className:a,classNames:e}){let{isCopied:s,copy:o}=novaCore.useCopyToClipboard(),{actions:n,txError:l}=h(),{displayMessage:d,copyMessage:p}=react.useMemo(()=>t?typeof t=="string"?{displayMessage:t,copyMessage:t}:{displayMessage:t.message,copyMessage:JSON.stringify(t.raw,null,2)}:{displayMessage:"",copyMessage:""},[t]);return !t||!d?null:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-error-icon)]/30 novatx:bg-[var(--tuwa-error-bg)] novatx:p-3 novatx:text-sm",e?.container,a),children:[jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mb-2 novatx:flex novatx:items-center novatx:justify-between",e?.header),children:[jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2 novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-error-icon)]",e?.title),children:[jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-5 novatx:w-5",e?.icon)}),jsxRuntime.jsx("span",{children:l.title})]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>o(p),title:s?l.copied:n.copy,"aria-label":s?l.copied:`${n.copy} error message`,className:novaCore.cn("novatx:cursor-pointer novatx:text-[var(--tuwa-error-icon)]/50 novatx:transition-colors novatx:hover:text-[var(--tuwa-error-icon)]",e?.copyButton),children:s?jsxRuntime.jsx(solid.CheckIcon,{className:"novatx:h-5 novatx:w-5 novatx:text-[var(--tuwa-success-icon)]"}):jsxRuntime.jsx(solid.DocumentDuplicateIcon,{className:"novatx:h-5 novatx:w-5"})})]}),jsxRuntime.jsx("div",{className:novaCore.cn("novatx:max-h-24 novatx:overflow-y-auto novatx:rounded novatx:bg-[var(--tuwa-bg-primary)] novatx:p-2",e?.messageContainer),children:jsxRuntime.jsx("p",{className:novaCore.cn("novatx:font-mono novatx:text-xs novatx:text-[var(--tuwa-error-text)] novatx:break-all",e?.messageText),children:d})})]})}function Eo({label:t,value:a,classNames:e}){return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between novatx:text-sm novatx:gap-2",e?.row),children:[jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-[var(--tuwa-text-secondary)]",e?.label),children:t}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:font-mono novatx:font-medium novatx:text-[var(--tuwa-text-primary)]",e?.value),children:a})]})}function Zt({tx:t,adapter:a,className:e,customization:s}){let{txInfo:o,statuses:n,hashLabels:l}=h(),d=orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!d)return null;let{InfoRow:p=Eo}=s?.components??{},r=s?.classNames,i={row:r?.row,label:r?.rowLabel,value:r?.rowValue},m="chainId"in t?t.chainId:t.desiredChainID,x=t.adapter===orbitCore.OrbitAdapter.SOLANA,u=x?t:void 0;return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)] novatx:p-3",r?.container,e),children:[jsxRuntime.jsx(p,{label:o.network,value:jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:justify-end novatx:gap-2",children:[jsxRuntime.jsx("div",{className:"novatx:h-4 novatx:w-4",children:jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(m)})}),jsxRuntime.jsx("span",{children:novaCore.getChainName(orbitCore.setChainId(m)).name})]}),classNames:i}),t.localTimestamp&&jsxRuntime.jsx(p,{label:o.started,value:da__default.default.unix(t.localTimestamp).format("MMM D, HH:mm:ss"),classNames:i}),x&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[u?.slot&&jsxRuntime.jsx(p,{label:o.slot,value:jsxRuntime.jsx(rt,{hash:u.slot.toString(),explorerUrl:d?.getExplorerUrl?`${d?.getExplorerUrl(`/block/${u.slot}`)}`:void 0}),classNames:i}),u?.recentBlockhash&&jsxRuntime.jsx(p,{label:l.recentBlockhash,value:jsxRuntime.jsx(rt,{hash:u.recentBlockhash}),classNames:i})]}),"confirmations"in t&&Number(t.confirmations)>0&&jsxRuntime.jsx(p,{label:n.confirmationsLabel,value:t.confirmations,classNames:i}),"txKey"in t&&t.txKey&&jsxRuntime.jsx("div",{className:novaCore.cn("novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-3",r?.separator),children:jsxRuntime.jsx(at,{tx:t,adapter:a,variant:"history",renderHashLink:s?.components?.transactionKey,hashLinkClassNames:r?.hashLink,originalHashLinkClassNames:r?.originalHashLink})})]})}var Do={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 Ko({status:t,label:a,isFirst:e=false,classNames:s}){let o=Do[t],n=s?.statusOverrides?.[t],l=()=>{switch(t){case "completed":return jsxRuntime.jsx(solid.CheckIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "error":return jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "replaced":return jsxRuntime.jsx(solid.ArrowPathIcon,{className:"novatx:h-3 novatx:w-3 novatx:text-white"});case "active":return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:h-2 novatx:w-2 novatx:animate-pulse novatx:rounded-full",o.pulse)});default:return null}};return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:flex novatx:min-w-[80px] novatx:flex-1 novatx:flex-col novatx:items-center",s?.container),children:[!e&&jsxRuntime.jsx("div",{className:novaCore.cn("novatx:absolute novatx:right-1/2 novatx:top-[10px] novatx:h-0.5 novatx:w-full",o.line,s?.line,n?.line)}),jsxRuntime.jsx("div",{className:novaCore.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",o.border,o.fill,s?.circle,n?.circle),children:l()}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:mt-2 novatx:text-center novatx:text-xs novatx:font-mono",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]",s?.label,n?.label),children:a})]})}function ta({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,StepComponent:n=Ko,stepClassNames:l}){let{trackingModal:d,statuses:p}=h(),r=x=>{if(x===1)return "completed";if(x===2){if(a||e||s)return "completed";if(t)return "active"}if(x===3){if(a)return "completed";if(e)return "error";if(s)return "replaced";if(t)return "active"}return "inactive"},i=x=>x===1?d.progressIndicator.created:x===2?d.progressIndicator.processing:e?p.failed:s?p.replaced:d.progressIndicator.succeed,m=[{status:r(1),label:i(1),isFirst:true,classNames:l},{status:r(2),label:i(2),classNames:l},{status:r(3),label:i(3),isLast:true,classNames:l}];return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:w-full novatx:items-start novatx:px-4 novatx:pt-2 novatx:pb-1",o),children:m.map((x,u)=>jsxRuntime.jsx(n,{...x},u))})}var Wo={succeed:{Icon:solid.CheckCircleIcon,className:"novatx:text-[var(--tuwa-success-icon)]"},failed:{Icon:solid.ExclamationCircleIcon,className:"novatx:text-[var(--tuwa-error-icon)]"},replaced:{Icon:solid.ArrowPathIcon,className:"novatx:text-[var(--tuwa-info-icon)]"},processing:{Icon:solid.ArrowPathIcon,className:"novatx:animate-spin novatx:text-[var(--tuwa-text-accent)]"},initializing:{Icon:solid.ClockIcon,className:"novatx:animate-pulse novatx:text-[var(--tuwa-pending-icon)]"}};function aa({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:s,className:o,iconClassNames:n}){let l=a&&"succeed"||e&&"failed"||s&&"replaced"||t&&"processing"||"initializing",{Icon:d,className:p}=Wo[l],r=n?.statusOverrides?.[l];return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:justify-center novatx:py-4",o),children:jsxRuntime.jsx(d,{className:novaCore.cn("novatx:h-16 novatx:w-16",p,n?.icon,r)})})}var se=({children:t,className:a})=>jsxRuntime.jsx("div",{className:novaCore.cn("novatx:overflow-hidden novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-secondary)]",a),children:t}),re=({children:t,className:a})=>jsxRuntime.jsx("h4",{className:novaCore.cn("novatx:mb-2 novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:pb-2 novatx:text-[10px] novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-primary)] sm:novatx:mb-4 sm:novatx:pb-4",a),children:t}),ft=({children:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:block novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",a),children:t}),Et=({value:t,className:a,size:e="md"})=>{let{isCopied:s,copy:o}=novaCore.useCopyToClipboard(),{actions:n,txError:l}=h(),d=e==="sm"?"novatx:h-3.5 novatx:w-3.5":"novatx:h-4 novatx:w-4";return jsxRuntime.jsx("button",{type:"button",onClick:()=>o(t),className:novaCore.cn("novatx:cursor-pointer novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-accent)]",e==="sm"&&"novatx:p-1",a),title:s?l.copied:n.copy,"aria-label":s?l.copied:n.copy,children:s?jsxRuntime.jsx(solid.CheckIcon,{className:novaCore.cn(d,"novatx:text-[var(--tuwa-success-icon)]")}):jsxRuntime.jsx(outline.DocumentDuplicateIcon,{className:d})})},ie=({label:t,value:a,mono:e=true,className:s,children:o,classNames:n})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-1.5",s),children:[jsxRuntime.jsx(ft,{className:n?.label,children:t}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",n?.container),children:[o||jsxRuntime.jsx("code",{className:novaCore.cn("novatx:min-w-0 novatx:flex-1 novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono",n?.code),title:a,children:a}),jsxRuntime.jsx(Et,{value:a,className:n?.copyButton})]})]}),ce=({label:t,value:a,mono:e=false,className:s,classNames:o})=>a==null||a===""?null:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-1",s),children:[jsxRuntime.jsx(ft,{className:o?.label,children:t}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:block novatx:break-all novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono novatx:text-xs",o?.value),children:a})]}),le=({icon:t,label:a,children:e,className:s,classNames:o})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between novatx:py-2.5",s),children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-2.5",children:[jsxRuntime.jsx(t,{className:novaCore.cn("novatx:h-4 novatx:w-4 novatx:shrink-0 novatx:text-[var(--tuwa-text-tertiary)]",o?.icon)}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:truncate novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",o?.label),children:a})]}),jsxRuntime.jsx("div",{className:novaCore.cn("novatx:ml-4 novatx:max-w-[55%] novatx:shrink-0 novatx:truncate novatx:text-right novatx:text-xs novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",o?.value),children:e})]}),de=({label:t,data:a,className:e,classNames:s})=>{if(!a||typeof a=="object"&&Object.keys(a).length===0)return null;let o=typeof a=="string"?a:JSON.stringify(a,null,2);return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-2",e),children:[jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",s?.header),children:[jsxRuntime.jsx(ft,{className:s?.label,children:t}),jsxRuntime.jsx(Et,{value:o,size:"sm",className:s?.copyButton})]}),jsxRuntime.jsx("div",{className:novaCore.cn("NovaCustomScroll novatx:max-h-[300px] novatx:overflow-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:p-3",s?.container),children:jsxRuntime.jsx("pre",{className:novaCore.cn("novatx:font-mono novatx:text-[10px] novatx:leading-relaxed novatx:text-[var(--tuwa-text-primary)] novatx:whitespace-pre-wrap",s?.pre),children:o})})]})},pe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2 lg:novatx:grid-cols-3",children:[jsxRuntime.jsx(e,{label:a.nonce,value:t.nonce}),jsxRuntime.jsx(e,{label:a.maxFee,value:t.maxFeePerGas}),jsxRuntime.jsx(e,{label:a.maxPriorityFee,value:t.maxPriorityFeePerGas}),jsxRuntime.jsx(e,{label:a.value,value:t.value}),t.replacedTxHash&&jsxRuntime.jsx(s,{label:a.replacedHash,value:t.replacedTxHash})]}),xe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[jsxRuntime.jsx(e,{label:a.fee,value:t.fee}),jsxRuntime.jsx(e,{label:a.slot,value:t.slot}),t.recentBlockhash&&jsxRuntime.jsx(s,{label:a.recentBlockhash,value:t.recentBlockhash})]}),ve=({tx:t,labels:a,components:{DetailItem:e,CopyableField:s}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[t.contractAddress&&jsxRuntime.jsx(s,{label:a.contractAddress,value:t.contractAddress}),jsxRuntime.jsx(e,{label:a.actualFee,value:t.actualFee?`${t.actualFee.amount} ${t.actualFee.unit}`:void 0})]});function pa({tx:t,onBack:a,adapter:e,className:s,customization:o}){let{transactionDetails:n,statuses:l,actions:d}=h(),p=react.useMemo(()=>orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:e}),[t.adapter,e]),r=t.pending?"pending":t.status===pulsarCore.TransactionStatus.Success?"success":"error",i=p?.getExplorerTxUrl?.(t),{SectionCard:m=se,SectionHeading:x=re,CopyableField:u=ie,DetailItem:k=ce,MetadataRow:g=le,JsonBlock:C=de}=o?.components??{},v=o?.classNames,T=t.adapter===orbitCore.OrbitAdapter.EVM?t:null,y=t.adapter===orbitCore.OrbitAdapter.SOLANA?t:null,f=t.adapter===orbitCore.OrbitAdapter.Starknet?t:null;return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-6 novatx:p-4",s,v?.container),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",v?.header),children:jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsxRuntime.jsx("button",{type:"button",onClick:a,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] novatx:p-2 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",v?.backButton),title:d.close,children:jsxRuntime.jsx(outline.ArrowLeftIcon,{className:"novatx:h-5 novatx:w-5"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:novaCore.cn("novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",v?.title),children:n.title}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:text-[10px] novatx:font-mono novatx:font-bold novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",v?.subtitle),children:n.subtitle})]})]})}),jsxRuntime.jsxs(m,{className:v?.coreInfoCard,children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:gap-2 novatx:flex-wrap novatx:items-center novatx:justify-between novatx:border-b novatx:border-[var(--tuwa-border-primary)] novatx:p-4",children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-3",children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:h-10 novatx:w-10 novatx:shrink-0 novatx:items-center novatx:justify-center novatx:rounded-[var(--tuwa-rounded-corners)]",r==="success"?"novatx:bg-emerald-500/10 novatx:text-emerald-500":r==="pending"?"novatx:bg-amber-500/10 novatx:text-amber-500":"novatx:bg-rose-500/10 novatx:text-rose-500",v?.statusIconContainer),children:r==="success"?jsxRuntime.jsx(outline.CheckCircleIcon,{className:"novatx:h-6 novatx:w-6"}):r==="pending"?jsxRuntime.jsx(outline.ClockIcon,{className:"novatx:h-6 novatx:w-6"}):jsxRuntime.jsx(outline.ExclamationTriangleIcon,{className:"novatx:h-6 novatx:w-6"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"novatx:text-lg novatx:font-black novatx:font-mono novatx:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",children:t.type}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",r==="success"?"novatx:text-emerald-500":r==="pending"?"novatx:text-amber-500":"novatx:text-rose-500"),children:t.pending?l.pending:t.status??l.failed})]})]}),t.syncStatus==="pending-sync"&&jsxRuntime.jsxs("div",{className:"novatx:ml-auto novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-amber-500/10 novatx:px-2.5 novatx:py-1.5 novatx:text-amber-500",title:n.syncStatus.pendingTooltip,children:[jsxRuntime.jsx(outline.CloudArrowUpIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-pulse"}),jsxRuntime.jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.pending})]}),t.syncStatus==="synced"&&jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:px-2.5 novatx:py-1.5 novatx:text-[var(--tuwa-text-tertiary)]",title:n.syncStatus.syncedTooltip,children:[jsxRuntime.jsx(outline.CloudIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{className:"novatx:text-[10px] novatx:font-black novatx:uppercase novatx:tracking-widest",children:n.syncStatus.synced})]})]}),jsxRuntime.jsxs("div",{className:"novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",children:[jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-4 sm:novatx:grid-cols-2",children:[jsxRuntime.jsx(u,{label:n.hash,value:T?.hash||t.txKey,className:"novatx:min-w-0",classNames:{code:i?"novatx:p-0 novatx:border-none novatx:bg-transparent":void 0},children:i?jsxRuntime.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"novatx:block novatx:truncate novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-3 novatx:py-2 novatx:text-xs novatx:font-mono novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",children:T?.hash||t.txKey}):null}),jsxRuntime.jsxs("div",{className:"novatx:space-y-1.5",children:[jsxRuntime.jsx(ft,{children:n.network}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:h-[42px] novatx:items-center novatx:gap-3 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-muted)]/50 novatx:px-4",v?.networkBadge),children:[jsxRuntime.jsx("div",{className:"novatx:h-5 novatx:w-5",children:jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(t.chainId)})}),jsxRuntime.jsx("span",{className:"novatx:truncate novatx:text-sm novatx:font-mono novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",children:novaCore.getChainName(orbitCore.setChainId(t.chainId)).name}),jsxRuntime.jsxs("span",{className:"novatx:ml-auto novatx:shrink-0 novatx:font-mono novatx:text-[10px] novatx:text-[var(--tuwa-text-tertiary)]",children:["ID: ",t.chainId]})]})]})]}),jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-8 sm:novatx:grid-cols-2",children:[jsxRuntime.jsx(u,{label:n.from,value:t.from}),T?.to?jsxRuntime.jsx(u,{label:n.to,value:T.to}):jsxRuntime.jsx(k,{label:n.to,value:"\u2014"})]})]})]}),jsxRuntime.jsxs(m,{className:novaCore.cn("novatx:p-4",v?.metadataSection),children:[jsxRuntime.jsx(x,{children:n.metadata}),jsxRuntime.jsxs("div",{className:"novatx:divide-y novatx:divide-[var(--tuwa-border-primary)]",children:[jsxRuntime.jsx(g,{icon:outline.GlobeAltIcon,label:n.adapter,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.adapter})}),jsxRuntime.jsx(g,{icon:outline.ClockIcon,label:n.submittedAt,children:da__default.default.unix(t.localTimestamp).format("MMM D, YYYY HH:mm:ss")}),t.finishedTimestamp&&jsxRuntime.jsx(g,{icon:outline.CheckCircleIcon,label:n.finishedAt,children:da__default.default.unix(t.finishedTimestamp).format("MMM D, YYYY HH:mm:ss")}),jsxRuntime.jsx(g,{icon:outline.CpuChipIcon,label:n.tracker,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.tracker})}),jsxRuntime.jsx(g,{icon:outline.LinkIcon,label:n.connector,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.connectorType})}),t.confirmations&&Number(t.confirmations)>0&&jsxRuntime.jsxs(g,{icon:outline.CheckBadgeIcon,label:n.confirmations,children:[t.confirmations,t.requiredConfirmations?` / ${t.requiredConfirmations}`:""]}),t.rpcUrl&&jsxRuntime.jsx(g,{icon:outline.GlobeAltIcon,label:n.rpcUrl,children:jsxRuntime.jsx("span",{className:"novatx:block novatx:max-w-[200px] novatx:truncate",title:t.rpcUrl,children:t.rpcUrl})}),jsxRuntime.jsx(g,{icon:outline.KeyIcon,label:n.txKey,children:jsxRuntime.jsxs("div",{className:"novatx:flex novatx:min-w-0 novatx:items-center novatx:gap-1.5",children:[jsxRuntime.jsx("span",{className:"novatx:truncate font-mono",children:t.txKey}),jsxRuntime.jsx(Et,{value:t.txKey,size:"sm",className:"novatx:p-0"})]})})]})]}),jsxRuntime.jsxs(m,{className:novaCore.cn("novatx:p-4",v?.executionSection),children:[jsxRuntime.jsx(x,{children:n.executionData}),jsxRuntime.jsxs("div",{className:"novatx:space-y-6",children:[T&&jsxRuntime.jsx(pe,{tx:T,labels:n,components:{DetailItem:k,CopyableField:u}}),y&&jsxRuntime.jsx(xe,{tx:y,labels:n,components:{DetailItem:k,CopyableField:u}}),f&&jsxRuntime.jsx(ve,{tx:f,labels:n,components:{DetailItem:k,CopyableField:u}}),jsxRuntime.jsxs("div",{className:"novatx:space-y-6 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-6",children:[T&&T.input&&T.input!=="0x"&&jsxRuntime.jsx(C,{label:n.inputData,data:T.input}),y&&y.instructions&&jsxRuntime.jsx(C,{label:n.instructions,data:y.instructions}),jsxRuntime.jsx(C,{label:n.fullPayload,data:t.payload}),jsxRuntime.jsx(C,{label:n.errorContext,data:t.error})]})]})]})]})}da__default.default.extend(ge__default.default);var fe=({chainId:t,className:a})=>jsxRuntime.jsx("div",{className:novaCore.cn("novatx:h-8 novatx:w-8 novatx:text-[var(--tuwa-text-secondary)]",a),children:jsxRuntime.jsx(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(t)})}),Te=({timestamp:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:mb-1 novatx:block novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",a),children:t?da__default.default.unix(t).fromNow():"..."});function va({tx:t,adapter:a,className:e,customization:s,onSelectTx:o,canViewDetails:n=true}){let{Icon:l=fe,Title:d=j,Description:p=j,Timestamp:r=Te,StatusBadge:i=ut,TransactionKey:m=at}=s?.components??{},x=s?.classNames;return jsxRuntime.jsxs("div",{onClick:u=>{u.target.closest("button, a")||n&&o?.();},className:novaCore.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:last:border-b-0",o&&n&&"novatx:cursor-pointer novatx:hover:bg-[var(--tuwa-bg-secondary)]",x?.container,e),children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-start novatx:justify-between",children:[jsxRuntime.jsxs("div",{className:"novatx:flex novatx:items-center novatx:gap-4",children:[jsxRuntime.jsx("div",{className:novaCore.cn("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)]",x?.iconWrapper),children:jsxRuntime.jsx(l,{chainId:t.chainId,className:x?.icon})}),jsxRuntime.jsxs("div",{className:x?.contentWrapper,children:[jsxRuntime.jsx(d,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true,className:x?.title}),jsxRuntime.jsx(r,{timestamp:t.localTimestamp,className:x?.timestamp}),jsxRuntime.jsx(p,{txStatus:t.status,source:t.description,variant:"description",className:x?.description})]})]}),jsxRuntime.jsx(i,{tx:t,className:x?.statusBadge,classNames:{icon:x?.statusBadgeIcon,label:x?.statusBadgeLabel}})]}),jsxRuntime.jsx(m,{tx:t,adapter:a,variant:"history",className:x?.txKeyContainer,hashLinkClassNames:{label:x?.hashLabel,link:x?.hashLink,copyButton:x?.hashCopyButton},originalHashLinkClassNames:{label:x?.originalHashLabel,link:x?.originalHashLink,copyButton:x?.originalHashCopyButton}})]})}var Ce=2500;function Ne({className:t,iconClassName:a}){return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-4",t),role:"status","aria-live":"polite",children:jsxRuntime.jsx("div",{className:novaCore.cn("novatx:h-5 novatx:w-5 novatx:animate-spin novatx:rounded-full novatx:border-2 novatx:border-[var(--tuwa-text-secondary)] novatx:border-t-transparent",a)})})}function he({className:t,iconClassName:a}){return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-center novatx:py-3 novatx:animate-[novatx-fade-out_0.4s_ease-out_2s_forwards]",t),role:"alert","aria-live":"assertive",children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:novaCore.cn("novatx:h-5 novatx:w-5 novatx:text-red-500",a),children:jsxRuntime.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM8.28 7.22a.75.75 0 0 0-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 1 0 1.06 1.06L10 11.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L11.06 10l1.72-1.72a.75.75 0 0 0-1.06-1.06L10 8.94 8.28 7.22Z",clipRule:"evenodd"})})})}function we({title:t,message:a,className:e,classNames:s}){return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:rounded-[var(--tuwa-rounded-corners)] novatx:bg-[var(--tuwa-bg-muted)] novatx:p-8 novatx:text-center",e),children:[jsxRuntime.jsx("h4",{className:novaCore.cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",s?.title),children:t}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",s?.message),children:a})]})}function ua({adapter:t,connectedWalletAddress:a,transactionsPool:e,className:s,customization:o,pagination:n,initialTxKey:l,canViewDetails:d=true}){let{transactionsModal:p}=h(),[r,i]=react.useState(d?l??null:null);react.useEffect(()=>{if(l&&d){let S=setTimeout(()=>i(l),0);return ()=>clearTimeout(S)}},[l,d]);let m=react.useRef(null),x=react.useRef(false),[u,k]=react.useState(false),g=react.useRef(void 0),C=a?pulsarCore.selectAllTransactionsByActiveWallet(e,a).sort((I,F)=>(F.localTimestamp??0)-(I.localTimestamp??0)):[];react.useEffect(()=>{let S=n?.isError??false,I=x.current;if(x.current=S,S&&!I){let F=setTimeout(()=>k(true),0);return g.current=setTimeout(()=>k(false),Ce),()=>{clearTimeout(F),clearTimeout(g.current);}}},[n?.isError]);let v=react.useCallback(S=>{S[0]?.isIntersecting&&n?.hasMore&&!n?.isLoading&&a&&n.fetchNextPage(a);},[n,a]);react.useEffect(()=>{if(!n?.hasMore||!m.current)return;let S=new IntersectionObserver(v,{threshold:.1});return S.observe(m.current),()=>S.disconnect()},[n?.hasMore,v]);let{Placeholder:T=we,HistoryItem:y=va,Loader:f=Ne}=o?.components??{},O=()=>{if(!a)return jsxRuntime.jsx(T,{title:p.history.connectWalletTitle,message:p.history.connectWalletMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}});if(C.length>0){let S={container:o?.classNames?.itemContainer,iconWrapper:o?.classNames?.itemIconWrapper,icon:o?.classNames?.itemIcon,contentWrapper:o?.classNames?.itemContentWrapper,title:o?.classNames?.itemTitle,timestamp:o?.classNames?.itemTimestamp,description:o?.classNames?.itemDescription,statusBadge:o?.classNames?.itemStatusBadge,statusBadgeIcon:o?.classNames?.itemStatusBadgeIcon,statusBadgeLabel:o?.classNames?.itemStatusBadgeLabel,txKeyContainer:o?.classNames?.itemTxKeyContainer,hashLabel:o?.classNames?.itemHashLabel,hashLink:o?.classNames?.itemHashLink,hashCopyButton:o?.classNames?.itemHashCopyButton,originalHashLabel:o?.classNames?.itemOriginalHashLabel,originalHashLink:o?.classNames?.itemOriginalHashLink,originalHashCopyButton:o?.classNames?.itemOriginalHashCopyButton};return jsxRuntime.jsxs("div",{className:novaCore.cn("NovaCustomScroll novatx:sm:max-h-[400px] novatx:overflow-y-auto novatx:rounded-[var(--tuwa-rounded-corners)] novatx:border novatx:border-[var(--tuwa-border-primary)] novatx:bg-[var(--tuwa-bg-primary)]",o?.classNames?.listWrapper),children:[C.map(I=>jsxRuntime.jsx(y,{tx:I,adapter:t,canViewDetails:d,customization:{classNames:S},onSelectTx:()=>d&&i(I.txKey)},I.txKey)),n?.hasMore&&jsxRuntime.jsx("div",{ref:m,className:"novatx:h-px","aria-hidden":"true"}),n?.isLoading&&jsxRuntime.jsx(f,{className:o?.classNames?.loaderContainer,iconClassName:o?.classNames?.loaderIcon}),u&&jsxRuntime.jsx(he,{className:o?.classNames?.errorContainer,iconClassName:o?.classNames?.errorIcon})]})}return jsxRuntime.jsx(T,{title:p.history.noTransactionsTitle,message:p.history.noTransactionsMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}})};if(r){let S=C.find(I=>I.txKey===r);if(S)return jsxRuntime.jsx(pa,{tx:S,adapter:t,onBack:()=>i(null),customization:o?.detailsCustomization})}return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-y-3",o?.classNames?.container,s),children:[o?.title&&jsxRuntime.jsx("h3",{className:novaCore.cn("novatx:text-lg novatx:font-bold novatx:font-mono novatx:text-[var(--tuwa-text-primary)]",o?.classNames?.titleText),children:o?.title}),O()]})}var Ee=({closeModal:t,title:a,classNames:e})=>{let{actions:s}=h();return jsxRuntime.jsxs(novaCore.DialogHeader,{className:e?.header,children:[jsxRuntime.jsx(novaCore.DialogTitle,{className:e?.title,children:a}),jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":s.close,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-[var(--tuwa-rounded-corners)] 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)]",e?.closeButton),children:jsxRuntime.jsx(novaCore.CloseIcon,{})})})]})};function ga({isOpen:t,setIsOpen:a,customization:e,adapter:s,connectedWalletAddress:o,transactionsPool:n,pagination:l,selectedTxKey:d}){let{transactionsModal:p}=h(),r=()=>a(false),i=e?.components?.Header,m=e?.components?.History;return jsxRuntime.jsx(novaCore.Dialog,{open:t,onOpenChange:x=>!x&&r(),children:jsxRuntime.jsx(novaCore.DialogContent,{className:novaCore.cn("novatx:w-full novatx:sm:max-w-2xl",e?.modalProps?.className),...e?.modalProps,children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:relative novatx:max-h-[100dvh] novatx:w-full novatx:flex novatx:flex-col",e?.classNames?.contentWrapper),children:[i?jsxRuntime.jsx(i,{closeModal:r}):jsxRuntime.jsx(Ee,{closeModal:r,title:p.history.title,classNames:{header:e?.classNames?.header,title:e?.classNames?.headerTitle,closeButton:e?.classNames?.closeButton}}),m?jsxRuntime.jsx(m,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l}):jsxRuntime.jsx(ua,{adapter:s,transactionsPool:n,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:l,initialTxKey:d})]})})})}var Ae=t=>({replaced:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.ArrowPathIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{children:t.replaced})]}),loading:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.ArrowPathIcon,{className:"novatx:h-4 novatx:w-4 novatx:animate-spin"}),jsxRuntime.jsx("span",{children:t.loading})]}),succeed:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.CheckCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{children:t.succeed})]}),failed:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(solid.ExclamationCircleIcon,{className:"novatx:h-4 novatx:w-4"}),jsxRuntime.jsx("span",{children:t.failed})]})});function Gr({children:t,action:a,getLastTxKey:e,transactionsPool:s,walletAddress:o,loadingContent:n,succeedContent:l,failedContent:d,replacedContent:p,resetTimeout:r=2500,className:i,classNames:m,...x}){let{trackedTxButton:u}=h(),{showPreSubmitErrorToast:k}=Ut(),[g,C]=react.useState("idle"),[v,T]=react.useState(void 0),y=Ae(u);react.useEffect(()=>{C("idle"),T(void 0);},[o]),react.useEffect(()=>{if(!v)return;let K=s[v];if(K)switch(K.status){case pulsarCore.TransactionStatus.Success:C("succeed");break;case pulsarCore.TransactionStatus.Replaced:C("replaced");break;case pulsarCore.TransactionStatus.Failed:C("failed");break}},[s,v,o]),react.useEffect(()=>{if(["succeed","failed","replaced"].includes(g)){let K=setTimeout(()=>{C("idle"),T(void 0);},r);return ()=>clearTimeout(K)}},[g,r]);let f=async()=>{C("loading");try{await a(),T(e());}catch(K){k(K),C("failed");}},O=()=>{switch(g){case "loading":return n??y.loading;case "succeed":return l??y.succeed;case "failed":return d??y.failed;case "replaced":return p??y.replaced;default:return t}},S={idle:"novatx:bg-[var(--tuwa-button-gradient-from)] novatx:text-[var(--tuwa-text-on-accent)] novatx:hover:opacity-90",loading:"novatx:bg-gray-400 novatx:text-white",replaced:"novatx:bg-gray-500 novatx:text-white",succeed:"novatx:bg-[var(--tuwa-success-bg)] novatx:text-[var(--tuwa-success-text)]",failed:"novatx:bg-[var(--tuwa-error-bg)] novatx:text-[var(--tuwa-error-text)]"},I=m?.[g]??S[g],F=m?.base??"novatx:flex novatx:cursor-pointer novatx:items-center novatx:justify-center novatx:gap-1.5 novatx:rounded-[var(--tuwa-rounded-corners)] novatx:px-3 novatx:py-1.5 novatx:min-h-[42px] novatx:text-sm novatx:font-mono novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70";return jsxRuntime.jsx("button",{...x,disabled:g!=="idle"||x.disabled,onClick:f,className:novaCore.cn(F,I,i),children:O()})}var Fe={[pulsarCore.TransactionStatus.Success]:"success",[pulsarCore.TransactionStatus.Failed]:"error",[pulsarCore.TransactionStatus.Replaced]:"info"};function Hi({adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,initialTx:o,executeTxAction:n,closeTxTrackedModal:l,labels:d,features:p,customization:r,pagination:i,...m}){let[x,u]=react.useState(false),[k,g]=react.useState(null),C=react.useRef(s),v="nova-transactions",T=novaCore.useMediaQuery("(max-width: 767px)"),y=react.useMemo(()=>({toasts:p?.toasts??true,transactionsModal:p?.transactionsModal??true,trackingTxModal:p?.trackingTxModal??true,validationErrorToast:p?.validationErrorToast??true}),[p]),f=react.useMemo(()=>novaCore.deepMerge(xt,d||{}),[d]),O=react.useCallback(N=>{if(!y.validationErrorToast)return;let B=N instanceof Error?N.message:String(N),A=N instanceof Error?JSON.stringify({name:N.name,message:N.message},null,2):B,Z=N.field;reactToastify.toast(D=>jsxRuntime.jsx(dt,{...D,message:B,rawError:A,fieldName:Z,customization:r?.validationErrorToast}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:pt,closeOnClick:false});},[y.validationErrorToast,r?.validationErrorToast]),S=react.useCallback(async(...N)=>{try{await n(...N);}catch(B){throw !o?.lastTxKey&&O(B),B}},[n,o?.lastTxKey,O]),I=react.useCallback(N=>{if(!y.toasts)return;let B=N.pending?"info":Fe[N.status]??"info",A=Z=>jsxRuntime.jsx(Xt,{...Z,tx:N,openTxInfoModal:y.transactionsModal?D=>{g(D&&typeof D=="string"?D:null),u(true);}:void 0,customization:r?.toast,adapter:t,connectedWalletAddress:a});reactToastify.toast.isActive(N.txKey)?reactToastify.toast.update(N.txKey,{render:A,type:B,containerId:v}):reactToastify.toast(A,{toastId:N.txKey,type:B,closeOnClick:false,containerId:v});},[s,y,r?.toast,t,a]);react.useEffect(()=>{let N=C.current;Object.values(s).forEach(B=>{let A=N[B.txKey];if(!A&&B.pending){I(B);return}A&&JSON.stringify(A)!==JSON.stringify(B)&&I(B);}),C.current=s;},[s,I]),react.useEffect(()=>{Object.values(s).forEach(N=>{reactToastify.toast.isActive(N.txKey,v)&&I(N);});},[a,I,s]);let F=!!o?.withTrackedModal&&s[o?.lastTxKey??""]?.isTrackedModalOpen,K=y.toasts&&(!T||!F&&!x),nt=react.useMemo(()=>{let N=r?.toastCloseButton;return N?({closeToast:B})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:B,...N}):novaCore.ToastCloseButton},[r?.toastCloseButton]),lt=react.useMemo(()=>({customization:r?.validationErrorToast,enabled:y.validationErrorToast}),[r?.validationErrorToast,y.validationErrorToast]);return jsxRuntime.jsx(_t,{labels:f,children:jsxRuntime.jsxs(wt.Provider,{value:lt,children:[K&&jsxRuntime.jsx(reactToastify.ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:nt,containerId:v,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...m}),y.transactionsModal&&jsxRuntime.jsx(ga,{isOpen:x,setIsOpen:N=>{u(N),N||g(null);},selectedTxKey:k,customization:r?.transactionsInfoModal,adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:s,pagination:i}),y.validationErrorToast&&jsxRuntime.jsx(reactToastify.ToastContainer,{containerId:pt,position:"top-center",autoClose:6e3,pauseOnHover:true,hideProgressBar:false,closeOnClick:false,icon:false,closeButton:nt,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0"}),y.trackingTxModal&&jsxRuntime.jsx(qt,{initialTx:o,onClose:l,onOpenAllTransactions:()=>u(true),transactionsPool:s,customization:r?.trackingTxModal,executeTxAction:S,adapter:t,connectedWalletAddress:a})]})})}
|
|
2
|
-
exports.a=dt;exports.b=pt;exports.c=wt;exports.d=Ut;exports.e=xt;exports.f=_t;exports.g=h;exports.h=Hi;exports.i=rt;exports.j=j;exports.k=at;exports.l=ut;exports.m=Xt;exports.n=qt;exports.o=Qt;exports.p=Zt;exports.q=ta;exports.r=aa;exports.s=pa;exports.t=va;exports.u=ua;exports.v=ga;exports.w=Gr;
|