@liberfi.io/ui-tokens 0.1.25 → 0.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var react=require('react'),ui=require('@liberfi.io/ui'),i18n=require('@liberfi.io/i18n'),jsxRuntime=require('react/jsx-runtime'),hooks=require('@liberfi.io/hooks'),utils=require('@liberfi.io/utils'),client=require('@liberfi.io/client'),uiScaffold=require('@liberfi.io/ui-scaffold');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="0.1.
|
|
1
|
+
'use strict';var react=require('react'),ui=require('@liberfi.io/ui'),i18n=require('@liberfi.io/i18n'),jsxRuntime=require('react/jsx-runtime'),hooks=require('@liberfi.io/hooks'),utils=require('@liberfi.io/utils'),client=require('@liberfi.io/client'),uiScaffold=require('@liberfi.io/ui-scaffold');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="0.1.26");var Bs="0.1.26";function Ye({title:e,isPaused:t,extra:s,className:o}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-12 px-3 flex-none bg-content1 flex items-center justify-between gap-4 border-b border-border",o),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("h2",{className:"font-semibold",children:e}),t&&jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsxRuntime.jsx(ui.PauseIcon,{className:"w-4 h-4"}),jsxRuntime.jsx("span",{className:"text-xs hidden sm:inline",children:n("tokens.pulse.paused")})]})]}),s&&jsxRuntime.jsx("div",{className:"flex items-center gap-3",children:s})]})}function et({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui.clsx("w-full h-full px-3 py-3 overflow-hidden flex gap-3 items-center",!e&&"border-b border-border",t),children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-15 h-15 rounded-sm"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-32 h-5 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-48 h-4 rounded-md"})]})]})}function ce({token:e,enablePreview:t=true,enableSearch:s=true,showProgress:o=true,showProtocolFamily:n=true,radius:r="sm",className:p,classNames:i}){let k=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=react.useMemo(()=>n&&k,[n,k]),l=react.useMemo(()=>o&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[o,e.migrateProgress]),u=react.useMemo(()=>s&&e.image,[s,e.image]),f=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[T,h]=react.useState(false),y=react.useCallback(()=>{h(true);},[]),m=react.useCallback(()=>{h(false);},[]),c=react.useCallback(a=>{if(a.stopPropagation(),!e.image)return;let g=utils.searchImageUrl(e.image);window.open(g,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.clsx("relative justify-center items-center",p??"w-15 h-15"),children:[!l&&jsxRuntime.jsx("div",{className:ui.clsx("absolute inset-0",`rounded-${r}`,k?`bg-${k}`:"bg-bullish",i?.background)}),l&&jsxRuntime.jsx("div",{className:ui.clsx("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Js,{className:ui.clsx(k?`text-${k}`:"text-bullish",i?.progress),progress:e.migrateProgress??"0"})}),jsxRuntime.jsx("div",{className:ui.clsx("absolute inset-0 p-px flex items-center justify-center",`rounded-${r}`,k?`bg-${k}/20`:"bg-bullish/20",i?.avatarWrapper),children:jsxRuntime.jsx(qs,{token:e,radius:r,enableSearch:s,enablePreview:t,classNames:i,children:jsxRuntime.jsxs("div",{className:ui.clsx("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${r}`,T&&u&&"cursor-pointer"),onMouseEnter:y,onMouseLeave:m,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:f,className:ui.clsx("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${r}`,i?.avatar)}),T&&u&&jsxRuntime.jsx("div",{className:ui.clsx("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,i?.searchWrapper),onClick:c,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.clsx("w-6 h-6",i?.searchIcon)})})]})})}),d&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??k,placement:"bottom",closeDelay:0,children:jsxRuntime.jsx("div",{className:ui.clsx("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",`bg-${k}`,i?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${k}.svg`,className:ui.clsx("w-full h-full rounded-full bg-content1",i?.protocolFamilyIcon)})})})})]})}function qs({token:e,radius:t,enableSearch:s,enablePreview:o,classNames:n,children:r}){return react.useMemo(()=>o&&e.image,[o,e.image])?jsxRuntime.jsx(ui.StyledTooltip,{content:jsxRuntime.jsx(Qs,{token:e,radius:t,enableSearch:s,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function Qs({token:e,enableSearch:t,radius:s,classNames:o}){let n=react.useMemo(()=>t&&e.image,[t,e.image]),r=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[p,i]=react.useState(false),k=react.useCallback(()=>{i(true);},[]),d=react.useCallback(()=>{i(false);},[]),l=react.useCallback(u=>{if(u.stopPropagation(),!e.image)return;let f=utils.searchImageUrl(e.image);window.open(f,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.clsx("relative flex items-center justify-center w-60 h-60",`rounded-${s}`,p&&n&&"cursor-pointer",o?.previewWrapper),onMouseEnter:k,onMouseLeave:d,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:r,className:ui.clsx("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${s}`,o?.previewAvatar)}),p&&n&&jsxRuntime.jsx("div",{className:ui.clsx("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${s}`,o?.previewSearchWrapper),onClick:l,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.clsx("w-10 h-10",o?.previewSearchIcon)})})]})}function Js({progress:e,className:t}){let s=react.useMemo(()=>296-Number(e)*296/100,[e]);return jsxRuntime.jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsxRuntime.jsx("path",{className:`${t} opacity-40`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",d:`
|
|
2
2
|
M 76 76
|
|
3
3
|
L 6 76
|
|
4
4
|
Q 2 76 2 72
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
Q 76 2 76 6
|
|
9
9
|
L 76 72
|
|
10
10
|
Q 76 76 76 76
|
|
11
|
-
`}),jsxRuntime.jsx("path",{className:`${t} transition-all duration-300 ease-in-out`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",strokeLinecap:"round",strokeDasharray:"296",strokeDashoffset:
|
|
11
|
+
`}),jsxRuntime.jsx("path",{className:`${t} transition-all duration-300 ease-in-out`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",strokeLinecap:"round",strokeDasharray:"296",strokeDashoffset:s,d:`
|
|
12
12
|
M 76 76
|
|
13
13
|
L 6 76
|
|
14
14
|
Q 2 76 2 72
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
Q 76 2 76 6
|
|
19
19
|
L 76 72
|
|
20
20
|
Q 76 76 76 76
|
|
21
|
-
`})]})}function it({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),c=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),p=react.useCallback(()=>{s?.(e);},[s,e]),l=react.useCallback(u=>{u.stopPropagation(),c(e.address,r("tokens.copied.address"));},[c,e.address,r]),i=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),d=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),m=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),h=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),x=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[b,k]=react.useMemo(()=>{let u=Number(e.stats?.["1h"]?.buys??0),v=Number(e.stats?.["1h"]?.sells??0),w=u+v;if(w===0)return [12,12];let P=Math.round(u/w*24);return [P,24-P]},[e.stats]),f=react.useMemo(()=>{let u=new utils.SafeBigNumber(e.marketData?.marketCapInUsd);return u.lt(1e3)?"text-foreground":u.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx("div",{className:ui.clsx("w-full h-full px-3 pt-3 pb-1 overflow-hidden hover:bg-content2 cursor-pointer",!o&&"border-b border-border",n),onClick:s?p:void 0,children:jsxRuntime.jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsxRuntime.jsx(de,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,closeDelay:0,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:l,children:utils.shortAddress(e.address,4,4)})})]}),jsxRuntime.jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 overflow-hidden",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsxRuntime.jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:l,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils.formatAge(a)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:u=>u.stopPropagation(),children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:u=>u.stopPropagation(),children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:u=>u.stopPropagation(),children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:u=>u.stopPropagation(),children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.holders"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.holders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.proHolders"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.proHolders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.kolHolders"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsxRuntime.jsx(Z,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:i}),jsxRuntime.jsx(Z,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:d}),jsxRuntime.jsx(Z,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:m}),jsxRuntime.jsx(Z,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:h}),jsxRuntime.jsx(Z,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:x}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.clsx("text-base font-medium leading-none",f),children:utils.formatAmountUSD3(e.marketData?.marketCapInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.pulse.vol")}),jsxRuntime.jsx("span",{className:"text-base font-medium leading-none text-foreground",children:utils.formatAmountUSD3(e.stats?.["1h"]?.volumesInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.pulse.txs")}),jsxRuntime.jsx("span",{className:"text-xs leading-none text-foreground",children:utils.formatAmount(e.stats?.["1h"]?.trades)})]}),jsxRuntime.jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsxRuntime.jsx("div",{className:"h-1 bg-bullish",style:{width:`${b}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${k}px`}})]})]})]})]})})}function Z({icon:e,value:t,tooltip:o,warning:s}){return jsxRuntime.jsx(ui.StyledTooltip,{content:o,closeDelay:0,children:jsxRuntime.jsxs("div",{className:ui.clsx("px-2 py-0.5 flex items-center gap-1 bg-background rounded-full text-xs",s?"text-danger-500":"text-primary"),children:[e,jsxRuntime.jsx("span",{children:t})]})})}var Ts=124,dt=10;function xs({index:e,style:t,data:o,skeletonCount:s,renderItemAction:n,onSelectToken:r}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(it,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Ze,{isLast:e===s-1})})}function J({title:e,tokens:t,isLoading:o,itemHeight:s=Ts,renderHeaderExtra:n,renderItemAction:r,onSelectToken:c,onPauseChange:a,className:p}){let l=o||!t?void 0:t,i=l?l.length:dt,d=react.useMemo(()=>({data:l,skeletonCount:dt,renderItemAction:r,onSelectToken:c}),[l,r,c]),[m,h]=react.useState(false),x=react.useCallback(()=>{h(true),a?.(true);},[a]),b=react.useCallback(()=>{h(false),a?.(false);},[a]);return jsxRuntime.jsxs("div",{className:ui.clsx("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",p),onMouseEnter:x,onMouseLeave:b,children:[jsxRuntime.jsx(Xe,{title:e,isPaused:m,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(ui.List,{className:"h-full w-full",rowCount:i,rowHeight:s,rowComponent:xs,rowProps:d,overscanCount:5})})]})}function ct(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var vs=["1m","5m","15m","30m","1h","4h","24h"];function B(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of vs)t[s]&&(o[s]=e[s]?ct(e[s],t[s]):t[s]);return o}function W(e,t){return t?e?ct(e,t):t:e}var Cs=80;function Ss(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function kt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Cs)}function ht({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[c,a]=react.useState(true);react.useEffect(()=>{e!==r.current&&(a(true),r.current=e);},[e]);let[p,l]=react.useState([]),{data:i,isPending:d}=client.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(l(k=>{let f=n.current,u=[...k];for(let v of i){let w=u.findIndex(P=>P.address===v.address);w>=0?u[w]={...u[w],...v,marketData:W(u[w].marketData,v.marketData),stats:B(u[w].stats,v.stats)}:f||u.push(v);}return f?u:kt(u)}),a(false));},[i]);let m=react.useCallback(k=>{n.current||l(f=>{let u=[...f];for(let v of k)u.some(P=>P.address===v.address)||u.push(Ss(v));return kt(u)});},[]);client.useNewTokensSubscription({chain:e},m);let h=react.useCallback(k=>{l(f=>{let u=[...f],v=false;for(let w of k){let P=u.findIndex(Ne=>Ne.address===w.address);P>=0&&(v=true,u[P]={...u[P],name:w.name??u[P].name,symbol:w.symbol??u[P].symbol,decimals:w.decimals??u[P].decimals,image:w.image??u[P].image,description:w.description??u[P].description,socialMedias:w.socialMedias??u[P].socialMedias,launchedFrom:w.launchedFrom??u[P].launchedFrom,migratedTo:w.migratedTo??u[P].migratedTo,createdAt:w.createdAt??u[P].createdAt});}return v?u:f});},[]);client.useNewTokensBasicSubscription({chain:e},h);let x=react.useCallback(k=>{l(f=>{let u=[...f],v=false;for(let w of k){let P=u.findIndex(Ne=>Ne.address===w.address);P>=0&&(v=true,u[P]={...u[P],stats:B(u[P].stats,w.stats),marketData:W(u[P].marketData,w.marketData)});}return v?u:f});},[]);client.useNewTokensDataSubscription({chain:e},x);let b=react.useMemo(()=>d||c,[d,c]);return {tokens:p,isLoading:b}}function bi({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,a]=react.useState(false),{tokens:p,isLoading:l}=ht({chain:e,isPaused:c}),i=react.useCallback(d=>{a(d);},[]);return jsxRuntime.jsx(J,{title:t,tokens:p,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function vt({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[c,a]=react.useState(true);react.useEffect(()=>{e!==r.current&&(a(true),r.current=e);},[e]);let[p,l]=react.useState([]),{data:i,isPending:d}=client.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(l(x=>{let b=n.current,k=[...x];for(let f of i){let u=k.findIndex(v=>v.address===f.address);u>=0?k[u]={...k[u],...f,marketData:W(k[u].marketData,f.marketData),stats:B(k[u].stats,f.stats)}:b||k.unshift(f);}return k}),a(false));},[i]);let m=react.useCallback(x=>{l(b=>{let k=[...b],f=false;for(let u of x){let v=k.findIndex(w=>w.address===u.address);v>=0&&(f=true,k[v]={...k[v],stats:B(k[v].stats,u.stats),marketData:W(k[v].marketData,u.marketData)});}return f?k:b});},[]);client.useMigratedTokensDataSubscription({chain:e},m);let h=react.useMemo(()=>d||c,[d,c]);return {tokens:p,isLoading:h}}function Mi({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,a]=react.useState(false),{tokens:p,isLoading:l}=vt({chain:e,isPaused:c}),i=react.useCallback(d=>{a(d);},[]);return jsxRuntime.jsx(J,{title:t,tokens:p,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function Ws(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function Ct({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[c,a]=react.useState(true);react.useEffect(()=>{e!==r.current&&(a(true),r.current=e);},[e]);let[p,l]=react.useState([]),{data:i,isPending:d}=client.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(l(x=>{let b=n.current,k=[...x];for(let f of i){let u=k.findIndex(v=>v.address===f.address);u>=0?k[u]={...k[u],...f,marketData:W(k[u].marketData,f.marketData),stats:B(k[u].stats,f.stats)}:b||k.push(f);}return b?k:Ws(k)}),a(false));},[i]);let m=react.useCallback(x=>{l(b=>{let k=[...b],f=false;for(let u of x){let v=k.findIndex(w=>w.address===u.address);v>=0&&(f=true,k[v]={...k[v],stats:B(k[v].stats,u.stats),marketData:W(k[v].marketData,u.marketData)});}return f?k:b});},[]);client.useFinalStretchTokensDataSubscription({chain:e},m);let h=react.useMemo(()=>d||c,[d,c]);return {tokens:p,isLoading:h}}function Ki({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,a]=react.useState(false),{tokens:p,isLoading:l}=Ct({chain:e,isPaused:c}),i=react.useCallback(d=>{a(d);},[]);return jsxRuntime.jsx(J,{title:t,tokens:p,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function dl({onSearch:e,onCancel:t}){let{t:o}=i18n.useTranslation(),{isDesktop:s,isMobile:n}=ui.useScreen(),{onOpen:r,onClose:c}=uiScaffold.useAsyncModal("search_tokens"),a=react.useCallback(()=>{e?e():r();},[e,r]),p=react.useCallback(()=>{t?t():c();},[t,c]);return react.useEffect(()=>{let l=i=>{let d=document.activeElement,m=!!d&&(d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.getAttribute("contenteditable")==="true");i.key==="/"&&!m&&(i.preventDefault(),a()),i.key==="Escape"&&(i.preventDefault(),p());};return window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l);}},[a,p]),jsxRuntime.jsx(ui.StyledButton,{size:"sm",radius:"full",isIconOnly:!s,onPress:a,variant:n?"flat":"bordered",startContent:s?jsxRuntime.jsx(ui.SearchIcon,{}):void 0,endContent:s?jsxRuntime.jsx(ui.Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:ui.clsx(s&&"pl-3 pr-1.5 text-neutral"),children:s?o("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{})})}function Mt({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[c,a]=react.useState(e?.join(", ")??""),[p,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(m=>{let h=ue(m);return h===void 0&&e===void 0?m:h===void 0?e?.join(", ")??"":e===void 0?"":h.join("")===e.join("")?m:e.join(", ")});},[e]),react.useEffect(()=>{l(m=>{let h=ue(m);return h===void 0&&t===void 0?m:h===void 0?t?.join(", ")??"":t===void 0?"":h.join("")===t.join("")?m:t.join(", ")});},[t]);let i=react.useCallback(m=>{a(m),o?.(ue(m));},[o]),d=react.useCallback(m=>{l(m),s?.(ue(m));},[s]);return jsxRuntime.jsxs("div",{className:ui.clsx("grid grid-cols-2 gap-3 px-4",n),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:c,onValueChange:i})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:p,onValueChange:d})]})]})}function ue(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Bt({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(t);react.useEffect(()=>{c(t);},[t]);let a=react.useMemo(()=>e.every(i=>r.includes(i)),[e,r]),p=react.useCallback(()=>{if(a){let i=[];c(i),o?.(i);}else {let i=[...e];c(i),o?.(i);}},[e,o,a]),l=react.useCallback(i=>()=>{if(r.includes(i)){let d=r.filter(m=>m!==i);c(d),o?.(d);}else {let d=[...r,i];c(d),o?.(d);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.StyledButton,{variant:"light",color:"content3",size:"xs",radius:"full",onPress:p,children:n(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(i=>jsxRuntime.jsx(ui.StyledButton,{variant:"bordered",size:"xs",radius:"full",className:ui.clsx("w-fit",`text-${i}`,`bg-${i}/5`,`border border-${i}`,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(i)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${i}.svg`,alt:utils.formatTokenProtocolName(i)}),onPress:l(i),children:utils.formatTokenProtocolName(i)},i))})]})}function H({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(o?De(o).min:NaN),[a,p]=react.useState(o?De(o).max:NaN);react.useEffect(()=>{if(o===void 0)c(NaN),p(NaN);else {let{min:d,max:m}=De(o);c(d),p(m);}},[o]);let l=react.useCallback(d=>{c(d),s?.(_t(t,d,a));},[t,s,a]),i=react.useCallback(d=>{p(d),s?.(_t(t,r,d));},[t,s,r]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:e}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ui.StyledNumberInput,{value:r,onValueChange:l,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:i,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function De(e){if(e.operator==="between"){let[t,o]=e.value;return {min:t,max:o}}return e.operator==="gte"?{min:e.value,max:NaN}:e.operator==="lte"?{min:NaN,max:e.value}:{min:NaN,max:NaN}}function _t(e,t,o){if(!(isNaN(t)&&isNaN(o)))return isNaN(t)?{field:e,operator:"lte",value:o}:isNaN(o)?{field:e,operator:"gte",value:t}:{field:e,operator:"between",value:[t,o]}}function zt({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let c=react.useCallback(a=>p=>{if(p===void 0){let l=(n??[]).filter(i=>i.field!==a);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(n??[]).filter(i=>i.field!==a),p];r(l),t?.(l);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-4",o),children:[jsxRuntime.jsx(H,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:n?.find(a=>a.field==="holders"),onChange:c("holders")}),jsxRuntime.jsx(H,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:c("top10Ratio")}),jsxRuntime.jsx(H,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:c("top100Ratio")}),jsxRuntime.jsx(H,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:c("creatorsRatio")})]})}function jt({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(t);react.useEffect(()=>{c(t);},[t]);let a=react.useCallback(p=>l=>{if(l===void 0){let i=(r??[]).filter(d=>d.field!==p);i=i.length>0?i:void 0,c(i),o?.(i);}else {let i=[...(r??[]).filter(d=>d.field!==p),l];c(i),o?.(i);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-4",s),children:[jsxRuntime.jsx(H,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(p=>p.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(H,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(p=>p.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(H,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:r?.find(p=>p.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(H,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:r?.find(p=>p.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Yt({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState("audits"),[a,p]=react.useState(t);react.useEffect(()=>{p(t);},[t]);let l=react.useCallback(m=>{p(m),o?.(m);},[o]),i=react.useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(h=>m.includes(h.field))?.length??0},[a]),d=react.useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(h=>m.includes(h.field)).length??0},[a,e]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs(ui.StyledTabs,{variant:"light",radius:"full",size:"sm",selectedKey:r,onSelectionChange:c,children:[jsxRuntime.jsx(ui.Tab,{title:i===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:i,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:d===0?n("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:d,shape:"circle",children:n("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(zt,{values:a,onValuesChange:l,className:ui.clsx({hidden:r!=="audits"})}),jsxRuntime.jsx(jt,{values:a,onValuesChange:l,resolution:e,className:ui.clsx({hidden:r!=="metrics"})})]})}function ve({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,c]=react.useState(eo(o?.filters,e));react.useEffect(()=>{c(eo(o?.filters,e));},[o?.filters,e]);let[a,p]=react.useState(o?.keywords);react.useEffect(()=>{p(o?.keywords);},[o?.keywords]);let[l,i]=react.useState(o?.excludeKeywords);react.useEffect(()=>{i(o?.excludeKeywords);},[o?.excludeKeywords]);let[d,m]=react.useState(o?.filters);react.useEffect(()=>{m(o?.filters);},[o?.filters]);let h=react.useCallback(f=>{c(f),s?.(ye(e,f,a,l,d));},[e,a,l,d,s]),x=react.useCallback(f=>{p(f),s?.(ye(e,r,f,l,d));},[e,r,l,d,s]),b=react.useCallback(f=>{i(f),s?.(ye(e,r,a,f,d));},[e,r,a,d,s]),k=react.useCallback(f=>{m(f),s?.(ye(e,r,a,l,f));},[e,r,a,l,s]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Bt,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:h}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(Mt,{keywords:a,excludeKeywords:l,onKeywordsChange:x,onExcludeKeywordsChange:b}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Yt,{resolution:t,values:d,onValuesChange:k})]})}function eo(e,t){let o=e?.find(s=>s.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function ye(e,t,o,s,n){let r=n?[...n.filter(c=>c.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&r.length===0?void 0:{keywords:o,excludeKeywords:s,filters:r.length>0?r:void 0}}function md({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:c,onClose:a,onOpenChange:p}=ui.useDisclosure(),[l,i]=react.useState(o),d=react.useCallback(()=>{i(void 0);},[]),m=react.useCallback(()=>{s?.(l),a();},[l,s,a]);react.useEffect(()=>{i(o);},[r,o]);let h=react.useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.StyledButton,{color:"content2",size:"sm",radius:"full",className:"font-bold text-sm",startContent:h?jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:"",shape:"circle",children:jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"})}),endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"data-[open=true]:-rotate-180 transition-transform flex-none","data-open":r}),onPress:c,children:n("tokens.listHeader.filter")}),jsxRuntime.jsx(ui.StyledModal,{isOpen:r,onOpenChange:p,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui.ModalContent,{children:[jsxRuntime.jsx(ui.ModalHeader,{children:n("tokens.filters.modal.title")}),jsxRuntime.jsx(ui.ModalBody,{children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(ve,{protocols:e,resolution:t,filters:l,onFiltersChange:i,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{children:jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:d,children:n("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:m,children:n("common.apply")})]})})]})})]})}function vd({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:c,onClose:a,onOpenChange:p}=ui.useDisclosure(),[l,i]=react.useState(o),d=react.useCallback(()=>{i(void 0);},[]),m=react.useCallback(()=>{s?.(l),a();},[l,s,a]);react.useEffect(()=>{i(o);},[c,o]);let h=react.useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:c,onOpenChange:p,children:[jsxRuntime.jsx(ui.PopoverTrigger,{children:jsxRuntime.jsx(ui.StyledButton,{color:"content2",size:"sm",radius:"full",className:"font-bold text-sm",startContent:h?jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:"",shape:"circle",children:jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"})}),endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"data-[open=true]:-rotate-180 transition-transform flex-none","data-open":c}),children:r("tokens.listHeader.filter")})}),jsxRuntime.jsx(ui.PopoverContent,{children:jsxRuntime.jsxs("div",{className:"w-md py-4 px-0 flex flex-col gap-4",children:[jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120",children:jsxRuntime.jsx(ve,{protocols:e,resolution:t,filters:l,onFiltersChange:i})}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:d,children:r("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:m,children:r("common.apply")})]})]})})]})}function Ld({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),n=react.useCallback(r=>{t?.(r);},[t]);return jsxRuntime.jsx(ui.StyledTabs,{variant:"primaryPlain",radius:"lg",selectedKey:e,onSelectionChange:n,"aria-label":"Select Resolution",children:o.map(r=>jsxRuntime.jsx(ui.Tab,{title:s(`common.resolution.${r}`)},r))})}function lo({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>o!==void 0&&new utils.SafeBigNumber(o).gte(.1),[o]),n=react.useMemo(()=>o===void 0||new utils.SafeBigNumber(o).lt(.05),[o]);return jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.bluechip.explained"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui.HorsePowerHighIcon,{}),n&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!s&&!n&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.clsx(s&&"text-bullish",!s&&!n&&"text-bearish",o===void 0&&"text-neutral"),children:utils.formatPercent(o)})]})})}function co({token:e}){let t=ui.useCopyToClipboard(),{t:o}=i18n.useTranslation(),s=react.useCallback(r=>{r.preventDefault(),r.stopPropagation(),t(e.address,o("tokens.copied.address"));},[t,e.address,o]),n=hooks.useTickAge(e.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(de,{token:e,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-neutral hover:text-primary-200 cursor-pointer",onClick:s,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:utils.formatAge(n)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}function mo({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.holders,[e.marketData?.holders]),s=react.useMemo(()=>e.marketData?.proHolders,[e.marketData?.proHolders]),n=react.useMemo(()=>e.marketData?.kolHolders,[e.marketData?.kolHolders]),r=react.useMemo(()=>e.marketData?.devHoldingsRatio,[e.marketData?.devHoldingsRatio]),c=react.useMemo(()=>new utils.SafeBigNumber(r).gte(.1),[r]),a=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),p=react.useMemo(()=>new utils.SafeBigNumber(a).gte(.1),[a]),l=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(l).gte(.1),[l]),d=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),m=react.useMemo(()=>new utils.SafeBigNumber(d).gte(.1),[d]),h=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),x=react.useMemo(()=>new utils.SafeBigNumber(h).gte(.1),[h]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex gap-2 justify-start items-center",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.holders"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),variant:"flat",size:"sm",color:o?"primary":"default",children:utils.formatAmount(o)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.proHolders"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),variant:"flat",size:"sm",color:s?"primary":"default",children:utils.formatAmount(s)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.kolHolders"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),variant:"flat",size:"sm",color:n?"primary":"default",children:utils.formatAmount(n)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.top10HoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:14,height:14}),variant:"flat",size:"sm",color:p?"danger":a===void 0?"default":"primary",children:utils.formatPercent(a)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.devHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.CookIcon,{width:13,height:13}),variant:"flat",size:"sm",color:c?"danger":r===void 0?"default":"primary",children:utils.formatPercent(r)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.sniperHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.SniperIcon,{width:13,height:13}),variant:"flat",size:"sm",color:i?"danger":l===void 0?"default":"primary",children:utils.formatPercent(l)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.insiderHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.RatIcon,{width:13,height:13}),variant:"flat",size:"sm",color:m?"danger":d===void 0?"default":"primary",children:utils.formatPercent(d)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.bundleHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.BundlesIcon,{width:13,height:13}),variant:"flat",size:"sm",color:x?"danger":h===void 0?"default":"primary",children:utils.formatPercent(h)})})]})]})}function po({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function uo({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function ho({token:e,resolution:t}){let o=react.useMemo(()=>e.marketData?.priceInUsd,[e]),s=react.useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),n=react.useMemo(()=>s?new utils.SafeBigNumber(s).abs().toString():void 0,[s]),r=react.useMemo(()=>s&&new utils.SafeBigNumber(s).gte(0),[s]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatPriceUSD(o)}),jsxRuntime.jsxs("span",{className:ui.clsx("inline-flex gap-1 items-center text-xs",r?"text-bullish":"text-bearish"),children:[r?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(n)})]})]})}function To({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=react.useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),n=react.useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(n)})]})]})}function yo({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=react.useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),n=react.useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(n)})]})]})}function bo({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=react.useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),n=react.useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountUSD(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountUSD(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountUSD(n)})]})]})}var wo=5;function Po({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:wo}).map((o,s)=>jsxRuntime.jsx(qn,{rowHeight:e,hasBorderBottom:s!==wo-1,hasActions:t},s))})}function qn({rowHeight:e,hasBorderBottom:t,hasActions:o}){return jsxRuntime.jsxs("div",{className:ui.clsx("relative flex items-center","[&>div]:first:sm:pl-6 [&>div]:last:sm:pr-6",t&&"after:content-[''] after:absolute after:left-0 after:bottom-0",t&&"after:w-full after:h-px after:bg-border/50"),style:{height:`${e}px`},children:[jsxRuntime.jsx(Qn,{}),jsxRuntime.jsx(Jn,{}),jsxRuntime.jsx(Gn,{}),jsxRuntime.jsx(Xn,{}),jsxRuntime.jsx(Yn,{}),jsxRuntime.jsx(Zn,{}),jsxRuntime.jsx(ea,{}),jsxRuntime.jsx(ta,{}),jsxRuntime.jsx(oa,{}),o&&jsxRuntime.jsx(sa,{})]})}function Qn(){return jsxRuntime.jsxs("div",{className:"w-56 sm:w-81 px-3 h-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-10 h-10 sm:w-16 sm:h-16 flex-none rounded-md"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-32 sm:w-40 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-3.5 rounded-md"})})]})]})}function Jn(){return jsxRuntime.jsxs("div",{className:"w-23.5 sm:w-36 h-full px-3 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function Gn(){return jsxRuntime.jsx("div",{className:"w-23.5 sm:w-36 h-full px-3 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-18 sm:w-24 h-3 sm:h-4 rounded-md"})})}function Xn(){return jsxRuntime.jsx("div",{className:"w-23.5 sm:w-36 h-full px-3 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-18 sm:w-24 h-3 sm:h-4 rounded-md"})})}function Yn(){return jsxRuntime.jsxs("div",{className:"w-31.5 sm:w-36 h-full px-3 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function Zn(){return jsxRuntime.jsxs("div",{className:"w-31.5 sm:w-36 h-full px-3 py-2 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function ea(){return jsxRuntime.jsxs("div",{className:"w-31.5 sm:w-36 h-full px-3 py-2 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function ta(){return jsxRuntime.jsx("div",{className:"w-32 sm:w-36 h-full px-3 py-2 flex flex-col gap-1 justify-center items-start",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-26 sm:w-30 h-3 sm:h-4 rounded-md"})})}function oa(){return jsxRuntime.jsxs("div",{className:"w-51 sm:w-56 h-full px-3 py-2 flex gap-1.5 justify-start items-center",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"})]})]})}function sa(){return jsxRuntime.jsx("div",{className:"w-31 sm:w-36 h-full px-3 py-2",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-25 sm:w-30 h-3 sm:h-4 rounded-md"})})}function X({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:c,height:a=600,itemHeight:p=88,itemHeightMobile:l=72,className:i}){let{isMobile:d}=ui.useScreen(),{t:m}=i18n.useTranslation(),h=react.useCallback(f=>u=>{u.preventDefault(),u.stopPropagation(),n?.(f);},[n]),[x,b]=react.useState(r??{});react.useEffect(()=>{b(r??{});},[r]);let k=react.useCallback(f=>u=>{let v={[f]:u};b(v),c?.(v);},[c]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.clsx("h-full mx-auto",i??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:a,rowHeight:d?l:p,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.token"),width:d?224:320,children:m("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:x.price,onSortChange:k("price"),children:m("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:x[`priceChange${t}`],onSortChange:k(`priceChange${t}`),children:m("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:x.marketCap,onSortChange:k("marketCap"),children:m("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:x.tvl,onSortChange:k("tvl"),children:m("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:x[`volumes${t}`],onSortChange:k(`volumes${t}`),children:m("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:x[`trades${t}`],onSortChange:k(`trades${t}`),children:m("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:x[`traders${t}`],onSortChange:k(`traders${t}`),children:m("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.bluechip"),width:128,children:m("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.tokenInfo"),width:308,children:m("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.actions"),width:124,align:"end",children:m("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsxRuntime.jsx(Po,{rowHeight:d?l:p,hasActions:!!s}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:m("common.empty")})]}),children:f=>jsxRuntime.jsx(ui.TableRow,{onClick:n?h(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(co,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ho,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(uo,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(po,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(bo,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(yo,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(To,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(lo,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(mo,{token:f,resolution:t})},"tokenInfo"),s?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(s,{token:f,resolution:t})},"actions"):void 0].filter(Boolean)},f.address)})]})}function Io({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[c,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[p,l]=react.useState([]),{data:i,isPending:d}=client.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(l(i),a(false));},[i]);let m=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:p,isLoading:m}}function im({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:a,className:p}){let[l,i]=react.useState(),d=react.useMemo(()=>{let x=Object.keys(l??{})[0],b=l?.[x];return {...o,...x&&b?{sortBy:x,sortDirection:b}:void 0}},[o,l]),{tokens:m,isLoading:h}=Io({chain:e,resolution:t,options:d});return jsxRuntime.jsx(X,{tokens:m,isLoading:h,resolution:t,height:r,itemHeight:c,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:i,className:p})}function Mo({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[c,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[p,l]=react.useState([]),{data:i,isPending:d}=client.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(l(i),a(false));},[i]);let m=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:p,isLoading:m}}function Tm({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:a,className:p}){let[l,i]=react.useState(),d=react.useMemo(()=>{let x=Object.keys(l??{})[0],b=l?.[x];return {...o,...x&&b?{sortBy:x,sortDirection:b}:void 0}},[o,l]),{tokens:m,isLoading:h}=Mo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(X,{tokens:m,isLoading:h,resolution:t,height:r,itemHeight:c,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:i,className:p})}function Oo({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[c,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[p,l]=react.useState([]),{data:i,isPending:d}=client.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(l(i),a(false));},[i]);let m=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:p,isLoading:m}}function Im({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:a,className:p}){let[l,i]=react.useState(),d=react.useMemo(()=>{let x=Object.keys(l??{})[0],b=l?.[x];return {...o,...x&&b?{sortBy:x,sortDirection:b}:void 0}},[o,l]),{tokens:m,isLoading:h}=Oo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(X,{tokens:m,isLoading:h,resolution:t,height:r,itemHeight:c,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:i,className:p})}exports.NewTokenListWidget=im;exports.PulseFinalStretchListWidget=Ki;exports.PulseList=J;exports.PulseListHeader=Xe;exports.PulseListItem=it;exports.PulseListItemSkeleton=Ze;exports.PulseMigratedListWidget=Mi;exports.PulseNewListWidget=bi;exports.SearchTokensButton=dl;exports.StockTokenListWidget=Tm;exports.TokenAvatar=de;exports.TokenList=X;exports.TokenListFilter=ve;exports.TokenListFilterModal=md;exports.TokenListFilterPopover=vd;exports.TokenListResolutionSelector=Ld;exports.TrendingTokenListWidget=Im;exports.useNewTokensScript=Io;exports.usePulseFinalStretchListScript=Ct;exports.usePulseMigratedListScript=vt;exports.usePulseNewListScript=ht;exports.useStockTokensScript=Mo;exports.useTrendingTokensScript=Oo;exports.version=Uo;//# sourceMappingURL=index.js.map
|
|
21
|
+
`})]})}function lt({token:e,renderAction:t,isLast:s=false,onSelectToken:o,className:n}){let{t:r}=i18n.useTranslation(),p=ui.useCopyToClipboard(),i=hooks.useTickAge(e.createdAt),k=react.useCallback(()=>{o?.(e);},[o,e]),d=react.useCallback(a=>{a.stopPropagation(),p(e.address,r("tokens.copied.address"));},[p,e.address,r]),l=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),u=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),f=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),T=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),h=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[y,m]=react.useMemo(()=>{let a=Number(e.stats?.["1h"]?.buys??0),g=Number(e.stats?.["1h"]?.sells??0),x=a+g;if(x===0)return [12,12];let v=Math.round(a/x*24);return [v,24-v]},[e.stats]),c=react.useMemo(()=>{let a=new utils.SafeBigNumber(e.marketData?.marketCapInUsd);return a.lt(1e3)?"text-foreground":a.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx("div",{className:ui.clsx("w-full h-full px-3 pt-3 pb-1 hover:bg-content2 cursor-pointer",!s&&"border-b border-border",n),onClick:o?k:void 0,children:jsxRuntime.jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsxRuntime.jsx(ce,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,closeDelay:0,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:d,children:utils.shortAddress(e.address,4,4)})})]}),jsxRuntime.jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsxRuntime.jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:d,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils.formatAge(i)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:a=>a.stopPropagation(),children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:a=>a.stopPropagation(),children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:a=>a.stopPropagation(),children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:a=>a.stopPropagation(),children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.holders"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.holders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.proHolders"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.proHolders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.kolHolders"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsxRuntime.jsx(ee,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:l}),jsxRuntime.jsx(ee,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:u}),jsxRuntime.jsx(ee,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:f}),jsxRuntime.jsx(ee,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:T}),jsxRuntime.jsx(ee,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:h}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.clsx("text-base font-medium leading-none",c),children:utils.formatAmountUSD3(e.marketData?.marketCapInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.pulse.vol")}),jsxRuntime.jsx("span",{className:"text-base font-medium leading-none text-foreground",children:utils.formatAmountUSD3(e.stats?.["1h"]?.volumesInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.pulse.txs")}),jsxRuntime.jsx("span",{className:"text-xs leading-none text-foreground",children:utils.formatAmount(e.stats?.["1h"]?.trades)})]}),jsxRuntime.jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsxRuntime.jsx("div",{className:"h-1 bg-bullish",style:{width:`${y}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${m}px`}})]})]})]})]})})}function ee({icon:e,value:t,tooltip:s,warning:o}){return jsxRuntime.jsx(ui.StyledTooltip,{content:s,closeDelay:0,children:jsxRuntime.jsxs("div",{className:ui.clsx("px-2 py-0.5 flex items-center gap-1 bg-background rounded-full text-xs",o?"text-danger-500":"text-primary"),children:[e,jsxRuntime.jsx("span",{children:t})]})})}var yo=124,ct=10;function vo({index:e,style:t,data:s,skeletonCount:o,renderItemAction:n,onSelectToken:r}){return s?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(lt,{token:s[e],isLast:e===s.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(et,{isLast:e===o-1})})}function G({title:e,tokens:t,isLoading:s,itemHeight:o=yo,renderHeaderExtra:n,renderItemAction:r,onSelectToken:p,onPauseChange:i,className:k}){let d=s||!t?void 0:t,l=d?d.length:ct,u=react.useMemo(()=>({data:d,skeletonCount:ct,renderItemAction:r,onSelectToken:p}),[d,r,p]),[f,T]=react.useState(false),h=react.useCallback(()=>{T(true),i?.(true);},[i]),y=react.useCallback(()=>{T(false),i?.(false);},[i]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",k),onMouseEnter:h,onMouseLeave:y,children:[jsxRuntime.jsx(Ye,{title:e,isPaused:f,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(ui.List,{className:"h-full w-full",rowCount:l,rowHeight:o,rowComponent:vo,rowProps:u,overscanCount:5})})]})}function mt(e,t){let s={...e};for(let o of Object.keys(t))t[o]!==void 0&&(s[o]=t[o]);return s}var wo=["1m","5m","15m","30m","1h","4h","24h"];function I(e,t){if(!t)return e;if(!e)return t;let s={...e};for(let o of wo)t[o]&&(s[o]=e[o]?mt(e[o],t[o]):t[o]);return s}function A(e,t){return t?e?mt(e,t):t:e}var Lo=80;function Io(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function gt(e){return e.sort((t,s)=>{let o=t.createdAt?.getTime()??0;return (s.createdAt?.getTime()??0)-o}),e.slice(0,Lo)}function ht({chain:e,isPaused:t=false,refetchInterval:s=1e4}){let o=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[p,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[k,d]=react.useState([]),{data:l,isPending:u}=client.useNewTokensQuery(o,{refetchInterval:s});react.useEffect(()=>{l&&(d(m=>{let c=n.current,a=[...m];for(let g of l){let x=a.findIndex(v=>v.address===g.address);x>=0?a[x]={...a[x],...g,marketData:A(a[x].marketData,g.marketData),stats:I(a[x].stats,g.stats)}:c||a.push(g);}return c?a:gt(a)}),i(false));},[l]);let f=react.useCallback(m=>{n.current||d(c=>{let a=[...c];for(let g of m)a.some(v=>v.address===g.address)||a.push(Io(g));return gt(a)});},[]);client.useNewTokensSubscription({chain:e},f);let T=react.useCallback(m=>{d(c=>{let a=[...c],g=false;for(let x of m){let v=a.findIndex(_=>_.address===x.address);v>=0&&(g=true,a[v]={...a[v],name:x.name??a[v].name,symbol:x.symbol??a[v].symbol,decimals:x.decimals??a[v].decimals,image:x.image??a[v].image,description:x.description??a[v].description,socialMedias:x.socialMedias??a[v].socialMedias,launchedFrom:x.launchedFrom??a[v].launchedFrom,migratedTo:x.migratedTo??a[v].migratedTo,createdAt:x.createdAt??a[v].createdAt});}return g?a:c});},[]);client.useNewTokensBasicSubscription({chain:e},T);let h=react.useCallback(m=>{d(c=>{let a=[...c],g=false;for(let x of m){let v=a.findIndex(_=>_.address===x.address);v>=0&&(g=true,a[v]={...a[v],stats:I(a[v].stats,x.stats),marketData:A(a[v].marketData,x.marketData)});}return g?a:c});},[]);client.useNewTokensDataSubscription({chain:e},h);let y=react.useMemo(()=>u||p,[u,p]);return {tokens:k,isLoading:y}}function Mi({chain:e,title:t,renderHeaderExtra:s,renderItemAction:o,onSelectToken:n,className:r}){let[p,i]=react.useState(false),{tokens:k,isLoading:d}=ht({chain:e,isPaused:p}),l=react.useCallback(u=>{i(u);},[]);return jsxRuntime.jsx(G,{title:t,tokens:k,isLoading:d,renderHeaderExtra:s,renderItemAction:o,onSelectToken:n,onPauseChange:l,className:r})}function bt({chain:e,isPaused:t=false,refetchInterval:s=3e4}){let o=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[p,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[k,d]=react.useState([]),{data:l,isPending:u}=client.useMigratedTokensQuery(o,{refetchInterval:s});react.useEffect(()=>{l&&(d(h=>{let y=n.current,m=[...h];for(let c of l){let a=m.findIndex(g=>g.address===c.address);a>=0?m[a]={...m[a],...c,marketData:A(m[a].marketData,c.marketData),stats:I(m[a].stats,c.stats)}:y||m.unshift(c);}return m}),i(false));},[l]);let f=react.useCallback(h=>{d(y=>{let m=[...y],c=false;for(let a of h){let g=m.findIndex(x=>x.address===a.address);g>=0&&(c=true,m[g]={...m[g],stats:I(m[g].stats,a.stats),marketData:A(m[g].marketData,a.marketData)});}return c?m:y});},[]);client.useMigratedTokensDataSubscription({chain:e},f);let T=react.useMemo(()=>u||p,[u,p]);return {tokens:k,isLoading:T}}function Ki({chain:e,title:t,renderHeaderExtra:s,renderItemAction:o,onSelectToken:n,className:r}){let[p,i]=react.useState(false),{tokens:k,isLoading:d}=bt({chain:e,isPaused:p}),l=react.useCallback(u=>{i(u);},[]);return jsxRuntime.jsx(G,{title:t,tokens:k,isLoading:d,renderHeaderExtra:s,renderItemAction:o,onSelectToken:n,onPauseChange:l,className:r})}function $o(e){return e.sort((t,s)=>{let o=Number(t.migrateProgress??0);return Number(s.migrateProgress??0)-o})}function Ct({chain:e,isPaused:t=false,refetchInterval:s=15e3}){let o=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[p,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[k,d]=react.useState([]),{data:l,isPending:u}=client.useFinalStretchTokensQuery(o,{refetchInterval:s});react.useEffect(()=>{l&&(d(h=>{let y=n.current,m=[...h];for(let c of l){let a=m.findIndex(g=>g.address===c.address);a>=0?m[a]={...m[a],...c,marketData:A(m[a].marketData,c.marketData),stats:I(m[a].stats,c.stats)}:y||m.push(c);}return y?m:$o(m)}),i(false));},[l]);let f=react.useCallback(h=>{d(y=>{let m=[...y],c=false;for(let a of h){let g=m.findIndex(x=>x.address===a.address);g>=0&&(c=true,m[g]={...m[g],stats:I(m[g].stats,a.stats),marketData:A(m[g].marketData,a.marketData)});}return c?m:y});},[]);client.useFinalStretchTokensDataSubscription({chain:e},f);let T=react.useMemo(()=>u||p,[u,p]);return {tokens:k,isLoading:T}}function tl({chain:e,title:t,renderHeaderExtra:s,renderItemAction:o,onSelectToken:n,className:r}){let[p,i]=react.useState(false),{tokens:k,isLoading:d}=Ct({chain:e,isPaused:p}),l=react.useCallback(u=>{i(u);},[]);return jsxRuntime.jsx(G,{title:t,tokens:k,isLoading:d,renderHeaderExtra:s,renderItemAction:o,onSelectToken:n,onPauseChange:l,className:r})}function yl({onSearch:e,onCancel:t}){let{t:s}=i18n.useTranslation(),{isDesktop:o,isMobile:n}=ui.useScreen(),{onOpen:r,onClose:p}=uiScaffold.useAsyncModal("search_tokens"),i=react.useCallback(()=>{e?e():r();},[e,r]),k=react.useCallback(()=>{t?t():p();},[t,p]);return react.useEffect(()=>{let d=l=>{let u=document.activeElement,f=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");l.key==="/"&&!f&&(l.preventDefault(),i()),l.key==="Escape"&&(l.preventDefault(),k());};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d);}},[i,k]),jsxRuntime.jsx(ui.StyledButton,{size:"sm",radius:"full",isIconOnly:!o,onPress:i,variant:n?"flat":"bordered",startContent:o?jsxRuntime.jsx(ui.SearchIcon,{}):void 0,endContent:o?jsxRuntime.jsx(ui.Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:ui.clsx(o&&"pl-3 pr-1.5 text-neutral"),children:o?s("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{})})}function Ft({keywords:e,excludeKeywords:t,onKeywordsChange:s,onExcludeKeywordsChange:o,className:n}){let{t:r}=i18n.useTranslation(),[p,i]=react.useState(e?.join(", ")??""),[k,d]=react.useState(t?.join(", ")??"");react.useEffect(()=>{i(f=>{let T=fe(f);return T===void 0&&e===void 0?f:T===void 0?e?.join(", ")??"":e===void 0?"":T.join("")===e.join("")?f:e.join(", ")});},[e]),react.useEffect(()=>{d(f=>{let T=fe(f);return T===void 0&&t===void 0?f:T===void 0?t?.join(", ")??"":t===void 0?"":T.join("")===t.join("")?f:t.join(", ")});},[t]);let l=react.useCallback(f=>{i(f),s?.(fe(f));},[s]),u=react.useCallback(f=>{d(f),o?.(fe(f));},[o]);return jsxRuntime.jsxs("div",{className:ui.clsx("grid grid-cols-2 gap-3 px-4",n),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:p,onValueChange:l})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:k,onValueChange:u})]})]})}function fe(e){let t=e.split(",").map(s=>s.trim()).filter(Boolean);return t.length>0?t:void 0}function Wt({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:s,className:o}){let{t:n}=i18n.useTranslation(),[r,p]=react.useState(t);react.useEffect(()=>{p(t);},[t]);let i=react.useMemo(()=>e.every(l=>r.includes(l)),[e,r]),k=react.useCallback(()=>{if(i){let l=[];p(l),s?.(l);}else {let l=[...e];p(l),s?.(l);}},[e,s,i]),d=react.useCallback(l=>()=>{if(r.includes(l)){let u=r.filter(f=>f!==l);p(u),s?.(u);}else {let u=[...r,l];p(u),s?.(u);}},[r,s]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-3 px-4",o),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.StyledButton,{variant:"light",color:"content3",size:"xs",radius:"full",onPress:k,children:n(i?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(l=>jsxRuntime.jsx(ui.StyledButton,{variant:"bordered",size:"xs",radius:"full",className:ui.clsx("w-fit",`text-${l}`,`bg-${l}/5`,`border border-${l}`,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(l)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${l}.svg`,alt:utils.formatTokenProtocolName(l)}),onPress:d(l),children:utils.formatTokenProtocolName(l)},l))})]})}function E({title:e,field:t,value:s,onChange:o}){let{t:n}=i18n.useTranslation(),[r,p]=react.useState(s?Re(s).min:NaN),[i,k]=react.useState(s?Re(s).max:NaN);react.useEffect(()=>{if(s===void 0)p(NaN),k(NaN);else {let{min:u,max:f}=Re(s);p(u),k(f);}},[s]);let d=react.useCallback(u=>{p(u),o?.(Kt(t,u,i));},[t,o,i]),l=react.useCallback(u=>{k(u),o?.(Kt(t,r,u));},[t,o,r]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:e}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ui.StyledNumberInput,{value:r,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:i,onValueChange:l,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Re(e){if(e.operator==="between"){let[t,s]=e.value;return {min:t,max:s}}return e.operator==="gte"?{min:e.value,max:NaN}:e.operator==="lte"?{min:NaN,max:e.value}:{min:NaN,max:NaN}}function Kt(e,t,s){if(!(isNaN(t)&&isNaN(s)))return isNaN(t)?{field:e,operator:"lte",value:s}:isNaN(s)?{field:e,operator:"gte",value:t}:{field:e,operator:"between",value:[t,s]}}function jt({values:e,onValuesChange:t,className:s}){let{t:o}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let p=react.useCallback(i=>k=>{if(k===void 0){let d=(n??[]).filter(l=>l.field!==i);d=d.length>0?d:void 0,r(d),t?.(d);}else {let d=[...(n??[]).filter(l=>l.field!==i),k];r(d),t?.(d);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-4",s),children:[jsxRuntime.jsx(E,{field:"holders",title:o("tokens.filters.stats.audits.holders"),value:n?.find(i=>i.field==="holders"),onChange:p("holders")}),jsxRuntime.jsx(E,{field:"top10Ratio",title:o("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(i=>i.field==="top10Ratio"),onChange:p("top10Ratio")}),jsxRuntime.jsx(E,{field:"top100Ratio",title:o("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(i=>i.field==="top100Ratio"),onChange:p("top100Ratio")}),jsxRuntime.jsx(E,{field:"creatorsRatio",title:o("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(i=>i.field==="creatorsRatio"),onChange:p("creatorsRatio")})]})}function qt({resolution:e,values:t,onValuesChange:s,className:o}){let{t:n}=i18n.useTranslation(),[r,p]=react.useState(t);react.useEffect(()=>{p(t);},[t]);let i=react.useCallback(k=>d=>{if(d===void 0){let l=(r??[]).filter(u=>u.field!==k);l=l.length>0?l:void 0,p(l),s?.(l);}else {let l=[...(r??[]).filter(u=>u.field!==k),d];p(l),s?.(l);}},[r,s]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-4",o),children:[jsxRuntime.jsx(E,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(k=>k.field==="marketCap"),onChange:i("marketCap")}),jsxRuntime.jsx(E,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(k=>k.field==="tvl"),onChange:i("tvl")}),jsxRuntime.jsx(E,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:r?.find(k=>k.field===`volumes${e}`),onChange:i(`volumes${e}`)}),jsxRuntime.jsx(E,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:r?.find(k=>k.field===`trades${e}`),onChange:i(`trades${e}`)})]})}function Zt({resolution:e,values:t,onValuesChange:s,className:o}){let{t:n}=i18n.useTranslation(),[r,p]=react.useState("audits"),[i,k]=react.useState(t);react.useEffect(()=>{k(t);},[t]);let d=react.useCallback(f=>{k(f),s?.(f);},[s]),l=react.useMemo(()=>{let f=["holders","top10Ratio","top100Ratio","creatorsRatio"];return i?.filter(T=>f.includes(T.field))?.length??0},[i]),u=react.useMemo(()=>{let f=["marketCap","tvl",`volumes${e}`,`trades${e}`];return i?.filter(T=>f.includes(T.field)).length??0},[i,e]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-3 px-4",o),children:[jsxRuntime.jsxs(ui.StyledTabs,{variant:"light",radius:"full",size:"sm",selectedKey:r,onSelectionChange:p,children:[jsxRuntime.jsx(ui.Tab,{title:l===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:l,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:u===0?n("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:u,shape:"circle",children:n("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(jt,{values:i,onValuesChange:d,className:ui.clsx({hidden:r!=="audits"})}),jsxRuntime.jsx(qt,{values:i,onValuesChange:d,resolution:e,className:ui.clsx({hidden:r!=="metrics"})})]})}function be({protocols:e,resolution:t,filters:s,onFiltersChange:o,className:n}){let[r,p]=react.useState(ts(s?.filters,e));react.useEffect(()=>{p(ts(s?.filters,e));},[s?.filters,e]);let[i,k]=react.useState(s?.keywords);react.useEffect(()=>{k(s?.keywords);},[s?.keywords]);let[d,l]=react.useState(s?.excludeKeywords);react.useEffect(()=>{l(s?.excludeKeywords);},[s?.excludeKeywords]);let[u,f]=react.useState(s?.filters);react.useEffect(()=>{f(s?.filters);},[s?.filters]);let T=react.useCallback(c=>{p(c),o?.(ve(e,c,i,d,u));},[e,i,d,u,o]),h=react.useCallback(c=>{k(c),o?.(ve(e,r,c,d,u));},[e,r,d,u,o]),y=react.useCallback(c=>{l(c),o?.(ve(e,r,i,c,u));},[e,r,i,u,o]),m=react.useCallback(c=>{f(c),o?.(ve(e,r,i,d,c));},[e,r,i,d,o]);return jsxRuntime.jsxs("div",{className:ui.clsx("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Wt,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:T}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(Ft,{keywords:i,excludeKeywords:d,onKeywordsChange:h,onExcludeKeywordsChange:y}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Zt,{resolution:t,values:u,onValuesChange:m})]})}function ts(e,t){let s=e?.find(o=>o.field==="launchedFromProtocolFamily");return s?s.operator==="in"?s.value:(console.warn("invalid token protocols filter",s),[...t||[]]):[...t||[]]}function ve(e,t,s,o,n){let r=n?[...n.filter(p=>p.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(i=>t.includes(i))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),s===void 0&&o===void 0&&r.length===0?void 0:{keywords:s,excludeKeywords:o,filters:r.length>0?r:void 0}}function bd({protocols:e,resolution:t,filters:s,onFiltersChange:o}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:p,onClose:i,onOpenChange:k}=ui.useDisclosure(),[d,l]=react.useState(s),u=react.useCallback(()=>{l(void 0);},[]),f=react.useCallback(()=>{o?.(d),i();},[d,o,i]);react.useEffect(()=>{l(s);},[r,s]);let T=react.useMemo(()=>Object.values(s||{}).every(h=>h===void 0),[s]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.StyledButton,{color:"content2",size:"sm",radius:"full",className:"font-bold text-sm",startContent:T?jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:"",shape:"circle",children:jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"})}),endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"data-[open=true]:-rotate-180 transition-transform flex-none","data-open":r}),onPress:p,children:n("tokens.listHeader.filter")}),jsxRuntime.jsx(ui.StyledModal,{isOpen:r,onOpenChange:k,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui.ModalContent,{children:[jsxRuntime.jsx(ui.ModalHeader,{children:n("tokens.filters.modal.title")}),jsxRuntime.jsx(ui.ModalBody,{children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(be,{protocols:e,resolution:t,filters:d,onFiltersChange:l,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{children:jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:u,children:n("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:f,children:n("common.apply")})]})})]})})]})}function Rd({protocols:e,resolution:t,filters:s,onFiltersChange:o,...n}){let{t:r}=i18n.useTranslation(),{isOpen:p,onClose:i,onOpenChange:k}=ui.useDisclosure(),[d,l]=react.useState(s),u=react.useCallback(()=>{l(void 0);},[]),f=react.useCallback(()=>{o?.(d),i();},[d,o,i]);react.useEffect(()=>{l(s);},[p,s]);let T=react.useMemo(()=>Object.values(s||{}).every(h=>h===void 0),[s]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:p,onOpenChange:k,children:[jsxRuntime.jsx(ui.PopoverTrigger,{children:jsxRuntime.jsx(ui.StyledButton,{color:"content2",size:"sm",radius:"full",className:"font-bold text-sm",startContent:T?jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:"",shape:"circle",children:jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"})}),endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"data-[open=true]:-rotate-180 transition-transform flex-none","data-open":p}),children:r("tokens.listHeader.filter")})}),jsxRuntime.jsx(ui.PopoverContent,{children:jsxRuntime.jsxs("div",{className:"w-md py-4 px-0 flex flex-col gap-4",children:[jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120",children:jsxRuntime.jsx(be,{protocols:e,resolution:t,filters:d,onFiltersChange:l})}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:u,children:r("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:f,children:r("common.apply")})]})]})})]})}function Bd({resolution:e,onResolutionChange:t,resolutionOptions:s=["1m","5m","1h","4h","24h"]}){let{t:o}=i18n.useTranslation(),n=react.useCallback(r=>{t?.(r);},[t]);return jsxRuntime.jsx(ui.StyledTabs,{variant:"primaryPlain",radius:"lg",selectedKey:e,onSelectionChange:n,"aria-label":"Select Resolution",children:s.map(r=>jsxRuntime.jsx(ui.Tab,{title:o(`common.resolution.${r}`)},r))})}function ds({token:e}){let{t}=i18n.useTranslation(),s=react.useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),o=react.useMemo(()=>s!==void 0&&new utils.SafeBigNumber(s).gte(.1),[s]),n=react.useMemo(()=>s===void 0||new utils.SafeBigNumber(s).lt(.05),[s]);return jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.bluechip.explained"),closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[o&&jsxRuntime.jsx(ui.HorsePowerHighIcon,{}),n&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!o&&!n&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.clsx(o&&"text-bullish",!o&&!n&&"text-bearish",s===void 0&&"text-neutral"),children:utils.formatPercent(s)})]})})}function cs({token:e}){let t=ui.useCopyToClipboard(),{t:s}=i18n.useTranslation(),o=react.useCallback(r=>{r.preventDefault(),r.stopPropagation(),t(e.address,s("tokens.copied.address"));},[t,e.address,s]),n=hooks.useTickAge(e.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(ce,{token:e,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,closeDelay:0,children:jsxRuntime.jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-neutral hover:text-primary-200 cursor-pointer",onClick:o,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:utils.formatAge(n)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}function ms({token:e}){let{t}=i18n.useTranslation(),s=react.useMemo(()=>e.marketData?.holders,[e.marketData?.holders]),o=react.useMemo(()=>e.marketData?.proHolders,[e.marketData?.proHolders]),n=react.useMemo(()=>e.marketData?.kolHolders,[e.marketData?.kolHolders]),r=react.useMemo(()=>e.marketData?.devHoldingsRatio,[e.marketData?.devHoldingsRatio]),p=react.useMemo(()=>new utils.SafeBigNumber(r).gte(.1),[r]),i=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),k=react.useMemo(()=>new utils.SafeBigNumber(i).gte(.1),[i]),d=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),l=react.useMemo(()=>new utils.SafeBigNumber(d).gte(.1),[d]),u=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),f=react.useMemo(()=>new utils.SafeBigNumber(u).gte(.1),[u]),T=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),h=react.useMemo(()=>new utils.SafeBigNumber(T).gte(.1),[T]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex gap-2 justify-start items-center",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.holders"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),variant:"flat",size:"sm",color:s?"primary":"default",children:utils.formatAmount(s)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.proHolders"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),variant:"flat",size:"sm",color:o?"primary":"default",children:utils.formatAmount(o)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.kolHolders"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),variant:"flat",size:"sm",color:n?"primary":"default",children:utils.formatAmount(n)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.top10HoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:14,height:14}),variant:"flat",size:"sm",color:k?"danger":i===void 0?"default":"primary",children:utils.formatPercent(i)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.devHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.CookIcon,{width:13,height:13}),variant:"flat",size:"sm",color:p?"danger":r===void 0?"default":"primary",children:utils.formatPercent(r)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.sniperHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.SniperIcon,{width:13,height:13}),variant:"flat",size:"sm",color:l?"danger":d===void 0?"default":"primary",children:utils.formatPercent(d)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.insiderHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.RatIcon,{width:13,height:13}),variant:"flat",size:"sm",color:f?"danger":u===void 0?"default":"primary",children:utils.formatPercent(u)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.bundleHoldingsRatio"),closeDelay:0,children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.BundlesIcon,{width:13,height:13}),variant:"flat",size:"sm",color:h?"danger":T===void 0?"default":"primary",children:utils.formatPercent(T)})})]})]})}function us({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function ps({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function gs({token:e,resolution:t}){let s=react.useMemo(()=>e.marketData?.priceInUsd,[e]),o=react.useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),n=react.useMemo(()=>o?new utils.SafeBigNumber(o).abs().toString():void 0,[o]),r=react.useMemo(()=>o&&new utils.SafeBigNumber(o).gte(0),[o]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatPriceUSD(s)}),jsxRuntime.jsxs("span",{className:ui.clsx("inline-flex gap-1 items-center text-xs",r?"text-bullish":"text-bearish"),children:[r?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(n)})]})]})}function Ts({token:e,resolution:t}){let s=react.useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),o=react.useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),n=react.useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(o)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(n)})]})]})}function ys({token:e,resolution:t}){let s=react.useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),o=react.useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),n=react.useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(o)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(n)})]})]})}function bs({token:e,resolution:t}){let s=react.useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),o=react.useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),n=react.useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountUSD(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountUSD(o)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountUSD(n)})]})]})}var ws=5;function Ps({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:ws}).map((s,o)=>jsxRuntime.jsx(Jn,{rowHeight:e,hasBorderBottom:o!==ws-1,hasActions:t},o))})}function Jn({rowHeight:e,hasBorderBottom:t,hasActions:s}){return jsxRuntime.jsxs("div",{className:ui.clsx("relative flex items-center","[&>div]:first:sm:pl-6 [&>div]:last:sm:pr-6",t&&"after:content-[''] after:absolute after:left-0 after:bottom-0",t&&"after:w-full after:h-px after:bg-border/50"),style:{height:`${e}px`},children:[jsxRuntime.jsx(Gn,{}),jsxRuntime.jsx(Xn,{}),jsxRuntime.jsx(Yn,{}),jsxRuntime.jsx(Zn,{}),jsxRuntime.jsx(ea,{}),jsxRuntime.jsx(ta,{}),jsxRuntime.jsx(sa,{}),jsxRuntime.jsx(oa,{}),jsxRuntime.jsx(ra,{}),s&&jsxRuntime.jsx(na,{})]})}function Gn(){return jsxRuntime.jsxs("div",{className:"w-56 sm:w-81 px-3 h-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-10 h-10 sm:w-16 sm:h-16 flex-none rounded-md"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-32 sm:w-40 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-3.5 rounded-md"})})]})]})}function Xn(){return jsxRuntime.jsxs("div",{className:"w-23.5 sm:w-36 h-full px-3 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function Yn(){return jsxRuntime.jsx("div",{className:"w-23.5 sm:w-36 h-full px-3 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-18 sm:w-24 h-3 sm:h-4 rounded-md"})})}function Zn(){return jsxRuntime.jsx("div",{className:"w-23.5 sm:w-36 h-full px-3 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-18 sm:w-24 h-3 sm:h-4 rounded-md"})})}function ea(){return jsxRuntime.jsxs("div",{className:"w-31.5 sm:w-36 h-full px-3 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function ta(){return jsxRuntime.jsxs("div",{className:"w-31.5 sm:w-36 h-full px-3 py-2 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function sa(){return jsxRuntime.jsxs("div",{className:"w-31.5 sm:w-36 h-full px-3 py-2 flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("div",{className:"w-10 sm:w-14 h-4 sm:h-6 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 sm:h-4 rounded-md"})}),jsxRuntime.jsx("div",{className:"w-18 sm:w-24 h-4 flex items-center",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-full h-3 rounded-md"})})]})}function oa(){return jsxRuntime.jsx("div",{className:"w-32 sm:w-36 h-full px-3 py-2 flex flex-col gap-1 justify-center items-start",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-26 sm:w-30 h-3 sm:h-4 rounded-md"})})}function ra(){return jsxRuntime.jsxs("div",{className:"w-51 sm:w-56 h-full px-3 py-2 flex gap-1.5 justify-start items-center",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-18 h-5 rounded-full"})]})]})}function na(){return jsxRuntime.jsx("div",{className:"w-31 sm:w-36 h-full px-3 py-2",children:jsxRuntime.jsx(ui.Skeleton,{className:"w-25 sm:w-30 h-3 sm:h-4 rounded-md"})})}function Y({tokens:e,resolution:t="24h",isLoading:s,ActionsComponent:o,onSelectToken:n,sortDirections:r,onSortChange:p,height:i=600,itemHeight:k=88,itemHeightMobile:d=72,className:l}){let{isMobile:u}=ui.useScreen(),{t:f}=i18n.useTranslation(),T=react.useCallback(c=>a=>{a.preventDefault(),a.stopPropagation(),n?.(c);},[n]),[h,y]=react.useState(r??{});react.useEffect(()=>{y(r??{});},[r]);let m=react.useCallback(c=>a=>{let g={[c]:a};y(g),p?.(g);},[p]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.clsx("h-full mx-auto",l??(o?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:i,rowHeight:u?d:k,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.token"),width:u?224:320,children:f("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:h.price,onSortChange:m("price"),children:f("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:h[`priceChange${t}`],onSortChange:m(`priceChange${t}`),children:f("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:h.marketCap,onSortChange:m("marketCap"),children:f("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:h.tvl,onSortChange:m("tvl"),children:f("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`volumes${t}`],onSortChange:m(`volumes${t}`),children:f("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`trades${t}`],onSortChange:m(`trades${t}`),children:f("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`traders${t}`],onSortChange:m(`traders${t}`),children:f("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.bluechip"),width:128,children:f("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.tokenInfo"),width:308,children:f("tokens.listHeader.tokenInfo")},"tokenInfo"),o?jsxRuntime.jsx(ui.TableColumn,{textValue:f("tokens.listHeader.actions"),width:124,align:"end",children:f("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:s?[]:e,isLoading:s,loadingContent:jsxRuntime.jsx(Ps,{rowHeight:u?d:k,hasActions:!!o}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:f("common.empty")})]}),children:c=>jsxRuntime.jsx(ui.TableRow,{onClick:n?T(c):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(cs,{token:c,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(gs,{token:c,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ps,{token:c,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(us,{token:c,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(bs,{token:c,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ys,{token:c,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ts,{token:c,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ds,{token:c,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ms,{token:c,resolution:t})},"tokenInfo"),o?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(o,{token:c,resolution:t})},"actions"):void 0].filter(Boolean)},c.address)})]})}var ba=80;function wa(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function Is(e){return e.sort((t,s)=>{let o=t.createdAt?.getTime()??0;return (s.createdAt?.getTime()??0)-o}),e.slice(0,ba)}function As({chain:e,resolution:t,options:s,refetchInterval:o=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...s}),[e,t,s]),r=react.useRef(n),[p,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[k,d]=react.useState([]),{data:l,isPending:u}=client.useNewTokensQuery(n,{refetchInterval:o});react.useEffect(()=>{l&&(d(m=>{let c=[...m];for(let a of l){let g=c.findIndex(x=>x.address===a.address);g>=0?c[g]={...c[g],...a,marketData:A(c[g].marketData,a.marketData),stats:I(c[g].stats,a.stats)}:c.push(a);}return Is(c)}),i(false));},[l]);let f=react.useCallback(m=>{d(c=>{let a=[...c];for(let g of m)a.some(v=>v.address===g.address)||a.push(wa(g));return Is(a)});},[]);client.useNewTokensSubscription({chain:e},f);let T=react.useCallback(m=>{d(c=>{let a=[...c],g=false;for(let x of m){let v=a.findIndex(_=>_.address===x.address);v>=0&&(g=true,a[v]={...a[v],name:x.name??a[v].name,symbol:x.symbol??a[v].symbol,decimals:x.decimals??a[v].decimals,image:x.image??a[v].image,description:x.description??a[v].description,socialMedias:x.socialMedias??a[v].socialMedias,launchedFrom:x.launchedFrom??a[v].launchedFrom,migratedTo:x.migratedTo??a[v].migratedTo,createdAt:x.createdAt??a[v].createdAt});}return g?a:c});},[]);client.useNewTokensBasicSubscription({chain:e},T);let h=react.useCallback(m=>{d(c=>{let a=[...c],g=false;for(let x of m){let v=a.findIndex(_=>_.address===x.address);v>=0&&(g=true,a[v]={...a[v],stats:I(a[v].stats,x.stats),marketData:A(a[v].marketData,x.marketData)});}return g?a:c});},[]);client.useNewTokensDataSubscription({chain:e},h);let y=react.useMemo(()=>!!(u||p),[u,p]);return {tokens:k,isLoading:y}}function xm({chain:e,resolution:t,filters:s,ActionsComponent:o,onSelectToken:n,height:r,itemHeight:p,itemHeightMobile:i,className:k}){let[d,l]=react.useState(),u=react.useMemo(()=>{let h=Object.keys(d??{})[0],y=d?.[h];return {...s,...h&&y?{sortBy:h,sortDirection:y}:void 0}},[s,d]),{tokens:f,isLoading:T}=As({chain:e,resolution:t,options:u});return jsxRuntime.jsx(Y,{tokens:f,isLoading:T,resolution:t,height:r,itemHeight:p,itemHeightMobile:i,ActionsComponent:o,onSelectToken:n,sortDirections:d,onSortChange:l,className:k})}function Fs({chain:e,resolution:t,options:s,refetchInterval:o=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...s}),[e,t,s]),r=react.useRef(n),[p,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[k,d]=react.useState([]),{data:l,isPending:u}=client.useStockTokensQuery(n,{refetchInterval:o});react.useEffect(()=>{l&&(d(h=>{let y=[];for(let m of l){let c=h.find(a=>a.address===m.address);c?y.push({...c,...m,marketData:A(c.marketData,m.marketData),stats:I(c.stats,m.stats)}):y.push(m);}return y}),i(false));},[l]);let f=react.useCallback(h=>{d(y=>{let m=[...y],c=false;for(let a of h){let g=m.findIndex(x=>x.address===a.address);g>=0&&(c=true,m[g]={...m[g],stats:I(m[g].stats,a.stats),marketData:A(m[g].marketData,a.marketData)});}return c?m:y});},[]);client.useStockTokensDataSubscription({chain:e},f);let T=react.useMemo(()=>!!(u||p),[u,p]);return {tokens:k,isLoading:T}}function Dm({chain:e,resolution:t,filters:s,ActionsComponent:o,onSelectToken:n,height:r,itemHeight:p,itemHeightMobile:i,className:k}){let[d,l]=react.useState(),u=react.useMemo(()=>{let h=Object.keys(d??{})[0],y=d?.[h];return {...s,...h&&y?{sortBy:h,sortDirection:y}:void 0}},[s,d]),{tokens:f,isLoading:T}=Fs({chain:e,resolution:t,options:u});return jsxRuntime.jsx(Y,{tokens:f,isLoading:T,resolution:t,height:r,itemHeight:p,itemHeightMobile:i,ActionsComponent:o,onSelectToken:n,sortDirections:d,onSortChange:l,className:k})}function Us({chain:e,resolution:t,options:s,refetchInterval:o=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...s}),[e,t,s]),r=react.useRef(n),[p,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[k,d]=react.useState([]),{data:l,isPending:u}=client.useTrendingTokensQuery(n,{refetchInterval:o});react.useEffect(()=>{l&&(d(h=>{let y=[];for(let m of l){let c=h.find(a=>a.address===m.address);c?y.push({...c,...m,marketData:A(c.marketData,m.marketData),stats:I(c.stats,m.stats)}):y.push(m);}return y}),i(false));},[l]);let f=react.useCallback(h=>{d(y=>{let m=[...y],c=false;for(let a of h){let g=m.findIndex(x=>x.address===a.address);g>=0&&(c=true,m[g]={...m[g],stats:I(m[g].stats,a.stats),marketData:A(m[g].marketData,a.marketData)});}return c?m:y});},[]);client.useTrendingTokensDataSubscription({chain:e},f);let T=react.useMemo(()=>!!(u||p),[u,p]);return {tokens:k,isLoading:T}}function _m({chain:e,resolution:t,filters:s,ActionsComponent:o,onSelectToken:n,height:r,itemHeight:p,itemHeightMobile:i,className:k}){let[d,l]=react.useState(),u=react.useMemo(()=>{let h=Object.keys(d??{})[0],y=d?.[h];return {...s,...h&&y?{sortBy:h,sortDirection:y}:void 0}},[s,d]),{tokens:f,isLoading:T}=Us({chain:e,resolution:t,options:u});return jsxRuntime.jsx(Y,{tokens:f,isLoading:T,resolution:t,height:r,itemHeight:p,itemHeightMobile:i,ActionsComponent:o,onSelectToken:n,sortDirections:d,onSortChange:l,className:k})}exports.NewTokenListWidget=xm;exports.PulseFinalStretchListWidget=tl;exports.PulseList=G;exports.PulseListHeader=Ye;exports.PulseListItem=lt;exports.PulseListItemSkeleton=et;exports.PulseMigratedListWidget=Ki;exports.PulseNewListWidget=Mi;exports.SearchTokensButton=yl;exports.StockTokenListWidget=Dm;exports.TokenAvatar=ce;exports.TokenList=Y;exports.TokenListFilter=be;exports.TokenListFilterModal=bd;exports.TokenListFilterPopover=Rd;exports.TokenListResolutionSelector=Bd;exports.TrendingTokenListWidget=_m;exports.useNewTokensScript=As;exports.usePulseFinalStretchListScript=Ct;exports.usePulseMigratedListScript=bt;exports.usePulseNewListScript=ht;exports.useStockTokensScript=Fs;exports.useTrendingTokensScript=Us;exports.version=Bs;//# sourceMappingURL=index.js.map
|
|
22
22
|
//# sourceMappingURL=index.js.map
|