@tuwaio/nova-transactions 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{TransactionsInfoModal-EKgcn7Ot.d.cts → TransactionsInfoModal-Cd6hZioh.d.cts} +229 -6
- package/dist/{TransactionsInfoModal-EKgcn7Ot.d.ts → TransactionsInfoModal-Cd6hZioh.d.ts} +229 -6
- package/dist/chunk-DC5FYE4N.cjs +2 -0
- package/dist/chunk-IJMNYPXP.js +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +59 -0
- package/dist/index.d.cts +49 -10
- package/dist/index.d.ts +49 -10
- package/dist/index.js +1 -1
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.d.cts +70 -4
- package/dist/providers/index.d.ts +70 -4
- package/dist/providers/index.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-66O24XG2.cjs +0 -2
- package/dist/chunk-QNGBNGYN.js +0 -2
|
@@ -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'),pa=require('dayjs'),outline=require('@heroicons/react/24/outline'),me=require('dayjs/plugin/relativeTime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var pa__default=/*#__PURE__*/_interopDefault(pa);var me__default=/*#__PURE__*/_interopDefault(me);var ka=({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}),Ia=({title:t,className:a})=>jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-error-icon)]",a),role:"heading","aria-level":3,children:t}),Sa=({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})]}),Ba=({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})}),La=({icon:t,isCopied:a,copyLabel:e,copiedLabel:n})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t,jsxRuntime.jsx("span",{className:"novatx:select-none novatx:transition-colors","aria-live":"polite",role:"status",children:a?n:e})]});function pt({message:t,rawError:a,fieldName:e,className:n,customization:o}){let{validationError:s}=C(),{isCopied:i,copy:p}=novaCore.useCopyToClipboard(),x=a??t,{Icon:r=ka,Title:c=Ia,FieldBadge:m=Sa,Message:d=Ba,CopyContent:g=La}=o?.components??{},S=o?.classNames??{},N=!x.trim(),T=S.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-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":i}),u=jsxRuntime.jsx(solid.ExclamationTriangleIcon,{className:novaCore.cn("novatx:h-4 novatx:w-4 novatx:transition-colors",i&&"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",S.container,n),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",S.header),children:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",S.titleWrapper),children:[jsxRuntime.jsx(r,{isCopied:i,className:S.icon,"aria-hidden":true}),jsxRuntime.jsx(c,{title:s.title,className:S.title})]})}),e&&jsxRuntime.jsx(m,{fieldLabel:s.field,fieldName:e,className:S.fieldBadge}),jsxRuntime.jsx(d,{message:t,className:S.messageText}),jsxRuntime.jsx("button",{...o?.buttonProps??{},type:"button",disabled:N,"aria-label":i?`${s.copied} ${s.copy}`:s.copy,className:T,onClick:async y=>{y.stopPropagation(),await p(x);},children:jsxRuntime.jsx(g,{icon:u,isCopied:i,copyLabel:s.copy,copiedLabel:s.copied})})]})}var dt="nova-validation-errors",Da={enabled:true},wt=react.createContext(Da);function Ut(){let{customization:t,enabled:a}=react.useContext(wt);return {showPreSubmitErrorToast:react.useCallback(n=>{if(!a)return;let o=n instanceof Error?n.message:String(n),s=n instanceof Error?JSON.stringify({name:n.name,message:n.message},null,2):o,i=n.field;reactToastify.toast(p=>jsxRuntime.jsx(pt,{...p,message:o,rawError:s,fieldName:i,customization:t}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:dt,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"}};var Wt=react.createContext(xt),_t=({labels:t,children:a})=>jsxRuntime.jsx(Wt.Provider,{value:t,children:a}),C=()=>react.useContext(Wt);function rt({label:t,hash:a,explorerUrl:e,variant:n="default",className:o,classNames:s}){let{isCopied:i,copy:p}=novaCore.useCopyToClipboard(),{actions:x,txError:r}=C(),c=novaCore.cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":n==="default","novatx:text-xs":n==="compact"},o),m=novaCore.cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":n==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":n==="compact"},s?.label),d=jsxRuntime.jsx("span",{className:novaCore.cn("novatx:font-mono",s?.hash),children:novaCore.textCenterEllipsis(a,5,5)});return jsxRuntime.jsxs("div",{className:c,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",s?.link),title:x.viewOnExplorer,"aria-label":x.viewOnExplorer,children:[d,jsxRuntime.jsx(solid.ArrowTopRightOnSquareIcon,{className:novaCore.cn("novatx:h-4 novatx:w-4",s?.linkIcon)})]}):jsxRuntime.jsx("span",{className:novaCore.cn("novatx:text-[var(--tuwa-text-primary)]",s?.link),children:d}),jsxRuntime.jsx("button",{type:"button",onClick:()=>p(a),className:novaCore.cn("novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",s?.copyButton),title:i?r.copied:x.copy,"aria-label":i?r.copied:x.copy,children:i?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:n,className:o,applyColor:s=false}){let i,p="";if(typeof a=="string")i=a;else if(Array.isArray(a)){let c=Jt[t||"default"]??Jt.default;i=a[c.index],s&&(p=c.colorClass);}else i=e;return i?jsxRuntime.jsx("div",{className:novaCore.cn(n==="title"?"novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",p,o),children:i}):null}function at({tx:t,adapter:a,variant:e="toast",className:n,renderHashLink:o,confirmations:s,hashLinkClassNames:i,originalHashLinkClassNames:p}){let{hashLabels:x,statuses:r}=C(),c=orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!c)return null;let m=(u,y)=>o?o(u):jsxRuntime.jsx(rt,{...u,classNames:y??i}),d=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=x[String(t.tracker)],S=g?m({label:g,hash:t.txKey,variant:t.tracker!==pulsarCore.TransactionTracker.Solana?"compact":"default",explorerUrl:c.getExplorerTxUrl&&t.tracker===pulsarCore.TransactionTracker.Solana?c?.getExplorerTxUrl(t):void 0}):null,N=(()=>{let u=t.hash,y=t.replacedTxHash;return !u&&!y?null:y?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[u&&m({label:x.original,hash:u,variant:"compact"},p),typeof c.getExplorerTxUrl<"u"&&m({label:x.replaced,hash:y,explorerUrl:c.getExplorerTxUrl(t)})]}):u&&typeof c.getExplorerTxUrl<"u"&&m({label:x.default,hash:u,explorerUrl:c.getExplorerTxUrl(t)})})(),T=g&&g!==x.default&&t.txKey!==t.hash;return jsxRuntime.jsxs("div",{className:novaCore.cn(d,n),children:[T&&S,N,typeof s=="number"&&s>0&&jsxRuntime.jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[r.confirmationsLabel,": ",s]})]})}var to=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:n}=C(),o=to(n),s="novatx:inline-flex novatx:items-center novatx:gap-x-1.5 novatx:rounded-full novatx:px-2 novatx:py-1 novatx:text-xs novatx:font-medium",i=t.pending?"Pending":t.status,p=i?o[i]:null;if(!p)return jsxRuntime.jsx("div",{className:novaCore.cn(s,"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??n.unknown})});let{label:x,Icon:r,badgeClasses:c,iconClasses:m}=p;return jsxRuntime.jsxs("div",{className:novaCore.cn(s,c,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:x})]})}var 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-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),io=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{onClick:t,type:"button",className:novaCore.cn("novatx:cursor-pointer novatx:text-sm novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),co=({onClick:t,children:a,className:e})=>jsxRuntime.jsx("button",{className:e||"novatx:cursor-pointer novatx: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-3 novatx:py-1 novatx:text-xs novatx:font-bold novatx:text-[var(--tuwa-text-on-accent)] novatx:shadow-lg novatx:transition-all novatx:duration-200 novatx:ease-in-out novatx:hover:shadow-xl novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)] novatx:active:scale-95",onClick:t,type:"button",children:a}),lo=({count:t,required:a,isSuccess:e,className:n})=>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: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)]",n),children:[t,a&&a>1?`/${a}`:""]});function Xt({openTxInfoModal:t,tx:a,icon:e,className:n,customization:o,connectedWalletAddress:s,adapter:i}){let{actions:p,toast:x}=C(),r=orbitCore.selectAdapterByKey({adapterKey:a.adapter,adapter:i}),c=!!(a.tracker==="ethereum"&&a.pending&&(!a.confirmations||Number(a.confirmations)<1)&&r?.speedUpTxAction&&r?.cancelTxAction&&a.from.toLowerCase()===s?.toLowerCase()&&["metamask"].includes(a.connectorType.split(":")[1])),m=()=>{c&&r.cancelTxAction(a);},d=()=>{c&&r.speedUpTxAction(a);},{StatusAwareText:g=j,TransactionKey:S=at,StatusBadge:N=ut,SpeedUpButton:T=ro,CancelButton:u=io,TxInfoButton:y=co,ConfirmationsBadge:f=lo}=o?.components??{},v=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",v?.container,n),children:[a.confirmations&&Number(a.confirmations)>0&&jsxRuntime.jsx(f,{count:a.confirmations,required:a.requiredConfirmations,isSuccess:a.status===pulsarCore.TransactionStatus.Success,className:v?.confirmationsBadge}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-3",v?.header),children:[jsxRuntime.jsx("div",{className:novaCore.cn("novatx:w-[40px] novatx:flex-shrink-0",v?.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",v?.contentWrapper),children:[jsxRuntime.jsx(g,{txStatus:a.status,source:a.title,fallback:a.type,variant:"title",applyColor:true,className:v?.title}),jsxRuntime.jsx(g,{txStatus:a.status,source:a.description,variant:"description",className:v?.description})]})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(S,{adapter:i,tx:a,variant:"toast",className:v?.transactionKey,hashLinkClassNames:{label:v?.hashLabel,link:v?.hashLink,copyButton:v?.hashCopyButton},originalHashLinkClassNames:{label:v?.originalHashLabel,link:v?.originalHashLink,copyButton:v?.originalHashCopyButton}}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",v?.footer),children:[jsxRuntime.jsx(N,{tx:a,className:v?.statusBadge,classNames:{icon:v?.statusBadgeIcon,label:v?.statusBadgeLabel}}),c?jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-4",v?.actionsContainer),children:[jsxRuntime.jsx(T,{onClick:d,className:v?.speedUpButton,children:p.speedUp}),jsxRuntime.jsx(u,{onClick:m,className:v?.cancelButton,children:p.cancel})]}):t&&a.from.toLowerCase()===s?.toLowerCase()&&jsxRuntime.jsx(y,{onClick:()=>t(a.txKey),className:v?.txInfoButton,children:x.openTransaction})]})]})]})}function qt({adapter:t,onClose:a,onOpenAllTransactions:e,className:n,customization:o,transactionsPool:s,executeTxAction:i,initialTx:p,connectedWalletAddress:x}){let r=p?.lastTxKey?s[p.lastTxKey]:void 0,c=r??p,m=p?.withTrackedModal&&!r||(r?.isTrackedModalOpen??false),d=r?.status,g=p?.isInitializing??false,S=r?.pending??false,N=g||S,T=d===pulsarCore.TransactionStatus.Success,u=r?.isError||!!p?.error,y=d===pulsarCore.TransactionStatus.Replaced,f=c?orbitCore.selectAdapterByKey({adapterKey:c.adapter,adapter:t}):void 0,v=!!(u&&c&&p?.actionFunction&&i),B=!!(f?.speedUpTxAction&&f?.cancelTxAction&&r?.pending&&(!r.confirmations||Number(r.confirmations)<1)&&r.tracker==="ethereum"),w=()=>{if(!v||!f?.retryTxAction)return;let ht={adapter:c.adapter,type:c.type,desiredChainID:"desiredChainID"in c?c.desiredChainID:c.chainId,actionFunction:p?.actionFunction,title:c.title,description:c.description,payload:c.payload,rpcUrl:"rpcUrl"in c?c?.rpcUrl:"desiredChainID"in c?c.desiredChainID:c.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in c?c.withTrackedModal:false};f.retryTxAction({tx:ht,txKey:r?.txKey??"",onClose:a,executeTxAction:i});},P=B&&r&&["metamask"].includes(r?.connectorType.split(":")[1]),F=()=>{P&&f.cancelTxAction(r);},O=()=>{P&&f.speedUpTxAction(r);},nt=o?.components?.Header,lt=o?.components?.Footer,b=o?.components?.StatusVisual,L=o?.components?.ProgressIndicator,D=o?.components?.InfoBlock,Q=o?.components?.ErrorBlock;if(!c)return null;let K=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",K?.container,n),children:[nt?jsxRuntime.jsx(nt,{onClose:()=>a(r?.txKey),title:jsxRuntime.jsx(Gt,{tx:c,className:K?.headerTitle})}):jsxRuntime.jsx(To,{onClose:()=>a(r?.txKey),title:jsxRuntime.jsx(Gt,{tx:c,className:K?.headerTitle}),classNames:K}),jsxRuntime.jsxs("main",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",K?.main),children:[b?jsxRuntime.jsx(b,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y}):jsxRuntime.jsx(aa,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y,className:o?.statusVisualCustomization?.className,iconClassNames:o?.statusVisualCustomization?.iconClassNames}),L?jsxRuntime.jsx(L,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y}):jsxRuntime.jsx(ta,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y,className:o?.progressIndicatorCustomization?.className,stepClassNames:o?.progressIndicatorCustomization?.stepClassNames}),D?jsxRuntime.jsx(D,{tx:c,adapter:t}):jsxRuntime.jsx(Qt,{tx:c,adapter:t,customization:o?.infoBlockCustomization}),Q?jsxRuntime.jsx(Q,{error:r?.error||p?.error}):jsxRuntime.jsx(Zt,{error:r?.error||p?.error,className:o?.errorBlockCustomization?.className,classNames:o?.errorBlockCustomization?.classNames})]}),lt?jsxRuntime.jsx(lt,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:N,isFailed:u,canReplace:B,onRetry:v?w:void 0,onSpeedUp:P?O:void 0,onCancel:P?F:void 0,connectedWalletAddress:x}):jsxRuntime.jsx(bo,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:N,isFailed:u,canReplace:B,onRetry:v?w:void 0,onSpeedUp:P?O:void 0,onCancel:P?F:void 0,connectedWalletAddress:x,classNames:K})]})})})}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 To=({onClose:t,title:a,classNames:e})=>{let{actions:n}=C();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":n.close,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-full novatx:p-1 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",e?.closeButton),children:jsxRuntime.jsx(novaCore.CloseIcon,{})})})]})},yo=({isFailed:t,onRetry:a,isProcessing:e,canReplace:n,connectedWalletAddress:o,onOpenAllTransactions:s,classNames:i})=>{let{trackingModal:p}=C();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-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)]",i?.retryButton),children:p.retry}):!e&&!n&&o?jsxRuntime.jsx("button",{type:"button",onClick:s,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-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]",i?.allTransactionsButton),children:p.allTransactions}):null},bo=({onClose:t,onOpenAllTransactions:a,isProcessing:e,onRetry:n,onSpeedUp:o,onCancel:s,canReplace:i,isFailed:p,connectedWalletAddress:x,classNames:r})=>{let{trackingModal:c,actions:m}=C();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:i&&o&&s&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{type:"button",onClick:o,className:novaCore.cn("novatx:cursor-pointer novatx:text-sm 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:s,className:novaCore.cn("novatx:cursor-pointer novatx:text-sm 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(yo,{isFailed:p,onRetry:n,isProcessing:e,canReplace:i,connectedWalletAddress:x,onOpenAllTransactions:a,classNames:r}),jsxRuntime.jsx("button",{type:"button",onClick:t,disabled:e&&!i,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-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&&!i?c.processing:c.close})]})]})};function Zt({error:t,className:a,classNames:e}){let{isCopied:n,copy:o}=novaCore.useCopyToClipboard(),{actions:s,txError:i}=C(),{displayMessage:p,copyMessage:x}=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||!p?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-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:i.title})]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>o(x),title:n?i.copied:s.copy,"aria-label":n?i.copied:`${s.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:n?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:p})})]})}function Mo({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-medium novatx:text-[var(--tuwa-text-primary)]",e?.value),children:a})]})}function Qt({tx:t,adapter:a,className:e,customization:n}){let{txInfo:o,statuses:s,hashLabels:i}=C(),p=orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!p)return null;let{InfoRow:x=Mo}=n?.components??{},r=n?.classNames,c={row:r?.row,label:r?.rowLabel,value:r?.rowValue},m="chainId"in t?t.chainId:t.desiredChainID,d=t.adapter===orbitCore.OrbitAdapter.SOLANA,g=d?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(x,{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:c}),t.localTimestamp&&jsxRuntime.jsx(x,{label:o.started,value:pa__default.default.unix(t.localTimestamp).format("MMM D, HH:mm:ss"),classNames:c}),d&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[g?.slot&&jsxRuntime.jsx(x,{label:o.slot,value:jsxRuntime.jsx(rt,{hash:g.slot.toString(),explorerUrl:p?.getExplorerUrl?`${p?.getExplorerUrl(`/block/${g.slot}`)}`:void 0}),classNames:c}),g?.recentBlockhash&&jsxRuntime.jsx(x,{label:i.recentBlockhash,value:jsxRuntime.jsx(rt,{hash:g.recentBlockhash}),classNames:c})]}),"confirmations"in t&&Number(t.confirmations)>0&&jsxRuntime.jsx(x,{label:s.confirmationsLabel,value:t.confirmations,classNames:c}),"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:n?.components?.transactionKey,hashLinkClassNames:r?.hashLink,originalHashLinkClassNames:r?.originalHashLink})})]})}var Ko={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 Oo({status:t,label:a,isFirst:e=false,classNames:n}){let o=Ko[t],s=n?.statusOverrides?.[t],i=()=>{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",n?.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,n?.line,s?.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,n?.circle,s?.circle),children:i()}),jsxRuntime.jsx("span",{className:novaCore.cn("novatx:mt-2 novatx:text-center novatx:text-xs",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]",n?.label,s?.label),children:a})]})}function ta({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:n,className:o,StepComponent:s=Oo,stepClassNames:i}){let{trackingModal:p,statuses:x}=C(),r=d=>{if(d===1)return "completed";if(d===2){if(a||e||n)return "completed";if(t)return "active"}if(d===3){if(a)return "completed";if(e)return "error";if(n)return "replaced";if(t)return "active"}return "inactive"},c=d=>d===1?p.progressIndicator.created:d===2?p.progressIndicator.processing:e?x.failed:n?x.replaced:p.progressIndicator.succeed,m=[{status:r(1),label:c(1),isFirst:true,classNames:i},{status:r(2),label:c(2),classNames:i},{status:r(3),label:c(3),isLast:true,classNames:i}];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((d,g)=>jsxRuntime.jsx(s,{...d},g))})}var _o={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:n,className:o,iconClassNames:s}){let i=a&&"succeed"||e&&"failed"||n&&"replaced"||t&&"processing"||"initializing",{Icon:p,className:x}=_o[i],r=s?.statusOverrides?.[i];return jsxRuntime.jsx("div",{className:novaCore.cn("novatx:flex novatx:justify-center novatx:py-4",o),children:jsxRuntime.jsx(p,{className:novaCore.cn("novatx:h-16 novatx:w-16",x,s?.icon,r)})})}var ee=({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}),ne=({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: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:n,copy:o}=novaCore.useCopyToClipboard(),{actions:s,txError:i}=C(),p=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:n?i.copied:s.copy,"aria-label":n?i.copied:s.copy,children:n?jsxRuntime.jsx(solid.CheckIcon,{className:novaCore.cn(p,"novatx:text-[var(--tuwa-success-icon)]")}):jsxRuntime.jsx(outline.DocumentDuplicateIcon,{className:p})})},se=({label:t,value:a,mono:e=true,className:n,children:o,classNames:s})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-1.5",n),children:[jsxRuntime.jsx(ft,{className:s?.label,children:t}),jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:gap-2",s?.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",s?.code),title:a,children:a}),jsxRuntime.jsx(Et,{value:a,className:s?.copyButton})]})]}),re=({label:t,value:a,mono:e=false,className:n,classNames:o})=>a==null||a===""?null:jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:space-y-1",n),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-bold novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono novatx:text-xs",o?.value),children:a})]}),ie=({icon:t,label:a,children:e,className:n,classNames:o})=>jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:items-center novatx:justify-between novatx:py-2.5",n),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-bold novatx:text-[var(--tuwa-text-primary)]",o?.value),children:e})]}),ce=({label:t,data:a,className:e,classNames:n})=>{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",n?.header),children:[jsxRuntime.jsx(ft,{className:n?.label,children:t}),jsxRuntime.jsx(Et,{value:o,size:"sm",className:n?.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",n?.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",n?.pre),children:o})})]})},le=({tx:t,labels:a,components:{DetailItem:e,CopyableField:n}})=>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(n,{label:a.replacedHash,value:t.replacedTxHash})]}),pe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:n}})=>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(n,{label:a.recentBlockhash,value:t.recentBlockhash})]}),de=({tx:t,labels:a,components:{DetailItem:e,CopyableField:n}})=>jsxRuntime.jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[t.contractAddress&&jsxRuntime.jsx(n,{label:a.contractAddress,value:t.contractAddress}),jsxRuntime.jsx(e,{label:a.actualFee,value:t.actualFee?`${t.actualFee.amount} ${t.actualFee.unit}`:void 0})]});function xa({tx:t,onBack:a,adapter:e,className:n,customization:o}){let{transactionDetails:s,statuses:i,actions:p,txError:x}=C(),{isCopied:r,copy:c}=novaCore.useCopyToClipboard(),m=react.useMemo(()=>orbitCore.selectAdapterByKey({adapterKey:t.adapter,adapter:e}),[t.adapter,e]),d=t.pending?"pending":t.status===pulsarCore.TransactionStatus.Success?"success":"error",g=m?.getExplorerTxUrl?.(t),{SectionCard:S=ee,SectionHeading:N=ne,CopyableField:T=se,DetailItem:u=re,MetadataRow:y=ie,JsonBlock:f=ce}=o?.components??{},v=o?.classNames,B=t.adapter===orbitCore.OrbitAdapter.EVM?t:null,w=t.adapter===orbitCore.OrbitAdapter.SOLANA?t:null,P=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",n,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-full 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:p.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:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",v?.title),children:s.title}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:text-[10px] novatx:font-bold novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",v?.subtitle),children:s.subtitle})]})]})}),jsxRuntime.jsxs(S,{className:v?.coreInfoCard,children:[jsxRuntime.jsx("div",{className:"novatx:flex 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)]",d==="success"?"novatx:bg-emerald-500/10 novatx:text-emerald-500":d==="pending"?"novatx:bg-amber-500/10 novatx:text-amber-500":"novatx:bg-rose-500/10 novatx:text-rose-500",v?.statusIconContainer),children:d==="success"?jsxRuntime.jsx(outline.CheckCircleIcon,{className:"novatx:h-6 novatx:w-6"}):d==="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: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",d==="success"?"novatx:text-emerald-500":d==="pending"?"novatx:text-amber-500":"novatx:text-rose-500"),children:t.pending?i.pending:t.status??i.failed})]})]})}),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(T,{label:s.hash,value:B?.hash||t.txKey,className:"novatx:min-w-0",classNames:{code:g?"novatx:p-0 novatx:border-none novatx:bg-transparent":void 0},children:g?jsxRuntime.jsx("a",{href:g,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:B?.hash||t.txKey}):null}),jsxRuntime.jsxs("div",{className:"novatx:space-y-1.5",children:[jsxRuntime.jsx(ft,{children:s.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(novaCore.NetworkIcon,{chainId:orbitCore.setChainId(t.chainId),className:"novatx:h-5 novatx:w-5 novatx:shrink-0"}),jsxRuntime.jsx("span",{className:"novatx:truncate novatx:text-sm 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(T,{label:s.from,value:t.from}),B?.to?jsxRuntime.jsx(T,{label:s.to,value:B.to}):jsxRuntime.jsx(u,{label:s.to,value:"\u2014"})]})]})]}),jsxRuntime.jsxs(S,{className:novaCore.cn("novatx:p-4",v?.metadataSection),children:[jsxRuntime.jsx(N,{children:s.metadata}),jsxRuntime.jsxs("div",{className:"novatx:divide-y novatx:divide-[var(--tuwa-border-primary)]",children:[jsxRuntime.jsx(y,{icon:outline.GlobeAltIcon,label:s.adapter,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.adapter})}),jsxRuntime.jsx(y,{icon:outline.ClockIcon,label:s.submittedAt,children:pa__default.default.unix(t.localTimestamp).format("MMM D, YYYY HH:mm:ss")}),t.finishedTimestamp&&jsxRuntime.jsx(y,{icon:outline.CheckCircleIcon,label:s.finishedAt,children:pa__default.default.unix(t.finishedTimestamp).format("MMM D, YYYY HH:mm:ss")}),jsxRuntime.jsx(y,{icon:outline.CpuChipIcon,label:s.tracker,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.tracker})}),jsxRuntime.jsx(y,{icon:outline.LinkIcon,label:s.connector,children:jsxRuntime.jsx("span",{className:"novatx:capitalize",children:t.connectorType})}),t.confirmations&&Number(t.confirmations)>0&&jsxRuntime.jsxs(y,{icon:outline.CheckBadgeIcon,label:s.confirmations,children:[t.confirmations,t.requiredConfirmations?` / ${t.requiredConfirmations}`:""]}),t.rpcUrl&&jsxRuntime.jsx(y,{icon:outline.GlobeAltIcon,label:s.rpcUrl,children:jsxRuntime.jsx("span",{className:"novatx:block novatx:max-w-[200px] novatx:truncate",title:t.rpcUrl,children:t.rpcUrl})}),jsxRuntime.jsx(y,{icon:outline.KeyIcon,label:s.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(S,{className:novaCore.cn("novatx:p-4",v?.executionSection),children:[jsxRuntime.jsx(N,{children:s.executionData}),jsxRuntime.jsxs("div",{className:"novatx:space-y-6",children:[B&&jsxRuntime.jsx(le,{tx:B,labels:s,components:{DetailItem:u,CopyableField:T}}),w&&jsxRuntime.jsx(pe,{tx:w,labels:s,components:{DetailItem:u,CopyableField:T}}),P&&jsxRuntime.jsx(de,{tx:P,labels:s,components:{DetailItem:u,CopyableField:T}}),jsxRuntime.jsxs("div",{className:"novatx:space-y-6 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-6",children:[B&&B.input&&B.input!=="0x"&&jsxRuntime.jsx(f,{label:s.inputData,data:B.input}),w&&w.instructions&&jsxRuntime.jsx(f,{label:s.instructions,data:w.instructions}),jsxRuntime.jsx(f,{label:s.fullPayload,data:t.payload}),jsxRuntime.jsx(f,{label:s.errorContext,data:t.error})]})]})]})]})}pa__default.default.extend(me__default.default);var ue=({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)})}),ge=({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?pa__default.default.unix(t).fromNow():"..."});function ma({tx:t,adapter:a,className:e,customization:n,onSelectTx:o,canViewDetails:s=true}){let{Icon:i=ue,Title:p=j,Description:x=j,Timestamp:r=ge,StatusBadge:c=ut,TransactionKey:m=at}=n?.components??{},d=n?.classNames;return jsxRuntime.jsxs("div",{onClick:g=>{g.target.closest("button, a")||s&&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&&s&&"novatx:cursor-pointer novatx:hover:bg-[var(--tuwa-bg-secondary)]",d?.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)]",d?.iconWrapper),children:jsxRuntime.jsx(i,{chainId:t.chainId,className:d?.icon})}),jsxRuntime.jsxs("div",{className:d?.contentWrapper,children:[jsxRuntime.jsx(p,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true,className:d?.title}),jsxRuntime.jsx(r,{timestamp:t.localTimestamp,className:d?.timestamp}),jsxRuntime.jsx(x,{txStatus:t.status,source:t.description,variant:"description",className:d?.description})]})]}),jsxRuntime.jsx(c,{tx:t,className:d?.statusBadge,classNames:{icon:d?.statusBadgeIcon,label:d?.statusBadgeLabel}})]}),jsxRuntime.jsx(m,{tx:t,adapter:a,variant:"history",className:d?.txKeyContainer,hashLinkClassNames:{label:d?.hashLabel,link:d?.hashLink,copyButton:d?.hashCopyButton},originalHashLinkClassNames:{label:d?.originalHashLabel,link:d?.originalHashLink,copyButton:d?.originalHashCopyButton}})]})}var ye=2500;function be({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 Ce({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 Ne({title:t,message:a,className:e,classNames:n}){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:font-semibold novatx:text-[var(--tuwa-text-primary)]",n?.title),children:t}),jsxRuntime.jsx("p",{className:novaCore.cn("novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",n?.message),children:a})]})}function ga({adapter:t,connectedWalletAddress:a,transactionsPool:e,className:n,customization:o,pagination:s,initialTxKey:i,canViewDetails:p=true}){let{transactionsModal:x}=C(),[r,c]=react.useState(p?i??null:null);react.useEffect(()=>{if(i&&p){let w=setTimeout(()=>c(i),0);return ()=>clearTimeout(w)}},[i,p]);let m=react.useRef(null),d=react.useRef(false),[g,S]=react.useState(false),N=react.useRef(void 0),T=a?pulsarCore.selectAllTransactionsByActiveWallet(e,a).sort((P,F)=>(F.localTimestamp??0)-(P.localTimestamp??0)):[];react.useEffect(()=>{let w=s?.isError??false,P=d.current;if(d.current=w,w&&!P){let F=setTimeout(()=>S(true),0);return N.current=setTimeout(()=>S(false),ye),()=>{clearTimeout(F),clearTimeout(N.current);}}},[s?.isError]);let u=react.useCallback(w=>{w[0]?.isIntersecting&&s?.hasMore&&!s?.isLoading&&a&&s.fetchNextPage(a);},[s,a]);react.useEffect(()=>{if(!s?.hasMore||!m.current)return;let w=new IntersectionObserver(u,{threshold:.1});return w.observe(m.current),()=>w.disconnect()},[s?.hasMore,u]);let{Placeholder:y=Ne,HistoryItem:f=ma,Loader:v=be}=o?.components??{},B=()=>{if(!a)return jsxRuntime.jsx(y,{title:x.history.connectWalletTitle,message:x.history.connectWalletMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}});if(T.length>0){let w={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: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:[T.map(P=>jsxRuntime.jsx(f,{tx:P,adapter:t,canViewDetails:p,customization:{classNames:w},onSelectTx:()=>p&&c(P.txKey)},P.txKey)),s?.hasMore&&jsxRuntime.jsx("div",{ref:m,className:"novatx:h-px","aria-hidden":"true"}),s?.isLoading&&jsxRuntime.jsx(v,{className:o?.classNames?.loaderContainer,iconClassName:o?.classNames?.loaderIcon}),g&&jsxRuntime.jsx(Ce,{className:o?.classNames?.errorContainer,iconClassName:o?.classNames?.errorIcon})]})}return jsxRuntime.jsx(y,{title:x.history.noTransactionsTitle,message:x.history.noTransactionsMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}})};if(r){let w=T.find(P=>P.txKey===r);if(w)return jsxRuntime.jsx(xa,{tx:w,adapter:t,onBack:()=>c(null),customization:o?.detailsCustomization})}return jsxRuntime.jsxs("div",{className:novaCore.cn("novatx:flex novatx:flex-col novatx:gap-y-3",o?.classNames?.container,n),children:[o?.title&&jsxRuntime.jsx("h3",{className:novaCore.cn("novatx:text-lg novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",o?.classNames?.titleText),children:o?.title}),B()]})}var Be=({closeModal:t,title:a,classNames:e})=>{let{actions:n}=C();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":n.close,className:novaCore.cn("novatx:cursor-pointer novatx:rounded-full novatx:p-1 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",e?.closeButton),children:jsxRuntime.jsx(novaCore.CloseIcon,{})})})]})};function fa({isOpen:t,setIsOpen:a,customization:e,adapter:n,connectedWalletAddress:o,transactionsPool:s,pagination:i,selectedTxKey:p}){let{transactionsModal:x}=C(),r=()=>a(false),c=e?.components?.Header,m=e?.components?.History;return jsxRuntime.jsx(novaCore.Dialog,{open:t,onOpenChange:d=>!d&&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-[95dvh] novatx:w-full novatx:flex novatx:flex-col",e?.classNames?.contentWrapper),children:[c?jsxRuntime.jsx(c,{closeModal:r}):jsxRuntime.jsx(Be,{closeModal:r,title:x.history.title,classNames:{header:e?.classNames?.header,title:e?.classNames?.headerTitle,closeButton:e?.classNames?.closeButton}}),m?jsxRuntime.jsx(m,{adapter:n,transactionsPool:s,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:i}):jsxRuntime.jsx(ga,{adapter:n,transactionsPool:s,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:i,initialTxKey:p})]})})})}var He=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 Xr({children:t,action:a,getLastTxKey:e,transactionsPool:n,walletAddress:o,loadingContent:s,succeedContent:i,failedContent:p,replacedContent:x,resetTimeout:r=2500,className:c,classNames:m,...d}){let{trackedTxButton:g}=C(),{showPreSubmitErrorToast:S}=Ut(),[N,T]=react.useState("idle"),[u,y]=react.useState(void 0),f=He(g);react.useEffect(()=>{T("idle"),y(void 0);},[o]),react.useEffect(()=>{if(!u)return;let O=n[u];if(O)switch(O.status){case pulsarCore.TransactionStatus.Success:T("succeed");break;case pulsarCore.TransactionStatus.Replaced:T("replaced");break;case pulsarCore.TransactionStatus.Failed:T("failed");break}},[n,u,o]),react.useEffect(()=>{if(["succeed","failed","replaced"].includes(N)){let O=setTimeout(()=>{T("idle"),y(void 0);},r);return ()=>clearTimeout(O)}},[N,r]);let v=async()=>{T("loading");try{await a(),y(e());}catch(O){S(O),T("failed");}},B=()=>{switch(N){case "loading":return s??f.loading;case "succeed":return i??f.succeed;case "failed":return p??f.failed;case "replaced":return x??f.replaced;default:return t}},w={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)]"},P=m?.[N]??w[N],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:text-sm novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70";return jsxRuntime.jsx("button",{...d,disabled:N!=="idle"||d.disabled,onClick:v,className:novaCore.cn(F,P,c),children:B()})}var Ke={[pulsarCore.TransactionStatus.Success]:"success",[pulsarCore.TransactionStatus.Failed]:"error",[pulsarCore.TransactionStatus.Replaced]:"info"};function Ei({adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:n,initialTx:o,executeTxAction:s,closeTxTrackedModal:i,labels:p,features:x,customization:r,pagination:c,...m}){let[d,g]=react.useState(false),[S,N]=react.useState(null),T=react.useRef(n),u="nova-transactions",y=novaCore.useMediaQuery("(max-width: 767px)"),f=react.useMemo(()=>({toasts:x?.toasts??true,transactionsModal:x?.transactionsModal??true,trackingTxModal:x?.trackingTxModal??true,validationErrorToast:x?.validationErrorToast??true}),[x]),v=react.useMemo(()=>novaCore.deepMerge(xt,p||{}),[p]),B=react.useCallback(b=>{if(!f.validationErrorToast)return;let L=b instanceof Error?b.message:String(b),D=b instanceof Error?JSON.stringify({name:b.name,message:b.message},null,2):L,Q=b.field;reactToastify.toast(K=>jsxRuntime.jsx(pt,{...K,message:L,rawError:D,fieldName:Q,customization:r?.validationErrorToast}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:dt,closeOnClick:false});},[f.validationErrorToast,r?.validationErrorToast]),w=react.useCallback(async(...b)=>{try{await s(...b);}catch(L){throw !o?.lastTxKey&&B(L),L}},[s,o?.lastTxKey,B]),P=react.useCallback(b=>{if(!f.toasts)return;let L=b.pending?"info":Ke[b.status]??"info",D=Q=>jsxRuntime.jsx(Xt,{...Q,tx:b,openTxInfoModal:f.transactionsModal?K=>{N(K&&typeof K=="string"?K:null),g(true);}:void 0,customization:r?.toast,adapter:t,connectedWalletAddress:a});reactToastify.toast.isActive(b.txKey)?reactToastify.toast.update(b.txKey,{render:D,type:L,containerId:u}):reactToastify.toast(D,{toastId:b.txKey,type:L,closeOnClick:false,containerId:u});},[n,f,r?.toast,t,a]);react.useEffect(()=>{let b=T.current;Object.values(n).forEach(L=>{let D=b[L.txKey];if(!D&&L.pending){P(L);return}D&&JSON.stringify(D)!==JSON.stringify(L)&&P(L);}),T.current=n;},[n,P]),react.useEffect(()=>{Object.values(n).forEach(b=>{reactToastify.toast.isActive(b.txKey,u)&&P(b);});},[a,P,n]);let F=!!o?.withTrackedModal&&n[o?.lastTxKey??""]?.isTrackedModalOpen,O=f.toasts&&(!y||!F&&!d),nt=react.useMemo(()=>{let b=r?.toastCloseButton;return b?({closeToast:L})=>jsxRuntime.jsx(novaCore.ToastCloseButton,{closeToast:L,...b}):novaCore.ToastCloseButton},[r?.toastCloseButton]),lt=react.useMemo(()=>({customization:r?.validationErrorToast,enabled:f.validationErrorToast}),[r?.validationErrorToast,f.validationErrorToast]);return jsxRuntime.jsx(_t,{labels:v,children:jsxRuntime.jsxs(wt.Provider,{value:lt,children:[O&&jsxRuntime.jsx(reactToastify.ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:nt,containerId:u,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...m}),f.transactionsModal&&jsxRuntime.jsx(fa,{isOpen:d,setIsOpen:b=>{g(b),b||N(null);},selectedTxKey:S,customization:r?.transactionsInfoModal,adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:n,pagination:c}),f.validationErrorToast&&jsxRuntime.jsx(reactToastify.ToastContainer,{containerId:dt,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"}),f.trackingTxModal&&jsxRuntime.jsx(qt,{initialTx:o,onClose:i,onOpenAllTransactions:()=>g(true),transactionsPool:n,customization:r?.trackingTxModal,executeTxAction:w,adapter:t,connectedWalletAddress:a})]})})}
|
|
2
|
+
exports.a=pt;exports.b=dt;exports.c=wt;exports.d=Ut;exports.e=xt;exports.f=_t;exports.g=C;exports.h=Ei;exports.i=rt;exports.j=j;exports.k=at;exports.l=ut;exports.m=Xt;exports.n=qt;exports.o=Zt;exports.p=Qt;exports.q=ta;exports.r=aa;exports.s=xa;exports.t=ma;exports.u=ga;exports.v=fa;exports.w=Xr;
|
|
@@ -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 pa from'dayjs';import {ArrowLeftIcon,CheckCircleIcon as CheckCircleIcon$1,ClockIcon as ClockIcon$1,ExclamationTriangleIcon as ExclamationTriangleIcon$1,GlobeAltIcon,CpuChipIcon,LinkIcon,CheckBadgeIcon,KeyIcon,DocumentDuplicateIcon as DocumentDuplicateIcon$1}from'@heroicons/react/24/outline';import me from'dayjs/plugin/relativeTime';var ka=({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}),Ia=({title:t,className:a})=>jsx("span",{className:cn("novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-error-icon)]",a),role:"heading","aria-level":3,children:t}),Sa=({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})]}),Ba=({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})}),La=({icon:t,isCopied:a,copyLabel:e,copiedLabel:n})=>jsxs(Fragment,{children:[t,jsx("span",{className:"novatx:select-none novatx:transition-colors","aria-live":"polite",role:"status",children:a?n:e})]});function pt({message:t,rawError:a,fieldName:e,className:n,customization:o}){let{validationError:s}=C(),{isCopied:i,copy:p}=useCopyToClipboard(),x=a??t,{Icon:r=ka,Title:c=Ia,FieldBadge:m=Sa,Message:d=Ba,CopyContent:g=La}=o?.components??{},S=o?.classNames??{},N=!x.trim(),T=S.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-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":i}),u=jsx(ExclamationTriangleIcon,{className:cn("novatx:h-4 novatx:w-4 novatx:transition-colors",i&&"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",S.container,n),children:[jsx("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",S.header),children:jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",S.titleWrapper),children:[jsx(r,{isCopied:i,className:S.icon,"aria-hidden":true}),jsx(c,{title:s.title,className:S.title})]})}),e&&jsx(m,{fieldLabel:s.field,fieldName:e,className:S.fieldBadge}),jsx(d,{message:t,className:S.messageText}),jsx("button",{...o?.buttonProps??{},type:"button",disabled:N,"aria-label":i?`${s.copied} ${s.copy}`:s.copy,className:T,onClick:async y=>{y.stopPropagation(),await p(x);},children:jsx(g,{icon:u,isCopied:i,copyLabel:s.copy,copiedLabel:s.copied})})]})}var dt="nova-validation-errors",Da={enabled:true},wt=createContext(Da);function Ut(){let{customization:t,enabled:a}=useContext(wt);return {showPreSubmitErrorToast:useCallback(n=>{if(!a)return;let o=n instanceof Error?n.message:String(n),s=n instanceof Error?JSON.stringify({name:n.name,message:n.message},null,2):o,i=n.field;toast(p=>jsx(pt,{...p,message:o,rawError:s,fieldName:i,customization:t}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:dt,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"}};var Wt=createContext(xt),_t=({labels:t,children:a})=>jsx(Wt.Provider,{value:t,children:a}),C=()=>useContext(Wt);function rt({label:t,hash:a,explorerUrl:e,variant:n="default",className:o,classNames:s}){let{isCopied:i,copy:p}=useCopyToClipboard(),{actions:x,txError:r}=C(),c=cn("novatx:flex novatx:items-center novatx:justify-between",{"novatx:text-sm":n==="default","novatx:text-xs":n==="compact"},o),m=cn("novatx:pr-1",{"novatx:font-bold novatx:text-[var(--tuwa-text-primary)]":n==="default","novatx:font-medium novatx:text-[var(--tuwa-text-secondary)]":n==="compact"},s?.label),d=jsx("span",{className:cn("novatx:font-mono",s?.hash),children:textCenterEllipsis(a,5,5)});return jsxs("div",{className:c,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",s?.link),title:x.viewOnExplorer,"aria-label":x.viewOnExplorer,children:[d,jsx(ArrowTopRightOnSquareIcon,{className:cn("novatx:h-4 novatx:w-4",s?.linkIcon)})]}):jsx("span",{className:cn("novatx:text-[var(--tuwa-text-primary)]",s?.link),children:d}),jsx("button",{type:"button",onClick:()=>p(a),className:cn("novatx:cursor-pointer novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:text-[var(--tuwa-text-secondary)]",s?.copyButton),title:i?r.copied:x.copy,"aria-label":i?r.copied:x.copy,children:i?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:n,className:o,applyColor:s=false}){let i,p="";if(typeof a=="string")i=a;else if(Array.isArray(a)){let c=Jt[t||"default"]??Jt.default;i=a[c.index],s&&(p=c.colorClass);}else i=e;return i?jsx("div",{className:cn(n==="title"?"novatx:text-sm novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:mt-1 novatx:text-xs novatx:text-[var(--tuwa-text-secondary)]",p,o),children:i}):null}function at({tx:t,adapter:a,variant:e="toast",className:n,renderHashLink:o,confirmations:s,hashLinkClassNames:i,originalHashLinkClassNames:p}){let{hashLabels:x,statuses:r}=C(),c=selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!c)return null;let m=(u,y)=>o?o(u):jsx(rt,{...u,classNames:y??i}),d=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=x[String(t.tracker)],S=g?m({label:g,hash:t.txKey,variant:t.tracker!==TransactionTracker.Solana?"compact":"default",explorerUrl:c.getExplorerTxUrl&&t.tracker===TransactionTracker.Solana?c?.getExplorerTxUrl(t):void 0}):null,N=(()=>{let u=t.hash,y=t.replacedTxHash;return !u&&!y?null:y?jsxs(Fragment,{children:[u&&m({label:x.original,hash:u,variant:"compact"},p),typeof c.getExplorerTxUrl<"u"&&m({label:x.replaced,hash:y,explorerUrl:c.getExplorerTxUrl(t)})]}):u&&typeof c.getExplorerTxUrl<"u"&&m({label:x.default,hash:u,explorerUrl:c.getExplorerTxUrl(t)})})(),T=g&&g!==x.default&&t.txKey!==t.hash;return jsxs("div",{className:cn(d,n),children:[T&&S,N,typeof s=="number"&&s>0&&jsxs("p",{className:"novatx:text-xs novatx:text-[var(--tuwa-text-tertiary)]",children:[r.confirmationsLabel,": ",s]})]})}var to=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:n}=C(),o=to(n),s="novatx:inline-flex novatx:items-center novatx:gap-x-1.5 novatx:rounded-full novatx:px-2 novatx:py-1 novatx:text-xs novatx:font-medium",i=t.pending?"Pending":t.status,p=i?o[i]:null;if(!p)return jsx("div",{className:cn(s,"novatx:bg-[var(--tuwa-info-bg)] novatx:text-[var(--tuwa-info-text)]",e?.container,a),children:jsx("span",{className:e?.label,children:t.status??n.unknown})});let{label:x,Icon:r,badgeClasses:c,iconClasses:m}=p;return jsxs("div",{className:cn(s,c,e?.container,a),children:[jsx(r,{className:cn("novatx:h-4 novatx:w-4",m,e?.icon)}),jsx("span",{className:e?.label,children:x})]})}var ro=({onClick:t,children:a,className:e})=>jsx("button",{onClick:t,type:"button",className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-medium novatx:text-[var(--tuwa-text-accent)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),io=({onClick:t,children:a,className:e})=>jsx("button",{onClick:t,type:"button",className:cn("novatx:cursor-pointer novatx:text-sm novatx:font-medium novatx:text-[var(--tuwa-text-secondary)] novatx:transition-opacity novatx:hover:opacity-80",e),children:a}),co=({onClick:t,children:a,className:e})=>jsx("button",{className:e||"novatx:cursor-pointer novatx: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-3 novatx:py-1 novatx:text-xs novatx:font-bold novatx:text-[var(--tuwa-text-on-accent)] novatx:shadow-lg novatx:transition-all novatx:duration-200 novatx:ease-in-out novatx:hover:shadow-xl novatx:hover:from-[var(--tuwa-button-gradient-from-hover)] novatx:hover:to-[var(--tuwa-button-gradient-to-hover)] novatx:active:scale-95",onClick:t,type:"button",children:a}),lo=({count:t,required:a,isSuccess:e,className:n})=>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: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)]",n),children:[t,a&&a>1?`/${a}`:""]});function Xt({openTxInfoModal:t,tx:a,icon:e,className:n,customization:o,connectedWalletAddress:s,adapter:i}){let{actions:p,toast:x}=C(),r=selectAdapterByKey({adapterKey:a.adapter,adapter:i}),c=!!(a.tracker==="ethereum"&&a.pending&&(!a.confirmations||Number(a.confirmations)<1)&&r?.speedUpTxAction&&r?.cancelTxAction&&a.from.toLowerCase()===s?.toLowerCase()&&["metamask"].includes(a.connectorType.split(":")[1])),m=()=>{c&&r.cancelTxAction(a);},d=()=>{c&&r.speedUpTxAction(a);},{StatusAwareText:g=j,TransactionKey:S=at,StatusBadge:N=ut,SpeedUpButton:T=ro,CancelButton:u=io,TxInfoButton:y=co,ConfirmationsBadge:f=lo}=o?.components??{},v=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",v?.container,n),children:[a.confirmations&&Number(a.confirmations)>0&&jsx(f,{count:a.confirmations,required:a.requiredConfirmations,isSuccess:a.status===TransactionStatus.Success,className:v?.confirmationsBadge}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-3",v?.header),children:[jsx("div",{className:cn("novatx:w-[40px] novatx:flex-shrink-0",v?.iconWrapper),title:getChainName(setChainId(a.chainId)).name,children:e??jsx(NetworkIcon,{chainId:setChainId(a.chainId)})}),jsxs("div",{className:cn("novatx:flex-1",v?.contentWrapper),children:[jsx(g,{txStatus:a.status,source:a.title,fallback:a.type,variant:"title",applyColor:true,className:v?.title}),jsx(g,{txStatus:a.status,source:a.description,variant:"description",className:v?.description})]})]}),jsxs("div",{children:[jsx(S,{adapter:i,tx:a,variant:"toast",className:v?.transactionKey,hashLinkClassNames:{label:v?.hashLabel,link:v?.hashLink,copyButton:v?.hashCopyButton},originalHashLinkClassNames:{label:v?.originalHashLabel,link:v?.originalHashLink,copyButton:v?.originalHashCopyButton}}),jsxs("div",{className:cn("novatx:mt-3 novatx:flex novatx:items-center novatx:justify-between",v?.footer),children:[jsx(N,{tx:a,className:v?.statusBadge,classNames:{icon:v?.statusBadgeIcon,label:v?.statusBadgeLabel}}),c?jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-4",v?.actionsContainer),children:[jsx(T,{onClick:d,className:v?.speedUpButton,children:p.speedUp}),jsx(u,{onClick:m,className:v?.cancelButton,children:p.cancel})]}):t&&a.from.toLowerCase()===s?.toLowerCase()&&jsx(y,{onClick:()=>t(a.txKey),className:v?.txInfoButton,children:x.openTransaction})]})]})]})}function qt({adapter:t,onClose:a,onOpenAllTransactions:e,className:n,customization:o,transactionsPool:s,executeTxAction:i,initialTx:p,connectedWalletAddress:x}){let r=p?.lastTxKey?s[p.lastTxKey]:void 0,c=r??p,m=p?.withTrackedModal&&!r||(r?.isTrackedModalOpen??false),d=r?.status,g=p?.isInitializing??false,S=r?.pending??false,N=g||S,T=d===TransactionStatus.Success,u=r?.isError||!!p?.error,y=d===TransactionStatus.Replaced,f=c?selectAdapterByKey({adapterKey:c.adapter,adapter:t}):void 0,v=!!(u&&c&&p?.actionFunction&&i),B=!!(f?.speedUpTxAction&&f?.cancelTxAction&&r?.pending&&(!r.confirmations||Number(r.confirmations)<1)&&r.tracker==="ethereum"),w=()=>{if(!v||!f?.retryTxAction)return;let ht={adapter:c.adapter,type:c.type,desiredChainID:"desiredChainID"in c?c.desiredChainID:c.chainId,actionFunction:p?.actionFunction,title:c.title,description:c.description,payload:c.payload,rpcUrl:"rpcUrl"in c?c?.rpcUrl:"desiredChainID"in c?c.desiredChainID:c.chainId.split(":")[1],withTrackedModal:"withTrackedModal"in c?c.withTrackedModal:false};f.retryTxAction({tx:ht,txKey:r?.txKey??"",onClose:a,executeTxAction:i});},P=B&&r&&["metamask"].includes(r?.connectorType.split(":")[1]),F=()=>{P&&f.cancelTxAction(r);},O=()=>{P&&f.speedUpTxAction(r);},nt=o?.components?.Header,lt=o?.components?.Footer,b=o?.components?.StatusVisual,L=o?.components?.ProgressIndicator,D=o?.components?.InfoBlock,Q=o?.components?.ErrorBlock;if(!c)return null;let K=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",K?.container,n),children:[nt?jsx(nt,{onClose:()=>a(r?.txKey),title:jsx(Gt,{tx:c,className:K?.headerTitle})}):jsx(To,{onClose:()=>a(r?.txKey),title:jsx(Gt,{tx:c,className:K?.headerTitle}),classNames:K}),jsxs("main",{className:cn("novatx:flex novatx:flex-col novatx:gap-4 novatx:p-4",K?.main),children:[b?jsx(b,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y}):jsx(aa,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y,className:o?.statusVisualCustomization?.className,iconClassNames:o?.statusVisualCustomization?.iconClassNames}),L?jsx(L,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y}):jsx(ta,{isProcessing:N,isSucceed:T,isFailed:u,isReplaced:y,className:o?.progressIndicatorCustomization?.className,stepClassNames:o?.progressIndicatorCustomization?.stepClassNames}),D?jsx(D,{tx:c,adapter:t}):jsx(Qt,{tx:c,adapter:t,customization:o?.infoBlockCustomization}),Q?jsx(Q,{error:r?.error||p?.error}):jsx(Zt,{error:r?.error||p?.error,className:o?.errorBlockCustomization?.className,classNames:o?.errorBlockCustomization?.classNames})]}),lt?jsx(lt,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:N,isFailed:u,canReplace:B,onRetry:v?w:void 0,onSpeedUp:P?O:void 0,onCancel:P?F:void 0,connectedWalletAddress:x}):jsx(bo,{onClose:()=>a(r?.txKey),onOpenAllTransactions:e,isProcessing:N,isFailed:u,canReplace:B,onRetry:v?w:void 0,onSpeedUp:P?O:void 0,onCancel:P?F:void 0,connectedWalletAddress:x,classNames:K})]})})})}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 To=({onClose:t,title:a,classNames:e})=>{let{actions:n}=C();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":n.close,className:cn("novatx:cursor-pointer novatx:rounded-full novatx:p-1 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",e?.closeButton),children:jsx(CloseIcon,{})})})]})},yo=({isFailed:t,onRetry:a,isProcessing:e,canReplace:n,connectedWalletAddress:o,onOpenAllTransactions:s,classNames:i})=>{let{trackingModal:p}=C();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-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)]",i?.retryButton),children:p.retry}):!e&&!n&&o?jsx("button",{type:"button",onClick:s,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-semibold novatx:text-[var(--tuwa-text-primary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-border-primary)]",i?.allTransactionsButton),children:p.allTransactions}):null},bo=({onClose:t,onOpenAllTransactions:a,isProcessing:e,onRetry:n,onSpeedUp:o,onCancel:s,canReplace:i,isFailed:p,connectedWalletAddress:x,classNames:r})=>{let{trackingModal:c,actions:m}=C();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:i&&o&&s&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:o,className:cn("novatx:cursor-pointer novatx:text-sm 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:s,className:cn("novatx:cursor-pointer novatx:text-sm 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(yo,{isFailed:p,onRetry:n,isProcessing:e,canReplace:i,connectedWalletAddress:x,onOpenAllTransactions:a,classNames:r}),jsx("button",{type:"button",onClick:t,disabled:e&&!i,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-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&&!i?c.processing:c.close})]})]})};function Zt({error:t,className:a,classNames:e}){let{isCopied:n,copy:o}=useCopyToClipboard(),{actions:s,txError:i}=C(),{displayMessage:p,copyMessage:x}=useMemo(()=>t?typeof t=="string"?{displayMessage:t,copyMessage:t}:{displayMessage:t.message,copyMessage:JSON.stringify(t.raw,null,2)}:{displayMessage:"",copyMessage:""},[t]);return !t||!p?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-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:i.title})]}),jsx("button",{type:"button",onClick:()=>o(x),title:n?i.copied:s.copy,"aria-label":n?i.copied:`${s.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:n?jsx(CheckIcon,{className:"novatx:h-5 novatx:w-5 novatx:text-[var(--tuwa-success-icon)]"}):jsx(DocumentDuplicateIcon,{className:"novatx:h-5 novatx:w-5"})})]}),jsx("div",{className: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:p})})]})}function Mo({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-medium novatx:text-[var(--tuwa-text-primary)]",e?.value),children:a})]})}function Qt({tx:t,adapter:a,className:e,customization:n}){let{txInfo:o,statuses:s,hashLabels:i}=C(),p=selectAdapterByKey({adapterKey:t.adapter,adapter:a});if(!p)return null;let{InfoRow:x=Mo}=n?.components??{},r=n?.classNames,c={row:r?.row,label:r?.rowLabel,value:r?.rowValue},m="chainId"in t?t.chainId:t.desiredChainID,d=t.adapter===OrbitAdapter.SOLANA,g=d?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(x,{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:c}),t.localTimestamp&&jsx(x,{label:o.started,value:pa.unix(t.localTimestamp).format("MMM D, HH:mm:ss"),classNames:c}),d&&jsxs(Fragment,{children:[g?.slot&&jsx(x,{label:o.slot,value:jsx(rt,{hash:g.slot.toString(),explorerUrl:p?.getExplorerUrl?`${p?.getExplorerUrl(`/block/${g.slot}`)}`:void 0}),classNames:c}),g?.recentBlockhash&&jsx(x,{label:i.recentBlockhash,value:jsx(rt,{hash:g.recentBlockhash}),classNames:c})]}),"confirmations"in t&&Number(t.confirmations)>0&&jsx(x,{label:s.confirmationsLabel,value:t.confirmations,classNames:c}),"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:n?.components?.transactionKey,hashLinkClassNames:r?.hashLink,originalHashLinkClassNames:r?.originalHashLink})})]})}var Ko={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 Oo({status:t,label:a,isFirst:e=false,classNames:n}){let o=Ko[t],s=n?.statusOverrides?.[t],i=()=>{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",n?.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,n?.line,s?.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,n?.circle,s?.circle),children:i()}),jsx("span",{className:cn("novatx:mt-2 novatx:text-center novatx:text-xs",t!=="inactive"?"novatx:font-semibold novatx:text-[var(--tuwa-text-primary)]":"novatx:text-[var(--tuwa-text-secondary)]",n?.label,s?.label),children:a})]})}function ta({isProcessing:t,isSucceed:a,isFailed:e,isReplaced:n,className:o,StepComponent:s=Oo,stepClassNames:i}){let{trackingModal:p,statuses:x}=C(),r=d=>{if(d===1)return "completed";if(d===2){if(a||e||n)return "completed";if(t)return "active"}if(d===3){if(a)return "completed";if(e)return "error";if(n)return "replaced";if(t)return "active"}return "inactive"},c=d=>d===1?p.progressIndicator.created:d===2?p.progressIndicator.processing:e?x.failed:n?x.replaced:p.progressIndicator.succeed,m=[{status:r(1),label:c(1),isFirst:true,classNames:i},{status:r(2),label:c(2),classNames:i},{status:r(3),label:c(3),isLast:true,classNames:i}];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((d,g)=>jsx(s,{...d},g))})}var _o={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:n,className:o,iconClassNames:s}){let i=a&&"succeed"||e&&"failed"||n&&"replaced"||t&&"processing"||"initializing",{Icon:p,className:x}=_o[i],r=s?.statusOverrides?.[i];return jsx("div",{className:cn("novatx:flex novatx:justify-center novatx:py-4",o),children:jsx(p,{className:cn("novatx:h-16 novatx:w-16",x,s?.icon,r)})})}var ee=({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}),ne=({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: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:n,copy:o}=useCopyToClipboard(),{actions:s,txError:i}=C(),p=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:n?i.copied:s.copy,"aria-label":n?i.copied:s.copy,children:n?jsx(CheckIcon,{className:cn(p,"novatx:text-[var(--tuwa-success-icon)]")}):jsx(DocumentDuplicateIcon$1,{className:p})})},se=({label:t,value:a,mono:e=true,className:n,children:o,classNames:s})=>jsxs("div",{className:cn("novatx:space-y-1.5",n),children:[jsx(ft,{className:s?.label,children:t}),jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:gap-2",s?.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",s?.code),title:a,children:a}),jsx(Et,{value:a,className:s?.copyButton})]})]}),re=({label:t,value:a,mono:e=false,className:n,classNames:o})=>a==null||a===""?null:jsxs("div",{className:cn("novatx:space-y-1",n),children:[jsx(ft,{className:o?.label,children:t}),jsx("span",{className:cn("novatx:block novatx:break-all novatx:text-sm novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",e&&"novatx:font-mono novatx:text-xs",o?.value),children:a})]}),ie=({icon:t,label:a,children:e,className:n,classNames:o})=>jsxs("div",{className:cn("novatx:flex novatx:items-center novatx:justify-between novatx:py-2.5",n),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-bold novatx:text-[var(--tuwa-text-primary)]",o?.value),children:e})]}),ce=({label:t,data:a,className:e,classNames:n})=>{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",n?.header),children:[jsx(ft,{className:n?.label,children:t}),jsx(Et,{value:o,size:"sm",className:n?.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",n?.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",n?.pre),children:o})})]})},le=({tx:t,labels:a,components:{DetailItem:e,CopyableField:n}})=>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(n,{label:a.replacedHash,value:t.replacedTxHash})]}),pe=({tx:t,labels:a,components:{DetailItem:e,CopyableField:n}})=>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(n,{label:a.recentBlockhash,value:t.recentBlockhash})]}),de=({tx:t,labels:a,components:{DetailItem:e,CopyableField:n}})=>jsxs("div",{className:"novatx:grid novatx:grid-cols-1 novatx:gap-6 sm:novatx:grid-cols-2",children:[t.contractAddress&&jsx(n,{label:a.contractAddress,value:t.contractAddress}),jsx(e,{label:a.actualFee,value:t.actualFee?`${t.actualFee.amount} ${t.actualFee.unit}`:void 0})]});function xa({tx:t,onBack:a,adapter:e,className:n,customization:o}){let{transactionDetails:s,statuses:i,actions:p,txError:x}=C(),{isCopied:r,copy:c}=useCopyToClipboard(),m=useMemo(()=>selectAdapterByKey({adapterKey:t.adapter,adapter:e}),[t.adapter,e]),d=t.pending?"pending":t.status===TransactionStatus.Success?"success":"error",g=m?.getExplorerTxUrl?.(t),{SectionCard:S=ee,SectionHeading:N=ne,CopyableField:T=se,DetailItem:u=re,MetadataRow:y=ie,JsonBlock:f=ce}=o?.components??{},v=o?.classNames,B=t.adapter===OrbitAdapter.EVM?t:null,w=t.adapter===OrbitAdapter.SOLANA?t:null,P=t.adapter===OrbitAdapter.Starknet?t:null;return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-6 novatx:p-4",n,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-full 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:p.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:uppercase novatx:tracking-tight novatx:text-[var(--tuwa-text-primary)]",v?.title),children:s.title}),jsx("p",{className:cn("novatx:text-[10px] novatx:font-bold novatx:uppercase novatx:tracking-widest novatx:text-[var(--tuwa-text-tertiary)]",v?.subtitle),children:s.subtitle})]})]})}),jsxs(S,{className:v?.coreInfoCard,children:[jsx("div",{className:"novatx:flex 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)]",d==="success"?"novatx:bg-emerald-500/10 novatx:text-emerald-500":d==="pending"?"novatx:bg-amber-500/10 novatx:text-amber-500":"novatx:bg-rose-500/10 novatx:text-rose-500",v?.statusIconContainer),children:d==="success"?jsx(CheckCircleIcon$1,{className:"novatx:h-6 novatx:w-6"}):d==="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: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",d==="success"?"novatx:text-emerald-500":d==="pending"?"novatx:text-amber-500":"novatx:text-rose-500"),children:t.pending?i.pending:t.status??i.failed})]})]})}),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(T,{label:s.hash,value:B?.hash||t.txKey,className:"novatx:min-w-0",classNames:{code:g?"novatx:p-0 novatx:border-none novatx:bg-transparent":void 0},children:g?jsx("a",{href:g,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:B?.hash||t.txKey}):null}),jsxs("div",{className:"novatx:space-y-1.5",children:[jsx(ft,{children:s.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(NetworkIcon,{chainId:setChainId(t.chainId),className:"novatx:h-5 novatx:w-5 novatx:shrink-0"}),jsx("span",{className:"novatx:truncate novatx:text-sm 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(T,{label:s.from,value:t.from}),B?.to?jsx(T,{label:s.to,value:B.to}):jsx(u,{label:s.to,value:"\u2014"})]})]})]}),jsxs(S,{className:cn("novatx:p-4",v?.metadataSection),children:[jsx(N,{children:s.metadata}),jsxs("div",{className:"novatx:divide-y novatx:divide-[var(--tuwa-border-primary)]",children:[jsx(y,{icon:GlobeAltIcon,label:s.adapter,children:jsx("span",{className:"novatx:capitalize",children:t.adapter})}),jsx(y,{icon:ClockIcon$1,label:s.submittedAt,children:pa.unix(t.localTimestamp).format("MMM D, YYYY HH:mm:ss")}),t.finishedTimestamp&&jsx(y,{icon:CheckCircleIcon$1,label:s.finishedAt,children:pa.unix(t.finishedTimestamp).format("MMM D, YYYY HH:mm:ss")}),jsx(y,{icon:CpuChipIcon,label:s.tracker,children:jsx("span",{className:"novatx:capitalize",children:t.tracker})}),jsx(y,{icon:LinkIcon,label:s.connector,children:jsx("span",{className:"novatx:capitalize",children:t.connectorType})}),t.confirmations&&Number(t.confirmations)>0&&jsxs(y,{icon:CheckBadgeIcon,label:s.confirmations,children:[t.confirmations,t.requiredConfirmations?` / ${t.requiredConfirmations}`:""]}),t.rpcUrl&&jsx(y,{icon:GlobeAltIcon,label:s.rpcUrl,children:jsx("span",{className:"novatx:block novatx:max-w-[200px] novatx:truncate",title:t.rpcUrl,children:t.rpcUrl})}),jsx(y,{icon:KeyIcon,label:s.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(S,{className:cn("novatx:p-4",v?.executionSection),children:[jsx(N,{children:s.executionData}),jsxs("div",{className:"novatx:space-y-6",children:[B&&jsx(le,{tx:B,labels:s,components:{DetailItem:u,CopyableField:T}}),w&&jsx(pe,{tx:w,labels:s,components:{DetailItem:u,CopyableField:T}}),P&&jsx(de,{tx:P,labels:s,components:{DetailItem:u,CopyableField:T}}),jsxs("div",{className:"novatx:space-y-6 novatx:border-t novatx:border-[var(--tuwa-border-primary)] novatx:pt-6",children:[B&&B.input&&B.input!=="0x"&&jsx(f,{label:s.inputData,data:B.input}),w&&w.instructions&&jsx(f,{label:s.instructions,data:w.instructions}),jsx(f,{label:s.fullPayload,data:t.payload}),jsx(f,{label:s.errorContext,data:t.error})]})]})]})]})}pa.extend(me);var ue=({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)})}),ge=({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?pa.unix(t).fromNow():"..."});function ma({tx:t,adapter:a,className:e,customization:n,onSelectTx:o,canViewDetails:s=true}){let{Icon:i=ue,Title:p=j,Description:x=j,Timestamp:r=ge,StatusBadge:c=ut,TransactionKey:m=at}=n?.components??{},d=n?.classNames;return jsxs("div",{onClick:g=>{g.target.closest("button, a")||s&&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&&s&&"novatx:cursor-pointer novatx:hover:bg-[var(--tuwa-bg-secondary)]",d?.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)]",d?.iconWrapper),children:jsx(i,{chainId:t.chainId,className:d?.icon})}),jsxs("div",{className:d?.contentWrapper,children:[jsx(p,{txStatus:t.status,source:t.title,fallback:t.type,variant:"title",applyColor:true,className:d?.title}),jsx(r,{timestamp:t.localTimestamp,className:d?.timestamp}),jsx(x,{txStatus:t.status,source:t.description,variant:"description",className:d?.description})]})]}),jsx(c,{tx:t,className:d?.statusBadge,classNames:{icon:d?.statusBadgeIcon,label:d?.statusBadgeLabel}})]}),jsx(m,{tx:t,adapter:a,variant:"history",className:d?.txKeyContainer,hashLinkClassNames:{label:d?.hashLabel,link:d?.hashLink,copyButton:d?.hashCopyButton},originalHashLinkClassNames:{label:d?.originalHashLabel,link:d?.originalHashLink,copyButton:d?.originalHashCopyButton}})]})}var ye=2500;function be({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 Ce({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 Ne({title:t,message:a,className:e,classNames:n}){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:font-semibold novatx:text-[var(--tuwa-text-primary)]",n?.title),children:t}),jsx("p",{className:cn("novatx:mt-1 novatx:text-sm novatx:text-[var(--tuwa-text-secondary)]",n?.message),children:a})]})}function ga({adapter:t,connectedWalletAddress:a,transactionsPool:e,className:n,customization:o,pagination:s,initialTxKey:i,canViewDetails:p=true}){let{transactionsModal:x}=C(),[r,c]=useState(p?i??null:null);useEffect(()=>{if(i&&p){let w=setTimeout(()=>c(i),0);return ()=>clearTimeout(w)}},[i,p]);let m=useRef(null),d=useRef(false),[g,S]=useState(false),N=useRef(void 0),T=a?selectAllTransactionsByActiveWallet(e,a).sort((P,F)=>(F.localTimestamp??0)-(P.localTimestamp??0)):[];useEffect(()=>{let w=s?.isError??false,P=d.current;if(d.current=w,w&&!P){let F=setTimeout(()=>S(true),0);return N.current=setTimeout(()=>S(false),ye),()=>{clearTimeout(F),clearTimeout(N.current);}}},[s?.isError]);let u=useCallback(w=>{w[0]?.isIntersecting&&s?.hasMore&&!s?.isLoading&&a&&s.fetchNextPage(a);},[s,a]);useEffect(()=>{if(!s?.hasMore||!m.current)return;let w=new IntersectionObserver(u,{threshold:.1});return w.observe(m.current),()=>w.disconnect()},[s?.hasMore,u]);let{Placeholder:y=Ne,HistoryItem:f=ma,Loader:v=be}=o?.components??{},B=()=>{if(!a)return jsx(y,{title:x.history.connectWalletTitle,message:x.history.connectWalletMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}});if(T.length>0){let w={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: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:[T.map(P=>jsx(f,{tx:P,adapter:t,canViewDetails:p,customization:{classNames:w},onSelectTx:()=>p&&c(P.txKey)},P.txKey)),s?.hasMore&&jsx("div",{ref:m,className:"novatx:h-px","aria-hidden":"true"}),s?.isLoading&&jsx(v,{className:o?.classNames?.loaderContainer,iconClassName:o?.classNames?.loaderIcon}),g&&jsx(Ce,{className:o?.classNames?.errorContainer,iconClassName:o?.classNames?.errorIcon})]})}return jsx(y,{title:x.history.noTransactionsTitle,message:x.history.noTransactionsMessage,className:o?.classNames?.placeholderContainer,classNames:{title:o?.classNames?.placeholderTitle,message:o?.classNames?.placeholderMessage}})};if(r){let w=T.find(P=>P.txKey===r);if(w)return jsx(xa,{tx:w,adapter:t,onBack:()=>c(null),customization:o?.detailsCustomization})}return jsxs("div",{className:cn("novatx:flex novatx:flex-col novatx:gap-y-3",o?.classNames?.container,n),children:[o?.title&&jsx("h3",{className:cn("novatx:text-lg novatx:font-bold novatx:text-[var(--tuwa-text-primary)]",o?.classNames?.titleText),children:o?.title}),B()]})}var Be=({closeModal:t,title:a,classNames:e})=>{let{actions:n}=C();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":n.close,className:cn("novatx:cursor-pointer novatx:rounded-full novatx:p-1 novatx:text-[var(--tuwa-text-tertiary)] novatx:transition-colors novatx:hover:bg-[var(--tuwa-bg-muted)] novatx:hover:text-[var(--tuwa-text-primary)]",e?.closeButton),children:jsx(CloseIcon,{})})})]})};function fa({isOpen:t,setIsOpen:a,customization:e,adapter:n,connectedWalletAddress:o,transactionsPool:s,pagination:i,selectedTxKey:p}){let{transactionsModal:x}=C(),r=()=>a(false),c=e?.components?.Header,m=e?.components?.History;return jsx(Dialog,{open:t,onOpenChange:d=>!d&&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-[95dvh] novatx:w-full novatx:flex novatx:flex-col",e?.classNames?.contentWrapper),children:[c?jsx(c,{closeModal:r}):jsx(Be,{closeModal:r,title:x.history.title,classNames:{header:e?.classNames?.header,title:e?.classNames?.headerTitle,closeButton:e?.classNames?.closeButton}}),m?jsx(m,{adapter:n,transactionsPool:s,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:i}):jsx(ga,{adapter:n,transactionsPool:s,connectedWalletAddress:o,customization:e?.historyCustomization,pagination:i,initialTxKey:p})]})})})}var He=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 Xr({children:t,action:a,getLastTxKey:e,transactionsPool:n,walletAddress:o,loadingContent:s,succeedContent:i,failedContent:p,replacedContent:x,resetTimeout:r=2500,className:c,classNames:m,...d}){let{trackedTxButton:g}=C(),{showPreSubmitErrorToast:S}=Ut(),[N,T]=useState("idle"),[u,y]=useState(void 0),f=He(g);useEffect(()=>{T("idle"),y(void 0);},[o]),useEffect(()=>{if(!u)return;let O=n[u];if(O)switch(O.status){case TransactionStatus.Success:T("succeed");break;case TransactionStatus.Replaced:T("replaced");break;case TransactionStatus.Failed:T("failed");break}},[n,u,o]),useEffect(()=>{if(["succeed","failed","replaced"].includes(N)){let O=setTimeout(()=>{T("idle"),y(void 0);},r);return ()=>clearTimeout(O)}},[N,r]);let v=async()=>{T("loading");try{await a(),y(e());}catch(O){S(O),T("failed");}},B=()=>{switch(N){case "loading":return s??f.loading;case "succeed":return i??f.succeed;case "failed":return p??f.failed;case "replaced":return x??f.replaced;default:return t}},w={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)]"},P=m?.[N]??w[N],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:text-sm novatx:font-medium novatx:transition-all novatx:duration-200 novatx:disabled:cursor-not-allowed novatx:disabled:opacity-70";return jsx("button",{...d,disabled:N!=="idle"||d.disabled,onClick:v,className:cn(F,P,c),children:B()})}var Ke={[TransactionStatus.Success]:"success",[TransactionStatus.Failed]:"error",[TransactionStatus.Replaced]:"info"};function Ei({adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:n,initialTx:o,executeTxAction:s,closeTxTrackedModal:i,labels:p,features:x,customization:r,pagination:c,...m}){let[d,g]=useState(false),[S,N]=useState(null),T=useRef(n),u="nova-transactions",y=useMediaQuery("(max-width: 767px)"),f=useMemo(()=>({toasts:x?.toasts??true,transactionsModal:x?.transactionsModal??true,trackingTxModal:x?.trackingTxModal??true,validationErrorToast:x?.validationErrorToast??true}),[x]),v=useMemo(()=>deepMerge(xt,p||{}),[p]),B=useCallback(b=>{if(!f.validationErrorToast)return;let L=b instanceof Error?b.message:String(b),D=b instanceof Error?JSON.stringify({name:b.name,message:b.message},null,2):L,Q=b.field;toast(K=>jsx(pt,{...K,message:L,rawError:D,fieldName:Q,customization:r?.validationErrorToast}),{toastId:`nova-pre-submit-${Date.now()}`,type:"error",containerId:dt,closeOnClick:false});},[f.validationErrorToast,r?.validationErrorToast]),w=useCallback(async(...b)=>{try{await s(...b);}catch(L){throw !o?.lastTxKey&&B(L),L}},[s,o?.lastTxKey,B]),P=useCallback(b=>{if(!f.toasts)return;let L=b.pending?"info":Ke[b.status]??"info",D=Q=>jsx(Xt,{...Q,tx:b,openTxInfoModal:f.transactionsModal?K=>{N(K&&typeof K=="string"?K:null),g(true);}:void 0,customization:r?.toast,adapter:t,connectedWalletAddress:a});toast.isActive(b.txKey)?toast.update(b.txKey,{render:D,type:L,containerId:u}):toast(D,{toastId:b.txKey,type:L,closeOnClick:false,containerId:u});},[n,f,r?.toast,t,a]);useEffect(()=>{let b=T.current;Object.values(n).forEach(L=>{let D=b[L.txKey];if(!D&&L.pending){P(L);return}D&&JSON.stringify(D)!==JSON.stringify(L)&&P(L);}),T.current=n;},[n,P]),useEffect(()=>{Object.values(n).forEach(b=>{toast.isActive(b.txKey,u)&&P(b);});},[a,P,n]);let F=!!o?.withTrackedModal&&n[o?.lastTxKey??""]?.isTrackedModalOpen,O=f.toasts&&(!y||!F&&!d),nt=useMemo(()=>{let b=r?.toastCloseButton;return b?({closeToast:L})=>jsx(ToastCloseButton,{closeToast:L,...b}):ToastCloseButton},[r?.toastCloseButton]),lt=useMemo(()=>({customization:r?.validationErrorToast,enabled:f.validationErrorToast}),[r?.validationErrorToast,f.validationErrorToast]);return jsx(_t,{labels:v,children:jsxs(wt.Provider,{value:lt,children:[O&&jsx(ToastContainer,{position:"bottom-right",stacked:true,autoClose:false,hideProgressBar:true,closeOnClick:false,icon:false,closeButton:nt,containerId:u,toastClassName:"novatx:!p-0 novatx:!bg-transparent novatx:!shadow-none novatx:!min-h-0",...m}),f.transactionsModal&&jsx(fa,{isOpen:d,setIsOpen:b=>{g(b),b||N(null);},selectedTxKey:S,customization:r?.transactionsInfoModal,adapter:t,connectedWalletAddress:a,connectedAdapterType:e,transactionsPool:n,pagination:c}),f.validationErrorToast&&jsx(ToastContainer,{containerId:dt,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"}),f.trackingTxModal&&jsx(qt,{initialTx:o,onClose:i,onOpenAllTransactions:()=>g(true),transactionsPool:n,customization:r?.trackingTxModal,executeTxAction:w,adapter:t,connectedWalletAddress:a})]})})}
|
|
2
|
+
export{pt as a,dt as b,wt as c,Ut as d,xt as e,_t as f,C as g,Ei as h,rt as i,j,at as k,ut as l,Xt as m,qt as n,Zt as o,Qt as p,ta as q,aa as r,xa as s,ma as t,ga as u,fa as v,Xr as w};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkDC5FYE4N_cjs=require('./chunk-DC5FYE4N.cjs');Object.defineProperty(exports,"HashLink",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.i}});Object.defineProperty(exports,"StatusAwareText",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.j}});Object.defineProperty(exports,"ToastTransaction",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.m}});Object.defineProperty(exports,"ToastValidationError",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.a}});Object.defineProperty(exports,"TrackingTxModal",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.n}});Object.defineProperty(exports,"TransactionDetails",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.s}});Object.defineProperty(exports,"TransactionHistoryItem",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.t}});Object.defineProperty(exports,"TransactionKey",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.k}});Object.defineProperty(exports,"TransactionStatusBadge",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.l}});Object.defineProperty(exports,"TransactionsHistory",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.u}});Object.defineProperty(exports,"TransactionsInfoModal",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.v}});Object.defineProperty(exports,"TxActionButton",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.w}});Object.defineProperty(exports,"TxErrorBlock",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.o}});Object.defineProperty(exports,"TxInfoBlock",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.p}});Object.defineProperty(exports,"TxProgressIndicator",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.q}});Object.defineProperty(exports,"TxStatusVisual",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.r}});Object.defineProperty(exports,"defaultLabels",{enumerable:true,get:function(){return chunkDC5FYE4N_cjs.e}});
|
package/dist/index.css
CHANGED
|
@@ -127,6 +127,9 @@
|
|
|
127
127
|
.novatx\:h-px {
|
|
128
128
|
height: 1px;
|
|
129
129
|
}
|
|
130
|
+
.novatx\:max-h-20 {
|
|
131
|
+
max-height: calc(var(--novatx-spacing) * 20);
|
|
132
|
+
}
|
|
130
133
|
.novatx\:max-h-24 {
|
|
131
134
|
max-height: calc(var(--novatx-spacing) * 24);
|
|
132
135
|
}
|
|
@@ -232,6 +235,9 @@
|
|
|
232
235
|
.novatx\:justify-end {
|
|
233
236
|
justify-content: flex-end;
|
|
234
237
|
}
|
|
238
|
+
.novatx\:gap-1 {
|
|
239
|
+
gap: calc(var(--novatx-spacing) * 1);
|
|
240
|
+
}
|
|
235
241
|
.novatx\:gap-1\.5 {
|
|
236
242
|
gap: calc(var(--novatx-spacing) * 1.5);
|
|
237
243
|
}
|
|
@@ -369,6 +375,12 @@
|
|
|
369
375
|
.novatx\:border-\[var\(--tuwa-error-icon\)\] {
|
|
370
376
|
border-color: var(--tuwa-error-icon);
|
|
371
377
|
}
|
|
378
|
+
.novatx\:border-\[var\(--tuwa-error-icon\)\]\/20 {
|
|
379
|
+
border-color: var(--tuwa-error-icon);
|
|
380
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
381
|
+
border-color: color-mix(in oklab, var(--tuwa-error-icon) 20%, transparent);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
372
384
|
.novatx\:border-\[var\(--tuwa-error-icon\)\]\/30 {
|
|
373
385
|
border-color: var(--tuwa-error-icon);
|
|
374
386
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -456,6 +468,12 @@
|
|
|
456
468
|
.novatx\:bg-\[var\(--tuwa-success-icon\)\] {
|
|
457
469
|
background-color: var(--tuwa-success-icon);
|
|
458
470
|
}
|
|
471
|
+
.novatx\:bg-\[var\(--tuwa-success-icon\)\]\/10 {
|
|
472
|
+
background-color: var(--tuwa-success-icon);
|
|
473
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
474
|
+
background-color: color-mix(in oklab, var(--tuwa-success-icon) 10%, transparent);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
459
477
|
.novatx\:bg-amber-500\/10 {
|
|
460
478
|
background-color: var(--novatx-color-amber-500);
|
|
461
479
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -619,6 +637,9 @@
|
|
|
619
637
|
--tw-tracking: var(--novatx-tracking-widest);
|
|
620
638
|
letter-spacing: var(--novatx-tracking-widest);
|
|
621
639
|
}
|
|
640
|
+
.novatx\:wrap-break-word {
|
|
641
|
+
overflow-wrap: break-word;
|
|
642
|
+
}
|
|
622
643
|
.novatx\:break-all {
|
|
623
644
|
word-break: break-all;
|
|
624
645
|
}
|
|
@@ -691,6 +712,9 @@
|
|
|
691
712
|
.novatx\:uppercase {
|
|
692
713
|
text-transform: uppercase;
|
|
693
714
|
}
|
|
715
|
+
.novatx\:opacity-60 {
|
|
716
|
+
opacity: 60%;
|
|
717
|
+
}
|
|
694
718
|
.novatx\:\!shadow-none {
|
|
695
719
|
--tw-shadow: 0 0 #0000 !important;
|
|
696
720
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
|
|
@@ -734,6 +758,11 @@
|
|
|
734
758
|
--tw-ease: var(--novatx-ease-in-out);
|
|
735
759
|
transition-timing-function: var(--novatx-ease-in-out);
|
|
736
760
|
}
|
|
761
|
+
.novatx\:select-none {
|
|
762
|
+
-webkit-user-select: none;
|
|
763
|
+
-moz-user-select: none;
|
|
764
|
+
user-select: none;
|
|
765
|
+
}
|
|
737
766
|
.novatx\:last\:border-b-0 {
|
|
738
767
|
&:last-child {
|
|
739
768
|
border-bottom-style: var(--tw-border-style);
|
|
@@ -761,6 +790,16 @@
|
|
|
761
790
|
}
|
|
762
791
|
}
|
|
763
792
|
}
|
|
793
|
+
.novatx\:hover\:bg-\[var\(--tuwa-error-icon\)\]\/10 {
|
|
794
|
+
&:hover {
|
|
795
|
+
@media (hover: hover) {
|
|
796
|
+
background-color: var(--tuwa-error-icon);
|
|
797
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
798
|
+
background-color: color-mix(in oklab, var(--tuwa-error-icon) 10%, transparent);
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
764
803
|
.novatx\:hover\:from-\[var\(--tuwa-button-gradient-from-hover\)\] {
|
|
765
804
|
&:hover {
|
|
766
805
|
@media (hover: hover) {
|
|
@@ -834,6 +873,26 @@
|
|
|
834
873
|
}
|
|
835
874
|
}
|
|
836
875
|
}
|
|
876
|
+
.novatx\:focus\:ring-\[length\:var\(--tuwa-ring-width\)\] {
|
|
877
|
+
&:focus {
|
|
878
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--tuwa-ring-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
879
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
.novatx\:focus\:ring-\[var\(--tuwa-error-text\)\]\/50 {
|
|
883
|
+
&:focus {
|
|
884
|
+
--tw-ring-color: var(--tuwa-error-text);
|
|
885
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
886
|
+
--tw-ring-color: color-mix(in oklab, var(--tuwa-error-text) 50%, transparent);
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
.novatx\:focus\:outline-none {
|
|
891
|
+
&:focus {
|
|
892
|
+
--tw-outline-style: none;
|
|
893
|
+
outline-style: none;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
837
896
|
.novatx\:active\:scale-95 {
|
|
838
897
|
&:active {
|
|
839
898
|
--tw-scale-x: 95%;
|
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,
|
|
1
|
+
import { N as NovaTransactionsLabels } from './TransactionsInfoModal-Cd6hZioh.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-Cd6hZioh.cjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { Transaction, TransactionPool } from '@tuwaio/pulsar-core';
|
|
5
5
|
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
@@ -8,37 +8,76 @@ import '@tuwaio/orbit-core';
|
|
|
8
8
|
import 'react-toastify';
|
|
9
9
|
import 'framer-motion';
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Props for the `TxActionButton` component.
|
|
13
|
+
*
|
|
14
|
+
* @template T The specific transaction type, extending the base `Transaction`.
|
|
15
|
+
*/
|
|
11
16
|
type TxActionButtonProps<T extends Transaction> = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> & {
|
|
17
|
+
/** The default idle-state content (rendered when no action is in progress). */
|
|
12
18
|
children: ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* The async action to execute when the button is clicked.
|
|
21
|
+
* Typically a wrapper around `executeTxAction` from the Pulsar store.
|
|
22
|
+
*
|
|
23
|
+
* If this function throws, the button transitions to the `'failed'` state **and**
|
|
24
|
+
* the pre-submission error toast is automatically shown when the button is
|
|
25
|
+
* rendered inside a `NovaTransactionsProvider`.
|
|
26
|
+
*/
|
|
13
27
|
action: () => Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Selector function that returns the key of the last transaction added to the pool.
|
|
30
|
+
* Used to track the result of the submitted transaction.
|
|
31
|
+
*/
|
|
14
32
|
getLastTxKey: () => string | undefined;
|
|
33
|
+
/** The live transaction pool from the Pulsar store. */
|
|
15
34
|
transactionsPool: TransactionPool<T>;
|
|
35
|
+
/** The currently connected wallet address. Changing this resets the button to idle. */
|
|
16
36
|
walletAddress?: string;
|
|
37
|
+
/** Custom content to display while the action is executing. */
|
|
17
38
|
loadingContent?: ReactNode;
|
|
39
|
+
/** Custom content to display after a successful transaction. */
|
|
18
40
|
succeedContent?: ReactNode;
|
|
41
|
+
/** Custom content to display when the action or transaction fails. */
|
|
19
42
|
failedContent?: ReactNode;
|
|
43
|
+
/** Custom content to display when the transaction is replaced. */
|
|
20
44
|
replacedContent?: ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* Duration in milliseconds before the button resets to idle after reaching
|
|
47
|
+
* a terminal state (`succeed`, `failed`, `replaced`).
|
|
48
|
+
* @defaultValue `2500`
|
|
49
|
+
*/
|
|
21
50
|
resetTimeout?: number;
|
|
22
51
|
/** Granular classNames for state-specific styling. Each overrides default styles for that state. */
|
|
23
52
|
classNames?: {
|
|
24
|
-
/** Base button classes (always applied) */
|
|
53
|
+
/** Base button classes (always applied). */
|
|
25
54
|
base?: string;
|
|
26
|
-
/** Classes for idle state (replaces default if provided) */
|
|
55
|
+
/** Classes for idle state (replaces default if provided). */
|
|
27
56
|
idle?: string;
|
|
28
|
-
/** Classes for loading state (replaces default if provided) */
|
|
57
|
+
/** Classes for loading state (replaces default if provided). */
|
|
29
58
|
loading?: string;
|
|
30
|
-
/** Classes for succeed state (replaces default if provided) */
|
|
59
|
+
/** Classes for succeed state (replaces default if provided). */
|
|
31
60
|
succeed?: string;
|
|
32
|
-
/** Classes for failed state (replaces default if provided) */
|
|
61
|
+
/** Classes for failed state (replaces default if provided). */
|
|
33
62
|
failed?: string;
|
|
34
|
-
/** Classes for replaced state (replaces default if provided) */
|
|
63
|
+
/** Classes for replaced state (replaces default if provided). */
|
|
35
64
|
replaced?: string;
|
|
36
|
-
/** Classes for the status icon */
|
|
65
|
+
/** Classes for the status icon. */
|
|
37
66
|
icon?: string;
|
|
38
|
-
/** Classes for the label text */
|
|
67
|
+
/** Classes for the label text. */
|
|
39
68
|
label?: string;
|
|
40
69
|
};
|
|
41
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* A stateful button that orchestrates the full transaction lifecycle:
|
|
73
|
+
* idle → loading → succeed / failed / replaced → idle (after `resetTimeout`).
|
|
74
|
+
*
|
|
75
|
+
* When rendered inside a `NovaTransactionsProvider`, any error thrown by `action()`
|
|
76
|
+
* before the transaction reaches the pool is automatically surfaced as a
|
|
77
|
+
* top-center validation error toast — no extra wiring required.
|
|
78
|
+
*
|
|
79
|
+
* @template T The specific transaction type, extending the base `Transaction`.
|
|
80
|
+
*/
|
|
42
81
|
declare function TxActionButton<T extends Transaction>({ children, action, getLastTxKey, transactionsPool, walletAddress, loadingContent, succeedContent, failedContent, replacedContent, resetTimeout, className, classNames, ...props }: TxActionButtonProps<T>): react_jsx_runtime.JSX.Element;
|
|
43
82
|
|
|
44
83
|
/**
|