@nexus-cross/dapp-ui 1.0.1-beta.3 → 1.0.1-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +4 -4
- package/dist/index.js +5 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import*as Se from"react";import*as Lo from"@radix-ui/react-popover";import{Drawer as pn}from"vaul";import{createContext as an,useContext as sn}from"react";var
|
|
1
|
+
import*as Se from"react";import*as Lo from"@radix-ui/react-popover";import{Drawer as pn}from"vaul";import{createContext as an,useContext as sn}from"react";var qt=an(null);function ft(){let e=sn(qt);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}import{useState as ln,useEffect as cn}from"react";function _e(e){let[t,r]=ln(!1);return cn(()=>{let o=window.matchMedia(e);r(o.matches);let n=c=>r(c.matches);return o.addEventListener("change",n),()=>o.removeEventListener("change",n)},[e]),t}function R(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",t==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}R(`[data-theme=dark]{--al-bg: var(--cck-surface-bg, #1e232e);--al-bg-hover: var(--cck-surface-default, #252b39);--al-text: var(--cck-texticon-primary, hsla(200, 19%, 94%, 1));--al-text-secondary: var(--cck-texticon-secondary, hsla(200, 10%, 70%, 1));--al-border: var(--cck-border-subtle, #3b4153);--al-shadow: 0 2px 8px -1px rgba(0, 0, 0, .15);--al-badge-bg: #123f3c;--al-badge-text: hsla(168, 85%, 47%, 1);--al-badge-new-text: #000;--al-drawer-overlay: rgba(0, 0, 0, .6)}[data-theme=light]{--al-bg: var(--cck-surface-bg, #fff);--al-bg-hover: var(--cck-surface-default, #f3f6f8);--al-text: var(--cck-texticon-primary, hsla(221, 21%, 15%, 1));--al-text-secondary: var(--cck-texticon-secondary, hsla(220, 10%, 40%, 1));--al-border: var(--cck-border-subtle, #ecf0f2);--al-shadow: 0 2px 8px -1px rgba(0, 0, 0, .15);--al-badge-bg: #cdf4ed;--al-badge-text: hsla(170, 82%, 32%, 1);--al-badge-new-text: #fff;--al-drawer-overlay: rgba(0, 0, 0, .4)}
|
|
2
2
|
`);R(`.al-trigger-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.al-trigger-btn[data-theme=dark]{color:#edf1f3}.al-trigger-btn[data-theme=light]{color:#1e232e}
|
|
3
3
|
`);R(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
|
|
4
4
|
`);R(`.al-popover-content{z-index:100001;border-radius:16px;background:var(--al-bg);border:1px solid var(--al-popover-border, var(--al-border));box-shadow:var(--al-popover-shadow, var(--al-shadow));animation:al-fade-in .15s ease-out;max-height:80vh;overflow-x:hidden;overflow-y:auto;padding:24px 4px;box-sizing:border-box}.al-popover-content .al-grid{grid-template-columns:repeat(4,100px);row-gap:24px;column-gap:0;padding:0;justify-content:center}.al-popover-content .al-grid-item{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:8px 0;width:100px;min-width:0;border-radius:10px}.al-popover-content .al-grid-item-left{flex-direction:column;align-items:center;gap:8px;width:100%;overflow:visible}.al-popover-content .al-grid-item-icon{width:54px;height:54px;border-radius:10.125px;overflow:hidden}.al-popover-content .al-grid-item-icon img{object-fit:cover}.al-popover-content .al-grid-item-label{font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:1;letter-spacing:0;text-align:center;color:var(--al-text);max-width:100%;white-space:normal;overflow-wrap:anywhere}.al-popover-content .al-grid-item-right,.al-popover-content .al-badge-new{display:none}.al-drawer-overlay{position:fixed;inset:0;z-index:100000;background:var(--al-drawer-overlay)}.al-drawer-content{position:fixed;top:0;right:0;bottom:0;z-index:100001;width:100vw;background:var(--al-bg);overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column;box-sizing:border-box}.al-drawer-body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;min-height:0}.al-drawer-content .al-grid{display:flex;flex-direction:column;grid-template-columns:none;max-width:100%;overflow:hidden;flex-shrink:0;gap:0;row-gap:0;column-gap:0;padding:16px}.al-drawer-content .al-grid-item{width:100%;max-width:100%;gap:8px;padding:16px 12px;border-radius:8px;overflow:hidden;background:transparent}.al-drawer-content .al-grid-item:hover,.al-drawer-content .al-grid-item[data-active=true]{background:var(--al-bg-hover)}.al-drawer-content .al-grid-item-left{gap:8px;flex:1 1 auto;min-width:0}.al-drawer-content .al-grid-item-icon{width:36px;height:36px;border-radius:6.75px;overflow:hidden}.al-drawer-content .al-grid-item-icon img{width:100%;height:100%;object-fit:cover;border-radius:6.75px}.al-drawer-content .al-grid-item-label{font-size:16px;line-height:1.5;letter-spacing:-.16px;font-weight:400}.al-drawer-content .al-grid-item[data-active=true] .al-grid-item-label{font-weight:500}.al-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;flex-shrink:0}.al-drawer-title{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.16px;color:var(--al-text);margin:0}.al-drawer-close{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--al-text);transition:opacity .15s ease}.al-drawer-close:hover{opacity:.7}.al-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px}.al-grid-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background-color .15s ease;color:var(--al-text);text-align:left;font-family:Inter,sans-serif;flex-shrink:0}.al-grid-item:hover,.al-grid-item[data-active=true]{background:var(--al-bg-hover)}.al-grid-item-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.al-grid-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.al-grid-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.al-grid-item-icon img{width:100%;height:100%;object-fit:contain}.al-grid-item-label{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:150%;letter-spacing:-.16px;color:var(--al-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-badge{display:flex;padding:1px 4px 2px;justify-content:center;align-items:center;gap:2px;border-radius:3px;background:var(--al-badge-bg);color:var(--al-badge-text);font-family:Pretendard,Inter,sans-serif;font-size:10px;font-weight:600;line-height:150%;letter-spacing:-.1px;white-space:nowrap;flex-shrink:0}.al-badge-new{display:flex;width:16px;height:16px;justify-content:center;align-items:center;aspect-ratio:1/1;border-radius:12px;background:#7346f3;color:var(--al-badge-new-text);font-family:Pretendard,Inter,sans-serif;font-size:9px;font-weight:700;flex-shrink:0}
|
|
5
|
-
`);R("");import{jsx as qt}from"react/jsx-runtime";function No({env:e="production",theme:t="dark",mobileBreakpoint:r=768,domain:o,children:n}){let c=_e(`(max-width: ${r}px)`),[i,s]=Se.useState(!1),a=Se.useCallback(()=>s(!1),[]),l=Se.useMemo(()=>({env:e,theme:t,isMobile:c,open:i,domain:o,close:a}),[e,t,c,i,o,a]);return qt(zt.Provider,{value:l,children:c?qt(pn.Root,{direction:"right",open:i,onOpenChange:s,noBodyStyles:!0,children:n},"drawer"):qt(Lo.Root,{open:i,onOpenChange:s,children:n},"popover")})}import*as To from"@radix-ui/react-popover";import{Drawer as mn}from"vaul";import{jsx as Z,jsxs as dn}from"react/jsx-runtime";function Io({size:e=18}){return dn("svg",{className:"al-trigger-icon",width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Z("rect",{width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"14",width:"4",height:"4",fill:"currentColor"}),Z("rect",{y:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"7",y:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"14",y:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{y:"14",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"7",y:"14",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"14",y:"14",width:"4",height:"4",fill:"currentColor"})]})}function Po(){return Z("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Z("path",{d:"M12 19L5 12M5 12L12 5M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ro(){return Z("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Z("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}import{jsx as ut}from"react/jsx-runtime";function Eo({asChild:e,children:t}){let{isMobile:r,theme:o}=ft(),n=t!=null,c=e??!0,i=n?t:ut("button",{type:"button",className:"al-trigger-btn","data-theme":o,children:ut(Io,{size:r?12:18})});return r?ut(mn.Trigger,{asChild:c,children:i}):ut(To.Trigger,{asChild:c,children:i})}import*as Le from"react";import*as wt from"@radix-ui/react-popover";import{Drawer as Oe}from"vaul";import{useQuery as fn}from"@tanstack/react-query";var Mo={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json",production:"https://contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json"};function gt(e="production"){return fn({queryKey:["global-menu",e],queryFn:async({signal:t})=>{let r=await fetch(Mo[e],{cache:"no-store",signal:t});if(!r.ok)throw new Error(`Failed to fetch global menu: ${r.status}`);return r.json()},staleTime:0,gcTime:0,refetchOnMount:!0})}function V(...e){return e.filter(Boolean).join(" ")}import{jsx as $,jsxs as Xe}from"react/jsx-runtime";function So({align:e="end",sideOffset:t=12,className:r}){let{env:o,theme:n,isMobile:c,domain:i,close:s}=ft(),{data:a}=gt(o),l=Le.useMemo(()=>(a?.items??[]).sort((u,C)=>u.order-C.order),[a]),d=8,m=Le.useRef(null),g=Le.useCallback(u=>{m.current={x:u.clientX,y:u.clientY}},[]),w=typeof window<"u"?window.location.pathname:"",b=Le.useCallback((u,C)=>{if(m.current){let N=u.clientX-m.current.x,k=u.clientY-m.current.y;if(m.current=null,Math.abs(N)>d||Math.abs(k)>d)return}let T=C.url[o]??C.url.production,E=_o(T,i);if(!E)try{let N=new URL(T).pathname;if(w===N||w.startsWith(N+"/")){s();return}}catch{}E?window.open(T,"_blank","noopener,noreferrer"):window.location.href=T,s()},[o,i,s,w]),f=$("div",{className:"al-grid","data-theme":n,children:l.map(u=>{let C=u.url[o]??u.url.production,T=_o(C,i),E=!1;if(!T)try{let N=new URL(C).pathname;E=w===N||w.startsWith(N+"/")}catch{E=!1}return Xe("button",{type:"button",className:"al-grid-item","data-active":E||void 0,onPointerDown:g,onClick:N=>b(N,u),children:[Xe("div",{className:"al-grid-item-left",children:[$("div",{className:"al-grid-item-icon",children:$("img",{src:u.iconUrl,alt:u.label,width:24,height:24,loading:"lazy"})}),$("span",{className:"al-grid-item-label",children:u.label}),u.isNew&&$("span",{className:"al-badge-new",children:"N"})]}),$("div",{className:"al-grid-item-right",children:u.badge&&$("span",{className:"al-badge",children:u.badge})})]},u.id)})});return c?Xe(Oe.Portal,{children:[$(Oe.Overlay,{className:"al-drawer-overlay"}),Xe(Oe.Content,{className:V("al-drawer-content",r),"data-theme":n,children:[Xe("div",{className:"al-drawer-header",children:[$(Oe.Close,{className:"al-drawer-close",children:$(Po,{})}),$(Oe.Title,{className:"al-drawer-title",children:"CROSS Services"}),$(Oe.Close,{className:"al-drawer-close",children:$(Ro,{})})]}),$("div",{className:"al-drawer-body",children:f})]})]}):$(wt.Portal,{children:$(wt.Content,{align:e,sideOffset:t,className:V("al-popover-content",r),"data-theme":n,children:f})})}function _o(e,t){try{let r=new URL(e).hostname;return typeof window>"u"?!0:r!==(t??window.location.hostname)}catch{return!1}}import*as K from"react";import*as Wr from"@radix-ui/react-popover";import{Drawer as Pi}from"vaul";import{createContext as un,useContext as gn}from"react";var jt=un(null);function ce(){let e=gn(jt);if(!e)throw new Error("WalletInfo compound components must be used within <WalletInfo>");return e}var Gt=(o=>(o.CROSSx="crossx",o.MetaMask="io.metamask",o.Binance="com.binance.wallet",o))(Gt||{}),ht={crossx:{name:"CROSSx",iconUrl:"https://contents.crosstoken.io/wallet/token/images/tCROSS.svg"},"io.metamask":{name:"MetaMask",iconUrl:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg"},"com.binance.wallet":{name:"Binance Wallet",iconUrl:"https://public.bnbstatic.com/static/images/common/favicon.ico"}};import*as qo from"@radix-ui/react-popover";import{Drawer as hn}from"vaul";import{jsx as O,jsxs as xt}from"react/jsx-runtime";function Oo({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M12.6667 4.66667V2.66667C12.6667 2.48986 12.5964 2.32029 12.4714 2.19526C12.3464 2.07024 12.1768 2 12 2H3.33333C2.97971 2 2.64057 2.14048 2.39052 2.39052C2.14048 2.64057 2 2.97971 2 3.33333C2 3.68696 2.14048 4.02609 2.39052 4.27614C2.64057 4.52619 2.97971 4.66667 3.33333 4.66667H13.3333C13.5101 4.66667 13.6797 4.7369 13.8047 4.86193C13.9298 4.98695 14 5.15652 14 5.33333V8M14 8H12C11.6464 8 11.3072 8.14048 11.0572 8.39052C10.8071 8.64057 10.6667 8.97971 10.6667 9.33333C10.6667 9.68696 10.8071 10.0261 11.0572 10.2761C11.3072 10.5262 11.6464 10.6667 12 10.6667H14C14.1768 10.6667 14.3464 10.5964 14.4714 10.4714C14.5964 10.3464 14.6667 10.1768 14.6667 10V8.66667C14.6667 8.48986 14.5964 8.32029 14.4714 8.19526C14.3464 8.07024 14.1768 8 14 8Z",stroke:"currentColor",strokeWidth:1.33333,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M2 3.33325V12.6666C2 13.0202 2.14048 13.3593 2.39052 13.6094C2.64057 13.8594 2.97971 13.9999 3.33333 13.9999H13.3333C13.5101 13.9999 13.6797 13.9297 13.8047 13.8047C13.9298 13.6796 14 13.5101 14 13.3333V10.6666",stroke:"currentColor",strokeWidth:1.33333,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Zt({size:e=16,className:t}){return O("svg",{width:e,height:e,viewBox:"4 4 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M9.40284 17.0647H4.85156V4.84656H17.0697V9.39783H15.4407V6.47565H6.48066V15.4356H9.40284V17.0647ZM21.5192 12.5644H12.5592V21.5244H21.5192V12.5644ZM23.1483 10.9353V23.1535H10.9301V10.9353H23.1483Z",fill:"currentColor"})})}function Kt({size:e=16,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M11.6667 3.5L5.25 9.91667L2.33334 7",stroke:"currentColor",strokeWidth:1.16667,strokeLinecap:"round",strokeLinejoin:"round"})})}function Yt({size:e=24,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M18 6L6 18M6 6l12 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Wo({size:e=20,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M7.5 17.5H4.167A1.667 1.667 0 012.5 15.833V4.167A1.667 1.667 0 014.167 2.5H7.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M13.333 14.167L17.5 10l-4.167-4.167M17.5 10H7.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Do({size:e=20,className:t}){return O("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 20 20",fill:"none",className:t,children:O("path",{d:"M7.91305 10.8327C8.60341 10.8327 9.16305 11.3924 9.16305 12.0827V16.2458C9.16305 16.9361 8.60341 17.4958 7.91305 17.4958H3.75C3.05964 17.4958 2.5 16.9361 2.5 16.2458L2.5 12.0827C2.5 11.3924 3.05964 10.8327 3.75 10.8327H7.91305ZM14.1685 17.4958H12.5027V15.83H14.1685V17.4958ZM17.5 17.4958H15.8342V15.83H17.5V17.4958ZM4.16576 12.4985V15.83H7.49729V12.4985H4.16576ZM12.5027 15.83H10.8369V14.1642H12.5027V15.83ZM15.8342 15.83H14.1685V14.1642H15.8342V15.83ZM14.1685 14.1642H12.5027V12.4985H14.1685V14.1642ZM17.5 14.1642H15.8342V12.4985H17.5V14.1642ZM12.5027 12.4985H10.8369V10.8327H12.5027V12.4985ZM15.8342 12.4985H14.1685V10.8327H15.8342V12.4985ZM7.91305 2.50391C8.60341 2.50391 9.16305 3.06355 9.16305 3.75391V7.91696C9.16305 8.60731 8.60341 9.16696 7.91305 9.16696H3.75C3.05964 9.16696 2.5 8.60731 2.5 7.91696L2.5 3.75391C2.5 3.06355 3.05964 2.50391 3.75 2.50391L7.91305 2.50391ZM16.2419 2.50391C16.9322 2.50391 17.4919 3.06355 17.4919 3.75391V7.91696C17.4919 8.60731 16.9322 9.16696 16.2419 9.16696H12.0788C11.3885 9.16696 10.8288 8.60731 10.8288 7.91696V3.75391C10.8288 3.06355 11.3885 2.50391 12.0788 2.50391L16.2419 2.50391ZM4.16576 4.16967L4.16576 7.50119L7.49729 7.50119L7.49729 4.16967L4.16576 4.16967ZM12.4946 4.16967V7.50119H15.8261V4.16967H12.4946Z",fill:"currentColor",fillOpacity:1})})}function Ao({size:e=20,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M12.5 15L7.5 10L12.5 5",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function Fo({size:e=20,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M8 5L13 10L8 15",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function Bo({size:e=20,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M5 8L10 13L15 8",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Vo({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M1.667 10S4.167 4.167 10 4.167 18.333 10 18.333 10 15.833 15.833 10 15.833 1.667 10 1.667 10z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ho({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M14.95 14.95A8.283 8.283 0 0110 16.667c-5.833 0-8.333-5.833-8.333-5.833a15.238 15.238 0 014.183-4.884m3.267-1.55A7.55 7.55 0 0110 4.167c5.833 0 8.333 5.833 8.333 5.833a15.28 15.28 0 01-1.783 2.633M11.767 11.767a2.5 2.5 0 11-3.534-3.534",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M1.667 1.667l16.666 16.666",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Uo({size:e=42,className:t}){return O("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 42 42",fill:"none",className:t,children:O("path",{d:"M20.7314 2C31.0766 2 39.4628 10.3863 39.4629 20.7314C39.4629 31.0766 31.0766 39.4629 20.7314 39.4629C10.3863 39.4628 2 31.0766 2 20.7314C2.00007 10.3864 10.3864 2.00007 20.7314 2ZM20.5938 30.0586L21.1084 30.5732L21.623 30.0586V25.2471H21.1084C20.9344 25.2471 20.7626 25.235 20.5938 25.2158V30.0586ZM16.4834 24.6611L14.6514 26.4922L15.3799 27.2207L17.1797 25.4209L18.3193 24.2803C18.0487 24.0673 17.8025 23.8251 17.5869 23.5566L16.4834 24.6611ZM26.8691 27.2207L27.5967 26.4922L26.3516 25.2471H24.8955L26.8691 27.2207ZM11.2666 20.7314L11.7822 21.2471H16.624C16.6048 21.0781 16.5938 20.9065 16.5938 20.7324C16.5938 20.5585 16.6049 20.3866 16.624 20.2178H11.7812L11.2666 20.7314ZM20.5938 11.4053V16.2471C20.7626 16.2279 20.9345 16.2178 21.1084 16.2178H21.623V11.4053L21.1084 10.8906L20.5938 11.4053ZM14.6514 15.0029L16.4521 16.8027L17.5732 17.9238C17.7874 17.6546 18.0315 17.4104 18.3008 17.1963L15.3799 14.2754L14.6514 15.0029ZM25.0371 16.1074L24.9268 16.2178H26.3818L27.5957 15.0029L26.8682 14.2754L25.0371 16.1074Z",fill:"#019D92",stroke:"white",strokeWidth:4})})}import Ne from"bignumber.js";function wn(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===48;)t--;return t>0&&e.charCodeAt(t-1)===46&&t--,e.slice(0,t)}function bt(e,t){if(!e||e==="0")return"0.00";let r=new Ne(e).shiftedBy(-t),o=r.isGreaterThanOrEqualTo(1)?2:4;return r.toFormat(o,Ne.ROUND_DOWN)}function We(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}function Qt(e){let t=typeof e=="string"?parseFloat(e):e;if(Number.isNaN(t)||t===0)return"$0.00";let r=t>=1?2:4,o=Math.pow(10,r);return`$${(Math.floor(t*o)/o).toLocaleString("en-US",{minimumFractionDigits:r,maximumFractionDigits:r})}`}function $o(e,t,r){let n=new Ne(e).shiftedBy(-t).multipliedBy(new Ne(r));return n.isZero()||n.isNaN()?"$0.00":`$${(n.integerValue(Ne.ROUND_DOWN).isGreaterThanOrEqualTo(1)?n.decimalPlaces(2,Ne.ROUND_DOWN):n.decimalPlaces(4,Ne.ROUND_DOWN)).toFormat()}`}function zo(e){if(e===""||e===null||e===void 0)return{displayValue:"0",isLowerBound:!1};let t=typeof e=="number"?e.toString():e;if(t==="0"||t==="0.0")return{displayValue:"0",isLowerBound:!1};let r=t;if(r.includes("e")||r.includes("E")){let i=Number(r);if(!Number.isFinite(i)||i===0)return{displayValue:"0",isLowerBound:!1};r=wn(i.toFixed(18))}let[o="0",n=""]=r.split(".");if(Number(o)>=1){let i=n.slice(0,2).padEnd(2,"0");return{displayValue:`${Number(o).toLocaleString("en-US")}.${i}`,isLowerBound:!1}}return n.length<4?{displayValue:`${o}.${n}`,isLowerBound:!1}:n.slice(0,4)==="0000"?{displayValue:"0.0001",isLowerBound:!0}:{displayValue:`0.${n.slice(0,4)}`,isLowerBound:!1}}import{jsx as yt,jsxs as xn}from"react/jsx-runtime";function jo({asChild:e,className:t,children:r}){let{isMobile:o,theme:n,walletAddress:c}=ce(),i=r!=null,s=e??!0,a=i?r:xn("button",{type:"button",className:V("wi-trigger-btn",t),"data-theme":n,"data-mobile":o||void 0,children:[yt(Oo,{size:o?14:16}),yt("span",{className:"wi-trigger-address",children:We(c)})]});return o?yt(hn.Trigger,{asChild:s,children:a}):yt(qo.Trigger,{asChild:s,children:a})}import*as A from"react";import*as Rt from"@radix-ui/react-popover";import{Drawer as Pt}from"vaul";import et from"bignumber.js";import{useQueries as yn}from"@tanstack/react-query";import{useMemo as vn}from"react";var ee={dev:"https://stg-wallet-server.crosstoken.io/api",stage:"https://stg-wallet-server.crosstoken.io/api",production:"https://wallet-server.crosstoken.io/api"},X={dev:{cross:612044,bsc:97},stage:{cross:612044,bsc:97},production:{cross:612055,bsc:56}};var Xt={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},Go={cross:"https://contents.crosstoken.io/wallet/token/images/CROSS.svg",bsc:"https://contents.crosstoken.io/wallet/token/images/BSC.svg"};function Jt(e,t){let r=X[e];if(t===r.cross)return Go.cross;if(t===r.bsc)return Go.bsc}var bn={dev:"https://dev-portrait.crosstoken.io",stage:"https://dev-portrait.crosstoken.io",production:"https://portrait.crosstoken.io"};function Zo(e,t,r={}){if(!t||!t.startsWith("0x"))return;let{size:o=120,bg:n,format:c="png"}=r,i=bn[e],s=n?`&bg=${n}`:"";return`${i}/portrait/evm/${t}.${c}?size=${o}${s}`}var eo="user-balance";async function kn(e,t,r,o){let n=new URLSearchParams({networkId:`eip155:${t}`,account:r}),c=await fetch(`${e}/v1/public/token/balance?${n}`,{cache:"no-store",signal:o});if(!c.ok)throw new Error(`Failed to fetch token balance: ${c.status}`);let i=await c.json();if(i.code!==200)throw new Error(`Token balance API error: ${i.code}`);return i.data}function De(e,t,r=!0){let o=ee[e],n=X[e],c=[n.cross,n.bsc],i=yn({queries:c.map(d=>({queryKey:[eo,e,t,d],queryFn:({signal:m})=>kn(o,d,t,m),enabled:!!t&&r,staleTime:0,refetchInterval:r?5e3:!1}))}),s=i.some(d=>d.isLoading),a=i.some(d=>d.isError);return{tokens:vn(()=>{let d=[];for(let m of i)m.data&&d.push(...m.data);return d},[i]),isLoading:s,isError:a}}import{useQuery as Cn,useQueries as Ln}from"@tanstack/react-query";import{useMemo as Nn}from"react";var In="forge-holdings",Pn="forge-token-image";async function Rn(e,t,r){let o=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:r});if(!o.ok)throw new Error(`Failed to fetch forge holdings: ${o.status}`);let n=await o.json();if(!n.success)throw new Error("Forge holdings API error");return n.data.items}async function Tn(e,t,r){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:r});if(!o.ok)return{address:t,image_url:""};let n=await o.json();return n.success?{address:t,image_url:n.data.token.image_url}:{address:t,image_url:""}}function Ko(e,t,r=!0){let o=Xt[e],{data:n,...c}=Cn({queryKey:[In,e,t],queryFn:({signal:i})=>Rn(o,t,i),enabled:!!t&&r,staleTime:0,refetchInterval:r?5e3:!1});return{holdings:n??[],...c}}function Yo(e,t,r=!0){let o=Xt[e],n=Ln({queries:t.map(i=>({queryKey:[Pn,e,i],queryFn:({signal:s})=>Tn(o,i,s),enabled:r,staleTime:1/0}))});return{imageMap:Nn(()=>{let i=new Map;for(let s of n)s.data&&i.set(s.data.address,s.data.image_url);return i},[n])}}import{useQuery as En}from"@tanstack/react-query";import{useMemo as Mn}from"react";var to="token-stats";function Ie(e,t){return`${e}:${t.toLowerCase()}`}function Ae(e,t=!0){let r=ee[e],{data:o,...n}=En({queryKey:[to,e],queryFn:async({signal:i})=>{let s=await fetch(`${r}/v1/public/token/stats`,{cache:"no-store",signal:i});if(!s.ok)throw new Error(`Failed to fetch token stats: ${s.status}`);let a=await s.json();if(a.code!==200)throw new Error(`Token stats API error: ${a.code}`);return a},enabled:t,staleTime:3e4});return{statsMap:Mn(()=>{let i=new Map;if(!o?.data)return i;for(let s of o.data){let a=Ie(s.chain_id,s.address);i.set(a,s)}return i},[o]),...n}}import{useQuery as _n}from"@tanstack/react-query";import{useMemo as Sn}from"react";var On="token-info";function oo(e,t){return`${t.toLowerCase()}_${e}`}function Qo(e,t=!0){let r=ee[e],{data:o,...n}=_n({queryKey:[On,e],queryFn:async({signal:i})=>{let s=await fetch(`${r}/v1/public/token/info`,{cache:"no-store",signal:i});if(!s.ok)throw new Error(`Failed to fetch token info: ${s.status}`);let a=await s.json();if(a.code!==200)throw new Error(`Token info API error: ${a.code}`);return a},enabled:t,staleTime:1/0});return{categoryMap:Sn(()=>{let i=new Map;if(!o?.data)return i;for(let s of o.data){let a=oo(s.chain_id,s.address);i.set(a,s.category)}return i},[o]),...n}}import{useMemo as Wn}from"react";import ro from"bignumber.js";function Xo(e,t,r){let{tokens:o,isLoading:n}=De(e,t,r),{statsMap:c}=Ae(e,r);return Wn(()=>{let i=new ro(0);for(let d of o){let m=c.get(Ie(d.chainId,d.address));if(!m)continue;let w=new ro(d.quantity.numeric).shiftedBy(-d.quantity.decimals).multipliedBy(new ro(m.price));w.isNaN()||(i=i.plus(w))}let s=i.toFixed(),{displayValue:a,isLowerBound:l}=zo(s);return{totalUsd:s,displayValue:a,isLowerBound:l,isLoading:n}},[o,c,n])}import{QRCodeSVG as Ci}from"qrcode.react";function te(e,t,r,o){if(!o||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let n=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null,c=s=>{if(s===null){n?.close();return}let a=s??t;if(n)try{n.location.href=a}catch{n.close(),window.open(a,"_blank","noopener,noreferrer")}else window.open(a,"_blank","noopener,noreferrer")},i;try{i=o(t,r)}catch(s){console.error("[dapp-ui] onOutlink threw:",s),n?.close();return}i&&typeof i.then=="function"?i.then(c,s=>{console.error("[dapp-ui] onOutlink rejected:",s),n?.close()}):c(i)}import*as Re from"react";import{Drawer as vi}from"vaul";import{createContext as Dn,useContext as An}from"react";var Je=Dn(null);function z(){let e=An(Je);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}import{Drawer as Fn}from"vaul";import{jsx as Jo}from"react/jsx-runtime";function er({asChild:e,children:t}){let{walletAddress:r}=z(),o=t!=null,n=e??!0,c=o?t:Jo("button",{type:"button",children:We(r)});return Jo(Fn.Trigger,{asChild:n,children:c})}import{Drawer as It}from"vaul";import*as J from"react";import{useQueryClient as xi}from"@tanstack/react-query";import{useMemo as zn}from"react";import no from"bignumber.js";import{useQuery as Bn}from"@tanstack/react-query";import{useMemo as rr}from"react";var vt={dev:"https://stg-cross-game-reward-api.crosstoken.io/api",stage:"https://stg-cross-game-reward-api.crosstoken.io/api",production:"https://cross-game-reward-api.crosstoken.io/api"},tr={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},kt={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},pe={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},or={dev:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},stage:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},production:{cross:"https://dex-api.crosstoken.io/dex",crossd:"https://crossd-dex-api.crosstoken.io/dex",forge:"https://forge-dex-api.crosstoken.io/dex"}};var Vn="wp:reward-pools";function Ct(e,t=!0){let r=vt[e],{data:o,...n}=Bn({queryKey:[Vn,e],queryFn:async({signal:s})=>{let a=await fetch(`${r}/v1/pools`,{cache:"no-store",signal:s});if(!a.ok)throw new Error(`Failed to fetch pools: ${a.status}`);let l=await a.json();if(l.code!==200)throw new Error(`Pools API error: ${l.code}`);return l},enabled:t,staleTime:0}),c=rr(()=>o?.data.pools.filter(s=>s.pool_type==="CrossPool")??[],[o]),i=rr(()=>o?.data.pools.filter(s=>s.pool_type==="GamePool")??[],[o]);return{crossPools:c,gamePools:i,allPools:o?.data.pools??[],...n}}import{useQuery as Hn}from"@tanstack/react-query";import{useMemo as Un}from"react";var $n="wp:user-deposits";function Lt(e,t,r=!0){let o=vt[e],n=r&&!!t,{data:c,...i}=Hn({queryKey:[$n,e,t],queryFn:async({signal:a})=>{let l=await fetch(`${o}/v1/users/${t}/deposits`,{cache:"no-store",signal:a});if(!l.ok)throw new Error(`Deposits fetch failed: ${l.status}`);let d=await l.json();if(d.code!==200)throw new Error(`Deposits API error: ${d.code}`);return d},enabled:n,staleTime:0});return{depositMap:Un(()=>{let a=new Map;if(!c?.data.user_deposits)return a;for(let l of c.data.user_deposits)a.set(l.pool_address.toLowerCase(),l);return a},[c]),deposits:c?.data.user_deposits??[],...i}}import{useQuery as nr}from"@tanstack/react-query";import{useMemo as ir}from"react";function oe(e,t,r,o=!0){let n=or[e][t],c=o&&!!r,{data:i,...s}=nr({queryKey:["wp:dex-pairs",e,t],queryFn:async({signal:b})=>{let f=await fetch(`${n}/pair-info`,{cache:"no-store",signal:b});if(!f.ok)throw new Error(`pair-info fetch failed: ${f.status}`);let u=await f.json();if(u.code!==200)throw new Error(`pair-info API error: ${u.code}`);return u},enabled:o,staleTime:0}),a=i?.data??[],l=ir(()=>{let b=new Map;for(let f of a)b.set(f.pair_address.toLowerCase(),f);return b},[a]),{data:d,...m}=nr({queryKey:["wp:dex-orders",e,t,r],queryFn:async({signal:b})=>{let f=Math.floor(Date.now()/1e3),u=new URLSearchParams({owner:r,size:"200",start_date:"0",end_date:String(f)}),C=await fetch(`${n}/open-order?${u}`,{cache:"no-store",signal:b});if(!C.ok)throw new Error(`open-order fetch failed: ${C.status}`);let T=await C.json();if(T.code!==200)throw new Error(`open-order API error: ${T.code}`);return T.data?.data??[]},enabled:c,staleTime:0}),g=d??[],w=ir(()=>{let b=new Map;for(let f of g){let u=f.pair.toLowerCase();b.has(u)||b.set(u,{buys:[],sells:[]});let C=b.get(u);f.order_side===1?C.buys.push(f):C.sells.push(f)}return b},[g]);return{allPairs:a,pairMap:l,orders:g,ordersByPair:w,isEmpty:g.length===0,isLoading:s.isLoading||m.isLoading}}var qn=["var(--wp-blue)","var(--wp-purple)","var(--wp-red)","var(--wp-orange)"],ar="var(--wp-green)",sr=4;function lr(e,t,r=!0){let o=r&&!!t,{allPools:n}=Ct(e,o),{depositMap:c}=Lt(e,t,o),{allPairs:i,pairMap:s,ordersByPair:a}=oe(e,"cross",t,o),{allPairs:l,pairMap:d,ordersByPair:m}=oe(e,"crossd",t,o),{allPairs:g,pairMap:w,ordersByPair:b}=oe(e,"forge",t,o);return zn(()=>{let f=new Map,u=new Map,C=(y,v)=>{!Number.isFinite(v)||v<=0||u.set(y,(u.get(y)??0)+v)};for(let y of n){let v=Number(y.deposit_token.price);v>0&&f.set(y.deposit_token.symbol,v);for(let S of y.reward_tokens){let I=Number(S.price);I>0&&f.set(S.symbol,I)}}for(let y of[...i,...l,...g]){let v=f.get(y.quote_symbol),S=Number(y.billboard?.price);v&&S>0&&!f.has(y.base_symbol)&&f.set(y.base_symbol,S*v)}for(let y of n){let v=c.get(y.pool_address.toLowerCase());if(!v)continue;let S=new no(v.deposited_amount).shiftedBy(-y.deposit_token.decimals).toNumber();if(C(y.deposit_token.symbol,S),y.reward_tokens.length>0){let I=y.reward_tokens[0],F=new no(v.claimable_reward).shiftedBy(-I.decimals).toNumber();C(I.symbol,F)}}let T=[{pairMap:s,ordersByPair:a},{pairMap:d,ordersByPair:m},{pairMap:w,ordersByPair:b}];for(let{pairMap:y,ordersByPair:v}of T)for(let[S,I]of v){let F=y.get(S);if(F){for(let j of I.buys){let ne=Number(j.amount)-Number(j.filled);C(F.quote_symbol,ne*Number(j.price))}for(let j of I.sells){let ne=Number(j.amount)-Number(j.filled);C(F.base_symbol,ne)}}}let E=[],N=0;for(let[y,v]of u){let S=f.get(y)??0,I=v*S;I>0&&(E.push({symbol:y,usdValue:I}),N+=I)}E.sort((y,v)=>v.usdValue-y.usdValue);let k=[];if(N>0){let y=E.slice(0,sr),v=E.slice(sr);for(let I=0;I<y.length;I++)k.push({symbol:y[I].symbol,usdValue:y[I].usdValue,percentage:Math.round(y[I].usdValue/N*100),color:qn[I]??ar});if(v.length>0){let I=v.reduce((F,j)=>F+j.usdValue,0);k.push({symbol:"Others",usdValue:I,percentage:Math.round(I/N*100),color:ar})}let S=k.reduce((I,F)=>I+F.percentage,0);S!==100&&k.length>0&&(k[0].percentage+=100-S)}return{totalUsd:N,formattedTotal:N>0?`$${new no(N).toFormat(2)}`:"$0.00",segments:k}},[n,c,i,s,a,l,d,m,g,w,b])}import{jsx as Fe,jsxs as jn}from"react/jsx-runtime";function cr({size:e=22,className:t}){return Fe("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:Fe("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function pr({size:e=22,className:t}){return jn("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[Fe("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),Fe("path",{d:"M16.17 13.75a7.333 7.333 0 11-1.54-7.59L18.333 9.167",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"})]})}function dr({size:e=12,className:t}){return Fe("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:Fe("path",{d:"M6 11A5 5 0 106 1a5 5 0 000 10zM6 8V6M6 4h.005",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})})}import{useQuery as Gn}from"@tanstack/react-query";import{useMemo as Zn}from"react";var Kn="wp:token-info";function de(e,t=!0){let r=ee[e],o=X[e].cross,{data:n,...c}=Gn({queryKey:[Kn,e],queryFn:async({signal:l})=>{let d=await fetch(`${r}/v1/public/token/info`,{cache:"no-store",signal:l});if(!d.ok)throw new Error(`Failed to fetch token info: ${d.status}`);let m=await d.json();if(m.code!==200)throw new Error(`Token info API error: ${m.code}`);return m},enabled:t,staleTime:300*1e3}),{byChainAddr:i,byChainSym:s}=Zn(()=>{let l=new Map,d=new Map;if(!n?.data)return{byChainAddr:l,byChainSym:d};for(let m of n.data){let g=m.address.toLowerCase();l.set(`${m.chain_id}:${g}`,m),l.set(g,m);let w=m.symbol.replace(/^t/,"").toUpperCase(),b=`${m.chain_id}:${w}`;d.has(b)||d.set(b,m),d.has(w)||d.set(w,m)}return{byChainAddr:l,byChainSym:d}},[n]);return{getTokenImage:(l,d)=>{let m=l.toLowerCase(),g=i.get(`${o}:${m}`);if(g?.image)return g.image;let w=i.get(m);if(w?.image)return w.image;if(d){let b=d.replace(/^t/,"").toUpperCase(),f=s.get(`${o}:${b}`);if(f?.image)return f.image;let u=s.get(b);if(u?.image)return u.image}return""},...c}}import{jsx as Nt,jsxs as mr}from"react/jsx-runtime";function re({title:e,icon:t,iconFit:r="cover",isEmpty:o,children:n}){return mr("div",{className:"wp-svc-card",children:[mr("div",{className:"wp-svc-card-head",children:[Nt("img",{className:"wp-svc-card-icon",src:t,alt:"",style:{objectFit:r}}),Nt("span",{className:"wp-svc-card-title",children:e})]}),o?Nt("div",{className:"wp-svc-empty",children:"No assets yet"}):Nt("div",{className:"wp-svc-items",children:n})]})}import io from"bignumber.js";import{jsx as ae,jsxs as Pe}from"react/jsx-runtime";var Yn="CROSS Rewards",Qn="https://contents.crosstoken.io/frontend/common/app-launcher/icons/award.svg";function fr(e,t){let r=new io(e).shiftedBy(-t);return r.isZero()?"0":r.isGreaterThanOrEqualTo(1)?r.toFormat(2,io.ROUND_DOWN):r.toFormat(4,io.ROUND_DOWN)}function ur(){let{env:e,walletAddress:t,onOutlink:r}=z(),o=!!t,{allPools:n}=Ct(e,o),{depositMap:c}=Lt(e,t,o),{getTokenImage:i}=de(e,o),s=a=>`${tr[e]}/rewards/${a.pool_address}?action=withdraw`;return ae(re,{title:Yn,icon:Qn,isEmpty:n.length===0,children:n.map(a=>{let l=c.get(a.pool_address.toLowerCase()),d=l?.deposited_amount??"0",m=s(a);return Pe("a",{className:"wp-item","data-side":"reward",href:m,target:"_blank",rel:"noopener noreferrer",onClick:g=>te(g,m,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:a,userDeposit:l}},r),children:[Pe("div",{className:"wp-item-body",children:[Pe("div",{className:"wp-item-field",children:[ae("span",{className:"wp-item-label",children:"Deposited"}),Pe("div",{className:"wp-svc-token",children:[i(a.deposit_token.address,a.deposit_token.symbol)&&ae("img",{className:"wp-svc-token-icon",src:i(a.deposit_token.address,a.deposit_token.symbol),alt:""}),ae("span",{children:fr(d,a.deposit_token.decimals)})]})]}),Pe("div",{className:"wp-item-field",children:[ae("span",{className:"wp-item-label",children:"Rewards"}),a.reward_tokens.map(g=>{let w=i(g.address,g.symbol);return Pe("div",{className:"wp-svc-token",children:[w&&ae("img",{className:"wp-svc-token-icon",src:w,alt:""}),ae("span",{children:l?fr(l.claimable_reward,g.decimals):"0"})]},g.address)})]})]}),Pe("div",{className:"wp-item-badges",children:[ae("span",{className:"wp-badge wp-badge--mint",children:"Claim"}),ae("span",{className:"wp-badge wp-badge--muted",children:"Withdraw"})]})]},a.pool_address)})})}import wr from"bignumber.js";import{Fragment as Xn,jsx as U,jsxs as Y}from"react/jsx-runtime";function ao(e){let t=new wr(e);if(t.isNaN())return e;let r=t.decimalPlaces()??0;return t.toFormat(r)}function gr(e){let t=new wr(e.amount).minus(e.filled);return ao(t.toString())}function Be({market:e,pairMap:t,ordersByPair:r,getDexUrl:o,getTokenImage:n}){let{onOutlink:c}=z(),i=[];for(let[s,a]of r){let l=t.get(s),d=l?n(l.base_address,l.base_symbol):"",m=l?n(l.quote_address,l.quote_symbol):"",g=o(s);for(let w of a.buys)i.push(Y("a",{className:"wp-item","data-side":"buy",href:g,target:"_blank",rel:"noopener noreferrer",onClick:b=>te(b,g,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"buy",order:w,pair:l}},c),children:[Y("div",{className:"wp-item-body",children:[Y("div",{className:"wp-item-field",children:[U("span",{className:"wp-item-label wp-item-label--buy",children:"Buy"}),Y("div",{className:"wp-svc-token",children:[d&&U("img",{className:"wp-svc-token-icon",src:d,alt:""}),U("span",{children:gr(w)})]})]}),Y("div",{className:"wp-item-field",children:[U("span",{className:"wp-item-label",children:"Price"}),Y("div",{className:"wp-svc-token",children:[m&&U("img",{className:"wp-svc-token-icon",src:m,alt:""}),U("span",{children:ao(w.price)})]})]})]}),U("div",{className:"wp-item-badges",children:U("span",{className:"wp-badge wp-badge--mint",children:"Claim"})})]},`buy-${w.order_id}`));for(let w of a.sells)i.push(Y("a",{className:"wp-item","data-side":"sell",href:g,target:"_blank",rel:"noopener noreferrer",onClick:b=>te(b,g,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"sell",order:w,pair:l}},c),children:[Y("div",{className:"wp-item-body",children:[Y("div",{className:"wp-item-field",children:[U("span",{className:"wp-item-label wp-item-label--sell",children:"Sell"}),Y("div",{className:"wp-svc-token",children:[d&&U("img",{className:"wp-svc-token-icon",src:d,alt:""}),U("span",{children:gr(w)})]})]}),Y("div",{className:"wp-item-field",children:[U("span",{className:"wp-item-label",children:"Price"}),Y("div",{className:"wp-svc-token",children:[m&&U("img",{className:"wp-svc-token-icon",src:m,alt:""}),U("span",{children:ao(w.price)})]})]})]}),U("div",{className:"wp-item-badges",children:U("span",{className:"wp-badge wp-badge--red",children:"Cancel"})})]},`sell-${w.order_id}`))}return U(Xn,{children:i})}import{jsx as hr}from"react/jsx-runtime";var Jn="Gametoken - CROSS",ei="https://contents.crosstoken.io/frontend/common/app-launcher/icons/dex.svg";function xr(){let{env:e,walletAddress:t}=z(),r=!!t,{pairMap:o,ordersByPair:n,isEmpty:c}=oe(e,"cross",t,r),{getTokenImage:i}=de(e,r);return hr(re,{title:Jn,icon:ei,isEmpty:c,children:hr(Be,{market:"cross",pairMap:o,ordersByPair:n,getDexUrl:a=>{let l=o.get(a.toLowerCase());return`${pe[e]}/gametoken/cross/${l?.base_symbol??""}`},getTokenImage:i})})}import{jsx as br}from"react/jsx-runtime";var ti="Gametoken - CROSSD",oi="https://contents.crosstoken.io/frontend/common/app-launcher/icons/dex.svg";function yr(){let{env:e,walletAddress:t}=z(),r=!!t,{pairMap:o,ordersByPair:n,isEmpty:c}=oe(e,"crossd",t,r),{getTokenImage:i}=de(e,r);return br(re,{title:ti,icon:oi,isEmpty:c,children:br(Be,{market:"crossd",pairMap:o,ordersByPair:n,getDexUrl:a=>{let l=o.get(a.toLowerCase());return`${pe[e]}/gametoken/crossd/${l?.base_symbol??""}`},getTokenImage:i})})}import{jsx as vr}from"react/jsx-runtime";var ri="Gametoken - Forge",ni="https://contents.crosstoken.io/frontend/common/app-launcher/icons/dex.svg";function kr(){let{env:e,walletAddress:t}=z(),r=!!t,{pairMap:o,ordersByPair:n,isEmpty:c}=oe(e,"forge",t,r),{getTokenImage:i}=de(e,r);return vr(re,{title:ri,icon:ni,isEmpty:c,children:vr(Be,{market:"forge",pairMap:o,ordersByPair:n,getDexUrl:a=>{let l=o.get(a.toLowerCase());return`${pe[e]}/gametoken/forge/${l?.base_symbol??""}`},getTokenImage:i})})}import so from"bignumber.js";import{useMemo as di}from"react";import{useQuery as ii}from"@tanstack/react-query";var ai="wp:forge-pools";function Cr(e,t,r=!0){let o=kt[e],n=r&&!!t,{data:c,...i}=ii({queryKey:[ai,e,t],queryFn:async()=>{let a=await fetch(`${o}/v1/users/${t}/pools`,{cache:"no-store"});if(!a.ok)throw new Error(`forge pools fetch failed: ${a.status}`);return(await a.json()).data?.items??[]},enabled:n,staleTime:0}),s=c??[];return{pools:s,isEmpty:s.length===0,...i}}import{useQueries as si}from"@tanstack/react-query";import{useMemo as li}from"react";var ci="wp:forge-token-detail";async function pi(e,t){let r=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return r.ok?(await r.json())?.data?.token??null:null}function Lr(e,t,r=!0){let o=kt[e],n=si({queries:t.map(s=>({queryKey:[ci,e,s],queryFn:()=>pi(o,s),enabled:r&&!!s,staleTime:3e4}))}),c=li(()=>{let s=new Map;for(let a=0;a<n.length;a++){let l=n[a]?.data,d=t[a];l&&d&&s.set(d.toLowerCase(),l)}return s},[n,t]),i=n.some(s=>s.isLoading);return{detailMap:c,isLoading:i}}import{jsx as Q,jsxs as Ve}from"react/jsx-runtime";var mi="Forge",fi="https://x.crosstoken.io/forge/favicon-96x96.png",ui=18,gi="https://contents.crosstoken.io/wallet/token/images/FT.png";function wi(e){if(!e||e==="0")return"0";let t=new so(e).shiftedBy(-ui);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,so.ROUND_DOWN):t.toFormat(4,so.ROUND_DOWN)}function hi(e){let t=Number(e);return!Number.isFinite(t)||t<=0?"0%":t>=1?`${(Math.floor(t*100)/100).toFixed(2)}%`:`${(Math.floor(t*1e4)/1e4).toFixed(4)}%`}function Nr(){let{env:e,walletAddress:t,onOutlink:r}=z(),o=!!t,{pools:n,isEmpty:c}=Cr(e,t,o),i=di(()=>n.map(l=>l.token.address),[n]),{detailMap:s}=Lr(e,i,o&&i.length>0),a=l=>`${pe[e]}/forge/token/${l.token.address}`;return Q(re,{title:mi,icon:fi,iconFit:"contain",isEmpty:c,children:n.map(l=>{let d=s.get(l.token.address.toLowerCase()),m=d?.image_url||d?.image||l.token.image||gi,g=d?.symbol||l.token.symbol,w=a(l);return Ve("a",{className:"wp-item","data-side":"lp",href:w,target:"_blank",rel:"noopener noreferrer",onClick:b=>te(b,w,{category:"portfolio",origin:"portfolio-forge",payload:{pool:l,tokenDetail:d}},r),children:[Ve("div",{className:"wp-item-body",children:[Ve("div",{className:"wp-item-field",children:[Q("span",{className:"wp-item-label",children:"Pair"}),Ve("div",{className:"wp-svc-token",children:[Q("img",{className:"wp-svc-token-icon",src:m,alt:""}),Q("span",{children:g})]})]}),Ve("div",{className:"wp-item-field",children:[Q("span",{className:"wp-item-label",children:"LP Balance"}),Q("div",{className:"wp-svc-token",children:Q("span",{children:wi(l.lp_balance)})})]}),Ve("div",{className:"wp-item-field",children:[Q("span",{className:"wp-item-label",children:"Ownership"}),Q("div",{className:"wp-svc-token",children:Q("span",{children:hi(l.pool_ownership)})})]})]}),Q("div",{className:"wp-item-badges",children:Q("span",{className:"wp-badge wp-badge--mint",children:"Withdraw"})})]},l.pair_address)})})}R(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--cck-surface-bg, #202530);--wp-card: var(--cck-surface-default, #292f40);--wp-border: var(--cck-border-default, #313b51);--wp-text: var(--cck-texticon-primary, #ffffff);--wp-text-60: var(--cck-texticon-secondary, #d3d7df);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #717d97);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--cck-surface-bg, #f5f6f8);--wp-card: var(--cck-surface-default, #ffffff);--wp-border: var(--cck-border-default, #e2e5ea);--wp-text: var(--cck-texticon-primary, #202530);--wp-text-60: var(--cck-texticon-secondary, #49556e);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #a0a9b8);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.wp-fullscreen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:50;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:Sora,sans-serif;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased}.wp-embed{width:100%;height:100%;min-height:0;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:Sora,sans-serif;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;gap:20px;height:60px;padding:0 20px;flex-shrink:0}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text);flex-shrink:0}.wp-refresh-btn{position:relative}.wp-refresh-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--wp-mint);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.wp-spin-once{animation:wp-spin-once .6s ease-in-out}@keyframes wp-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wp-header-title{flex:1;font-family:Roboto,Sora,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.15px;text-align:center;color:var(--wp-text);margin:0}.wp-top{flex-shrink:0;padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.wp-identity{display:flex;flex-direction:column;gap:8px}.wp-address{display:inline-flex;align-items:center;gap:8px}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40)}.wp-total{font-size:28px;font-weight:600;line-height:1.3;color:var(--wp-text);margin:0}.wp-asset{display:flex;flex-direction:column;gap:8px}.wp-asset-head{display:flex;align-items:center;gap:4px}.wp-asset-head-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-asset-head-icon{display:inline-flex;color:var(--wp-text-40)}.wp-bar{display:flex;height:20px;border-radius:4px;overflow:hidden}.wp-bar-seg{display:flex;align-items:center;justify-content:center;min-width:8px}.wp-bar-seg-pct{font-size:10px;font-weight:400;line-height:1.3;color:#fff;white-space:nowrap}.wp-legend{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.wp-legend-item{display:flex;align-items:center;gap:4px}.wp-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wp-legend-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-tabs{flex-shrink:0;padding:8px 16px}.wp-tabs-inner{display:flex;align-items:center;padding:0 2px}.wp-tabs-list{display:flex;gap:20px;flex:1}.wp-tab{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:44px;padding-top:12px;background:transparent;border:none;cursor:pointer}.wp-tab-text{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text-30);white-space:nowrap}.wp-tab[data-active=true] .wp-tab-text{color:var(--wp-mint)}.wp-tab-bar{width:20px;height:4px;border-radius:2px;background:var(--wp-mint);opacity:0}.wp-tab[data-active=true] .wp-tab-bar{opacity:1}.wp-tabs-filter-wrap{position:relative;display:flex;align-items:center;width:44px;height:44px;flex-shrink:0}.wp-tabs-filter-grad{position:absolute;inset:0;background:linear-gradient(to left,var(--wp-bg) 74%,transparent);pointer-events:none}.wp-tabs-filter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text-40)}.wp-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.wp-body-inner{padding:16px 16px 128px;display:flex;flex-direction:column;gap:20px}.wp-svc-card{display:flex;flex-direction:column;gap:8px}.wp-svc-card-head{display:flex;align-items:center;gap:8px}.wp-svc-card-icon{width:20px;height:20px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:14px;font-weight:600;line-height:1.3;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:10px}.wp-item{position:relative;background:var(--wp-card);border-radius:12px;padding:14px 40px 14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #00000014,0 2px 8px #0000000a;overflow:hidden;text-decoration:none;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease}.wp-item:hover{box-shadow:0 2px 6px #0000001f,0 4px 14px #0000000f;transform:translateY(-1px)}.wp-item:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.wp-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px;background:var(--wp-border)}.wp-item:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:currentColor;opacity:.25;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;transition:opacity .15s}.wp-item:hover:after{opacity:.5}.wp-item[data-side=buy]:before{background:var(--wp-green)}.wp-item[data-side=sell]:before{background:var(--wp-red)}.wp-item[data-side=reward]:before{background:var(--wp-mint)}.wp-item[data-side=lp]:before{background:var(--wp-purple)}.wp-item-body{display:flex;gap:12px}.wp-item-field{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.wp-item-label{font-size:11px;font-weight:500;line-height:1.3;color:var(--wp-text-40);letter-spacing:.03em;text-transform:uppercase}.wp-item-label--buy{color:var(--wp-green)}.wp-item-label--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-svc-token>span{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-svc-buy{color:var(--wp-green)}.wp-svc-sell{color:var(--wp-red)}.wp-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid transparent;pointer-events:none}.wp-badge--mint{color:var(--wp-mint);background:#00d4aa1a;border-color:#00d4aa40}.wp-badge--muted{color:var(--wp-text-40);background:#8c97ad14;border-color:#8c97ad2e}.wp-badge--red{color:var(--wp-red);background:#e7007714;border-color:#e7007733}.wp-item-badges{display:flex;align-items:center;gap:6px}.wp-svc-empty{display:flex;align-items:center;justify-content:center;height:56px;background:var(--wp-card);border-radius:12px;font-size:13px;font-weight:400;color:var(--wp-text-30);box-shadow:0 1px 3px #00000014}@media(max-width:375px){.wp-header{gap:12px;padding:0 12px}.wp-top{padding:0 12px 12px;gap:12px}.wp-total{font-size:22px}.wp-legend{gap:10px}.wp-legend-label{font-size:11px}.wp-body-inner{padding:12px 12px 128px;gap:14px}.wp-svc-items{gap:8px}.wp-item{padding:12px 36px 12px 14px;gap:6px;border-radius:10px}.wp-item:after{right:10px;width:11px;height:11px}.wp-item-body{gap:10px}.wp-svc-token{gap:6px}.wp-svc-token>span{font-size:13px}.wp-svc-token-icon{width:20px;height:20px}}.wp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
|
|
6
|
-
`);import{Fragment as yi,jsx as W,jsxs as me}from"react/jsx-runtime";var lo=5,bi="wp:";function He({env:e="production",theme:t="dark",walletAddress:r,onBack:o,showHeader:n=!0,variant:c="embed",className:i,sendTransaction:s,onOutlink:a}){let l=!!r,d=xi(),{segments:m}=lr(e,r,l),[g,w]=J.useState(lo),[b,f]=J.useState(!1),u=J.useCallback(()=>{d.invalidateQueries({predicate:k=>typeof k.queryKey[0]=="string"&&k.queryKey[0].startsWith(bi)})},[d]),C=J.useCallback(()=>{u(),f(!0),setTimeout(()=>f(!1),600),w(lo)},[u]);J.useEffect(()=>{if(!l)return;let k=setInterval(()=>{w(y=>y<=1?(C(),lo):y-1)},1e3);return()=>clearInterval(k)},[l,C]);let T=J.useCallback(()=>{o?.()},[o]),E=J.useMemo(()=>({env:e,theme:t,open:!0,walletAddress:r,close:T,sendTransaction:s,onOutlink:a}),[e,t,r,T,s,a]),N=me(yi,{children:[n&&me("div",{className:"wp-header",children:[o?W("button",{type:"button",className:"wp-header-btn",onClick:o,children:W(cr,{})}):W("span",{className:"wp-header-btn","aria-hidden":!0}),W("h2",{className:"wp-header-title",children:"My Portfolio"}),me("button",{type:"button",className:"wp-header-btn wp-refresh-btn",onClick:C,children:[W(pr,{className:b?"wp-spin-once":void 0}),l&&W("span",{className:"wp-refresh-badge",children:g})]})]}),W("div",{className:"wp-top",children:m.length>0&&me("div",{className:"wp-asset",children:[me("div",{className:"wp-asset-head",children:[W("span",{className:"wp-asset-head-label",children:"Consolidated Asset"}),W("span",{className:"wp-asset-head-icon",children:W(dr,{})})]}),W("div",{className:"wp-bar",children:m.map(k=>W("div",{className:"wp-bar-seg",style:{flex:`${k.percentage} 0 0`,background:k.color},children:k.percentage>=5&&me("span",{className:"wp-bar-seg-pct",children:[k.percentage,"%"]})},k.symbol))}),W("div",{className:"wp-legend",children:m.map(k=>me("div",{className:"wp-legend-item",children:[W("span",{className:"wp-legend-dot",style:{background:k.color}}),W("span",{className:"wp-legend-label",children:k.symbol})]},k.symbol))})]})}),W("div",{className:"wp-body",children:me("div",{className:"wp-body-inner",children:[W(ur,{}),W(xr,{}),W(yr,{}),W(kr,{}),W(Nr,{})]})})]});return W(Je.Provider,{value:E,children:c==="none"?N:W("div",{className:V(c==="fullscreen"?"wp-fullscreen":"wp-embed",i),"data-theme":t,children:N})})}import{jsx as co,jsxs as Ir}from"react/jsx-runtime";function Pr({className:e}){let{env:t,theme:r,walletAddress:o,close:n,sendTransaction:c}=z();return Ir(It.Portal,{children:[co(It.Overlay,{className:"wp-overlay"}),Ir(It.Content,{className:V("wp-fullscreen",e),"data-theme":r,children:[co(It.Title,{className:"wp-sr-only",children:"My Portfolio"}),co(He,{env:t,theme:r,walletAddress:o,onBack:n,variant:"none",sendTransaction:c})]})]})}import{jsx as Rr}from"react/jsx-runtime";function ki({env:e="production",theme:t="dark",walletAddress:r,open:o,onOpenChange:n,sendTransaction:c,onOutlink:i,children:s}){let a=o!==void 0,[l,d]=Re.useState(!1),m=a?o:l,g=Re.useCallback(f=>{a||d(f),n?.(f)},[a,n]),w=Re.useCallback(()=>g(!1),[g]),b=Re.useMemo(()=>({env:e,theme:t,open:m,walletAddress:r,close:w,sendTransaction:c,onOutlink:i}),[e,t,m,r,w,c,i]);return Rr(Je.Provider,{value:b,children:Rr(vi.Root,{direction:"bottom",open:m,onOpenChange:g,noBodyStyles:!0,children:s})})}var Tr=Object.assign(ki,{Trigger:er,Content:Pr});import{Fragment as mo,jsx as p,jsxs as x}from"react/jsx-runtime";function po(e,t,r){let o=X[e],n=r.toUpperCase();if(t===o.cross&&n.includes("CROSSD"))return 0;if(t===o.cross&&n==="CROSS")return 1;if(t===o.bsc&&n==="CROSS")return 2}function Li(e){return parseInt(e.split(":")[1],10)}function Ni(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Ii(e){let t=e.toLowerCase().replace(/^0x/,""),r=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),o=parseInt(r.slice(0,4),16)%360,n=(o+60+parseInt(r.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${o} 85% 65%), hsl(${n} 80% 55%))`}function Er({align:e="end",sideOffset:t=12,className:r,children:o}){let{env:n,theme:c,isMobile:i,open:s,drawerDirection:a,modal:l,showBalance:d,showForgeToken:m,showGameToken:g,showQR:w,qrLogoSrc:b,walletAddress:f,accountName:u,profileImageUrl:C,preferredTokens:T,close:E,onSelectWallet:N,onCopyAddress:k,onDisconnect:y,disconnectLabel:v,termsUrl:S,termsLabel:I,privacyUrl:F,privacyLabel:j,portalStyle:ne,navContent:we,navPosition:qe,footerContent:nt,view:G,setView:je,showPortfolio:Ge,portfolioTitle:it,showTotalAssets:at,totalAssetsLabel:st,sendTransaction:Ze,onOutlink:he}=ce(),{tokens:xe,isLoading:be}=De(n,f,s&&d),{statsMap:Te}=Ae(n,d),{categoryMap:lt}=Qo(n,d),ie=d&&at,{displayValue:ye,isLowerBound:ct,isLoading:pt}=Xo(n,f,s&&ie),[Ee,Ke]=A.useState(!1),{holdings:ve,isLoading:Ye}=Ko(n,f,s&&d&&m),Ft=A.useMemo(()=>ve.map(h=>h.token),[ve]),{imageMap:dt}=Yo(n,Ft,m&&ve.length>0),Me=A.useMemo(()=>{let h=[],M=[],_=[],H=new Map((T??[]).map((P,B)=>[`${Li(P.chainId)}:${P.address.toLowerCase()}`,B]));for(let P of xe){let B=po(n,P.chainId,P.symbol)!==void 0,ke=`${P.chainId}:${P.address.toLowerCase()}`,Ce=H.get(ke),$t=new et(P.quantity.numeric).shiftedBy(-P.quantity.decimals);if(B)h.push(P);else if(Ce!==void 0)M.push(P);else if($t.isGreaterThan(0)){if(!g&<.get(oo(P.chainId,P.address))==="game")continue;_.push(P)}}return h.sort((P,B)=>{let ke=po(n,P.chainId,P.symbol)??99,Ce=po(n,B.chainId,B.symbol)??99;return ke-Ce}),M.sort((P,B)=>{let ke=H.get(`${P.chainId}:${P.address.toLowerCase()}`)??99,Ce=H.get(`${B.chainId}:${B.address.toLowerCase()}`)??99;return ke-Ce}),_.sort((P,B)=>{let ke=Te.get(Ie(P.chainId,P.address)),Ce=Te.get(Ie(B.chainId,B.address)),$t=new et(P.quantity.numeric).shiftedBy(-P.quantity.decimals).multipliedBy(ke?.price??0);return new et(B.quantity.numeric).shiftedBy(-B.quantity.decimals).multipliedBy(Ce?.price??0).minus($t).toNumber()}),[...h,...M,..._]},[xe,n,Te,g,lt,T]),mt=A.useMemo(()=>{if(!m)return[];let h=new Set(xe.map(M=>M.address.toLowerCase()));return[...ve].filter(M=>!h.has(M.token.toLowerCase())).sort((M,_)=>{let H=new et(M.value);return new et(_.value).minus(H).toNumber()})},[ve,m,xe]),le=A.useRef(!1),Bt=A.useCallback(h=>{le.current=!0,je(h)},[je]);A.useEffect(()=>{s||(le.current=!1)},[s]);let wo=A.useRef(null);A.useEffect(()=>{let h=wo.current;if(!h||!i)return;let M=_=>{_.pointerType==="touch"&&_.stopPropagation()};return h.addEventListener("pointerdown",M),()=>h.removeEventListener("pointerdown",M)},[i]);let[Qe,ho]=A.useState(!1),Vt=A.useRef(void 0);A.useEffect(()=>()=>clearTimeout(Vt.current),[]);let xo=A.useCallback(async()=>{if(!Qe)try{await navigator.clipboard.writeText(f),ho(!0),clearTimeout(Vt.current),Vt.current=setTimeout(()=>ho(!1),2e3),k?.(f,!0)}catch{k?.(f,!1)}},[f,k,Qe]),Ht=A.useCallback(h=>{h.currentTarget.setAttribute("data-loaded","true")},[]),Qr=A.useMemo(()=>({background:Ii(f)}),[f]),bo=A.useMemo(()=>C||Zo(n,f,{size:120,bg:c==="dark"?"1A1A2E":"F3F6F8"}),[C,n,f,c]),Ut=A.useMemo(()=>Ni(ye),[ye]),Xr=x("div",{className:V("wi-view-inner",le.current&&"wi-view-wallet"),children:[ie&&(()=>{let h=Ge;return x(h?"button":"div",{...h?{type:"button",onClick:()=>Bt("portfolio"),"aria-label":"View Portfolio"}:{},className:"wi-total-section","data-clickable":h||void 0,children:[x("div",{className:"wi-total-head",children:[p("span",{className:"wi-total-label",children:st}),p("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:_=>{_.stopPropagation(),Ke(H=>!H)},onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),_.stopPropagation(),Ke(H=>!H))},"aria-label":Ee?"Show balance":"Hide balance",children:Ee?p(Ho,{}):p(Vo,{})})]}),x("div",{className:"wi-total-body",children:[pt?p("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:36}}):p("div",{className:"wi-total-value","data-hidden":Ee||void 0,children:Ee?p("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):x(mo,{children:[ct&&p("span",{className:"wi-total-lte",children:"\u2264"}),p("span",{className:"wi-total-currency",children:"$"}),p("span",{className:"wi-total-amount",children:Ut.main}),Ut.decimal&&p("span",{className:"wi-total-decimal",children:Ut.decimal})]})}),h&&p("span",{className:"wi-total-chevron","aria-hidden":!0,children:p(Fo,{size:18})})]})]})})(),qe==="top"&&we&&p("div",{className:"wi-nav-fixed",children:we}),d&&p("div",{ref:wo,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:x("div",{className:"wi-token-list",children:[be&&Array.from({length:5},(h,M)=>x("div",{className:"wi-skeleton-item",children:[x("div",{className:"wi-skeleton-left",children:[p("div",{className:"wi-skeleton-block wi-skeleton-icon"}),x("div",{className:"wi-skeleton-lines",children:[p("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),x("div",{className:"wi-skeleton-right",children:[p("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},M)),!be&&Me.length===0&&!m&&p("div",{className:"wi-empty",children:"No Tokens Found"}),Me.map(h=>{let M=Te.get(Ie(h.chainId,h.address)),_=M?parseFloat(M.percent_change_24h):null,H=_!==null&&_>=0,P=Jt(n,h.chainId);return x("div",{className:"wi-token-item",children:[x("div",{className:"wi-token-left",children:[x("div",{className:"wi-token-icon-wrap",children:[p("img",{src:h.icon_url,alt:h.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Ht,onError:B=>{B.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),P&&p("img",{src:P,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:B=>{B.currentTarget.style.display="none"}})]}),x("div",{className:"wi-token-info",children:[p("span",{className:"wi-token-name",children:h.symbol}),M&&x("div",{className:"wi-token-price-row",children:[p("span",{className:"wi-token-price",children:Qt(M.price)}),p("span",{className:"wi-token-change","data-positive":H,"data-zero":_===0||void 0,children:_!==null&&(_===0?"0%":`${H?"+":"-"}${(H?Math.floor:Math.ceil)(Math.abs(_)*100)/100}%`)})]})]})]}),x("div",{className:"wi-token-right",children:[p("span",{className:"wi-token-balance",children:bt(h.quantity.numeric,h.quantity.decimals)}),M&&p("span",{className:"wi-token-value",children:$o(h.quantity.numeric,h.quantity.decimals,M.price)})]})]},`${h.address}-${h.chainId}`)}),m&&Ye&&Array.from({length:3},(h,M)=>x("div",{className:"wi-skeleton-item",children:[x("div",{className:"wi-skeleton-left",children:[p("div",{className:"wi-skeleton-block wi-skeleton-icon"}),x("div",{className:"wi-skeleton-lines",children:[p("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),x("div",{className:"wi-skeleton-right",children:[p("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${M}`)),m&&!Ye&&!be&&Me.length===0&&mt.length===0&&p("div",{className:"wi-empty",children:"No Tokens Found"}),m&&mt.map(h=>{let M=dt.get(h.token)||"",_=Jt(n,X[n].cross);return x("div",{className:"wi-token-item",children:[x("div",{className:"wi-token-left",children:[x("div",{className:"wi-token-icon-wrap",children:[p("img",{src:M||"https://contents.crosstoken.io/wallet/token/images/FT.png",alt:h.token_name,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Ht,onError:H=>{H.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),_&&p("img",{src:_,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:H=>{H.currentTarget.style.display="none"}})]}),x("div",{className:"wi-token-info",children:[p("span",{className:"wi-token-name",children:h.token_name}),p("div",{className:"wi-token-price-row",children:x("span",{className:"wi-token-price",children:[bt(h.current_price,18)," CROSS"]})})]})]}),x("div",{className:"wi-token-right",children:[p("span",{className:"wi-token-balance",children:bt(h.balance,18)}),p("span",{className:"wi-token-value",children:Qt(h.current_value_usd)})]})]},`forge-${h.token}`)})]})}),qe==="bottom"&&we&&p("div",{className:"wi-nav-fixed",children:we})]},"wallet"),Jr=Ge?p("div",{className:V("wi-view-inner wi-portfolio-body",le.current&&"wi-view-portfolio"),children:p(He,{env:n,theme:c,walletAddress:f,showHeader:!1,sendTransaction:Ze,onOutlink:he})},"portfolio"):null,en=p("div",{className:V("wi-view-inner wi-qr-body",le.current&&"wi-view-qr"),children:p("div",{className:"wi-qr-section",children:x("div",{className:"wi-qr-card",children:[x("div",{className:"wi-qr-code",children:[p(Ci,{value:f,size:180,level:"H",marginSize:2,...b&&{imageSettings:{src:b,height:33,width:33,excavate:!0}}}),!b&&p("div",{className:"wi-qr-logo",children:p(Uo,{size:33})})]}),p("p",{className:"wi-qr-address",children:f}),x("button",{type:"button",className:"wi-qr-copy-btn",onClick:xo,children:[p("span",{className:"wi-qr-copy-icon",children:Qe?p(Kt,{size:16}):p(Zt,{size:16})}),p("span",{className:"wi-qr-copy-text",children:Qe?"Copied!":"Copy address"})]})]})})},"qr"),tn=G==="qr"||G==="portfolio",on=G==="qr"?"My Address":G==="portfolio"?it:"",yo=S||F?x("div",{className:"wi-legal-links",children:[S&&p("a",{className:"wi-legal-link",href:S,target:"_blank",rel:"noopener noreferrer",onClick:h=>te(h,S,{category:"terms",origin:"terms"},he),children:I}),S&&F&&p("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),F&&p("a",{className:"wi-legal-link",href:F,target:"_blank",rel:"noopener noreferrer",onClick:h=>te(h,F,{category:"privacy",origin:"privacy"},he),children:j})]}):null,vo=nt??(y?x("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{y(),E()},children:[p(Wo,{size:20}),p("span",{className:"wi-disconnect-label",children:v})]}):null),ko=vo!==null||yo!==null?x("div",{className:"wi-builtin-footer",children:[vo,yo]}):null,rn=x("div",{className:"wi-sticky-header",children:[x("div",{className:"wi-header wi-header--wallet",children:[x("div",{className:"wi-account-block",children:[x("div",{className:"wi-avatar",children:[p("div",{className:"wi-avatar-fallback",style:Qr}),bo&&p("img",{src:bo,alt:"",className:"wi-avatar-img",width:30,height:30,draggable:!1,onLoad:Ht,onError:h=>{h.currentTarget.style.display="none"}})]}),x("div",{className:"wi-account-text",children:[N?x("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:N,"aria-label":"Switch account",children:[p("span",{className:"wi-account-name",children:u??"Account 1"}),p("span",{className:"wi-account-switch","aria-hidden":"true",children:p(Bo,{size:12})})]}):p("div",{className:"wi-account-row",children:p("span",{className:"wi-account-name",children:u??"Account 1"})}),x("button",{type:"button",className:"wi-address-row-btn",onClick:xo,"aria-label":"Copy address",children:[p("span",{className:"wi-account-address",children:We(f)}),p("span",{className:"wi-account-copy",children:Qe?p(Kt,{size:14}):p(Zt,{size:14})})]})]})]}),x("div",{className:"wi-header-actions",children:[w&&p("button",{type:"button",className:"wi-header-action",onClick:()=>Bt("qr"),"aria-label":"Show QR code",children:p(Do,{size:20})}),p("button",{type:"button",className:"wi-header-action",onClick:E,"aria-label":"Close",children:p(Yt,{size:24})})]})]}),p("hr",{className:"wi-divider"})]}),Co=x(mo,{children:[o,tn?x("div",{className:"wi-sticky-header",children:[x("div",{className:"wi-header",children:[p("button",{type:"button",className:"wi-header-back",onClick:()=>Bt("wallet"),"aria-label":"Back",children:p(Ao,{})}),p("div",{className:"wi-header-info",children:p("h2",{className:"wi-header-title",children:on})}),p("button",{type:"button",className:"wi-header-close",onClick:E,"aria-label":"Close",children:p(Yt,{})})]}),p("hr",{className:"wi-divider"})]}):rn,x("div",{className:"wi-view-container",children:[G==="wallet"&&Xr,G==="qr"&&en,G==="portfolio"&&Jr]}),ko&&G!=="portfolio"&&p("div",{className:"wi-sticky-footer",children:p("div",{className:"wi-footer",children:ko})})]});return i?x(Pt.Portal,{children:[l&&p(Pt.Overlay,{className:"wi-drawer-overlay"}),x(Pt.Content,{className:V("wi-drawer-content",r),"data-theme":c,style:ne,"data-direction":a,"data-no-balance":!d||void 0,"data-view":G,children:[p(Pt.Title,{className:"wi-sr-only",children:"My Wallet"}),Co]})]}):x(mo,{children:[l&&s&&p("div",{className:"wi-drawer-overlay",onClick:E}),p(Rt.Portal,{children:p(Rt.Content,{align:e,sideOffset:t,className:V("wi-popover-content",r),"data-theme":c,style:ne,"data-no-balance":!d||void 0,"data-view":G,children:Co})})]})}import*as Mr from"react";function _r({position:e="top",children:t}){let{setNavContent:r,setNavPosition:o}=ce();return Mr.useEffect(()=>(r(t),o(e),()=>r(null)),[t,e,r,o]),null}import*as Sr from"react";function Or({children:e}){let{setFooterContent:t}=ce();return Sr.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}R(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #121212);--wi-surface-default: var(--cck-surface-default, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(255, 255, 255, .1));--wi-border-default: var(--cck-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--cck-texticon-primary, #ffffff);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(255, 255, 255, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .4)}[data-theme=light].wi-popover-content,[data-theme=light].wi-drawer-content{--wi-primary: var(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #ffffff);--wi-surface-default: var(--cck-surface-default, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(18, 18, 18, .1));--wi-border-default: var(--cck-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--cck-texticon-primary, #121212);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(18, 18, 18, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
|
|
5
|
+
`);R("");import{jsx as zt}from"react/jsx-runtime";function No({env:e="production",theme:t="dark",mobileBreakpoint:r=768,domain:o,children:n}){let c=_e(`(max-width: ${r}px)`),[a,l]=Se.useState(!1),s=Se.useCallback(()=>l(!1),[]),i=Se.useMemo(()=>({env:e,theme:t,isMobile:c,open:a,domain:o,close:s}),[e,t,c,a,o,s]);return zt(qt.Provider,{value:i,children:c?zt(pn.Root,{direction:"right",open:a,onOpenChange:l,noBodyStyles:!0,children:n},"drawer"):zt(Lo.Root,{open:a,onOpenChange:l,children:n},"popover")})}import*as To from"@radix-ui/react-popover";import{Drawer as mn}from"vaul";import{jsx as Z,jsxs as dn}from"react/jsx-runtime";function Io({size:e=18}){return dn("svg",{className:"al-trigger-icon",width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Z("rect",{width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"14",width:"4",height:"4",fill:"currentColor"}),Z("rect",{y:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"7",y:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"14",y:"7",width:"4",height:"4",fill:"currentColor"}),Z("rect",{y:"14",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"7",y:"14",width:"4",height:"4",fill:"currentColor"}),Z("rect",{x:"14",y:"14",width:"4",height:"4",fill:"currentColor"})]})}function Po(){return Z("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Z("path",{d:"M12 19L5 12M5 12L12 5M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ro(){return Z("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Z("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}import{jsx as ut}from"react/jsx-runtime";function Eo({asChild:e,children:t}){let{isMobile:r,theme:o}=ft(),n=t!=null,c=e??!0,a=n?t:ut("button",{type:"button",className:"al-trigger-btn","data-theme":o,children:ut(Io,{size:r?12:18})});return r?ut(mn.Trigger,{asChild:c,children:a}):ut(To.Trigger,{asChild:c,children:a})}import*as Le from"react";import*as wt from"@radix-ui/react-popover";import{Drawer as Oe}from"vaul";import{useQuery as fn}from"@tanstack/react-query";var Mo={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json",production:"https://contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json"};function gt(e="production"){return fn({queryKey:["global-menu",e],queryFn:async({signal:t})=>{let r=await fetch(Mo[e],{cache:"no-store",signal:t});if(!r.ok)throw new Error(`Failed to fetch global menu: ${r.status}`);return r.json()},staleTime:0,gcTime:0,refetchOnMount:!0})}function V(...e){return e.filter(Boolean).join(" ")}import{jsx as U,jsxs as Xe}from"react/jsx-runtime";function So({align:e="end",sideOffset:t=12,className:r}){let{env:o,theme:n,isMobile:c,domain:a,close:l}=ft(),{data:s}=gt(o),i=Le.useMemo(()=>(s?.items??[]).sort((g,C)=>g.order-C.order),[s]),d=8,m=Le.useRef(null),f=Le.useCallback(g=>{m.current={x:g.clientX,y:g.clientY}},[]),w=typeof window<"u"?window.location.pathname:"",b=Le.useCallback((g,C)=>{if(m.current){let N=g.clientX-m.current.x,k=g.clientY-m.current.y;if(m.current=null,Math.abs(N)>d||Math.abs(k)>d)return}let T=C.url[o]??C.url.production,E=_o(T,a);if(!E)try{let N=new URL(T).pathname;if(w===N||w.startsWith(N+"/")){l();return}}catch{}E?window.open(T,"_blank","noopener,noreferrer"):window.location.href=T,l()},[o,a,l,w]),u=U("div",{className:"al-grid","data-theme":n,children:i.map(g=>{let C=g.url[o]??g.url.production,T=_o(C,a),E=!1;if(!T)try{let N=new URL(C).pathname;E=w===N||w.startsWith(N+"/")}catch{E=!1}return Xe("button",{type:"button",className:"al-grid-item","data-active":E||void 0,onPointerDown:f,onClick:N=>b(N,g),children:[Xe("div",{className:"al-grid-item-left",children:[U("div",{className:"al-grid-item-icon",children:U("img",{src:g.iconUrl,alt:g.label,width:24,height:24,loading:"lazy"})}),U("span",{className:"al-grid-item-label",children:g.label}),g.isNew&&U("span",{className:"al-badge-new",children:"N"})]}),U("div",{className:"al-grid-item-right",children:g.badge&&U("span",{className:"al-badge",children:g.badge})})]},g.id)})});return c?Xe(Oe.Portal,{children:[U(Oe.Overlay,{className:"al-drawer-overlay"}),Xe(Oe.Content,{className:V("al-drawer-content",r),"data-theme":n,children:[Xe("div",{className:"al-drawer-header",children:[U(Oe.Close,{className:"al-drawer-close",children:U(Po,{})}),U(Oe.Title,{className:"al-drawer-title",children:"CROSS Services"}),U(Oe.Close,{className:"al-drawer-close",children:U(Ro,{})})]}),U("div",{className:"al-drawer-body",children:u})]})]}):U(wt.Portal,{children:U(wt.Content,{align:e,sideOffset:t,className:V("al-popover-content",r),"data-theme":n,children:u})})}function _o(e,t){try{let r=new URL(e).hostname;return typeof window>"u"?!0:r!==(t??window.location.hostname)}catch{return!1}}import*as Y from"react";import*as Wr from"@radix-ui/react-popover";import{Drawer as Pi}from"vaul";import{createContext as un,useContext as gn}from"react";var jt=un(null);function ce(){let e=gn(jt);if(!e)throw new Error("WalletInfo compound components must be used within <WalletInfo>");return e}var Gt=(o=>(o.CROSSx="crossx",o.MetaMask="io.metamask",o.Binance="com.binance.wallet",o))(Gt||{}),ht={crossx:{name:"CROSSx",iconUrl:"https://contents.crosstoken.io/wallet/token/images/tCROSS.svg"},"io.metamask":{name:"MetaMask",iconUrl:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg"},"com.binance.wallet":{name:"Binance Wallet",iconUrl:"https://public.bnbstatic.com/static/images/common/favicon.ico"}};import*as zo from"@radix-ui/react-popover";import{Drawer as hn}from"vaul";import{jsx as O,jsxs as xt}from"react/jsx-runtime";function Oo({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M12.6667 4.66667V2.66667C12.6667 2.48986 12.5964 2.32029 12.4714 2.19526C12.3464 2.07024 12.1768 2 12 2H3.33333C2.97971 2 2.64057 2.14048 2.39052 2.39052C2.14048 2.64057 2 2.97971 2 3.33333C2 3.68696 2.14048 4.02609 2.39052 4.27614C2.64057 4.52619 2.97971 4.66667 3.33333 4.66667H13.3333C13.5101 4.66667 13.6797 4.7369 13.8047 4.86193C13.9298 4.98695 14 5.15652 14 5.33333V8M14 8H12C11.6464 8 11.3072 8.14048 11.0572 8.39052C10.8071 8.64057 10.6667 8.97971 10.6667 9.33333C10.6667 9.68696 10.8071 10.0261 11.0572 10.2761C11.3072 10.5262 11.6464 10.6667 12 10.6667H14C14.1768 10.6667 14.3464 10.5964 14.4714 10.4714C14.5964 10.3464 14.6667 10.1768 14.6667 10V8.66667C14.6667 8.48986 14.5964 8.32029 14.4714 8.19526C14.3464 8.07024 14.1768 8 14 8Z",stroke:"currentColor",strokeWidth:1.33333,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M2 3.33325V12.6666C2 13.0202 2.14048 13.3593 2.39052 13.6094C2.64057 13.8594 2.97971 13.9999 3.33333 13.9999H13.3333C13.5101 13.9999 13.6797 13.9297 13.8047 13.8047C13.9298 13.6796 14 13.5101 14 13.3333V10.6666",stroke:"currentColor",strokeWidth:1.33333,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Zt({size:e=16,className:t}){return O("svg",{width:e,height:e,viewBox:"4 4 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M9.40284 17.0647H4.85156V4.84656H17.0697V9.39783H15.4407V6.47565H6.48066V15.4356H9.40284V17.0647ZM21.5192 12.5644H12.5592V21.5244H21.5192V12.5644ZM23.1483 10.9353V23.1535H10.9301V10.9353H23.1483Z",fill:"currentColor"})})}function Kt({size:e=16,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M11.6667 3.5L5.25 9.91667L2.33334 7",stroke:"currentColor",strokeWidth:1.16667,strokeLinecap:"round",strokeLinejoin:"round"})})}function Yt({size:e=24,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M18 6L6 18M6 6l12 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Wo({size:e=20,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M7.5 17.5H4.167A1.667 1.667 0 012.5 15.833V4.167A1.667 1.667 0 014.167 2.5H7.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M13.333 14.167L17.5 10l-4.167-4.167M17.5 10H7.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Do({size:e=20,className:t}){return O("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 20 20",fill:"none",className:t,children:O("path",{d:"M7.91305 10.8327C8.60341 10.8327 9.16305 11.3924 9.16305 12.0827V16.2458C9.16305 16.9361 8.60341 17.4958 7.91305 17.4958H3.75C3.05964 17.4958 2.5 16.9361 2.5 16.2458L2.5 12.0827C2.5 11.3924 3.05964 10.8327 3.75 10.8327H7.91305ZM14.1685 17.4958H12.5027V15.83H14.1685V17.4958ZM17.5 17.4958H15.8342V15.83H17.5V17.4958ZM4.16576 12.4985V15.83H7.49729V12.4985H4.16576ZM12.5027 15.83H10.8369V14.1642H12.5027V15.83ZM15.8342 15.83H14.1685V14.1642H15.8342V15.83ZM14.1685 14.1642H12.5027V12.4985H14.1685V14.1642ZM17.5 14.1642H15.8342V12.4985H17.5V14.1642ZM12.5027 12.4985H10.8369V10.8327H12.5027V12.4985ZM15.8342 12.4985H14.1685V10.8327H15.8342V12.4985ZM7.91305 2.50391C8.60341 2.50391 9.16305 3.06355 9.16305 3.75391V7.91696C9.16305 8.60731 8.60341 9.16696 7.91305 9.16696H3.75C3.05964 9.16696 2.5 8.60731 2.5 7.91696L2.5 3.75391C2.5 3.06355 3.05964 2.50391 3.75 2.50391L7.91305 2.50391ZM16.2419 2.50391C16.9322 2.50391 17.4919 3.06355 17.4919 3.75391V7.91696C17.4919 8.60731 16.9322 9.16696 16.2419 9.16696H12.0788C11.3885 9.16696 10.8288 8.60731 10.8288 7.91696V3.75391C10.8288 3.06355 11.3885 2.50391 12.0788 2.50391L16.2419 2.50391ZM4.16576 4.16967L4.16576 7.50119L7.49729 7.50119L7.49729 4.16967L4.16576 4.16967ZM12.4946 4.16967V7.50119H15.8261V4.16967H12.4946Z",fill:"currentColor",fillOpacity:1})})}function Ao({size:e=20,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M12.5 15L7.5 10L12.5 5",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function Fo({size:e=20,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M8 5L13 10L8 15",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function Bo({size:e=20,className:t}){return O("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:O("path",{d:"M5 8L10 13L15 8",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Vo({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M1.667 10S4.167 4.167 10 4.167 18.333 10 18.333 10 15.833 15.833 10 15.833 1.667 10 1.667 10z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ho({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[O("path",{d:"M14.95 14.95A8.283 8.283 0 0110 16.667c-5.833 0-8.333-5.833-8.333-5.833a15.238 15.238 0 014.183-4.884m3.267-1.55A7.55 7.55 0 0110 4.167c5.833 0 8.333 5.833 8.333 5.833a15.28 15.28 0 01-1.783 2.633M11.767 11.767a2.5 2.5 0 11-3.534-3.534",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),O("path",{d:"M1.667 1.667l16.666 16.666",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Uo({size:e=42,className:t}){return O("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 42 42",fill:"none",className:t,children:O("path",{d:"M20.7314 2C31.0766 2 39.4628 10.3863 39.4629 20.7314C39.4629 31.0766 31.0766 39.4629 20.7314 39.4629C10.3863 39.4628 2 31.0766 2 20.7314C2.00007 10.3864 10.3864 2.00007 20.7314 2ZM20.5938 30.0586L21.1084 30.5732L21.623 30.0586V25.2471H21.1084C20.9344 25.2471 20.7626 25.235 20.5938 25.2158V30.0586ZM16.4834 24.6611L14.6514 26.4922L15.3799 27.2207L17.1797 25.4209L18.3193 24.2803C18.0487 24.0673 17.8025 23.8251 17.5869 23.5566L16.4834 24.6611ZM26.8691 27.2207L27.5967 26.4922L26.3516 25.2471H24.8955L26.8691 27.2207ZM11.2666 20.7314L11.7822 21.2471H16.624C16.6048 21.0781 16.5938 20.9065 16.5938 20.7324C16.5938 20.5585 16.6049 20.3866 16.624 20.2178H11.7812L11.2666 20.7314ZM20.5938 11.4053V16.2471C20.7626 16.2279 20.9345 16.2178 21.1084 16.2178H21.623V11.4053L21.1084 10.8906L20.5938 11.4053ZM14.6514 15.0029L16.4521 16.8027L17.5732 17.9238C17.7874 17.6546 18.0315 17.4104 18.3008 17.1963L15.3799 14.2754L14.6514 15.0029ZM25.0371 16.1074L24.9268 16.2178H26.3818L27.5957 15.0029L26.8682 14.2754L25.0371 16.1074Z",fill:"#019D92",stroke:"white",strokeWidth:4})})}import Ne from"bignumber.js";function wn(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===48;)t--;return t>0&&e.charCodeAt(t-1)===46&&t--,e.slice(0,t)}function bt(e,t){if(!e||e==="0")return"0.00";let r=new Ne(e).shiftedBy(-t),o=r.isGreaterThanOrEqualTo(1)?2:4;return r.toFormat(o,Ne.ROUND_DOWN)}function We(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}function Qt(e){let t=typeof e=="string"?parseFloat(e):e;if(Number.isNaN(t)||t===0)return"$0.00";let r=t>=1?2:4,o=Math.pow(10,r);return`$${(Math.floor(t*o)/o).toLocaleString("en-US",{minimumFractionDigits:r,maximumFractionDigits:r})}`}function $o(e,t,r){let n=new Ne(e).shiftedBy(-t).multipliedBy(new Ne(r));return n.isZero()||n.isNaN()?"$0.00":`$${(n.integerValue(Ne.ROUND_DOWN).isGreaterThanOrEqualTo(1)?n.decimalPlaces(2,Ne.ROUND_DOWN):n.decimalPlaces(4,Ne.ROUND_DOWN)).toFormat()}`}function qo(e){if(e===""||e===null||e===void 0)return{displayValue:"0",isLowerBound:!1};let t=typeof e=="number"?e.toString():e;if(t==="0"||t==="0.0")return{displayValue:"0",isLowerBound:!1};let r=t;if(r.includes("e")||r.includes("E")){let a=Number(r);if(!Number.isFinite(a)||a===0)return{displayValue:"0",isLowerBound:!1};r=wn(a.toFixed(18))}let[o="0",n=""]=r.split(".");if(Number(o)>=1){let a=n.slice(0,2).padEnd(2,"0");return{displayValue:`${Number(o).toLocaleString("en-US")}.${a}`,isLowerBound:!1}}return n.length<4?{displayValue:`${o}.${n}`,isLowerBound:!1}:n.slice(0,4)==="0000"?{displayValue:"0.0001",isLowerBound:!0}:{displayValue:`0.${n.slice(0,4)}`,isLowerBound:!1}}import{jsx as yt,jsxs as xn}from"react/jsx-runtime";function jo({asChild:e,className:t,children:r}){let{isMobile:o,theme:n,walletAddress:c}=ce(),a=r!=null,l=e??!0,s=a?r:xn("button",{type:"button",className:V("wi-trigger-btn",t),"data-theme":n,"data-mobile":o||void 0,children:[yt(Oo,{size:o?14:16}),yt("span",{className:"wi-trigger-address",children:We(c)})]});return o?yt(hn.Trigger,{asChild:l,children:s}):yt(zo.Trigger,{asChild:l,children:s})}import*as A from"react";import*as Rt from"@radix-ui/react-popover";import{Drawer as Pt}from"vaul";import et from"bignumber.js";import{useQueries as yn}from"@tanstack/react-query";import{useMemo as vn}from"react";var ee={dev:"https://stg-wallet-server.crosstoken.io/api",stage:"https://stg-wallet-server.crosstoken.io/api",production:"https://wallet-server.crosstoken.io/api"},Q={dev:{cross:612044,bsc:97},stage:{cross:612044,bsc:97},production:{cross:612055,bsc:56}};var Xt={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},Go={cross:"https://contents.crosstoken.io/wallet/token/images/CROSS.svg",bsc:"https://contents.crosstoken.io/wallet/token/images/BSC.svg"};function Jt(e,t){let r=Q[e];if(t===r.cross)return Go.cross;if(t===r.bsc)return Go.bsc}var bn={dev:"https://dev-portrait.crosstoken.io",stage:"https://dev-portrait.crosstoken.io",production:"https://portrait.crosstoken.io"};function Zo(e,t,r={}){if(!t||!t.startsWith("0x"))return;let{size:o=120,bg:n,format:c="png"}=r,a=bn[e],l=n?`&bg=${n}`:"";return`${a}/portrait/evm/${t}.${c}?size=${o}${l}`}var eo="user-balance";async function kn(e,t,r,o){let n=new URLSearchParams({networkId:`eip155:${t}`,account:r}),c=await fetch(`${e}/v1/public/token/balance?${n}`,{cache:"no-store",signal:o});if(!c.ok)throw new Error(`Failed to fetch token balance: ${c.status}`);let a=await c.json();if(a.code!==200)throw new Error(`Token balance API error: ${a.code}`);return a.data}function De(e,t,r=!0){let o=ee[e],n=Q[e],c=[n.cross,n.bsc],a=yn({queries:c.map(d=>({queryKey:[eo,e,t,d],queryFn:({signal:m})=>kn(o,d,t,m),enabled:!!t&&r,staleTime:0,refetchInterval:r?5e3:!1}))}),l=a.some(d=>d.isLoading),s=a.some(d=>d.isError);return{tokens:vn(()=>{let d=[];for(let m of a)m.data&&d.push(...m.data);return d},[a]),isLoading:l,isError:s}}import{useQuery as Cn,useQueries as Ln}from"@tanstack/react-query";import{useMemo as Nn}from"react";var In="forge-holdings",Pn="forge-token-image";async function Rn(e,t,r){let o=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:r});if(!o.ok)throw new Error(`Failed to fetch forge holdings: ${o.status}`);let n=await o.json();if(!n.success)throw new Error("Forge holdings API error");return n.data.items}async function Tn(e,t,r){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:r});if(!o.ok)return{address:t,image_url:""};let n=await o.json();return n.success?{address:t,image_url:n.data.token.image_url}:{address:t,image_url:""}}function Ko(e,t,r=!0){let o=Xt[e],{data:n,...c}=Cn({queryKey:[In,e,t],queryFn:({signal:a})=>Rn(o,t,a),enabled:!!t&&r,staleTime:0,refetchInterval:r?5e3:!1});return{holdings:n??[],...c}}function Yo(e,t,r=!0){let o=Xt[e],n=Ln({queries:t.map(a=>({queryKey:[Pn,e,a],queryFn:({signal:l})=>Tn(o,a,l),enabled:r,staleTime:1/0}))});return{imageMap:Nn(()=>{let a=new Map;for(let l of n)l.data&&a.set(l.data.address,l.data.image_url);return a},[n])}}import{useQuery as En}from"@tanstack/react-query";import{useMemo as Mn}from"react";var to="token-stats";function Ie(e,t){return`${e}:${t.toLowerCase()}`}function Ae(e,t=!0){let r=ee[e],{data:o,...n}=En({queryKey:[to,e],queryFn:async({signal:a})=>{let l=await fetch(`${r}/v1/public/token/stats`,{cache:"no-store",signal:a});if(!l.ok)throw new Error(`Failed to fetch token stats: ${l.status}`);let s=await l.json();if(s.code!==200)throw new Error(`Token stats API error: ${s.code}`);return s},enabled:t,staleTime:3e4});return{statsMap:Mn(()=>{let a=new Map;if(!o?.data)return a;for(let l of o.data){let s=Ie(l.chain_id,l.address);a.set(s,l)}return a},[o]),...n}}import{useQuery as _n}from"@tanstack/react-query";import{useMemo as Sn}from"react";var On="token-info";function oo(e,t){return`${t.toLowerCase()}_${e}`}function Qo(e,t=!0){let r=ee[e],{data:o,...n}=_n({queryKey:[On,e],queryFn:async({signal:a})=>{let l=await fetch(`${r}/v1/public/token/info`,{cache:"no-store",signal:a});if(!l.ok)throw new Error(`Failed to fetch token info: ${l.status}`);let s=await l.json();if(s.code!==200)throw new Error(`Token info API error: ${s.code}`);return s},enabled:t,staleTime:1/0});return{categoryMap:Sn(()=>{let a=new Map;if(!o?.data)return a;for(let l of o.data){let s=oo(l.chain_id,l.address);a.set(s,l.category)}return a},[o]),...n}}import{useMemo as Wn}from"react";import ro from"bignumber.js";function Xo(e,t,r){let{tokens:o,isLoading:n}=De(e,t,r),{statsMap:c}=Ae(e,r);return Wn(()=>{let a=new ro(0);for(let d of o){let m=c.get(Ie(d.chainId,d.address));if(!m)continue;let w=new ro(d.quantity.numeric).shiftedBy(-d.quantity.decimals).multipliedBy(new ro(m.price));w.isNaN()||(a=a.plus(w))}let l=a.toFixed(),{displayValue:s,isLowerBound:i}=qo(l);return{totalUsd:l,displayValue:s,isLowerBound:i,isLoading:n}},[o,c,n])}import{QRCodeSVG as Ci}from"qrcode.react";function te(e,t,r,o){if(!o||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let n;try{n=o(t,r)}catch(i){console.error("[dapp-ui] onOutlink threw:",i);return}let c=i=>{typeof window>"u"||window.open(i,"_blank","noopener,noreferrer")};if((i=>!!i&&(typeof i=="object"||typeof i=="function")&&typeof i.then=="function")(n)){let i=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null,d=m=>{if(m===null){i?.close();return}let f=m??t;if(i)try{i.location.href=f}catch{i.close(),c(f)}else c(f)};n.then(d,m=>{console.error("[dapp-ui] onOutlink rejected:",m),i?.close()});return}let l=n;if(l===null)return;c(l??t)}import*as Re from"react";import{Drawer as vi}from"vaul";import{createContext as Dn,useContext as An}from"react";var Je=Dn(null);function $(){let e=An(Je);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}import{Drawer as Fn}from"vaul";import{jsx as Jo}from"react/jsx-runtime";function er({asChild:e,children:t}){let{walletAddress:r}=$(),o=t!=null,n=e??!0,c=o?t:Jo("button",{type:"button",children:We(r)});return Jo(Fn.Trigger,{asChild:n,children:c})}import{Drawer as It}from"vaul";import*as J from"react";import{useQueryClient as xi}from"@tanstack/react-query";import{useMemo as qn}from"react";import no from"bignumber.js";import{useQuery as Bn}from"@tanstack/react-query";import{useMemo as rr}from"react";var vt={dev:"https://stg-cross-game-reward-api.crosstoken.io/api",stage:"https://stg-cross-game-reward-api.crosstoken.io/api",production:"https://cross-game-reward-api.crosstoken.io/api"},tr={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},kt={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},pe={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},or={dev:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},stage:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},production:{cross:"https://dex-api.crosstoken.io/dex",crossd:"https://crossd-dex-api.crosstoken.io/dex",forge:"https://forge-dex-api.crosstoken.io/dex"}};var Vn="wp:reward-pools";function Ct(e,t=!0){let r=vt[e],{data:o,...n}=Bn({queryKey:[Vn,e],queryFn:async({signal:l})=>{let s=await fetch(`${r}/v1/pools`,{cache:"no-store",signal:l});if(!s.ok)throw new Error(`Failed to fetch pools: ${s.status}`);let i=await s.json();if(i.code!==200)throw new Error(`Pools API error: ${i.code}`);return i},enabled:t,staleTime:0}),c=rr(()=>o?.data.pools.filter(l=>l.pool_type==="CrossPool")??[],[o]),a=rr(()=>o?.data.pools.filter(l=>l.pool_type==="GamePool")??[],[o]);return{crossPools:c,gamePools:a,allPools:o?.data.pools??[],...n}}import{useQuery as Hn}from"@tanstack/react-query";import{useMemo as Un}from"react";var $n="wp:user-deposits";function Lt(e,t,r=!0){let o=vt[e],n=r&&!!t,{data:c,...a}=Hn({queryKey:[$n,e,t],queryFn:async({signal:s})=>{let i=await fetch(`${o}/v1/users/${t}/deposits`,{cache:"no-store",signal:s});if(!i.ok)throw new Error(`Deposits fetch failed: ${i.status}`);let d=await i.json();if(d.code!==200)throw new Error(`Deposits API error: ${d.code}`);return d},enabled:n,staleTime:0});return{depositMap:Un(()=>{let s=new Map;if(!c?.data.user_deposits)return s;for(let i of c.data.user_deposits)s.set(i.pool_address.toLowerCase(),i);return s},[c]),deposits:c?.data.user_deposits??[],...a}}import{useQuery as nr}from"@tanstack/react-query";import{useMemo as ir}from"react";function oe(e,t,r,o=!0){let n=or[e][t],c=o&&!!r,{data:a,...l}=nr({queryKey:["wp:dex-pairs",e,t],queryFn:async({signal:b})=>{let u=await fetch(`${n}/pair-info`,{cache:"no-store",signal:b});if(!u.ok)throw new Error(`pair-info fetch failed: ${u.status}`);let g=await u.json();if(g.code!==200)throw new Error(`pair-info API error: ${g.code}`);return g},enabled:o,staleTime:0}),s=a?.data??[],i=ir(()=>{let b=new Map;for(let u of s)b.set(u.pair_address.toLowerCase(),u);return b},[s]),{data:d,...m}=nr({queryKey:["wp:dex-orders",e,t,r],queryFn:async({signal:b})=>{let u=Math.floor(Date.now()/1e3),g=new URLSearchParams({owner:r,size:"200",start_date:"0",end_date:String(u)}),C=await fetch(`${n}/open-order?${g}`,{cache:"no-store",signal:b});if(!C.ok)throw new Error(`open-order fetch failed: ${C.status}`);let T=await C.json();if(T.code!==200)throw new Error(`open-order API error: ${T.code}`);return T.data?.data??[]},enabled:c,staleTime:0}),f=d??[],w=ir(()=>{let b=new Map;for(let u of f){let g=u.pair.toLowerCase();b.has(g)||b.set(g,{buys:[],sells:[]});let C=b.get(g);u.order_side===1?C.buys.push(u):C.sells.push(u)}return b},[f]);return{allPairs:s,pairMap:i,orders:f,ordersByPair:w,isEmpty:f.length===0,isLoading:l.isLoading||m.isLoading}}var zn=["var(--wp-blue)","var(--wp-purple)","var(--wp-red)","var(--wp-orange)"],ar="var(--wp-green)",sr=4;function lr(e,t,r=!0){let o=r&&!!t,{allPools:n}=Ct(e,o),{depositMap:c}=Lt(e,t,o),{allPairs:a,pairMap:l,ordersByPair:s}=oe(e,"cross",t,o),{allPairs:i,pairMap:d,ordersByPair:m}=oe(e,"crossd",t,o),{allPairs:f,pairMap:w,ordersByPair:b}=oe(e,"forge",t,o);return qn(()=>{let u=new Map,g=new Map,C=(y,v)=>{!Number.isFinite(v)||v<=0||g.set(y,(g.get(y)??0)+v)};for(let y of n){let v=Number(y.deposit_token.price);v>0&&u.set(y.deposit_token.symbol,v);for(let S of y.reward_tokens){let I=Number(S.price);I>0&&u.set(S.symbol,I)}}for(let y of[...a,...i,...f]){let v=u.get(y.quote_symbol),S=Number(y.billboard?.price);v&&S>0&&!u.has(y.base_symbol)&&u.set(y.base_symbol,S*v)}for(let y of n){let v=c.get(y.pool_address.toLowerCase());if(!v)continue;let S=new no(v.deposited_amount).shiftedBy(-y.deposit_token.decimals).toNumber();if(C(y.deposit_token.symbol,S),y.reward_tokens.length>0){let I=y.reward_tokens[0],F=new no(v.claimable_reward).shiftedBy(-I.decimals).toNumber();C(I.symbol,F)}}let T=[{pairMap:l,ordersByPair:s},{pairMap:d,ordersByPair:m},{pairMap:w,ordersByPair:b}];for(let{pairMap:y,ordersByPair:v}of T)for(let[S,I]of v){let F=y.get(S);if(F){for(let j of I.buys){let ne=Number(j.amount)-Number(j.filled);C(F.quote_symbol,ne*Number(j.price))}for(let j of I.sells){let ne=Number(j.amount)-Number(j.filled);C(F.base_symbol,ne)}}}let E=[],N=0;for(let[y,v]of g){let S=u.get(y)??0,I=v*S;I>0&&(E.push({symbol:y,usdValue:I}),N+=I)}E.sort((y,v)=>v.usdValue-y.usdValue);let k=[];if(N>0){let y=E.slice(0,sr),v=E.slice(sr);for(let I=0;I<y.length;I++)k.push({symbol:y[I].symbol,usdValue:y[I].usdValue,percentage:Math.round(y[I].usdValue/N*100),color:zn[I]??ar});if(v.length>0){let I=v.reduce((F,j)=>F+j.usdValue,0);k.push({symbol:"Others",usdValue:I,percentage:Math.round(I/N*100),color:ar})}let S=k.reduce((I,F)=>I+F.percentage,0);S!==100&&k.length>0&&(k[0].percentage+=100-S)}return{totalUsd:N,formattedTotal:N>0?`$${new no(N).toFormat(2)}`:"$0.00",segments:k}},[n,c,a,l,s,i,d,m,f,w,b])}import{jsx as Fe,jsxs as jn}from"react/jsx-runtime";function cr({size:e=22,className:t}){return Fe("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:Fe("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function pr({size:e=22,className:t}){return jn("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[Fe("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),Fe("path",{d:"M16.17 13.75a7.333 7.333 0 11-1.54-7.59L18.333 9.167",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"})]})}function dr({size:e=12,className:t}){return Fe("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:Fe("path",{d:"M6 11A5 5 0 106 1a5 5 0 000 10zM6 8V6M6 4h.005",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})})}import{useQuery as Gn}from"@tanstack/react-query";import{useMemo as Zn}from"react";var Kn="wp:token-info";function de(e,t=!0){let r=ee[e],o=Q[e].cross,{data:n,...c}=Gn({queryKey:[Kn,e],queryFn:async({signal:i})=>{let d=await fetch(`${r}/v1/public/token/info`,{cache:"no-store",signal:i});if(!d.ok)throw new Error(`Failed to fetch token info: ${d.status}`);let m=await d.json();if(m.code!==200)throw new Error(`Token info API error: ${m.code}`);return m},enabled:t,staleTime:300*1e3}),{byChainAddr:a,byChainSym:l}=Zn(()=>{let i=new Map,d=new Map;if(!n?.data)return{byChainAddr:i,byChainSym:d};for(let m of n.data){let f=m.address.toLowerCase();i.set(`${m.chain_id}:${f}`,m),i.set(f,m);let w=m.symbol.replace(/^t/,"").toUpperCase(),b=`${m.chain_id}:${w}`;d.has(b)||d.set(b,m),d.has(w)||d.set(w,m)}return{byChainAddr:i,byChainSym:d}},[n]);return{getTokenImage:(i,d)=>{let m=i.toLowerCase(),f=a.get(`${o}:${m}`);if(f?.image)return f.image;let w=a.get(m);if(w?.image)return w.image;if(d){let b=d.replace(/^t/,"").toUpperCase(),u=l.get(`${o}:${b}`);if(u?.image)return u.image;let g=l.get(b);if(g?.image)return g.image}return""},...c}}import{jsx as Nt,jsxs as mr}from"react/jsx-runtime";function re({title:e,icon:t,iconFit:r="cover",isEmpty:o,children:n}){return mr("div",{className:"wp-svc-card",children:[mr("div",{className:"wp-svc-card-head",children:[Nt("img",{className:"wp-svc-card-icon",src:t,alt:"",style:{objectFit:r}}),Nt("span",{className:"wp-svc-card-title",children:e})]}),o?Nt("div",{className:"wp-svc-empty",children:"No assets yet"}):Nt("div",{className:"wp-svc-items",children:n})]})}import io from"bignumber.js";import{jsx as Pe,jsxs as ae}from"react/jsx-runtime";var Yn="CROSS Rewards",Qn="https://contents.crosstoken.io/frontend/common/app-launcher/icons/award.svg";function fr(e,t){let r=new io(e).shiftedBy(-t);return r.isZero()?"0":r.isGreaterThanOrEqualTo(1)?r.toFormat(2,io.ROUND_DOWN):r.toFormat(4,io.ROUND_DOWN)}function ur(){let{env:e,walletAddress:t,onOutlink:r}=$(),o=!!t,{allPools:n}=Ct(e,o),{depositMap:c}=Lt(e,t,o),{getTokenImage:a}=de(e,o),l=s=>`${tr[e]}/rewards/${s.pool_address}?action=withdraw`;return Pe(re,{title:Yn,icon:Qn,isEmpty:n.length===0,children:n.map(s=>{let i=c.get(s.pool_address.toLowerCase()),d=i?.deposited_amount??"0",m=l(s);return ae("a",{className:"wp-item","data-side":"reward",href:m,target:"_blank",rel:"noopener noreferrer",onClick:f=>te(f,m,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:s,userDeposit:i}},r),children:[ae("div",{className:"wp-item-body",children:[ae("div",{className:"wp-item-field",children:[ae("span",{className:"wp-item-label",children:["Deposited (",s.deposit_token.symbol,")"]}),ae("div",{className:"wp-svc-token",children:[a(s.deposit_token.address,s.deposit_token.symbol)&&Pe("img",{className:"wp-svc-token-icon",src:a(s.deposit_token.address,s.deposit_token.symbol),alt:""}),Pe("span",{children:fr(d,s.deposit_token.decimals)})]})]}),ae("div",{className:"wp-item-field",children:[ae("span",{className:"wp-item-label",children:["Rewards (",s.reward_tokens.map(f=>f.symbol).join(", "),")"]}),s.reward_tokens.map(f=>{let w=a(f.address,f.symbol);return ae("div",{className:"wp-svc-token",children:[w&&Pe("img",{className:"wp-svc-token-icon",src:w,alt:""}),Pe("span",{children:i?fr(i.claimable_reward,f.decimals):"0"})]},f.address)})]})]}),ae("div",{className:"wp-item-badges",children:[Pe("span",{className:"wp-badge wp-badge--mint",children:"Claim"}),Pe("span",{className:"wp-badge wp-badge--muted",children:"Withdraw"})]})]},s.pool_address)})})}import wr from"bignumber.js";import{Fragment as Xn,jsx as K,jsxs as q}from"react/jsx-runtime";function ao(e){let t=new wr(e);if(t.isNaN())return e;let r=t.decimalPlaces()??0;return t.toFormat(r)}function gr(e){let t=new wr(e.amount).minus(e.filled);return ao(t.toString())}function Be({market:e,pairMap:t,ordersByPair:r,getDexUrl:o,getTokenImage:n}){let{onOutlink:c}=$(),a=[];for(let[l,s]of r){let i=t.get(l),d=i?n(i.base_address,i.base_symbol):"",m=i?n(i.quote_address,i.quote_symbol):"",f=o(l);for(let w of s.buys)a.push(q("a",{className:"wp-item","data-side":"buy",href:f,target:"_blank",rel:"noopener noreferrer",onClick:b=>te(b,f,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"buy",order:w,pair:i}},c),children:[q("div",{className:"wp-item-body",children:[q("div",{className:"wp-item-field",children:[q("span",{className:"wp-item-label wp-item-label--buy",children:["Buy",i?.base_symbol?` (${i.base_symbol})`:""]}),q("div",{className:"wp-svc-token",children:[d&&K("img",{className:"wp-svc-token-icon",src:d,alt:""}),K("span",{children:gr(w)})]})]}),q("div",{className:"wp-item-field",children:[q("span",{className:"wp-item-label",children:["Price",i?.quote_symbol?` (${i.quote_symbol})`:""]}),q("div",{className:"wp-svc-token",children:[m&&K("img",{className:"wp-svc-token-icon",src:m,alt:""}),K("span",{children:ao(w.price)})]})]})]}),K("div",{className:"wp-item-badges",children:K("span",{className:"wp-badge wp-badge--mint",children:"Claim"})})]},`buy-${w.order_id}`));for(let w of s.sells)a.push(q("a",{className:"wp-item","data-side":"sell",href:f,target:"_blank",rel:"noopener noreferrer",onClick:b=>te(b,f,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"sell",order:w,pair:i}},c),children:[q("div",{className:"wp-item-body",children:[q("div",{className:"wp-item-field",children:[q("span",{className:"wp-item-label wp-item-label--sell",children:["Sell",i?.base_symbol?` (${i.base_symbol})`:""]}),q("div",{className:"wp-svc-token",children:[d&&K("img",{className:"wp-svc-token-icon",src:d,alt:""}),K("span",{children:gr(w)})]})]}),q("div",{className:"wp-item-field",children:[q("span",{className:"wp-item-label",children:["Price",i?.quote_symbol?` (${i.quote_symbol})`:""]}),q("div",{className:"wp-svc-token",children:[m&&K("img",{className:"wp-svc-token-icon",src:m,alt:""}),K("span",{children:ao(w.price)})]})]})]}),K("div",{className:"wp-item-badges",children:K("span",{className:"wp-badge wp-badge--red",children:"Cancel"})})]},`sell-${w.order_id}`))}return K(Xn,{children:a})}import{jsx as hr}from"react/jsx-runtime";var Jn="Gametoken - CROSS",ei="https://contents.crosstoken.io/frontend/common/app-launcher/icons/dex.svg";function xr(){let{env:e,walletAddress:t}=$(),r=!!t,{pairMap:o,ordersByPair:n,isEmpty:c}=oe(e,"cross",t,r),{getTokenImage:a}=de(e,r);return hr(re,{title:Jn,icon:ei,isEmpty:c,children:hr(Be,{market:"cross",pairMap:o,ordersByPair:n,getDexUrl:s=>{let i=o.get(s.toLowerCase());return`${pe[e]}/gametoken/cross/${i?.base_symbol??""}`},getTokenImage:a})})}import{jsx as br}from"react/jsx-runtime";var ti="Gametoken - CROSSD",oi="https://contents.crosstoken.io/frontend/common/app-launcher/icons/dex.svg";function yr(){let{env:e,walletAddress:t}=$(),r=!!t,{pairMap:o,ordersByPair:n,isEmpty:c}=oe(e,"crossd",t,r),{getTokenImage:a}=de(e,r);return br(re,{title:ti,icon:oi,isEmpty:c,children:br(Be,{market:"crossd",pairMap:o,ordersByPair:n,getDexUrl:s=>{let i=o.get(s.toLowerCase());return`${pe[e]}/gametoken/crossd/${i?.base_symbol??""}`},getTokenImage:a})})}import{jsx as vr}from"react/jsx-runtime";var ri="Gametoken - Forge",ni="https://contents.crosstoken.io/frontend/common/app-launcher/icons/dex.svg";function kr(){let{env:e,walletAddress:t}=$(),r=!!t,{pairMap:o,ordersByPair:n,isEmpty:c}=oe(e,"forge",t,r),{getTokenImage:a}=de(e,r);return vr(re,{title:ri,icon:ni,isEmpty:c,children:vr(Be,{market:"forge",pairMap:o,ordersByPair:n,getDexUrl:s=>{let i=o.get(s.toLowerCase());return`${pe[e]}/gametoken/forge/${i?.base_symbol??""}`},getTokenImage:a})})}import so from"bignumber.js";import{useMemo as di}from"react";import{useQuery as ii}from"@tanstack/react-query";var ai="wp:forge-pools";function Cr(e,t,r=!0){let o=kt[e],n=r&&!!t,{data:c,...a}=ii({queryKey:[ai,e,t],queryFn:async()=>{let s=await fetch(`${o}/v1/users/${t}/pools`,{cache:"no-store"});if(!s.ok)throw new Error(`forge pools fetch failed: ${s.status}`);return(await s.json()).data?.items??[]},enabled:n,staleTime:0}),l=c??[];return{pools:l,isEmpty:l.length===0,...a}}import{useQueries as si}from"@tanstack/react-query";import{useMemo as li}from"react";var ci="wp:forge-token-detail";async function pi(e,t){let r=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return r.ok?(await r.json())?.data?.token??null:null}function Lr(e,t,r=!0){let o=kt[e],n=si({queries:t.map(l=>({queryKey:[ci,e,l],queryFn:()=>pi(o,l),enabled:r&&!!l,staleTime:3e4}))}),c=li(()=>{let l=new Map;for(let s=0;s<n.length;s++){let i=n[s]?.data,d=t[s];i&&d&&l.set(d.toLowerCase(),i)}return l},[n,t]),a=n.some(l=>l.isLoading);return{detailMap:c,isLoading:a}}import{jsx as X,jsxs as Ve}from"react/jsx-runtime";var mi="Forge",fi="https://x.crosstoken.io/forge/favicon-96x96.png",ui=18,gi="https://contents.crosstoken.io/wallet/token/images/FT.png";function wi(e){if(!e||e==="0")return"0";let t=new so(e).shiftedBy(-ui);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,so.ROUND_DOWN):t.toFormat(4,so.ROUND_DOWN)}function hi(e){let t=Number(e);return!Number.isFinite(t)||t<=0?"0%":t>=1?`${(Math.floor(t*100)/100).toFixed(2)}%`:`${(Math.floor(t*1e4)/1e4).toFixed(4)}%`}function Nr(){let{env:e,walletAddress:t,onOutlink:r}=$(),o=!!t,{pools:n,isEmpty:c}=Cr(e,t,o),a=di(()=>n.map(i=>i.token.address),[n]),{detailMap:l}=Lr(e,a,o&&a.length>0),s=i=>`${pe[e]}/forge/token/${i.token.address}`;return X(re,{title:mi,icon:fi,iconFit:"contain",isEmpty:c,children:n.map(i=>{let d=l.get(i.token.address.toLowerCase()),m=d?.image_url||d?.image||i.token.image||gi,f=d?.symbol||i.token.symbol,w=s(i);return Ve("a",{className:"wp-item","data-side":"lp",href:w,target:"_blank",rel:"noopener noreferrer",onClick:b=>te(b,w,{category:"portfolio",origin:"portfolio-forge",payload:{pool:i,tokenDetail:d}},r),children:[Ve("div",{className:"wp-item-body",children:[Ve("div",{className:"wp-item-field",children:[Ve("span",{className:"wp-item-label",children:["Pair (",f,")"]}),X("div",{className:"wp-svc-token",children:X("img",{className:"wp-svc-token-icon",src:m,alt:""})})]}),Ve("div",{className:"wp-item-field",children:[X("span",{className:"wp-item-label",children:"LP Balance"}),X("div",{className:"wp-svc-token",children:X("span",{children:wi(i.lp_balance)})})]}),Ve("div",{className:"wp-item-field",children:[X("span",{className:"wp-item-label",children:"Ownership"}),X("div",{className:"wp-svc-token",children:X("span",{children:hi(i.pool_ownership)})})]})]}),X("div",{className:"wp-item-badges",children:X("span",{className:"wp-badge wp-badge--mint",children:"Withdraw"})})]},i.pair_address)})})}R(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--cck-surface-bg, #202530);--wp-card: var(--cck-surface-default, #292f40);--wp-border: var(--cck-border-default, #313b51);--wp-text: var(--cck-texticon-primary, #ffffff);--wp-text-60: var(--cck-texticon-secondary, #d3d7df);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #717d97);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--cck-surface-bg, #f5f6f8);--wp-card: var(--cck-surface-default, #ffffff);--wp-border: var(--cck-border-default, #e2e5ea);--wp-text: var(--cck-texticon-primary, #202530);--wp-text-60: var(--cck-texticon-secondary, #49556e);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #a0a9b8);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.wp-fullscreen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:50;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:Sora,sans-serif;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased}.wp-embed{width:100%;height:100%;min-height:0;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:Sora,sans-serif;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;gap:20px;height:60px;padding:0 20px;flex-shrink:0}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text);flex-shrink:0}.wp-refresh-btn{position:relative}.wp-refresh-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--wp-mint);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.wp-spin-once{animation:wp-spin-once .6s ease-in-out}@keyframes wp-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wp-header-title{flex:1;font-family:Roboto,Sora,sans-serif;font-size:16px;font-weight:600;line-height:24px;letter-spacing:.15px;text-align:center;color:var(--wp-text);margin:0}.wp-top{flex-shrink:0;padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.wp-identity{display:flex;flex-direction:column;gap:8px}.wp-address{display:inline-flex;align-items:center;gap:8px}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40)}.wp-total{font-size:28px;font-weight:600;line-height:1.3;color:var(--wp-text);margin:0}.wp-asset{display:flex;flex-direction:column;gap:8px}.wp-asset-head{display:flex;align-items:center;gap:4px}.wp-asset-head-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-asset-head-icon{display:inline-flex;color:var(--wp-text-40)}.wp-bar{display:flex;height:20px;border-radius:4px;overflow:hidden}.wp-bar-seg{display:flex;align-items:center;justify-content:center;min-width:8px}.wp-bar-seg-pct{font-size:10px;font-weight:400;line-height:1.3;color:#fff;white-space:nowrap}.wp-legend{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.wp-legend-item{display:flex;align-items:center;gap:4px}.wp-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wp-legend-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-tabs{flex-shrink:0;padding:8px 16px}.wp-tabs-inner{display:flex;align-items:center;padding:0 2px}.wp-tabs-list{display:flex;gap:20px;flex:1}.wp-tab{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:44px;padding-top:12px;background:transparent;border:none;cursor:pointer}.wp-tab-text{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text-30);white-space:nowrap}.wp-tab[data-active=true] .wp-tab-text{color:var(--wp-mint)}.wp-tab-bar{width:20px;height:4px;border-radius:2px;background:var(--wp-mint);opacity:0}.wp-tab[data-active=true] .wp-tab-bar{opacity:1}.wp-tabs-filter-wrap{position:relative;display:flex;align-items:center;width:44px;height:44px;flex-shrink:0}.wp-tabs-filter-grad{position:absolute;inset:0;background:linear-gradient(to left,var(--wp-bg) 74%,transparent);pointer-events:none}.wp-tabs-filter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text-40)}.wp-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.wp-body-inner{padding:16px 16px 128px;display:flex;flex-direction:column;gap:20px}.wp-svc-card{display:flex;flex-direction:column;gap:8px}.wp-svc-card-head{display:flex;align-items:center;gap:8px}.wp-svc-card-icon{width:20px;height:20px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:14px;font-weight:600;line-height:1.3;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:10px}.wp-item{position:relative;background:var(--wp-card);border-radius:12px;padding:14px 40px 14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #00000014,0 2px 8px #0000000a;overflow:hidden;text-decoration:none;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease}.wp-item:hover{box-shadow:0 2px 6px #0000001f,0 4px 14px #0000000f;transform:translateY(-1px)}.wp-item:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.wp-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px;background:var(--wp-border)}.wp-item:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:currentColor;opacity:.25;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;transition:opacity .15s}.wp-item:hover:after{opacity:.5}.wp-item[data-side=buy]:before{background:var(--wp-green)}.wp-item[data-side=sell]:before{background:var(--wp-red)}.wp-item[data-side=reward]:before{background:var(--wp-mint)}.wp-item[data-side=lp]:before{background:var(--wp-purple)}.wp-item-body{display:flex;gap:12px}.wp-item-field{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.wp-item-label{font-size:11px;font-weight:500;line-height:1.3;color:var(--wp-text-40);letter-spacing:.03em;text-transform:uppercase}.wp-item-label--buy{color:var(--wp-green)}.wp-item-label--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-svc-token>span{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-svc-buy{color:var(--wp-green)}.wp-svc-sell{color:var(--wp-red)}.wp-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid transparent;pointer-events:none}.wp-badge--mint{color:var(--wp-mint);background:#00d4aa1a;border-color:#00d4aa40}.wp-badge--muted{color:var(--wp-text-40);background:#8c97ad14;border-color:#8c97ad2e}.wp-badge--red{color:var(--wp-red);background:#e7007714;border-color:#e7007733}.wp-item-badges{display:flex;align-items:center;gap:6px}.wp-svc-empty{display:flex;align-items:center;justify-content:center;height:56px;background:var(--wp-card);border-radius:12px;font-size:13px;font-weight:400;color:var(--wp-text-30);box-shadow:0 1px 3px #00000014}@media(max-width:375px){.wp-header{gap:12px;padding:0 12px}.wp-top{padding:0 12px 12px;gap:12px}.wp-total{font-size:22px}.wp-legend{gap:10px}.wp-legend-label{font-size:11px}.wp-body-inner{padding:12px 12px 128px;gap:14px}.wp-svc-items{gap:8px}.wp-item{padding:12px 36px 12px 14px;gap:6px;border-radius:10px}.wp-item:after{right:10px;width:11px;height:11px}.wp-item-body{gap:10px}.wp-svc-token{gap:6px}.wp-svc-token>span{font-size:13px}.wp-svc-token-icon{width:20px;height:20px}}.wp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
|
|
6
|
+
`);import{Fragment as yi,jsx as W,jsxs as me}from"react/jsx-runtime";var lo=5,bi="wp:";function He({env:e="production",theme:t="dark",walletAddress:r,onBack:o,showHeader:n=!0,variant:c="embed",className:a,sendTransaction:l,onOutlink:s}){let i=!!r,d=xi(),{segments:m}=lr(e,r,i),[f,w]=J.useState(lo),[b,u]=J.useState(!1),g=J.useCallback(()=>{d.invalidateQueries({predicate:k=>typeof k.queryKey[0]=="string"&&k.queryKey[0].startsWith(bi)})},[d]),C=J.useCallback(()=>{g(),u(!0),setTimeout(()=>u(!1),600),w(lo)},[g]);J.useEffect(()=>{if(!i)return;let k=setInterval(()=>{w(y=>y<=1?(C(),lo):y-1)},1e3);return()=>clearInterval(k)},[i,C]);let T=J.useCallback(()=>{o?.()},[o]),E=J.useMemo(()=>({env:e,theme:t,open:!0,walletAddress:r,close:T,sendTransaction:l,onOutlink:s}),[e,t,r,T,l,s]),N=me(yi,{children:[n&&me("div",{className:"wp-header",children:[o?W("button",{type:"button",className:"wp-header-btn",onClick:o,children:W(cr,{})}):W("span",{className:"wp-header-btn","aria-hidden":!0}),W("h2",{className:"wp-header-title",children:"My Portfolio"}),me("button",{type:"button",className:"wp-header-btn wp-refresh-btn",onClick:C,children:[W(pr,{className:b?"wp-spin-once":void 0}),i&&W("span",{className:"wp-refresh-badge",children:f})]})]}),W("div",{className:"wp-top",children:m.length>0&&me("div",{className:"wp-asset",children:[me("div",{className:"wp-asset-head",children:[W("span",{className:"wp-asset-head-label",children:"Consolidated Asset"}),W("span",{className:"wp-asset-head-icon",children:W(dr,{})})]}),W("div",{className:"wp-bar",children:m.map(k=>W("div",{className:"wp-bar-seg",style:{flex:`${k.percentage} 0 0`,background:k.color},children:k.percentage>=5&&me("span",{className:"wp-bar-seg-pct",children:[k.percentage,"%"]})},k.symbol))}),W("div",{className:"wp-legend",children:m.map(k=>me("div",{className:"wp-legend-item",children:[W("span",{className:"wp-legend-dot",style:{background:k.color}}),W("span",{className:"wp-legend-label",children:k.symbol})]},k.symbol))})]})}),W("div",{className:"wp-body",children:me("div",{className:"wp-body-inner",children:[W(ur,{}),W(xr,{}),W(yr,{}),W(kr,{}),W(Nr,{})]})})]});return W(Je.Provider,{value:E,children:c==="none"?N:W("div",{className:V(c==="fullscreen"?"wp-fullscreen":"wp-embed",a),"data-theme":t,children:N})})}import{jsx as co,jsxs as Ir}from"react/jsx-runtime";function Pr({className:e}){let{env:t,theme:r,walletAddress:o,close:n,sendTransaction:c}=$();return Ir(It.Portal,{children:[co(It.Overlay,{className:"wp-overlay"}),Ir(It.Content,{className:V("wp-fullscreen",e),"data-theme":r,children:[co(It.Title,{className:"wp-sr-only",children:"My Portfolio"}),co(He,{env:t,theme:r,walletAddress:o,onBack:n,variant:"none",sendTransaction:c})]})]})}import{jsx as Rr}from"react/jsx-runtime";function ki({env:e="production",theme:t="dark",walletAddress:r,open:o,onOpenChange:n,sendTransaction:c,onOutlink:a,children:l}){let s=o!==void 0,[i,d]=Re.useState(!1),m=s?o:i,f=Re.useCallback(u=>{s||d(u),n?.(u)},[s,n]),w=Re.useCallback(()=>f(!1),[f]),b=Re.useMemo(()=>({env:e,theme:t,open:m,walletAddress:r,close:w,sendTransaction:c,onOutlink:a}),[e,t,m,r,w,c,a]);return Rr(Je.Provider,{value:b,children:Rr(vi.Root,{direction:"bottom",open:m,onOpenChange:f,noBodyStyles:!0,children:l})})}var Tr=Object.assign(ki,{Trigger:er,Content:Pr});import{Fragment as mo,jsx as p,jsxs as x}from"react/jsx-runtime";function po(e,t,r){let o=Q[e],n=r.toUpperCase();if(t===o.cross&&n.includes("CROSSD"))return 0;if(t===o.cross&&n==="CROSS")return 1;if(t===o.bsc&&n==="CROSS")return 2}function Li(e){return parseInt(e.split(":")[1],10)}function Ni(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Ii(e){let t=e.toLowerCase().replace(/^0x/,""),r=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),o=parseInt(r.slice(0,4),16)%360,n=(o+60+parseInt(r.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${o} 85% 65%), hsl(${n} 80% 55%))`}function Er({align:e="end",sideOffset:t=12,className:r,children:o}){let{env:n,theme:c,isMobile:a,open:l,drawerDirection:s,modal:i,showBalance:d,showForgeToken:m,showGameToken:f,showQR:w,qrLogoSrc:b,walletAddress:u,accountName:g,profileImageUrl:C,preferredTokens:T,close:E,onSelectWallet:N,onCopyAddress:k,onDisconnect:y,disconnectLabel:v,termsUrl:S,termsLabel:I,privacyUrl:F,privacyLabel:j,portalStyle:ne,navContent:we,navPosition:ze,footerContent:nt,view:G,setView:je,showPortfolio:Ge,portfolioTitle:it,showTotalAssets:at,totalAssetsLabel:st,sendTransaction:Ze,onOutlink:he}=ce(),{tokens:xe,isLoading:be}=De(n,u,l&&d),{statsMap:Te}=Ae(n,d),{categoryMap:lt}=Qo(n,d),ie=d&&at,{displayValue:ye,isLowerBound:ct,isLoading:pt}=Xo(n,u,l&&ie),[Ee,Ke]=A.useState(!1),{holdings:ve,isLoading:Ye}=Ko(n,u,l&&d&&m),Ft=A.useMemo(()=>ve.map(h=>h.token),[ve]),{imageMap:dt}=Yo(n,Ft,m&&ve.length>0),Me=A.useMemo(()=>{let h=[],M=[],_=[],H=new Map((T??[]).map((P,B)=>[`${Li(P.chainId)}:${P.address.toLowerCase()}`,B]));for(let P of xe){let B=po(n,P.chainId,P.symbol)!==void 0,ke=`${P.chainId}:${P.address.toLowerCase()}`,Ce=H.get(ke),$t=new et(P.quantity.numeric).shiftedBy(-P.quantity.decimals);if(B)h.push(P);else if(Ce!==void 0)M.push(P);else if($t.isGreaterThan(0)){if(!f&<.get(oo(P.chainId,P.address))==="game")continue;_.push(P)}}return h.sort((P,B)=>{let ke=po(n,P.chainId,P.symbol)??99,Ce=po(n,B.chainId,B.symbol)??99;return ke-Ce}),M.sort((P,B)=>{let ke=H.get(`${P.chainId}:${P.address.toLowerCase()}`)??99,Ce=H.get(`${B.chainId}:${B.address.toLowerCase()}`)??99;return ke-Ce}),_.sort((P,B)=>{let ke=Te.get(Ie(P.chainId,P.address)),Ce=Te.get(Ie(B.chainId,B.address)),$t=new et(P.quantity.numeric).shiftedBy(-P.quantity.decimals).multipliedBy(ke?.price??0);return new et(B.quantity.numeric).shiftedBy(-B.quantity.decimals).multipliedBy(Ce?.price??0).minus($t).toNumber()}),[...h,...M,..._]},[xe,n,Te,f,lt,T]),mt=A.useMemo(()=>{if(!m)return[];let h=new Set(xe.map(M=>M.address.toLowerCase()));return[...ve].filter(M=>!h.has(M.token.toLowerCase())).sort((M,_)=>{let H=new et(M.value);return new et(_.value).minus(H).toNumber()})},[ve,m,xe]),le=A.useRef(!1),Bt=A.useCallback(h=>{le.current=!0,je(h)},[je]);A.useEffect(()=>{l||(le.current=!1)},[l]);let wo=A.useRef(null);A.useEffect(()=>{let h=wo.current;if(!h||!a)return;let M=_=>{_.pointerType==="touch"&&_.stopPropagation()};return h.addEventListener("pointerdown",M),()=>h.removeEventListener("pointerdown",M)},[a]);let[Qe,ho]=A.useState(!1),Vt=A.useRef(void 0);A.useEffect(()=>()=>clearTimeout(Vt.current),[]);let xo=A.useCallback(async()=>{if(!Qe)try{await navigator.clipboard.writeText(u),ho(!0),clearTimeout(Vt.current),Vt.current=setTimeout(()=>ho(!1),2e3),k?.(u,!0)}catch{k?.(u,!1)}},[u,k,Qe]),Ht=A.useCallback(h=>{h.currentTarget.setAttribute("data-loaded","true")},[]),Qr=A.useMemo(()=>({background:Ii(u)}),[u]),bo=A.useMemo(()=>C||Zo(n,u,{size:120,bg:c==="dark"?"1A1A2E":"F3F6F8"}),[C,n,u,c]),Ut=A.useMemo(()=>Ni(ye),[ye]),Xr=x("div",{className:V("wi-view-inner",le.current&&"wi-view-wallet"),children:[ie&&(()=>{let h=Ge;return x(h?"button":"div",{...h?{type:"button",onClick:()=>Bt("portfolio"),"aria-label":"View Portfolio"}:{},className:"wi-total-section","data-clickable":h||void 0,children:[x("div",{className:"wi-total-head",children:[p("span",{className:"wi-total-label",children:st}),p("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:_=>{_.stopPropagation(),Ke(H=>!H)},onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),_.stopPropagation(),Ke(H=>!H))},"aria-label":Ee?"Show balance":"Hide balance",children:Ee?p(Ho,{}):p(Vo,{})})]}),x("div",{className:"wi-total-body",children:[pt?p("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:36}}):p("div",{className:"wi-total-value","data-hidden":Ee||void 0,children:Ee?p("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):x(mo,{children:[ct&&p("span",{className:"wi-total-lte",children:"\u2264"}),p("span",{className:"wi-total-currency",children:"$"}),p("span",{className:"wi-total-amount",children:Ut.main}),Ut.decimal&&p("span",{className:"wi-total-decimal",children:Ut.decimal})]})}),h&&p("span",{className:"wi-total-chevron","aria-hidden":!0,children:p(Fo,{size:18})})]})]})})(),ze==="top"&&we&&p("div",{className:"wi-nav-fixed",children:we}),d&&p("div",{ref:wo,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:x("div",{className:"wi-token-list",children:[be&&Array.from({length:5},(h,M)=>x("div",{className:"wi-skeleton-item",children:[x("div",{className:"wi-skeleton-left",children:[p("div",{className:"wi-skeleton-block wi-skeleton-icon"}),x("div",{className:"wi-skeleton-lines",children:[p("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),x("div",{className:"wi-skeleton-right",children:[p("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},M)),!be&&Me.length===0&&!m&&p("div",{className:"wi-empty",children:"No Tokens Found"}),Me.map(h=>{let M=Te.get(Ie(h.chainId,h.address)),_=M?parseFloat(M.percent_change_24h):null,H=_!==null&&_>=0,P=Jt(n,h.chainId);return x("div",{className:"wi-token-item",children:[x("div",{className:"wi-token-left",children:[x("div",{className:"wi-token-icon-wrap",children:[p("img",{src:h.icon_url,alt:h.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Ht,onError:B=>{B.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),P&&p("img",{src:P,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:B=>{B.currentTarget.style.display="none"}})]}),x("div",{className:"wi-token-info",children:[p("span",{className:"wi-token-name",children:h.symbol}),M&&x("div",{className:"wi-token-price-row",children:[p("span",{className:"wi-token-price",children:Qt(M.price)}),p("span",{className:"wi-token-change","data-positive":H,"data-zero":_===0||void 0,children:_!==null&&(_===0?"0%":`${H?"+":"-"}${(H?Math.floor:Math.ceil)(Math.abs(_)*100)/100}%`)})]})]})]}),x("div",{className:"wi-token-right",children:[p("span",{className:"wi-token-balance",children:bt(h.quantity.numeric,h.quantity.decimals)}),M&&p("span",{className:"wi-token-value",children:$o(h.quantity.numeric,h.quantity.decimals,M.price)})]})]},`${h.address}-${h.chainId}`)}),m&&Ye&&Array.from({length:3},(h,M)=>x("div",{className:"wi-skeleton-item",children:[x("div",{className:"wi-skeleton-left",children:[p("div",{className:"wi-skeleton-block wi-skeleton-icon"}),x("div",{className:"wi-skeleton-lines",children:[p("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),x("div",{className:"wi-skeleton-right",children:[p("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${M}`)),m&&!Ye&&!be&&Me.length===0&&mt.length===0&&p("div",{className:"wi-empty",children:"No Tokens Found"}),m&&mt.map(h=>{let M=dt.get(h.token)||"",_=Jt(n,Q[n].cross);return x("div",{className:"wi-token-item",children:[x("div",{className:"wi-token-left",children:[x("div",{className:"wi-token-icon-wrap",children:[p("img",{src:M||"https://contents.crosstoken.io/wallet/token/images/FT.png",alt:h.token_name,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Ht,onError:H=>{H.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),_&&p("img",{src:_,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:H=>{H.currentTarget.style.display="none"}})]}),x("div",{className:"wi-token-info",children:[p("span",{className:"wi-token-name",children:h.token_name}),p("div",{className:"wi-token-price-row",children:x("span",{className:"wi-token-price",children:[bt(h.current_price,18)," CROSS"]})})]})]}),x("div",{className:"wi-token-right",children:[p("span",{className:"wi-token-balance",children:bt(h.balance,18)}),p("span",{className:"wi-token-value",children:Qt(h.current_value_usd)})]})]},`forge-${h.token}`)})]})}),ze==="bottom"&&we&&p("div",{className:"wi-nav-fixed",children:we})]},"wallet"),Jr=Ge?p("div",{className:V("wi-view-inner wi-portfolio-body",le.current&&"wi-view-portfolio"),children:p(He,{env:n,theme:c,walletAddress:u,showHeader:!1,sendTransaction:Ze,onOutlink:he})},"portfolio"):null,en=p("div",{className:V("wi-view-inner wi-qr-body",le.current&&"wi-view-qr"),children:p("div",{className:"wi-qr-section",children:x("div",{className:"wi-qr-card",children:[x("div",{className:"wi-qr-code",children:[p(Ci,{value:u,size:180,level:"H",marginSize:2,...b&&{imageSettings:{src:b,height:33,width:33,excavate:!0}}}),!b&&p("div",{className:"wi-qr-logo",children:p(Uo,{size:33})})]}),p("p",{className:"wi-qr-address",children:u}),x("button",{type:"button",className:"wi-qr-copy-btn",onClick:xo,children:[p("span",{className:"wi-qr-copy-icon",children:Qe?p(Kt,{size:16}):p(Zt,{size:16})}),p("span",{className:"wi-qr-copy-text",children:Qe?"Copied!":"Copy address"})]})]})})},"qr"),tn=G==="qr"||G==="portfolio",on=G==="qr"?"My Address":G==="portfolio"?it:"",yo=S||F?x("div",{className:"wi-legal-links",children:[S&&p("a",{className:"wi-legal-link",href:S,target:"_blank",rel:"noopener noreferrer",onClick:h=>te(h,S,{category:"terms",origin:"terms"},he),children:I}),S&&F&&p("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),F&&p("a",{className:"wi-legal-link",href:F,target:"_blank",rel:"noopener noreferrer",onClick:h=>te(h,F,{category:"privacy",origin:"privacy"},he),children:j})]}):null,vo=nt??(y?x("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{y(),E()},children:[p(Wo,{size:20}),p("span",{className:"wi-disconnect-label",children:v})]}):null),ko=vo!==null||yo!==null?x("div",{className:"wi-builtin-footer",children:[vo,yo]}):null,rn=x("div",{className:"wi-sticky-header",children:[x("div",{className:"wi-header wi-header--wallet",children:[x("div",{className:"wi-account-block",children:[x("div",{className:"wi-avatar",children:[p("div",{className:"wi-avatar-fallback",style:Qr}),bo&&p("img",{src:bo,alt:"",className:"wi-avatar-img",width:30,height:30,draggable:!1,onLoad:Ht,onError:h=>{h.currentTarget.style.display="none"}})]}),x("div",{className:"wi-account-text",children:[N?x("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:N,"aria-label":"Switch account",children:[p("span",{className:"wi-account-name",children:g??"Account 1"}),p("span",{className:"wi-account-switch","aria-hidden":"true",children:p(Bo,{size:12})})]}):p("div",{className:"wi-account-row",children:p("span",{className:"wi-account-name",children:g??"Account 1"})}),x("button",{type:"button",className:"wi-address-row-btn",onClick:xo,"aria-label":"Copy address",children:[p("span",{className:"wi-account-address",children:We(u)}),p("span",{className:"wi-account-copy",children:Qe?p(Kt,{size:14}):p(Zt,{size:14})})]})]})]}),x("div",{className:"wi-header-actions",children:[w&&p("button",{type:"button",className:"wi-header-action",onClick:()=>Bt("qr"),"aria-label":"Show QR code",children:p(Do,{size:20})}),p("button",{type:"button",className:"wi-header-action",onClick:E,"aria-label":"Close",children:p(Yt,{size:24})})]})]}),p("hr",{className:"wi-divider"})]}),Co=x(mo,{children:[o,tn?x("div",{className:"wi-sticky-header",children:[x("div",{className:"wi-header",children:[p("button",{type:"button",className:"wi-header-back",onClick:()=>Bt("wallet"),"aria-label":"Back",children:p(Ao,{})}),p("div",{className:"wi-header-info",children:p("h2",{className:"wi-header-title",children:on})}),p("button",{type:"button",className:"wi-header-close",onClick:E,"aria-label":"Close",children:p(Yt,{})})]}),p("hr",{className:"wi-divider"})]}):rn,x("div",{className:"wi-view-container",children:[G==="wallet"&&Xr,G==="qr"&&en,G==="portfolio"&&Jr]}),ko&&G!=="portfolio"&&p("div",{className:"wi-sticky-footer",children:p("div",{className:"wi-footer",children:ko})})]});return a?x(Pt.Portal,{children:[i&&p(Pt.Overlay,{className:"wi-drawer-overlay"}),x(Pt.Content,{className:V("wi-drawer-content",r),"data-theme":c,style:ne,"data-direction":s,"data-no-balance":!d||void 0,"data-view":G,children:[p(Pt.Title,{className:"wi-sr-only",children:"My Wallet"}),Co]})]}):x(mo,{children:[i&&l&&p("div",{className:"wi-drawer-overlay",onClick:E}),p(Rt.Portal,{children:p(Rt.Content,{align:e,sideOffset:t,className:V("wi-popover-content",r),"data-theme":c,style:ne,"data-no-balance":!d||void 0,"data-view":G,children:Co})})]})}import*as Mr from"react";function _r({position:e="top",children:t}){let{setNavContent:r,setNavPosition:o}=ce();return Mr.useEffect(()=>(r(t),o(e),()=>r(null)),[t,e,r,o]),null}import*as Sr from"react";function Or({children:e}){let{setFooterContent:t}=ce();return Sr.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}R(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #121212);--wi-surface-default: var(--cck-surface-default, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(255, 255, 255, .1));--wi-border-default: var(--cck-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--cck-texticon-primary, #ffffff);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(255, 255, 255, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .4)}[data-theme=light].wi-popover-content,[data-theme=light].wi-drawer-content{--wi-primary: var(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #ffffff);--wi-surface-default: var(--cck-surface-default, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(18, 18, 18, .1));--wi-border-default: var(--cck-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--cck-texticon-primary, #121212);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(18, 18, 18, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
|
|
7
7
|
`);R(`.wi-trigger-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(255,255,255,.2);background:#1a2332;border-radius:9999px;cursor:pointer;color:#fff;font-family:inherit;font-size:16px;font-weight:500;line-height:24px;letter-spacing:-.3125px;transition:opacity .15s ease}.wi-trigger-btn:hover{opacity:.85}.wi-trigger-btn[data-theme=light]{background:#f3f6f8;border-color:#1212121a;color:#121212}.wi-trigger-btn[data-mobile]{font-size:14px;padding:6px 12px;gap:6px;line-height:20px}.wi-trigger-address{white-space:nowrap}.wi-divider{height:1px;background:var(--wi-border-default);margin:0;border:none;flex-shrink:0}[data-theme=light] .wi-divider{background:#1212121a}[data-theme=dark] .wi-divider{background:#ffffff1a}
|
|
8
8
|
`);R(`@keyframes wi-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes wi-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes wi-slide-in-right{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes wi-slide-in-left{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}
|
|
9
9
|
`);R(`.wi-popover-content{z-index:100001;width:343px;border-radius:24px;border:4px solid var(--wi-border-default);background:var(--wi-surface-bg);box-shadow:var(--wi-shadow);animation:wi-fade-in .15s ease-out;height:552px;overflow:hidden;display:flex;flex-direction:column}.wi-popover-content[data-no-balance]{height:auto}.wi-drawer-overlay{position:fixed;inset:0;z-index:100000;background:#0009}.wi-drawer-content{position:fixed;top:0;right:0;bottom:0;z-index:100001;width:100vw;max-height:100vh;background:var(--wi-surface-bg);overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.wi-drawer-content[data-no-balance]{bottom:auto;max-height:none}.wi-drawer-content[data-no-balance][data-direction=bottom]{bottom:0;top:auto;border-radius:24px 24px 0 0}.wi-drawer-content[data-direction=left]{right:auto;left:0}.wi-drawer-content[data-direction=bottom]{top:auto;left:0;right:0;width:100%;max-height:60vh;margin:0 auto}.wi-drawer-content[data-direction=bottom][data-view=qr]{max-height:85dvh}.wi-sticky-header{flex-shrink:0}.wi-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 24px}.wi-header--wallet{align-items:flex-start}.wi-account-block{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.wi-avatar{flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:4px;border-radius:50%;background:var(--wi-surface-bg);box-sizing:border-box;overflow:hidden}.wi-avatar-fallback{position:absolute;inset:4px;border-radius:50%;z-index:0}.wi-avatar-img{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;object-fit:cover;background:transparent}.wi-account-text{display:flex;flex-direction:column;gap:2px;min-width:0}.wi-account-row{display:flex;align-items:center;gap:8px;min-width:0}.wi-account-row--btn{padding:2px 4px;margin:-2px -4px;border:none;background:transparent;cursor:pointer;color:inherit;font:inherit;border-radius:6px;transition:background-color .15s ease,opacity .15s ease}.wi-account-row--btn:hover{background:var(--wi-surface-subtle, rgba(255, 255, 255, .06))}.wi-account-row--btn:focus-visible{outline:2px solid var(--wi-primary, #00d5aa);outline-offset:2px}.wi-account-name{font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;color:var(--wi-texticon-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wi-account-switch{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:var(--wi-texticon-tertiary);border-radius:4px;flex-shrink:0}.wi-address-row-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;cursor:pointer;color:inherit;font:inherit;text-align:left;min-width:0;transition:opacity .15s ease}.wi-address-row-btn:hover{opacity:.7}.wi-account-address{font-family:inherit;font-size:12px;font-weight:400;line-height:1.4;color:var(--wi-texticon-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wi-account-copy{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--wi-texticon-tertiary);flex-shrink:0}.wi-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wi-header-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:var(--wi-surface-default);border-radius:8px;cursor:pointer;color:var(--wi-texticon-primary);flex-shrink:0;transition:opacity .15s ease,background .15s ease}.wi-header-action:hover{opacity:.75}.wi-header-info{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.wi-header-title{font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;color:var(--wi-texticon-primary);margin:0}.wi-header-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:var(--wi-surface-default);border-radius:8px;cursor:pointer;color:var(--wi-texticon-primary);transition:opacity .15s ease}.wi-header-close:hover{opacity:.7}.wi-total-section{margin:16px 24px 0;padding:0;flex-shrink:0;display:flex;flex-direction:column;gap:8px;border:none;background:transparent;border-radius:12px;color:inherit;font:inherit;text-align:left;width:auto}button.wi-total-section{cursor:pointer;transition:opacity .15s ease}button.wi-total-section:hover,button.wi-total-section:focus-visible{outline:none;opacity:.85}.wi-total-head{display:flex;align-items:center;gap:4px}.wi-total-body{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.wi-total-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--wi-texticon-tertiary);flex-shrink:0;transition:transform .15s ease,color .15s ease}button.wi-total-section:hover .wi-total-chevron,button.wi-total-section:focus-visible .wi-total-chevron{color:var(--wi-texticon-primary);transform:translate(2px)}.wi-total-label{font-family:inherit;font-size:12px;font-weight:400;line-height:1.4;color:var(--wi-texticon-tertiary)}.wi-total-eye{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;color:var(--wi-texticon-tertiary);cursor:pointer;transition:opacity .15s ease;border-radius:4px}.wi-total-eye:hover{opacity:.7}.wi-total-eye:focus-visible{outline:1px solid var(--wi-texticon-secondary);outline-offset:2px}.wi-total-value{display:flex;align-items:baseline;gap:0;font-family:inherit;font-weight:600;line-height:1.3;color:var(--wi-texticon-primary);font-variant-numeric:tabular-nums;min-height:36px;white-space:nowrap}.wi-total-currency,.wi-total-amount{font-size:28px}.wi-total-decimal{font-size:20px;color:var(--wi-texticon-primary)}.wi-total-lte{margin-right:2px;font-weight:500;font-size:20px;color:var(--wi-texticon-secondary)}.wi-total-mask{letter-spacing:2px;font-size:28px;color:var(--wi-texticon-secondary)}.wi-total-skeleton{border-radius:6px}.wi-scrollable-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 24px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}.wi-drawer-content .wi-scrollable-body{touch-action:pan-y}[data-theme=light] .wi-scrollable-body{scrollbar-color:rgba(0,0,0,.12) transparent}.wi-scrollable-body::-webkit-scrollbar{width:4px}.wi-scrollable-body::-webkit-scrollbar-track{background:transparent}.wi-scrollable-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.wi-scrollable-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .wi-scrollable-body::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .wi-scrollable-body::-webkit-scrollbar-thumb:hover{background:#0003}.wi-nav-fixed{flex-shrink:0;padding:0 24px}.wi-token-list{display:flex;flex-direction:column;gap:12px}.wi-token-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.wi-token-left{display:flex;align-items:center;gap:12px;min-width:0}.wi-token-icon-wrap{position:relative;width:32px;height:32px;flex-shrink:0}.wi-token-icon{width:28px;height:28px;border-radius:8px;object-fit:contain;opacity:0;transition:opacity .2s ease;background:var(--wi-surface-default)}.wi-token-icon[data-loaded=true]{opacity:1}.wi-token-chain-badge{position:absolute;right:0;bottom:0;width:14px;height:14px;border-radius:50%;background:var(--wi-surface-bg);box-shadow:0 0 0 1.5px var(--wi-surface-bg);object-fit:contain}.wi-token-info{display:flex;flex-direction:column;min-width:0}.wi-token-name{font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;color:var(--wi-texticon-primary);white-space:nowrap}.wi-token-price-row{display:flex;align-items:center;gap:4px}.wi-token-price{font-family:inherit;font-size:12px;font-weight:400;line-height:1.3;color:var(--wi-texticon-secondary);white-space:nowrap}.wi-token-change{font-family:inherit;font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap}.wi-token-change[data-positive=true]{color:var(--wi-primary)}.wi-token-change[data-positive=false]{color:var(--wi-secondary)}.wi-token-change[data-zero]{opacity:.8}.wi-token-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.wi-token-balance{font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;color:var(--wi-texticon-primary);white-space:nowrap}.wi-token-value{font-family:inherit;font-size:12px;font-weight:400;line-height:1.3;color:var(--wi-texticon-secondary);white-space:nowrap}.wi-sticky-footer{flex-shrink:0}.wi-footer{padding:16px 24px 24px}.wi-builtin-footer{display:flex;flex-direction:column;gap:8px;align-items:stretch}.wi-disconnect-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;padding:0 16px;border:none;border-radius:12px;background:var(--wi-surface-default);color:var(--wi-texticon-primary);font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;cursor:pointer;transition:opacity .15s ease,background .15s ease}.wi-disconnect-btn:hover{opacity:.85}.wi-disconnect-label{white-space:nowrap}.wi-legal-links{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:10px;font-weight:400;line-height:1.3;color:var(--wi-texticon-tertiary)}.wi-legal-link{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s ease}.wi-legal-link:hover{opacity:.75}.wi-legal-sep{color:inherit}.wi-empty{display:flex;align-items:center;justify-content:center;padding:32px 0;font-family:inherit;font-size:16px;color:var(--wi-texticon-secondary)}.wi-skeleton-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.wi-skeleton-left{display:flex;align-items:center;gap:12px}.wi-skeleton-block{border-radius:6px;background:var(--wi-border-default);position:relative;overflow:hidden}.wi-skeleton-block:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:wi-shimmer 1.5s ease-in-out infinite}[data-theme=light] .wi-skeleton-block:after{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 50%,transparent 100%)}.wi-skeleton-icon{width:32px;height:32px;border-radius:50%;flex-shrink:0}.wi-skeleton-lines{display:flex;flex-direction:column;gap:6px}.wi-skeleton-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.wi-header-back{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wi-texticon-primary);flex-shrink:0;transition:opacity .15s ease}.wi-header-back:hover{opacity:.7}.wi-view-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wi-view-inner{display:flex;flex-direction:column;flex:1;min-height:0}.wi-view-wallet{animation:wi-slide-in-left .25s ease-out}.wi-view-qr,.wi-view-portfolio{animation:wi-slide-in-right .25s ease-out}.wi-qr-body{flex:1;min-height:0;display:flex;flex-direction:column}.wi-portfolio-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wi-portfolio-body>.wp-embed{flex:1;min-height:0}.wi-portfolio-body .wp-top{padding:16px 20px;gap:14px}.wi-portfolio-body .wp-body-inner{padding:4px 20px 24px;gap:16px}.wi-qr-section{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}[data-theme=light] .wi-qr-section{scrollbar-color:rgba(0,0,0,.12) transparent}.wi-qr-section::-webkit-scrollbar{width:4px}.wi-qr-section::-webkit-scrollbar-track{background:transparent}.wi-qr-section::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.wi-qr-section::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .wi-qr-section::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .wi-qr-section::-webkit-scrollbar-thumb:hover{background:#0003}.wi-qr-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 24px;background:var(--wi-border-default);border:1px solid var(--wi-border-default);border-radius:12px}.wi-qr-code{position:relative;display:flex;align-items:center;justify-content:center}.wi-qr-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.wi-qr-address{font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;color:var(--wi-texticon-primary);text-align:center;word-break:break-all;max-width:247px;margin:0}.wi-qr-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:1px solid var(--wi-border-subtle);background:var(--wi-surface-default);border-radius:8px;cursor:pointer;transition:opacity .15s ease}.wi-qr-copy-btn:hover{opacity:.7}.wi-qr-copy-icon{display:inline-flex;color:var(--wi-texticon-secondary)}.wi-qr-copy-text{font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;color:var(--wi-texticon-secondary);white-space:nowrap}
|
|
10
10
|
`);R(`.wi-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
|
|
11
|
-
`);import{jsx as fo}from"react/jsx-runtime";var Ri="https://terms.crosstoken.io/docs/cross-terms-of-use",Ti="https://terms.crosstoken.io/docs/nexus-privacy-policy";function Ei({env:e="production",theme:t="dark",mobileBreakpoint:r=768,drawerDirection:o,modal:n,showBalance:c=!1,showForgeToken:i=!1,showGameToken:s=!0,showQR:a=!0,qrLogoSrc:l,walletAddress:d,accountName:m,profileImageUrl:g,connectorId:w,connectorName:b,connectorIconUrl:f,preferredTokens:u=[],onSelectWallet:C,onCopyAddress:T,onDisconnect:E,disconnectLabel:N="Disconnect",termsUrl:k=Ri,termsLabel:y="Terms of Service",privacyUrl:v=Ti,privacyLabel:S="Privacy Policy",open:I,onOpenChange:F,showPortfolio:j=!1,portfolioTitle:ne="My Portfolio",showTotalAssets:we=!0,totalAssetsLabel:qe="Total Assets USD",sendTransaction:nt,onOutlink:G,style:je,children:Ge}){let it=w?ht[w]:void 0,at=b??it?.name,st=f??it?.iconUrl,Ze=_e(`(max-width: ${r}px)`),he=o??(c?"right":"bottom"),xe=n??!1,be=I!==void 0,[Te,lt]=K.useState(!1),ie=be?I:Te,ye=K.useCallback(le=>{be||lt(le),F?.(le)},[be,F]),ct=K.useCallback(()=>ye(!1),[ye]),[pt,Ee]=K.useState(null),[Ke,ve]=K.useState("top"),[Ye,Ft]=K.useState(null),[dt,Me]=K.useState("wallet");K.useEffect(()=>{ie||Me("wallet")},[ie]);let mt=K.useMemo(()=>({env:e,theme:t,isMobile:Ze,open:ie,drawerDirection:he,modal:xe,showBalance:c,showForgeToken:i,showGameToken:s,showQR:a,qrLogoSrc:l,walletAddress:d,accountName:m,profileImageUrl:g,connectorName:at,connectorIconUrl:st,preferredTokens:u,close:ct,onSelectWallet:C,onCopyAddress:T,onDisconnect:E,disconnectLabel:N,termsUrl:k,termsLabel:y,privacyUrl:v,privacyLabel:S,portalStyle:je,navContent:pt,navPosition:Ke,setNavContent:Ee,setNavPosition:ve,footerContent:Ye,setFooterContent:Ft,view:dt,setView:Me,showPortfolio:j,portfolioTitle:ne,showTotalAssets:we,totalAssetsLabel:qe,sendTransaction:nt,onOutlink:G}),[e,t,Ze,ie,he,xe,c,i,s,a,l,d,m,g,at,st,u,ct,C,T,E,N,k,y,v,S,je,pt,Ke,Ye,dt,j,ne,we,qe,nt,G]);return fo(jt.Provider,{value:mt,children:Ze?fo(Pi.Root,{direction:he,open:ie,onOpenChange:ye,noBodyStyles:!0,children:Ge},"drawer"):fo(Wr.Root,{open:ie,onOpenChange:ye,children:Ge},"popover")})}var Ue=Object.assign(Ei,{Trigger:jo,Content:Er,Nav:_r,Footer:Or});import*as se from"react";import*as Gr from"@radix-ui/react-dialog";import{Drawer as Ai}from"vaul";import{createContext as Mi,useContext as _i}from"react";var Tt=Mi(null);function tt(){let e=_i(Tt);if(!e)throw new Error("WalletConnectModal compound components must be used within <WalletConnectModal>");return e}import{useState as Dr,useEffect as Si,useCallback as Oi}from"react";function Et(){let[e,t]=Dr([]),[r,o]=Dr(!0);Si(()=>{if(typeof window>"u"){o(!1);return}let c=[],i=a=>{let{info:l}=a.detail;l?.rdns&&!c.some(d=>d.rdns===l.rdns)&&(c.push({rdns:l.rdns,name:l.name,icon:l.icon}),t([...c]))};window.addEventListener("eip6963:announceProvider",i),window.addEventListener("eip6963:crossAnnounceProvider",i),window.dispatchEvent(new Event("eip6963:requestProvider")),window.dispatchEvent(new Event("eip6963:crossRequestProvider"));let s=setTimeout(()=>o(!1),500);return()=>{window.removeEventListener("eip6963:announceProvider",i),window.removeEventListener("eip6963:crossAnnounceProvider",i),clearTimeout(s)}},[]);let n=Oi(c=>e.some(i=>i.rdns===c),[e]);return{wallets:e,isDetected:n,isLoading:r}}import*as Fr from"@radix-ui/react-dialog";import{Drawer as Wi}from"vaul";import{jsx as Ar}from"react/jsx-runtime";function Br({asChild:e,children:t}){let{isMobile:r}=tt(),o=r?Wi.Trigger:Fr.Trigger;return Ar(o,{asChild:e??t!=null,children:t??Ar("button",{type:"button",children:"Connect Wallet"})})}import*as fe from"@radix-ui/react-dialog";import{Drawer as _t}from"vaul";import{jsx as D,jsxs as $e}from"react/jsx-runtime";function Mt(){return $e("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[D("circle",{cx:"20",cy:"20",r:"20",fill:"#00D5AA"}),D("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.3225 2.85742L23.7249 6.25982V11.8301L28.1175 7.43757L32.9292 12.2493L28.5806 16.5979H20.3225C18.4435 16.5979 16.9201 18.1212 16.9201 20.0003C16.9201 21.8794 18.4434 23.4027 20.3225 23.4027H28.5372L32.9293 27.7948L28.1176 32.6066L23.7249 28.2139V33.7407L20.3225 37.1431L16.9201 33.7407V28.2584L12.5719 32.6066L7.76022 27.7948L12.1524 23.4027H6.58209L3.17969 20.0003L6.58209 16.5979H12.1089L7.76035 12.2493L12.5721 7.43757L16.9201 11.7857V6.25982L20.3225 2.85742Z",fill:"black"})]})}function Vr(){return $e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",children:[$e("g",{clipPath:"url(#clip0_1331_27065)",children:[D("path",{d:"M37.2488 38.4674L28.6626 35.8175L22.1876 39.8295L17.6699 39.8274L11.191 35.8175L2.60875 38.4674L-0.00195312 29.3328L2.60875 19.1947L-0.00195312 10.6234L2.60875 0L16.0192 8.30453H23.838L37.2488 0L39.8595 10.6234L37.2488 19.1947L39.8595 29.3328L37.2488 38.4674Z",fill:"#FF5C16"}),D("path",{d:"M2.60938 0L16.0201 8.31037L15.4868 14.0137L2.60938 0ZM11.1919 29.3366L17.0925 33.9956L11.1919 35.8175V29.3366ZM16.6209 21.6342L15.4868 14.0175L8.22768 19.1971L8.22374 19.195V19.1988L8.24628 24.5302L11.1899 21.6345L16.6209 21.6342ZM37.2477 0L23.837 8.31037L24.3685 14.0137L37.2477 0ZM28.6654 29.3366L22.7646 33.9956L28.6654 35.8175V29.3366ZM31.6313 19.1985V19.1947L31.6297 19.1968L24.3705 14.0175L23.2364 21.6342H28.6651L31.6108 24.5296L31.6313 19.1985Z",fill:"#FF5C16"}),D("path",{d:"M11.191 35.8175L2.60875 38.4674L-0.00195312 29.3366H11.191V35.8175ZM16.62 21.6321L18.2595 32.6435L15.9873 26.5208L8.24368 24.5296L11.189 21.6324H16.62V21.6321ZM28.6662 35.8175L37.2488 38.4674L39.8595 29.3366H28.6662V35.8175ZM23.2375 21.6321L21.598 32.6435L23.8699 26.5208L31.6138 24.5296L28.6665 21.6324H23.2375V21.6321Z",fill:"#E34807"}),D("path",{d:"M-0.00195312 29.3328L2.60875 19.1947H8.22284L8.2434 24.5278L15.9876 26.519L18.2595 32.6414L17.0916 33.9897L11.191 29.3307H-0.00195312V29.3328ZM39.8595 29.3328L37.2488 19.1947H31.6344L31.6138 24.5278L23.8702 26.519L21.598 32.6414L22.7657 33.9897L28.6665 29.3307H39.8595V29.3328ZM23.838 8.30444H16.0192L15.4882 14.0078L18.2597 32.6355H21.598L24.3713 14.0078L23.838 8.30444Z",fill:"#FF8D5D"}),D("path",{d:"M2.60875 0L-0.00195312 10.6234L2.60875 19.1947H8.22284L15.4859 14.0137L2.60875 0ZM14.9975 23.8438H12.4541L11.0693 25.2508L15.9893 26.515L14.9975 23.842V23.8438ZM37.2488 0L39.8595 10.6234L37.2488 19.1947H31.6344L24.3716 14.0137L37.2488 0ZM24.8637 23.8438H27.4107L28.7955 25.2526L23.8699 26.5191L24.8637 23.8418V23.8438ZM22.1857 36.1956L22.7659 33.9936L21.598 32.6453H18.2572L17.0896 33.9936L17.6696 36.1956",fill:"#661800"}),D("path",{d:"M22.1857 36.1951V39.831H17.6699V36.1951H22.1857Z",fill:"#C0C4CD"}),D("path",{d:"M11.1914 35.8131L17.672 39.8289V36.193L17.0917 33.9912L11.1914 35.8131ZM28.6649 35.8131L22.1841 39.8289V36.193L22.7644 33.9912L28.6649 35.8131Z",fill:"#E7EBF6"})]}),D("defs",{children:D("clipPath",{id:"clip0_1331_27065",children:D("rect",{width:"40",height:"40",fill:"white"})})})]})}function Hr(){return $e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"247",height:"246",viewBox:"0 0 247 246",fill:"none",children:[D("rect",{width:"247.005",height:"245.105",rx:"36",fill:"#121212"}),D("path",{d:"M89.1233 136.695V59.7551H118.481V140.524L74.5862 184.774L30.4787 140.524V107.55H59.9073V136.695L74.5862 151.303L89.1233 136.695Z",fill:"white"}),D("path",{d:"M59.8364 99.8915V59.7551H12.0414L30.4787 77.8377V99.8915H59.8364Z",fill:"#2FD7FF"}),D("path",{d:"M199.534 59.9334C202.562 60.0484 208.427 60.4824 212.031 63.6902C215.635 66.898 216.937 71.0498 216.937 73.1199V104.017L198.767 114.828L216.937 125.561V172.713C216.937 174.511 216.405 178.276 211.034 181.377C205.664 184.477 202.613 184.969 201.758 184.827H143.949C141.879 184.904 136.712 184.182 132.602 180.686C128.493 177.19 128.462 175.216 128.462 173.515V125.561L146.173 114.828L128.462 104.017V71.1268C128.462 69.721 130.109 65.7781 133.237 63.5701C137.147 60.8101 141.112 59.9334 144.409 59.9334H199.534ZM158.3 122.264V166.221H187.033V122.264H158.3ZM158.3 107.794H187.033V78.5272H158.3V107.794Z",fill:"white"})]})}function Ur(){return $e("svg",{width:"40",height:"40",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[$e("g",{clipPath:"url(#clip0_1185_7785)",children:[D("path",{d:"M14 28C21.75 28 28 21.75 28 14C28 6.25 21.75 0 14 0C6.25 0 0 6.25 0 14C0 21.75 6.25 28 14 28Z",fill:"#EB0029"}),D("path",{d:"M19.4975 8.36232L6 6L13.103 23L23 11.5311L19.4975 8.36232ZM19.2801 9.4034L21.3449 11.27L15.6975 12.2424L19.2801 9.4034ZM14.4714 12.0479L8.51876 7.35252L18.247 9.05524L14.4714 12.0479ZM14.0467 12.8782L13.0765 20.5098L7.84385 7.98492L14.0467 12.8782ZM14.9454 13.2835L21.1983 12.2064L14.026 20.518L14.9454 13.2835Z",fill:"white"})]}),D("defs",{children:D("clipPath",{id:"clip0_1185_7785",children:D("rect",{width:"28",height:"28",fill:"white"})})})]})}function $r(){return D("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:D("path",{d:"M18 6L6 18M6 6L18 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var uo={cross_embedded:{id:"cross_embedded",name:"CROSSx with Social",description:"Sign in with Google or Apple",icon:Mt,featured:!0},cross_wallet:{id:"cross_wallet",name:"CROSSx",description:"App approval is required",icon:Mt},cross_extension:{id:"cross_extension",name:"CROSSx Extension",description:"Browser extension approval is required",icon:Mt,rdns:"nexus.to.crosswallet.desktop",installUrl:"https://chromewebstore.google.com/detail/crossx/nninbdadmocnokibpaaohnoepbnpdgcg",visibility:"desktop-only"},metamask:{id:"metamask",name:"MetaMask",description:"Browser extension approval is required",icon:Vr,rdns:"io.metamask"},verse8:{id:"verse8",name:"Verse8 Wallet",description:"Optimized for Forge and Verse8 ecosystem",icon:Hr,badge:"For Forge"},tron:{id:"tron",name:"Tron Wallet",description:"Dedicated for Tron-based transactions and assets",icon:Ur,badge:"For SHOP"}};function ze(e){return uo[e]}import{Fragment as Di,jsx as L,jsxs as q}from"react/jsx-runtime";function zr({wallet:e,detected:t,onConnect:r}){let o=()=>{if(e.installUrl&&!t){window.open(e.installUrl,"_blank","noopener,noreferrer");return}r()},n=e.icon;return q("button",{type:"button",className:"wcm-wallet-item",onClick:o,children:[q("div",{className:"wcm-wallet-item-left",children:[L("div",{className:"wcm-wallet-icon",children:L(n,{})}),q("div",{className:"wcm-wallet-info",children:[q("div",{className:"wcm-wallet-name-row",children:[L("span",{className:"wcm-wallet-name",children:e.name}),e.badge&&L("span",{className:"wcm-wallet-badge",children:e.badge})]}),L("span",{className:"wcm-wallet-desc",children:e.description})]})]}),e.installUrl&&(t?L("span",{className:"wcm-installed-label",children:"Installed"}):L("span",{className:"wcm-install-btn",children:"Install"}))]})}function qr(){let{wallets:e,activeWalletIds:t,isDetected:r,close:o,isMobile:n}=tt(),c=t.filter(a=>{let l=ze(a).visibility;return!l||l==="always"?!0:l==="desktop-only"?!n:l==="mobile-only"?n:!0}),i=c.filter(a=>ze(a).featured),s=c.filter(a=>!ze(a).featured);return q(Di,{children:[q("div",{className:"wcm-header",children:[q("div",{className:"wcm-header-text",children:[L("h2",{className:"wcm-title",children:"Connect Wallet"}),L("p",{className:"wcm-subtitle",children:"Connect with one of our available wallet providers to continue."})]}),L("button",{type:"button",className:"wcm-close-btn",onClick:o,children:L($r,{})})]}),L("div",{className:"wcm-divider"}),q("div",{className:"wcm-body",children:[i.map(a=>{let l=ze(a),d=l.rdns?r(l.rdns):!1;return L(zr,{wallet:l,detected:d,onConnect:()=>{e[a]?.(),o()}},a)}),i.length>0&&s.length>0&&q("div",{className:"wcm-separator",children:[L("div",{className:"wcm-separator-line"}),L("span",{className:"wcm-separator-text",children:"or"}),L("div",{className:"wcm-separator-line"})]}),L("div",{className:"wcm-wallet-list",children:s.map(a=>{let l=ze(a),d=l.rdns?r(l.rdns):!1;return L(zr,{wallet:l,detected:d,onConnect:()=>{e[a]?.(),o()}},a)})}),q("div",{className:"wcm-help",children:[L("p",{className:"wcm-help-title",children:"Wallet not detected?"}),q("ul",{className:"wcm-help-list",children:[L("li",{children:"Ensure your wallet extension is installed and unlocked"}),L("li",{children:"Try refreshing the page"}),L("li",{children:"Some wallets may require you to first open the extension"}),L("li",{children:"You can try clicking the wallet anyway"})]})]}),L("div",{className:"wcm-divider"}),L("p",{className:"wcm-terms",children:"By connecting your wallet and accessing this service, you acknowledge and agree to be bound by the applicable terms and conditions."})]})]})}function jr({className:e}){let{isMobile:t,theme:r,portalStyle:o}=tt();return t?q(_t.Portal,{children:[L(_t.Overlay,{className:"wcm-overlay"}),q(_t.Content,{className:V("wcm-drawer-content",e),"data-theme":r,style:o,children:[L(_t.Title,{className:"wcm-sr-only",children:"Connect Wallet"}),L("div",{className:"wcm-drawer-handle"}),L("div",{className:"wcm-drawer-body",children:L(qr,{})})]})]}):q(fe.Portal,{children:[L(fe.Overlay,{className:"wcm-overlay"}),q(fe.Content,{className:V("wcm-dialog-content",e),"data-theme":r,style:o,children:[L(fe.Title,{className:"wcm-sr-only",children:"Connect Wallet"}),L("div",{className:"wcm-dialog-body",children:L(qr,{})})]})]})}R(`[data-theme=dark]{--wcm-primary: var(--cck-primary, #9b8cef);--wcm-secondary: var(--cck-secondary, #ff3aa3);--wcm-surface-bg: var(--cck-surface-bg, #202530);--wcm-surface-default: var(--cck-surface-default, #292f40);--wcm-surface-subtle: var(--cck-surface-subtle, #313b51);--wcm-border-default: var(--cck-border-default, #313b51);--wcm-border-subtle: var(--cck-border-subtle, #49556e);--wcm-texticon-primary: var(--cck-texticon-primary, #ffffff);--wcm-texticon-secondary: var(--cck-texticon-secondary, #eff0f4);--wcm-texticon-tertiary: var(--cck-texticon-tertiary, #717d97)}[data-theme=light]{--wcm-primary: var(--cck-primary, #019d92);--wcm-secondary: var(--cck-secondary, #e70077);--wcm-surface-bg: var(--cck-surface-bg, #ffffff);--wcm-surface-default: var(--cck-surface-default, rgba(18, 18, 18, .05));--wcm-surface-subtle: var(--cck-surface-subtle, rgba(18, 18, 18, .1));--wcm-border-default: var(--cck-border-default, rgba(18, 18, 18, .05));--wcm-border-subtle: var(--cck-border-subtle, rgba(18, 18, 18, .1));--wcm-texticon-primary: var(--cck-texticon-primary, #121212);--wcm-texticon-secondary: var(--cck-texticon-secondary, rgba(18, 18, 18, .7));--wcm-texticon-tertiary: var(--cck-texticon-tertiary, rgba(18, 18, 18, .5))}
|
|
11
|
+
`);import{jsx as fo}from"react/jsx-runtime";var Ri="https://terms.crosstoken.io/docs/cross-terms-of-use",Ti="https://terms.crosstoken.io/docs/nexus-privacy-policy";function Ei({env:e="production",theme:t="dark",mobileBreakpoint:r=768,drawerDirection:o,modal:n,showBalance:c=!1,showForgeToken:a=!1,showGameToken:l=!0,showQR:s=!0,qrLogoSrc:i,walletAddress:d,accountName:m,profileImageUrl:f,connectorId:w,connectorName:b,connectorIconUrl:u,preferredTokens:g=[],onSelectWallet:C,onCopyAddress:T,onDisconnect:E,disconnectLabel:N="Disconnect",termsUrl:k=Ri,termsLabel:y="Terms of Service",privacyUrl:v=Ti,privacyLabel:S="Privacy Policy",open:I,onOpenChange:F,showPortfolio:j=!1,portfolioTitle:ne="My Portfolio",showTotalAssets:we=!0,totalAssetsLabel:ze="Total Assets USD",sendTransaction:nt,onOutlink:G,style:je,children:Ge}){let it=w?ht[w]:void 0,at=b??it?.name,st=u??it?.iconUrl,Ze=_e(`(max-width: ${r}px)`),he=o??(c?"right":"bottom"),xe=n??!1,be=I!==void 0,[Te,lt]=Y.useState(!1),ie=be?I:Te,ye=Y.useCallback(le=>{be||lt(le),F?.(le)},[be,F]),ct=Y.useCallback(()=>ye(!1),[ye]),[pt,Ee]=Y.useState(null),[Ke,ve]=Y.useState("top"),[Ye,Ft]=Y.useState(null),[dt,Me]=Y.useState("wallet");Y.useEffect(()=>{ie||Me("wallet")},[ie]);let mt=Y.useMemo(()=>({env:e,theme:t,isMobile:Ze,open:ie,drawerDirection:he,modal:xe,showBalance:c,showForgeToken:a,showGameToken:l,showQR:s,qrLogoSrc:i,walletAddress:d,accountName:m,profileImageUrl:f,connectorName:at,connectorIconUrl:st,preferredTokens:g,close:ct,onSelectWallet:C,onCopyAddress:T,onDisconnect:E,disconnectLabel:N,termsUrl:k,termsLabel:y,privacyUrl:v,privacyLabel:S,portalStyle:je,navContent:pt,navPosition:Ke,setNavContent:Ee,setNavPosition:ve,footerContent:Ye,setFooterContent:Ft,view:dt,setView:Me,showPortfolio:j,portfolioTitle:ne,showTotalAssets:we,totalAssetsLabel:ze,sendTransaction:nt,onOutlink:G}),[e,t,Ze,ie,he,xe,c,a,l,s,i,d,m,f,at,st,g,ct,C,T,E,N,k,y,v,S,je,pt,Ke,Ye,dt,j,ne,we,ze,nt,G]);return fo(jt.Provider,{value:mt,children:Ze?fo(Pi.Root,{direction:he,open:ie,onOpenChange:ye,noBodyStyles:!0,children:Ge},"drawer"):fo(Wr.Root,{open:ie,onOpenChange:ye,children:Ge},"popover")})}var Ue=Object.assign(Ei,{Trigger:jo,Content:Er,Nav:_r,Footer:Or});import*as se from"react";import*as Gr from"@radix-ui/react-dialog";import{Drawer as Ai}from"vaul";import{createContext as Mi,useContext as _i}from"react";var Tt=Mi(null);function tt(){let e=_i(Tt);if(!e)throw new Error("WalletConnectModal compound components must be used within <WalletConnectModal>");return e}import{useState as Dr,useEffect as Si,useCallback as Oi}from"react";function Et(){let[e,t]=Dr([]),[r,o]=Dr(!0);Si(()=>{if(typeof window>"u"){o(!1);return}let c=[],a=s=>{let{info:i}=s.detail;i?.rdns&&!c.some(d=>d.rdns===i.rdns)&&(c.push({rdns:i.rdns,name:i.name,icon:i.icon}),t([...c]))};window.addEventListener("eip6963:announceProvider",a),window.addEventListener("eip6963:crossAnnounceProvider",a),window.dispatchEvent(new Event("eip6963:requestProvider")),window.dispatchEvent(new Event("eip6963:crossRequestProvider"));let l=setTimeout(()=>o(!1),500);return()=>{window.removeEventListener("eip6963:announceProvider",a),window.removeEventListener("eip6963:crossAnnounceProvider",a),clearTimeout(l)}},[]);let n=Oi(c=>e.some(a=>a.rdns===c),[e]);return{wallets:e,isDetected:n,isLoading:r}}import*as Fr from"@radix-ui/react-dialog";import{Drawer as Wi}from"vaul";import{jsx as Ar}from"react/jsx-runtime";function Br({asChild:e,children:t}){let{isMobile:r}=tt(),o=r?Wi.Trigger:Fr.Trigger;return Ar(o,{asChild:e??t!=null,children:t??Ar("button",{type:"button",children:"Connect Wallet"})})}import*as fe from"@radix-ui/react-dialog";import{Drawer as _t}from"vaul";import{jsx as D,jsxs as $e}from"react/jsx-runtime";function Mt(){return $e("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[D("circle",{cx:"20",cy:"20",r:"20",fill:"#00D5AA"}),D("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.3225 2.85742L23.7249 6.25982V11.8301L28.1175 7.43757L32.9292 12.2493L28.5806 16.5979H20.3225C18.4435 16.5979 16.9201 18.1212 16.9201 20.0003C16.9201 21.8794 18.4434 23.4027 20.3225 23.4027H28.5372L32.9293 27.7948L28.1176 32.6066L23.7249 28.2139V33.7407L20.3225 37.1431L16.9201 33.7407V28.2584L12.5719 32.6066L7.76022 27.7948L12.1524 23.4027H6.58209L3.17969 20.0003L6.58209 16.5979H12.1089L7.76035 12.2493L12.5721 7.43757L16.9201 11.7857V6.25982L20.3225 2.85742Z",fill:"black"})]})}function Vr(){return $e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",children:[$e("g",{clipPath:"url(#clip0_1331_27065)",children:[D("path",{d:"M37.2488 38.4674L28.6626 35.8175L22.1876 39.8295L17.6699 39.8274L11.191 35.8175L2.60875 38.4674L-0.00195312 29.3328L2.60875 19.1947L-0.00195312 10.6234L2.60875 0L16.0192 8.30453H23.838L37.2488 0L39.8595 10.6234L37.2488 19.1947L39.8595 29.3328L37.2488 38.4674Z",fill:"#FF5C16"}),D("path",{d:"M2.60938 0L16.0201 8.31037L15.4868 14.0137L2.60938 0ZM11.1919 29.3366L17.0925 33.9956L11.1919 35.8175V29.3366ZM16.6209 21.6342L15.4868 14.0175L8.22768 19.1971L8.22374 19.195V19.1988L8.24628 24.5302L11.1899 21.6345L16.6209 21.6342ZM37.2477 0L23.837 8.31037L24.3685 14.0137L37.2477 0ZM28.6654 29.3366L22.7646 33.9956L28.6654 35.8175V29.3366ZM31.6313 19.1985V19.1947L31.6297 19.1968L24.3705 14.0175L23.2364 21.6342H28.6651L31.6108 24.5296L31.6313 19.1985Z",fill:"#FF5C16"}),D("path",{d:"M11.191 35.8175L2.60875 38.4674L-0.00195312 29.3366H11.191V35.8175ZM16.62 21.6321L18.2595 32.6435L15.9873 26.5208L8.24368 24.5296L11.189 21.6324H16.62V21.6321ZM28.6662 35.8175L37.2488 38.4674L39.8595 29.3366H28.6662V35.8175ZM23.2375 21.6321L21.598 32.6435L23.8699 26.5208L31.6138 24.5296L28.6665 21.6324H23.2375V21.6321Z",fill:"#E34807"}),D("path",{d:"M-0.00195312 29.3328L2.60875 19.1947H8.22284L8.2434 24.5278L15.9876 26.519L18.2595 32.6414L17.0916 33.9897L11.191 29.3307H-0.00195312V29.3328ZM39.8595 29.3328L37.2488 19.1947H31.6344L31.6138 24.5278L23.8702 26.519L21.598 32.6414L22.7657 33.9897L28.6665 29.3307H39.8595V29.3328ZM23.838 8.30444H16.0192L15.4882 14.0078L18.2597 32.6355H21.598L24.3713 14.0078L23.838 8.30444Z",fill:"#FF8D5D"}),D("path",{d:"M2.60875 0L-0.00195312 10.6234L2.60875 19.1947H8.22284L15.4859 14.0137L2.60875 0ZM14.9975 23.8438H12.4541L11.0693 25.2508L15.9893 26.515L14.9975 23.842V23.8438ZM37.2488 0L39.8595 10.6234L37.2488 19.1947H31.6344L24.3716 14.0137L37.2488 0ZM24.8637 23.8438H27.4107L28.7955 25.2526L23.8699 26.5191L24.8637 23.8418V23.8438ZM22.1857 36.1956L22.7659 33.9936L21.598 32.6453H18.2572L17.0896 33.9936L17.6696 36.1956",fill:"#661800"}),D("path",{d:"M22.1857 36.1951V39.831H17.6699V36.1951H22.1857Z",fill:"#C0C4CD"}),D("path",{d:"M11.1914 35.8131L17.672 39.8289V36.193L17.0917 33.9912L11.1914 35.8131ZM28.6649 35.8131L22.1841 39.8289V36.193L22.7644 33.9912L28.6649 35.8131Z",fill:"#E7EBF6"})]}),D("defs",{children:D("clipPath",{id:"clip0_1331_27065",children:D("rect",{width:"40",height:"40",fill:"white"})})})]})}function Hr(){return $e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"247",height:"246",viewBox:"0 0 247 246",fill:"none",children:[D("rect",{width:"247.005",height:"245.105",rx:"36",fill:"#121212"}),D("path",{d:"M89.1233 136.695V59.7551H118.481V140.524L74.5862 184.774L30.4787 140.524V107.55H59.9073V136.695L74.5862 151.303L89.1233 136.695Z",fill:"white"}),D("path",{d:"M59.8364 99.8915V59.7551H12.0414L30.4787 77.8377V99.8915H59.8364Z",fill:"#2FD7FF"}),D("path",{d:"M199.534 59.9334C202.562 60.0484 208.427 60.4824 212.031 63.6902C215.635 66.898 216.937 71.0498 216.937 73.1199V104.017L198.767 114.828L216.937 125.561V172.713C216.937 174.511 216.405 178.276 211.034 181.377C205.664 184.477 202.613 184.969 201.758 184.827H143.949C141.879 184.904 136.712 184.182 132.602 180.686C128.493 177.19 128.462 175.216 128.462 173.515V125.561L146.173 114.828L128.462 104.017V71.1268C128.462 69.721 130.109 65.7781 133.237 63.5701C137.147 60.8101 141.112 59.9334 144.409 59.9334H199.534ZM158.3 122.264V166.221H187.033V122.264H158.3ZM158.3 107.794H187.033V78.5272H158.3V107.794Z",fill:"white"})]})}function Ur(){return $e("svg",{width:"40",height:"40",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[$e("g",{clipPath:"url(#clip0_1185_7785)",children:[D("path",{d:"M14 28C21.75 28 28 21.75 28 14C28 6.25 21.75 0 14 0C6.25 0 0 6.25 0 14C0 21.75 6.25 28 14 28Z",fill:"#EB0029"}),D("path",{d:"M19.4975 8.36232L6 6L13.103 23L23 11.5311L19.4975 8.36232ZM19.2801 9.4034L21.3449 11.27L15.6975 12.2424L19.2801 9.4034ZM14.4714 12.0479L8.51876 7.35252L18.247 9.05524L14.4714 12.0479ZM14.0467 12.8782L13.0765 20.5098L7.84385 7.98492L14.0467 12.8782ZM14.9454 13.2835L21.1983 12.2064L14.026 20.518L14.9454 13.2835Z",fill:"white"})]}),D("defs",{children:D("clipPath",{id:"clip0_1185_7785",children:D("rect",{width:"28",height:"28",fill:"white"})})})]})}function $r(){return D("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:D("path",{d:"M18 6L6 18M6 6L18 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}var uo={cross_embedded:{id:"cross_embedded",name:"CROSSx with Social",description:"Sign in with Google or Apple",icon:Mt,featured:!0},cross_wallet:{id:"cross_wallet",name:"CROSSx",description:"App approval is required",icon:Mt},cross_extension:{id:"cross_extension",name:"CROSSx Extension",description:"Browser extension approval is required",icon:Mt,rdns:"nexus.to.crosswallet.desktop",installUrl:"https://chromewebstore.google.com/detail/crossx/nninbdadmocnokibpaaohnoepbnpdgcg",visibility:"desktop-only"},metamask:{id:"metamask",name:"MetaMask",description:"Browser extension approval is required",icon:Vr,rdns:"io.metamask"},verse8:{id:"verse8",name:"Verse8 Wallet",description:"Optimized for Forge and Verse8 ecosystem",icon:Hr,badge:"For Forge"},tron:{id:"tron",name:"Tron Wallet",description:"Dedicated for Tron-based transactions and assets",icon:Ur,badge:"For SHOP"}};function qe(e){return uo[e]}import{Fragment as Di,jsx as L,jsxs as z}from"react/jsx-runtime";function qr({wallet:e,detected:t,onConnect:r}){let o=()=>{if(e.installUrl&&!t){window.open(e.installUrl,"_blank","noopener,noreferrer");return}r()},n=e.icon;return z("button",{type:"button",className:"wcm-wallet-item",onClick:o,children:[z("div",{className:"wcm-wallet-item-left",children:[L("div",{className:"wcm-wallet-icon",children:L(n,{})}),z("div",{className:"wcm-wallet-info",children:[z("div",{className:"wcm-wallet-name-row",children:[L("span",{className:"wcm-wallet-name",children:e.name}),e.badge&&L("span",{className:"wcm-wallet-badge",children:e.badge})]}),L("span",{className:"wcm-wallet-desc",children:e.description})]})]}),e.installUrl&&(t?L("span",{className:"wcm-installed-label",children:"Installed"}):L("span",{className:"wcm-install-btn",children:"Install"}))]})}function zr(){let{wallets:e,activeWalletIds:t,isDetected:r,close:o,isMobile:n}=tt(),c=t.filter(s=>{let i=qe(s).visibility;return!i||i==="always"?!0:i==="desktop-only"?!n:i==="mobile-only"?n:!0}),a=c.filter(s=>qe(s).featured),l=c.filter(s=>!qe(s).featured);return z(Di,{children:[z("div",{className:"wcm-header",children:[z("div",{className:"wcm-header-text",children:[L("h2",{className:"wcm-title",children:"Connect Wallet"}),L("p",{className:"wcm-subtitle",children:"Connect with one of our available wallet providers to continue."})]}),L("button",{type:"button",className:"wcm-close-btn",onClick:o,children:L($r,{})})]}),L("div",{className:"wcm-divider"}),z("div",{className:"wcm-body",children:[a.map(s=>{let i=qe(s),d=i.rdns?r(i.rdns):!1;return L(qr,{wallet:i,detected:d,onConnect:()=>{e[s]?.(),o()}},s)}),a.length>0&&l.length>0&&z("div",{className:"wcm-separator",children:[L("div",{className:"wcm-separator-line"}),L("span",{className:"wcm-separator-text",children:"or"}),L("div",{className:"wcm-separator-line"})]}),L("div",{className:"wcm-wallet-list",children:l.map(s=>{let i=qe(s),d=i.rdns?r(i.rdns):!1;return L(qr,{wallet:i,detected:d,onConnect:()=>{e[s]?.(),o()}},s)})}),z("div",{className:"wcm-help",children:[L("p",{className:"wcm-help-title",children:"Wallet not detected?"}),z("ul",{className:"wcm-help-list",children:[L("li",{children:"Ensure your wallet extension is installed and unlocked"}),L("li",{children:"Try refreshing the page"}),L("li",{children:"Some wallets may require you to first open the extension"}),L("li",{children:"You can try clicking the wallet anyway"})]})]}),L("div",{className:"wcm-divider"}),L("p",{className:"wcm-terms",children:"By connecting your wallet and accessing this service, you acknowledge and agree to be bound by the applicable terms and conditions."})]})]})}function jr({className:e}){let{isMobile:t,theme:r,portalStyle:o}=tt();return t?z(_t.Portal,{children:[L(_t.Overlay,{className:"wcm-overlay"}),z(_t.Content,{className:V("wcm-drawer-content",e),"data-theme":r,style:o,children:[L(_t.Title,{className:"wcm-sr-only",children:"Connect Wallet"}),L("div",{className:"wcm-drawer-handle"}),L("div",{className:"wcm-drawer-body",children:L(zr,{})})]})]}):z(fe.Portal,{children:[L(fe.Overlay,{className:"wcm-overlay"}),z(fe.Content,{className:V("wcm-dialog-content",e),"data-theme":r,style:o,children:[L(fe.Title,{className:"wcm-sr-only",children:"Connect Wallet"}),L("div",{className:"wcm-dialog-body",children:L(zr,{})})]})]})}R(`[data-theme=dark]{--wcm-primary: var(--cck-primary, #9b8cef);--wcm-secondary: var(--cck-secondary, #ff3aa3);--wcm-surface-bg: var(--cck-surface-bg, #202530);--wcm-surface-default: var(--cck-surface-default, #292f40);--wcm-surface-subtle: var(--cck-surface-subtle, #313b51);--wcm-border-default: var(--cck-border-default, #313b51);--wcm-border-subtle: var(--cck-border-subtle, #49556e);--wcm-texticon-primary: var(--cck-texticon-primary, #ffffff);--wcm-texticon-secondary: var(--cck-texticon-secondary, #eff0f4);--wcm-texticon-tertiary: var(--cck-texticon-tertiary, #717d97)}[data-theme=light]{--wcm-primary: var(--cck-primary, #019d92);--wcm-secondary: var(--cck-secondary, #e70077);--wcm-surface-bg: var(--cck-surface-bg, #ffffff);--wcm-surface-default: var(--cck-surface-default, rgba(18, 18, 18, .05));--wcm-surface-subtle: var(--cck-surface-subtle, rgba(18, 18, 18, .1));--wcm-border-default: var(--cck-border-default, rgba(18, 18, 18, .05));--wcm-border-subtle: var(--cck-border-subtle, rgba(18, 18, 18, .1));--wcm-texticon-primary: var(--cck-texticon-primary, #121212);--wcm-texticon-secondary: var(--cck-texticon-secondary, rgba(18, 18, 18, .7));--wcm-texticon-tertiary: var(--cck-texticon-tertiary, rgba(18, 18, 18, .5))}
|
|
12
12
|
`);R(`.wcm-overlay{position:fixed;inset:0;z-index:100000;background:#0009}.wcm-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100001;width:var(--wcm-dialog-width, 480px);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;background:var(--wcm-surface-bg);border:4px solid var(--wcm-border-default);border-radius:24px;outline:none;animation:wcm-dialog-show .2s ease-out;font-family:inherit}.wcm-dialog-content[data-state=closed]{animation:wcm-dialog-hide .15s ease-in}.wcm-dialog-body,.wcm-drawer-body{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}[data-theme=light] .wcm-dialog-body,[data-theme=light] .wcm-drawer-body{scrollbar-color:rgba(0,0,0,.12) transparent}.wcm-dialog-body::-webkit-scrollbar,.wcm-drawer-body::-webkit-scrollbar{width:4px}.wcm-dialog-body::-webkit-scrollbar-track,.wcm-drawer-body::-webkit-scrollbar-track{background:transparent}.wcm-dialog-body::-webkit-scrollbar-thumb,.wcm-drawer-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.wcm-dialog-body::-webkit-scrollbar-thumb:hover,.wcm-drawer-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .wcm-dialog-body::-webkit-scrollbar-thumb,[data-theme=light] .wcm-drawer-body::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .wcm-dialog-body::-webkit-scrollbar-thumb:hover,[data-theme=light] .wcm-drawer-body::-webkit-scrollbar-thumb:hover{background:#0003}.wcm-drawer-content{position:fixed;bottom:0;left:0;right:0;z-index:100001;width:100%;max-width:var(--wcm-drawer-max-width, none);min-width:var(--wcm-drawer-min-width, 0);max-height:85dvh;margin:0 auto;display:flex;flex-direction:column;background:var(--wcm-surface-bg);border-top-left-radius:24px;border-top-right-radius:24px;outline:none;font-family:inherit;box-sizing:border-box}.wcm-drawer-content[data-vaul-drawer-direction=right]{inset:0 0 0 auto;max-height:100vh;width:var(--wcm-drawer-max-width, 400px);max-width:100vw;border-radius:24px 0 0 24px}.wcm-drawer-content[data-vaul-drawer-direction=left]{inset:0 auto 0 0;max-height:100vh;width:var(--wcm-drawer-max-width, 400px);max-width:100vw;border-radius:0 24px 24px 0}.wcm-drawer-content[data-vaul-drawer-direction=top]{inset:0 0 auto;border-radius:0 0 24px 24px}.wcm-drawer-handle{width:60px;height:4px;border-radius:999px;background:var(--wcm-border-subtle);margin:12px auto 8px;flex-shrink:0}.wcm-drawer-content[data-vaul-drawer-direction=left] .wcm-drawer-handle,.wcm-drawer-content[data-vaul-drawer-direction=right] .wcm-drawer-handle{display:none}.wcm-dialog-body,.wcm-drawer-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.wcm-drawer-body{overscroll-behavior:contain}.wcm-header{position:relative;display:flex;flex-direction:column;align-items:center;padding:24px 24px 20px}.wcm-header-text{display:flex;flex-direction:column;gap:4px;width:100%;padding-right:48px}.wcm-title{font-family:inherit;font-weight:600;font-size:22px;line-height:1.3;color:var(--wcm-texticon-primary);margin:0}.wcm-subtitle{font-family:inherit;font-weight:400;font-size:14px;line-height:1.3;color:var(--wcm-texticon-secondary);margin:0}.wcm-close-btn{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:999px;background:transparent;color:var(--wcm-texticon-primary);cursor:pointer;padding:0}.wcm-close-btn:hover{color:var(--wcm-texticon-secondary)}.wcm-divider{width:100%;height:1px;background:var(--wcm-border-default);border:none;margin:0}.wcm-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px}.wcm-wallet-item{display:flex;align-items:center;gap:8px;width:100%;padding:16px;background:var(--wcm-surface-default);border:1px solid transparent;border-radius:20px;cursor:pointer;text-align:left;transition:border-color .15s;font-family:inherit}.wcm-wallet-item:hover{border-color:var(--wcm-primary)}.wcm-wallet-item-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.wcm-wallet-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.wcm-wallet-icon>svg{width:40px;height:40px}.wcm-wallet-info{display:flex;flex-direction:column;justify-content:center;min-width:0}.wcm-wallet-name-row{display:flex;align-items:center;gap:8px}.wcm-wallet-name{font-family:inherit;font-weight:700;font-size:18px;line-height:1.3;color:var(--wcm-texticon-primary);white-space:nowrap}.wcm-wallet-desc{font-family:inherit;font-weight:400;font-size:14px;line-height:1.4;color:var(--wcm-texticon-secondary)}.wcm-wallet-badge{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 8px;border:1px solid var(--wcm-secondary);border-radius:999px;font-family:inherit;font-weight:700;font-size:12px;line-height:1.3;color:var(--wcm-secondary);white-space:nowrap}.wcm-install-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;background:var(--wcm-primary);border-radius:12px;font-family:inherit;font-weight:600;font-size:14px;line-height:1.4;color:var(--wcm-surface-bg);white-space:nowrap}.wcm-installed-label{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;background:var(--wcm-surface-subtle);border-radius:12px;font-family:inherit;font-weight:600;font-size:14px;line-height:1.4;color:var(--wcm-texticon-secondary);white-space:nowrap}.wcm-separator{display:flex;align-items:center;gap:16px;width:100%}.wcm-separator-line{flex:1;height:1px;background:var(--wcm-border-default)}.wcm-separator-text{font-family:inherit;font-weight:400;font-size:16px;line-height:1.3;color:var(--wcm-texticon-tertiary);white-space:nowrap}.wcm-wallet-list{display:flex;flex-direction:column;gap:8px}.wcm-help{display:flex;flex-direction:column;gap:4px}.wcm-help-title{font-family:inherit;font-weight:600;font-size:14px;line-height:1.4;color:var(--wcm-texticon-primary);margin:0}.wcm-help-list{list-style:none;padding:0;margin:0}.wcm-help-list li{display:flex;align-items:center;gap:8px;font-family:inherit;font-weight:400;font-size:14px;line-height:1.4;color:var(--wcm-texticon-secondary)}.wcm-help-list li:before{content:"";display:block;flex-shrink:0;width:4px;height:4px;min-width:4px;min-height:4px;background:var(--wcm-texticon-secondary)}.wcm-terms{font-family:inherit;font-weight:400;font-size:12px;line-height:1.3;color:var(--wcm-texticon-secondary);text-align:center;margin:0}.wcm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
|
|
13
13
|
`);R(`@keyframes wcm-overlay-show{0%{opacity:0}to{opacity:1}}@keyframes wcm-overlay-hide{0%{opacity:1}to{opacity:0}}@keyframes wcm-dialog-show{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes wcm-dialog-hide{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.96)}}
|
|
14
|
-
`);import{jsx as ot}from"react/jsx-runtime";function Fi({wallets:e,theme:t="dark",mobileBreakpoint:r=768,drawerDirection:o="bottom",dialogWidth:n,drawerMaxWidth:c,drawerMinWidth:
|
|
14
|
+
`);import{jsx as ot}from"react/jsx-runtime";function Fi({wallets:e,theme:t="dark",mobileBreakpoint:r=768,drawerDirection:o="bottom",dialogWidth:n,drawerMaxWidth:c,drawerMinWidth:a,style:l,open:s,onOpenChange:i,children:d}){let m=_e(`(max-width: ${r}px)`),[f,w]=se.useState(!1),b=s!==void 0,u=b?s:f,g=se.useCallback(v=>{b||w(v),i?.(v)},[b,i]),C=se.useCallback(()=>g(!1),[g]),{isDetected:T}=Et(),E=se.useMemo(()=>Object.keys(e),[e]),N=se.useMemo(()=>{let v={};return n&&(v["--wcm-dialog-width"]=n),c&&(v["--wcm-drawer-max-width"]=c),a&&(v["--wcm-drawer-min-width"]=a),{...v,...l}},[n,c,a,l]),k=se.useMemo(()=>({theme:t,isMobile:m,open:u,setOpen:g,close:C,wallets:e,activeWalletIds:E,isDetected:T,portalStyle:N}),[t,m,u,g,C,e,E,T,N]),y=ot("div",{"data-theme":t,style:N,children:d});return m?ot(Tt.Provider,{value:k,children:ot(Ai.Root,{direction:o,open:u,onOpenChange:g,noBodyStyles:!0,children:y},"drawer")}):ot(Tt.Provider,{value:k,children:ot(Gr.Root,{open:u,onOpenChange:g,children:y})})}var Zr=Object.assign(Fi,{Trigger:Br,Content:jr});var Bi='<svg preserveAspectRatio="none" width="100%" height="100%" overflow="visible" style="display: block;" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#c0)"><path d="M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36Z" fill="#00D5AA"/><path fill-rule="evenodd" clip-rule="evenodd" d="M18.2903 2.57169L21.3525 5.63385V10.6471L25.3058 6.69381L29.6364 11.0244L25.7226 14.9381H18.2903C16.5992 14.9381 15.2283 16.309 15.2283 18.0003C15.2283 19.6915 16.5992 21.0624 18.2903 21.0624H25.6836L29.6365 25.0154L25.3059 29.3459L21.3525 25.3925V30.3666L18.2903 33.4288L15.2283 30.3666V25.4326L11.3148 29.3459L6.98426 25.0154L10.9372 21.0624H5.92394L2.86178 18.0003L5.92394 14.9381H10.8981L6.98437 11.0244L11.3149 6.69383L15.2283 10.6071V5.63385L18.2903 2.57169Z" fill="#000"/></g><defs><clipPath id="c0"><rect width="36" height="36" fill="#fff"/></clipPath></defs></svg>',Vi='<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 28 28" fill="none"><g clip-path="url(#m0)"><path d="M26.07 26.93L20.06 25.07L15.53 27.88L12.37 27.88L7.83 25.07L1.83 26.93L0 20.53L1.83 13.44L0 7.44L1.83 0L11.21 5.81H16.69L26.07 0L27.9 7.44L26.07 13.44L27.9 20.53Z" fill="#FF5C16"/><path d="M7.83 20.54L11.96 23.8L7.83 25.07V20.54Z" fill="#FF5C16"/><path d="M20.06 20.54L15.93 23.8L20.06 25.07L20.06 20.54Z" fill="#FF5C16"/><path d="M11.63 15.14L12.78 22.85L11.19 18.56L5.77 17.17L7.83 15.14H11.63Z" fill="#E34807"/><path d="M16.27 15.14L15.12 22.85L16.71 18.56L22.13 17.17L20.07 15.14H16.27Z" fill="#E34807"/><path d="M0 20.53L1.83 13.44H5.76L5.77 17.17L11.19 18.56L12.78 22.85L11.96 23.79L7.83 20.53H0Z" fill="#FF8D5D"/><path d="M27.9 20.53L26.07 13.44H22.14L22.13 17.17L16.71 18.56L15.12 22.85L15.94 23.79L20.07 20.53H27.9Z" fill="#FF8D5D"/><path d="M16.69 5.81H11.21L10.84 9.81L12.78 22.85H15.12L17.06 9.81L16.69 5.81Z" fill="#FF8D5D"/><path d="M15.53 25.34V27.88H12.37V25.34H15.53Z" fill="#C0C4CD"/><path d="M7.83 25.07L12.37 27.88V25.34L11.96 23.79L7.83 25.07Z" fill="#E7EBF6"/><path d="M20.07 25.07L15.53 27.88V25.34L15.94 23.79L20.07 25.07Z" fill="#E7EBF6"/></g><defs><clipPath id="m0"><rect width="28" height="28" fill="#fff"/></clipPath></defs></svg>',Hi='<svg width="100%" height="100%" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.23 16.81L20 9.04L27.77 16.81L32.29 12.29L20 0L7.71 12.29L12.23 16.81Z" fill="#F3BA2F"/><path d="M9.04 20L4.52 15.48L0 20L4.52 24.52L9.04 20Z" fill="#F3BA2F"/><path d="M12.23 23.19L20 30.96L27.77 23.19L32.29 27.71L20 40L7.71 27.71L12.23 23.19Z" fill="#F3BA2F"/><path d="M35.48 24.52L40 20L35.48 15.48L30.96 20L35.48 24.52Z" fill="#F3BA2F"/><path d="M24.58 20L20 15.41L16.61 18.8L16.22 19.19L15.42 19.99L20 24.59L24.59 20L24.58 20Z" fill="#F3BA2F"/></svg>',Ui='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#FFC107" d="M43.6 20.5H42V20H24v8h11.3A12 12 0 1 1 24 12c3 0 5.8 1.2 7.9 3l5.7-5.7A20 20 0 1 0 44 24c0-1.2-.1-2.4-.4-3.5z"/><path fill="#FF3D00" d="M6.3 14.7l6.6 4.8A12 12 0 0 1 24 12c3 0 5.8 1.2 7.9 3l5.7-5.7A20 20 0 0 0 6.3 14.7z"/><path fill="#4CAF50" d="M24 44c5.2 0 10-2 13.6-5.2l-6.3-5.3A12 12 0 0 1 12.7 28l-6.5 5A20 20 0 0 0 24 44z"/><path fill="#1976D2" d="M43.6 20.5H42V20H24v8h11.3a12 12 0 0 1-4.1 5.5l6.3 5.3C41 35.7 44 30.3 44 24c0-1.2-.1-2.4-.4-3.5z"/></svg>',$i='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.53 4.08zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/></svg>';function rt(e){return`data:image/svg+xml,${encodeURIComponent(e)}`}var St=rt(Bi),Ot=rt(Vi),Wt=rt(Hi),Dt=rt(Ui),At=rt($i);import{jsx as ge,jsxs as go}from"react/jsx-runtime";function Yr({isConnecting:e,address:t,provider:r,providerName:o,accountName:n,onConnect:c,onDisconnect:a,onCopy:l,onSelectWallet:s,label:i="Connect Wallet",connectingLabel:d="Connecting...",disconnectLabel:m,className:f,theme:w="dark",env:b,showBalance:u=!0,showPortfolio:g,drawerDirection:C,modal:T,connectorId:E,style:N,sendTransaction:k}){if(e)return go("button",{type:"button",disabled:!0,className:f,style:f?void 0:{...ue.button,...ue.buttonLoading},"aria-busy":"true",children:[ge("style",{children:Gi}),ge("span",{style:ue.spinner,"aria-hidden":"true"}),d]});if(t){let y=o??ji(r),v=r?qi[r]:void 0;return go(Ue,{env:b,theme:w,drawerDirection:C,modal:T,showBalance:u,showPortfolio:g,walletAddress:t,accountName:n,connectorId:E,onSelectWallet:s,onCopyAddress:l?(S,I)=>{I&&l()}:void 0,onDisconnect:a,disconnectLabel:m,style:N,sendTransaction:k,children:[ge(Ue.Trigger,{asChild:!0,children:go("button",{type:"button",className:f,style:f?void 0:ue.connectedBtn,"aria-label":`Connected with ${y}: ${Kr(t)}`,children:[v?ge("img",{src:v,alt:"",width:20,height:20,style:ue.connectedIcon}):ge("span",{style:ue.connectedIconPlaceholder,"aria-hidden":"true"}),ge("span",{style:ue.connectedAddress,children:Kr(t)})]})}),ge(Ue.Content,{align:"end",sideOffset:8})]})}return ge("button",{type:"button",onClick:c,className:f,style:f?void 0:ue.button,children:i})}var qi={google:Dt,apple:At,cross:St,metamask:Ot,binance:Wt},zi={google:"Google",apple:"Apple",cross:"CROSSx",metamask:"MetaMask",binance:"Binance Wallet"};function ji(e){return e?zi[e]:"Wallet"}function Kr(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}var Gi="@keyframes cross-cb-spin{to{transform:rotate(360deg)}}",ue={button:{padding:"10px 24px",borderRadius:"12px",border:"none",background:"#00D5AA",color:"#000",fontWeight:700,fontSize:"14px",cursor:"pointer",display:"inline-flex",alignItems:"center",gap:"8px",transition:"opacity 0.15s",fontFamily:"inherit"},buttonLoading:{opacity:.7,cursor:"default"},spinner:{display:"inline-block",width:"14px",height:"14px",border:"2px solid #00000030",borderTopColor:"#000",borderRadius:"50%",animation:"cross-cb-spin 0.6s linear infinite"},connectedBtn:{display:"inline-flex",alignItems:"center",gap:"8px",padding:"8px 14px",borderRadius:"999px",border:"1px solid var(--wi-border-default, #2a2d3a)",background:"var(--wi-surface-default, #1e232e)",color:"var(--wi-texticon-primary, #ffffff)",fontWeight:600,fontSize:"14px",cursor:"pointer",fontFamily:"inherit"},connectedIcon:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"contain",flexShrink:0,background:"transparent"},connectedIconPlaceholder:{display:"inline-block",width:"20px",height:"20px",borderRadius:"50%",background:"var(--wi-surface-subtle, #2a2d3a)",flexShrink:0},connectedAddress:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:"13px",letterSpacing:"0.02em"}};export{At as APPLE_ICON,No as AppLauncher,So as AppLauncherContent,Eo as AppLauncherTrigger,Wt as BINANCE_ICON,ht as CONNECTOR_REGISTRY,St as CROSSX_ICON,Yr as ConnectButton,Gt as ConnectorId,Dt as GOOGLE_ICON,Ot as METAMASK_ICON,to as TOKEN_STATS_QUERY_KEY,eo as USER_BALANCE_QUERY_KEY,uo as WALLET_REGISTRY,Zr as WalletConnectModal,Ue as WalletInfo,Tr as WalletPortfolio,He as WalletPortfolioBody,gt as useGlobalMenu,De as useTokenBalance,Ae as useTokenStats,Et as useWalletDetect};
|