@liberfi.io/ui-tokens 0.1.53 → 0.1.55

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 CHANGED
@@ -10,7 +10,7 @@ declare global {
10
10
  };
11
11
  }
12
12
  }
13
- declare const _default: "0.1.53";
13
+ declare const _default: "0.1.55";
14
14
 
15
15
  interface PulseListProps {
16
16
  /** list title */
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ declare global {
10
10
  };
11
11
  }
12
12
  }
13
- declare const _default: "0.1.53";
13
+ declare const _default: "0.1.55";
14
14
 
15
15
  interface PulseListProps {
16
16
  /** list title */
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var react=require('react'),reactWindow=require('react-window'),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'),react$1=require('@liberfi.io/react'),uiScaffold=require('@liberfi.io/ui-scaffold');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="0.1.53");var Uo="0.1.53";function Ge({title:e,isPaused:t,extra:o,className:s}){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",s),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")})]})]}),o&&jsxRuntime.jsx("div",{className:"flex items-center gap-3",children:o})]})}function Ye({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui.cn("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 le({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:c,classNames:i}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),l=react.useMemo(()=>n&&u,[n,u]),a=react.useMemo(()=>s&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),d=react.useMemo(()=>o&&e.image,[o,e.image]),m=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[T,k]=react.useState(false),h=react.useCallback(()=>{k(true);},[]),p=react.useCallback(()=>{k(false);},[]),f=react.useCallback(g=>{if(g.stopPropagation(),!e.image)return;let b=utils.searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",c??"w-15 h-15"),children:[!a&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?`bg-${u}`:"bg-bullish",i?.background)}),a&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Qo,{className:ui.cn(u?`text-${u}`:"text-bullish",i?.progress),progress:e.migrateProgress??"0"})}),jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 p-px flex items-center justify-center",`rounded-${r}`,u?`bg-${u}/20`:"bg-bullish/20",i?.avatarWrapper),children:jsxRuntime.jsx(jo,{token:e,radius:r,enableSearch:o,enablePreview:t,classNames:i,children:jsxRuntime.jsxs("div",{className:ui.cn("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${r}`,T&&d&&"cursor-pointer"),onMouseEnter:h,onMouseLeave:p,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:m,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${r}`,i?.avatar)}),T&&d&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,i?.searchWrapper),onClick:f,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",i?.searchIcon)})})]})})}),l&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??u,placement:"bottom",closeDelay:0,children:jsxRuntime.jsx("div",{className:ui.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",`bg-${u}`,i?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${u}.svg`,className:ui.cn("w-full h-full rounded-full bg-content1",i?.protocolFamilyIcon)})})})})]})}function jo({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:n,children:r}){return react.useMemo(()=>s&&e.image,[s,e.image])?jsxRuntime.jsx(ui.StyledTooltip,{content:jsxRuntime.jsx(qo,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function qo({token:e,enableSearch:t,radius:o,classNames:s}){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]),[c,i]=react.useState(false),u=react.useCallback(()=>{i(true);},[]),l=react.useCallback(()=>{i(false);},[]),a=react.useCallback(d=>{if(d.stopPropagation(),!e.image)return;let m=utils.searchImageUrl(e.image);window.open(m,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,c&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:l,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:r,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),c&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:a,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Qo({progress:e,className:t}){let o=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:`
1
+ 'use strict';var react=require('react'),reactWindow=require('react-window'),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'),react$1=require('@liberfi.io/react'),uiScaffold=require('@liberfi.io/ui-scaffold');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="0.1.55");var Uo="0.1.55";function Ge({title:e,isPaused:t,extra:o,className:s}){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",s),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")})]})]}),o&&jsxRuntime.jsx("div",{className:"flex items-center gap-3",children:o})]})}function Ye({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui.cn("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 le({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:c,classNames:i}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),l=react.useMemo(()=>n&&u,[n,u]),a=react.useMemo(()=>s&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),d=react.useMemo(()=>o&&e.image,[o,e.image]),m=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[T,k]=react.useState(false),h=react.useCallback(()=>{k(true);},[]),p=react.useCallback(()=>{k(false);},[]),f=react.useCallback(g=>{if(g.stopPropagation(),!e.image)return;let b=utils.searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",c??"w-15 h-15"),children:[!a&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?`bg-${u}`:"bg-bullish",i?.background)}),a&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Qo,{className:ui.cn(u?`text-${u}`:"text-bullish",i?.progress),progress:e.migrateProgress??"0"})}),jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 p-px flex items-center justify-center",`rounded-${r}`,u?`bg-${u}/20`:"bg-bullish/20",i?.avatarWrapper),children:jsxRuntime.jsx(jo,{token:e,radius:r,enableSearch:o,enablePreview:t,classNames:i,children:jsxRuntime.jsxs("div",{className:ui.cn("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${r}`,T&&d&&"cursor-pointer"),onMouseEnter:h,onMouseLeave:p,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:m,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${r}`,i?.avatar)}),T&&d&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,i?.searchWrapper),onClick:f,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",i?.searchIcon)})})]})})}),l&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??u,placement:"bottom",children:jsxRuntime.jsx("div",{className:ui.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",`bg-${u}`,i?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${u}.svg`,className:ui.cn("w-full h-full rounded-full bg-content1",i?.protocolFamilyIcon)})})})})]})}function jo({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:n,children:r}){return react.useMemo(()=>s&&e.image,[s,e.image])?jsxRuntime.jsx(ui.StyledTooltip,{content:jsxRuntime.jsx(qo,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function qo({token:e,enableSearch:t,radius:o,classNames:s}){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]),[c,i]=react.useState(false),u=react.useCallback(()=>{i(true);},[]),l=react.useCallback(()=>{i(false);},[]),a=react.useCallback(d=>{if(d.stopPropagation(),!e.image)return;let m=utils.searchImageUrl(e.image);window.open(m,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,c&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:l,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:r,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),c&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:a,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Qo({progress:e,className:t}){let o=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
@@ -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(),i=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),l=react.useCallback(g=>{g.stopPropagation(),c(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[c,e.address,r]),a=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]),T=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),k=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[h,p]=react.useMemo(()=>{let g=Number(e.stats?.["1h"]?.buys??0),b=Number(e.stats?.["1h"]?.sells??0),L=g+b;if(L===0)return [12,12];let ne=Math.round(g/L*24);return [ne,24-ne]},[e.stats]),f=react.useMemo(()=>{let g=new utils.SafeBigNumber(e.marketData?.marketCapInUsd);return g.lt(1e3)?"text-foreground":g.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx("div",{className:ui.cn("w-full h-full px-3 pt-3 pb-1 hover:bg-content2 cursor-pointer",!o&&"border-b border-border",n),onClick:s?u: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(le,{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.truncateAddress(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: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(i)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:g=>g.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:g=>g.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:g=>g.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:g=>g.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(X,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:a}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:d}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:m}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:T}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:k}),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.cn("text-base font-medium leading-none",f),children:utils.formatAmountUSDCompact(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.formatAmountUSDCompact(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:`${h}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${p}px`}})]})]})]})]})})}function X({icon:e,value:t,tooltip:o,warning:s}){return jsxRuntime.jsx(ui.StyledTooltip,{content:o,closeDelay:0,children:jsxRuntime.jsxs("div",{className:ui.cn("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 xs=124,lt=10;function ys({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(Ye,{isLast:e===s-1})})}function q({title:e,tokens:t,isLoading:o,itemHeight:s=xs,renderHeaderExtra:n,renderItemAction:r,onSelectToken:c,onPauseChange:i,className:u}){let l=o||!t?void 0:t,a=l?l.length:lt,d=react.useMemo(()=>({data:l,skeletonCount:lt,renderItemAction:r,onSelectToken:c}),[l,r,c]),[m,T]=react.useState(false),k=react.useCallback(()=>{T(true),i?.(true);},[i]),h=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",u),onMouseEnter:k,onMouseLeave:h,children:[jsxRuntime.jsx(Ge,{title:e,isPaused:m,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:a,rowHeight:s,rowComponent:ys,rowProps:d,overscanCount:5})})]})}function Ie(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var bs=["1m","5m","15m","30m","1h","4h","24h"];function Ps(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of bs)t[s]&&(o[s]=e[s]?Ie(e[s],t[s]):t[s]);return o}function ws(e,t){return t?e?Ie(e,t):t:e}function me(e,t){return t?e?Ie(e,t):t:e}function w(e,t){let{chain:o,address:s,stats:n,marketData:r,socialMedias:c,security:i,launchedFrom:u,migratedTo:l,...a}=t,d={...e};for(let m of Object.keys(a))a[m]!==void 0&&(d[m]=a[m]);return d.stats=Ps(e.stats,n),d.marketData=ws(e.marketData,r),d.socialMedias=me(e.socialMedias,c),d.security=me(e.security,i),d.launchedFrom=me(e.launchedFrom,u),d.migratedTo=me(e.migratedTo,l),d}var Ls=80;function Is(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 pt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Ls)}function ft({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,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{a&&(l(k=>{let h=n.current,p=[...k];for(let f of a){let g=p.findIndex(b=>b.address===f.address);g>=0?p[g]=w(p[g],f):h||p.push(f);}return h?p:pt(p)}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=n.current,f=[...h],g=false;for(let b of k){let L=f.findIndex(ne=>ne.address===b.address);L>=0?(g=true,f[L]=w(f[L],b)):p||(g=true,f.push(Is(b)));}return g?p?f:pt(f):h});},[]);react$1.useNewTokensSubscription({chain:e},m);let T=react.useMemo(()=>d||c,[d,c]);return {tokens:u,isLoading:T}}function Ba({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,i]=react.useState(false),{tokens:u,isLoading:l}=ft({chain:e,isPaused:c}),a=react.useCallback(d=>{i(d);},[]);return jsxRuntime.jsx(q,{title:t,tokens:u,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:a,className:r})}function xt({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,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{a&&(l(k=>{let h=n.current,p=[...k];for(let f of a){let g=p.findIndex(b=>b.address===f.address);g>=0?p[g]=w(p[g],f):h||p.unshift(f);}return p}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useMigratedTokensSubscription({chain:e},m);let T=react.useMemo(()=>d||c,[d,c]);return {tokens:u,isLoading:T}}function Xa({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,i]=react.useState(false),{tokens:u,isLoading:l}=xt({chain:e,isPaused:c}),a=react.useCallback(d=>{i(d);},[]);return jsxRuntime.jsx(q,{title:t,tokens:u,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:a,className:r})}function Vs(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function wt({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,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{a&&(l(k=>{let h=n.current,p=[...k];for(let f of a){let g=p.findIndex(b=>b.address===f.address);g>=0?p[g]=w(p[g],f):h||p.push(f);}return h?p:Vs(p)}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useFinalStretchTokensSubscription({chain:e},m);let T=react.useMemo(()=>d||c,[d,c]);return {tokens:u,isLoading:T}}function ll({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,i]=react.useState(false),{tokens:u,isLoading:l}=wt({chain:e,isPaused:c}),a=react.useCallback(d=>{i(d);},[]);return jsxRuntime.jsx(q,{title:t,tokens:u,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:a,className:r})}function Nl({onSearch:e,onCancel:t}){let{t:o}=i18n.useTranslation(),{isDesktop:s,isMobile:n}=ui.useScreen(),{onOpen:r,onClose:c}=uiScaffold.useAsyncModal("search_tokens"),i=react.useCallback(()=>{e?e():r();},[e,r]),u=react.useCallback(()=>{t?t():c();},[t,c]);return react.useEffect(()=>{let l=a=>{let d=document.activeElement,m=!!d&&(d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.getAttribute("contenteditable")==="true");a.key==="/"&&!m&&(a.preventDefault(),i()),a.key==="Escape"&&(a.preventDefault(),u());};return window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l);}},[i,u]),jsxRuntime.jsx(ui.StyledButton,{size:"sm",radius:"full",isIconOnly:!s,onPress:i,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.cn(s&&"pl-3 pr-1.5 text-neutral"),children:s?o("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{})})}function Rt({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[c,i]=react.useState(e?.join(", ")??""),[u,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{i(m=>{let T=pe(m);return T===void 0&&e===void 0?m:T===void 0?e?.join(", ")??"":e===void 0?"":T.join("")===e.join("")?m:e.join(", ")});},[e]),react.useEffect(()=>{l(m=>{let T=pe(m);return T===void 0&&t===void 0?m:T===void 0?t?.join(", ")??"":t===void 0?"":T.join("")===t.join("")?m:t.join(", ")});},[t]);let a=react.useCallback(m=>{i(m),o?.(pe(m));},[o]),d=react.useCallback(m=>{l(m),s?.(pe(m));},[s]);return jsxRuntime.jsxs("div",{className:ui.cn("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:a})]}),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:u,onValueChange:d})]})]})}function pe(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Ot({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(t);react.useEffect(()=>{c(t);},[t]);let i=react.useMemo(()=>e.every(a=>r.includes(a)),[e,r]),u=react.useCallback(()=>{if(i){let a=[];c(a),o?.(a);}else {let a=[...e];c(a),o?.(a);}},[e,o,i]),l=react.useCallback(a=>()=>{if(r.includes(a)){let d=r.filter(m=>m!==a);c(d),o?.(d);}else {let d=[...r,a];c(d),o?.(d);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("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:u,children:n(i?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(a=>jsxRuntime.jsx(ui.StyledButton,{variant:"bordered",size:"xs",radius:"full",className:ui.cn("w-fit",`text-${a}`,`bg-${a}/5`,`border border-${a}`,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(a)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${a}.svg`,alt:utils.formatTokenProtocolName(a)}),onPress:l(a),children:utils.formatTokenProtocolName(a)},a))})]})}function H({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(o?Re(o).min:NaN),[i,u]=react.useState(o?Re(o).max:NaN);react.useEffect(()=>{if(o===void 0)c(NaN),u(NaN);else {let{min:d,max:m}=Re(o);c(d),u(m);}},[o]);let l=react.useCallback(d=>{c(d),s?.(_t(t,d,i));},[t,s,i]),a=react.useCallback(d=>{u(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:i,onValueChange:a,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,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 $t({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(i=>u=>{if(u===void 0){let l=(n??[]).filter(a=>a.field!==i);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(n??[]).filter(a=>a.field!==i),u];r(l),t?.(l);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(H,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:n?.find(i=>i.field==="holders"),onChange:c("holders")}),jsxRuntime.jsx(H,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(i=>i.field==="top10Ratio"),onChange:c("top10Ratio")}),jsxRuntime.jsx(H,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(i=>i.field==="top100Ratio"),onChange:c("top100Ratio")}),jsxRuntime.jsx(H,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(i=>i.field==="creatorsRatio"),onChange:c("creatorsRatio")})]})}function Kt({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(t);react.useEffect(()=>{c(t);},[t]);let i=react.useCallback(u=>l=>{if(l===void 0){let a=(r??[]).filter(d=>d.field!==u);a=a.length>0?a:void 0,c(a),o?.(a);}else {let a=[...(r??[]).filter(d=>d.field!==u),l];c(a),o?.(a);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(H,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(u=>u.field==="marketCap"),onChange:i("marketCap")}),jsxRuntime.jsx(H,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(u=>u.field==="tvl"),onChange:i("tvl")}),jsxRuntime.jsx(H,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`volumes${e}`),onChange:i(`volumes${e}`)}),jsxRuntime.jsx(H,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`trades${e}`),onChange:i(`trades${e}`)})]})}function Gt({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState("audits"),[i,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let l=react.useCallback(m=>{u(m),o?.(m);},[o]),a=react.useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return i?.filter(T=>m.includes(T.field))?.length??0},[i]),d=react.useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return i?.filter(T=>m.includes(T.field)).length??0},[i,e]);return jsxRuntime.jsxs("div",{className:ui.cn("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:a===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:a,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($t,{values:i,onValuesChange:l,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Kt,{values:i,onValuesChange:l,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function ve({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,c]=react.useState(Yt(o?.filters,e));react.useEffect(()=>{c(Yt(o?.filters,e));},[o?.filters,e]);let[i,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[l,a]=react.useState(o?.excludeKeywords);react.useEffect(()=>{a(o?.excludeKeywords);},[o?.excludeKeywords]);let[d,m]=react.useState(o?.filters);react.useEffect(()=>{m(o?.filters);},[o?.filters]);let T=react.useCallback(f=>{c(f),s?.(ye(e,f,i,l,d));},[e,i,l,d,s]),k=react.useCallback(f=>{u(f),s?.(ye(e,r,f,l,d));},[e,r,l,d,s]),h=react.useCallback(f=>{a(f),s?.(ye(e,r,i,f,d));},[e,r,i,d,s]),p=react.useCallback(f=>{m(f),s?.(ye(e,r,i,l,f));},[e,r,i,l,s]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Ot,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:T}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(Rt,{keywords:i,excludeKeywords:l,onKeywordsChange:k,onExcludeKeywordsChange:h}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Gt,{resolution:t,values:d,onValuesChange:p})]})}function Yt(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(i=>t.includes(i))||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 Id({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:c,onClose:i,onOpenChange:u}=ui.useDisclosure(),[l,a]=react.useState(o),d=react.useCallback(()=>{a(void 0);},[]),m=react.useCallback(()=>{s?.(l),i();},[l,s,i]);react.useEffect(()=>{a(o);},[r,o]);let T=react.useMemo(()=>Object.values(o||{}).every(k=>k===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: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:c,children:n("tokens.listHeader.filter")}),jsxRuntime.jsx(ui.StyledModal,{isOpen:r,onOpenChange:u,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:a,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 Wd({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:c,onClose:i,onOpenChange:u}=ui.useDisclosure(),[l,a]=react.useState(o),d=react.useCallback(()=>{a(void 0);},[]),m=react.useCallback(()=>{s?.(l),i();},[l,s,i]);react.useEffect(()=>{a(o);},[c,o]);let T=react.useMemo(()=>Object.values(o||{}).every(k=>k===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:c,onOpenChange:u,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":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:a})}),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 jd({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 io({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.cn(s&&"text-bullish",!s&&!n&&"text-bearish",o===void 0&&"text-neutral"),children:utils.formatPercent(o)})]})})}function ao({token:e}){let t=ui.useCopyToClipboard(),{t:o}=i18n.useTranslation(),s=react.useCallback(r=>{r.preventDefault(),r.stopPropagation(),t(e.address,()=>ui.toast.success(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(le,{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 lo({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]),i=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),u=react.useMemo(()=>new utils.SafeBigNumber(i).gte(.1),[i]),l=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),a=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]),T=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),k=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: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:u?"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: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:a?"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:k?"danger":T===void 0?"default":"primary",children:utils.formatPercent(T)})})]})]})}function co({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function mo({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function fo({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.cn("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 ho({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 To({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 yo({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 vo=5;function bo({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:vo}).map((o,s)=>jsxRuntime.jsx(Gn,{rowHeight:e,hasBorderBottom:s!==vo-1,hasActions:t},s))})}function Gn({rowHeight:e,hasBorderBottom:t,hasActions:o}){return jsxRuntime.jsxs("div",{className:ui.cn("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(Xn,{}),jsxRuntime.jsx(Yn,{}),jsxRuntime.jsx(Zn,{}),jsxRuntime.jsx(ei,{}),jsxRuntime.jsx(ti,{}),jsxRuntime.jsx(oi,{}),jsxRuntime.jsx(si,{}),jsxRuntime.jsx(ri,{}),jsxRuntime.jsx(ni,{}),o&&jsxRuntime.jsx(ii,{})]})}function Xn(){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 Yn(){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 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 ei(){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 ti(){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 oi(){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 si(){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 ri(){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 ni(){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 ii(){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 J({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:c,height:i=600,itemHeight:u=88,itemHeightMobile:l=72,className:a}){let{isMobile:d}=ui.useScreen(),{t:m}=i18n.useTranslation(),T=react.useCallback(f=>g=>{g.preventDefault(),g.stopPropagation(),n?.(f);},[n]),[k,h]=react.useState(r??{});react.useEffect(()=>{h(r??{});},[r]);let p=react.useCallback(f=>g=>{let b={[f]:g};h(b),c?.(b);},[c]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",a??(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:i,rowHeight:d?l:u,"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:k.price,onSortChange:p("price"),children:m("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:k[`priceChange${t}`],onSortChange:p(`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:k.marketCap,onSortChange:p("marketCap"),children:m("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:k.tvl,onSortChange:p("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:k[`volumes${t}`],onSortChange:p(`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:k[`trades${t}`],onSortChange:p(`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:k[`traders${t}`],onSortChange:p(`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(bo,{rowHeight:d?l:u,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?T(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ao,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(fo,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(mo,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(co,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(yo,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(To,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ho,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(io,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(lo,{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)})]})}var bi=80;function Pi(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 No(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,bi)}function Lo({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,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{a&&(l(k=>{let h=[...k];for(let p of a){let f=h.findIndex(g=>g.address===p.address);f>=0?h[f]=w(h[f],p):h.push(p);}return No(h)}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0?(f=true,p[b]=w(p[b],g)):(f=true,p.push(Pi(g)));}return f?No(p):h});},[]);react$1.useNewTokensSubscription({chain:e},m);let T=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:u,isLoading:T}}function Sm({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:i,className:u}){let[l,a]=react.useState(),d=react.useMemo(()=>{let k=Object.keys(l??{})[0],h=l?.[k];return {...o,...k&&h?{sortBy:k,sortDirection:h}:void 0}},[o,l]),{tokens:m,isLoading:T}=Lo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(J,{tokens:m,isLoading:T,resolution:t,height:r,itemHeight:c,itemHeightMobile:i,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:a,className:u})}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,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{a&&(l(k=>{let h=[];for(let p of a){let f=k.find(g=>g.address===p.address);h.push(f?w(f,p):p);}return h}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useStockTokensSubscription({chain:e},m);let T=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:u,isLoading:T}}function Um({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:i,className:u}){let[l,a]=react.useState(),d=react.useMemo(()=>{let k=Object.keys(l??{})[0],h=l?.[k];return {...o,...k&&h?{sortBy:k,sortDirection:h}:void 0}},[o,l]),{tokens:m,isLoading:T}=Mo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(J,{tokens:m,isLoading:T,resolution:t,height:r,itemHeight:c,itemHeightMobile:i,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:a,className:u})}function Eo({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,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{a&&(l(k=>{let h=[];for(let p of a){let f=k.find(g=>g.address===p.address);h.push(f?w(f,p):p);}return h}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useTrendingTokensSubscription({chain:e},m);let T=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:u,isLoading:T}}function Gm({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:i,className:u}){let[l,a]=react.useState(),d=react.useMemo(()=>{let k=Object.keys(l??{})[0],h=l?.[k];return {...o,...k&&h?{sortBy:k,sortDirection:h}:void 0}},[o,l]),{tokens:m,isLoading:T}=Eo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(J,{tokens:m,isLoading:T,resolution:t,height:r,itemHeight:c,itemHeightMobile:i,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:a,className:u})}var ji=15e3;function qi({chain:e,addresses:t,pollMs:o=ji}){let s=t.length>0,[n,r]=react.useState({}),c=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{c.data&&r(d=>{let m={};for(let T of c.data){let k=d[T.address];m[T.address]=k?w(k,T):T;}return m});},[c.data]);let{subscribeClient:i}=react$1.useDexClient(),u=react.useRef(""),l=t.slice().sort().join(",");l!==u.current&&(u.current=l),react.useEffect(()=>{if(!s)return;let d=[];for(let m of t)d.push(i.subscribeToken(e,m,T=>{r(k=>{let h=k;for(let p of T){let f=h[p.address];if(!f)continue;let g=w(f,p);g!==f&&(h=h===k?{...k}:h,h[p.address]=g);}return h});}));return ()=>{for(let m of d)m.unsubscribe();}},[i,e,l,s]);let a=react.useCallback(async()=>{await c.refetch();},[c.refetch]);return {tokens:n,isPending:c.isPending,isFetching:c.isFetching,isError:c.isError,isSuccess:c.isSuccess,error:c.error,refetch:a}}exports.NewTokenListWidget=Sm;exports.PulseFinalStretchListWidget=ll;exports.PulseList=q;exports.PulseListHeader=Ge;exports.PulseListItem=it;exports.PulseListItemSkeleton=Ye;exports.PulseMigratedListWidget=Xa;exports.PulseNewListWidget=Ba;exports.SearchTokensButton=Nl;exports.StockTokenListWidget=Um;exports.TokenAvatar=le;exports.TokenList=J;exports.TokenListFilter=ve;exports.TokenListFilterModal=Id;exports.TokenListFilterPopover=Wd;exports.TokenListResolutionSelector=jd;exports.TrendingTokenListWidget=Gm;exports.useNewTokensScript=Lo;exports.usePulseFinalStretchListScript=wt;exports.usePulseMigratedListScript=xt;exports.usePulseNewListScript=ft;exports.useStockTokensScript=Mo;exports.useTokens=qi;exports.useTrendingTokensScript=Eo;exports.version=Uo;//# sourceMappingURL=index.js.map
21
+ `})]})}function it({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),c=ui.useCopyToClipboard(),i=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),l=react.useCallback(g=>{g.stopPropagation(),c(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[c,e.address,r]),a=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]),T=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),k=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[h,p]=react.useMemo(()=>{let g=Number(e.stats?.["1h"]?.buys??0),b=Number(e.stats?.["1h"]?.sells??0),L=g+b;if(L===0)return [12,12];let ne=Math.round(g/L*24);return [ne,24-ne]},[e.stats]),f=react.useMemo(()=>{let g=new utils.SafeBigNumber(e.marketData?.marketCapInUsd);return g.lt(1e3)?"text-foreground":g.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx("div",{className:ui.cn("w-full h-full px-3 pt-3 pb-1 hover:bg-content2 cursor-pointer",!o&&"border-b border-border",n),onClick:s?u: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(le,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:l,children:utils.truncateAddress(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,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(i)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:g=>g.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:g=>g.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:g=>g.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:g=>g.stopPropagation(),children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.StyledTooltip,{content:r("tokens.tokenInfo.holders"),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"),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"),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(X,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:a}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:d}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:m}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:T}),jsxRuntime.jsx(X,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:k}),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.cn("text-base font-medium leading-none",f),children:utils.formatAmountUSDCompact(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.formatAmountUSDCompact(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:`${h}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${p}px`}})]})]})]})]})})}function X({icon:e,value:t,tooltip:o,warning:s}){return jsxRuntime.jsx(ui.StyledTooltip,{content:o,children:jsxRuntime.jsxs("div",{className:ui.cn("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 xs=124,lt=10;function ys({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(Ye,{isLast:e===s-1})})}function q({title:e,tokens:t,isLoading:o,itemHeight:s=xs,renderHeaderExtra:n,renderItemAction:r,onSelectToken:c,onPauseChange:i,className:u}){let l=o||!t?void 0:t,a=l?l.length:lt,d=react.useMemo(()=>({data:l,skeletonCount:lt,renderItemAction:r,onSelectToken:c}),[l,r,c]),[m,T]=react.useState(false),k=react.useCallback(()=>{T(true),i?.(true);},[i]),h=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",u),onMouseEnter:k,onMouseLeave:h,children:[jsxRuntime.jsx(Ge,{title:e,isPaused:m,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:a,rowHeight:s,rowComponent:ys,rowProps:d,overscanCount:5})})]})}function Ie(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var bs=["1m","5m","15m","30m","1h","4h","24h"];function Ps(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of bs)t[s]&&(o[s]=e[s]?Ie(e[s],t[s]):t[s]);return o}function ws(e,t){return t?e?Ie(e,t):t:e}function me(e,t){return t?e?Ie(e,t):t:e}function w(e,t){let{chain:o,address:s,stats:n,marketData:r,socialMedias:c,security:i,launchedFrom:u,migratedTo:l,...a}=t,d={...e};for(let m of Object.keys(a))a[m]!==void 0&&(d[m]=a[m]);return d.stats=Ps(e.stats,n),d.marketData=ws(e.marketData,r),d.socialMedias=me(e.socialMedias,c),d.security=me(e.security,i),d.launchedFrom=me(e.launchedFrom,u),d.migratedTo=me(e.migratedTo,l),d}var Ls=80;function Is(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 pt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Ls)}function ft({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,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{a&&(l(k=>{let h=n.current,p=[...k];for(let f of a){let g=p.findIndex(b=>b.address===f.address);g>=0?p[g]=w(p[g],f):h||p.push(f);}return h?p:pt(p)}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=n.current,f=[...h],g=false;for(let b of k){let L=f.findIndex(ne=>ne.address===b.address);L>=0?(g=true,f[L]=w(f[L],b)):p||(g=true,f.push(Is(b)));}return g?p?f:pt(f):h});},[]);react$1.useNewTokensSubscription({chain:e},m);let T=react.useMemo(()=>d||c,[d,c]);return {tokens:u,isLoading:T}}function Ba({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,i]=react.useState(false),{tokens:u,isLoading:l}=ft({chain:e,isPaused:c}),a=react.useCallback(d=>{i(d);},[]);return jsxRuntime.jsx(q,{title:t,tokens:u,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:a,className:r})}function xt({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,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{a&&(l(k=>{let h=n.current,p=[...k];for(let f of a){let g=p.findIndex(b=>b.address===f.address);g>=0?p[g]=w(p[g],f):h||p.unshift(f);}return p}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useMigratedTokensSubscription({chain:e},m);let T=react.useMemo(()=>d||c,[d,c]);return {tokens:u,isLoading:T}}function Xa({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,i]=react.useState(false),{tokens:u,isLoading:l}=xt({chain:e,isPaused:c}),a=react.useCallback(d=>{i(d);},[]);return jsxRuntime.jsx(q,{title:t,tokens:u,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:a,className:r})}function Vs(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function wt({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,i]=react.useState(true);react.useEffect(()=>{e!==r.current&&(i(true),r.current=e);},[e]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{a&&(l(k=>{let h=n.current,p=[...k];for(let f of a){let g=p.findIndex(b=>b.address===f.address);g>=0?p[g]=w(p[g],f):h||p.push(f);}return h?p:Vs(p)}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useFinalStretchTokensSubscription({chain:e},m);let T=react.useMemo(()=>d||c,[d,c]);return {tokens:u,isLoading:T}}function ll({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[c,i]=react.useState(false),{tokens:u,isLoading:l}=wt({chain:e,isPaused:c}),a=react.useCallback(d=>{i(d);},[]);return jsxRuntime.jsx(q,{title:t,tokens:u,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:a,className:r})}function Nl({onSearch:e,onCancel:t}){let{t:o}=i18n.useTranslation(),{isDesktop:s,isMobile:n}=ui.useScreen(),{onOpen:r,onClose:c}=uiScaffold.useAsyncModal("search_tokens"),i=react.useCallback(()=>{e?e():r();},[e,r]),u=react.useCallback(()=>{t?t():c();},[t,c]);return react.useEffect(()=>{let l=a=>{let d=document.activeElement,m=!!d&&(d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.getAttribute("contenteditable")==="true");a.key==="/"&&!m&&(a.preventDefault(),i()),a.key==="Escape"&&(a.preventDefault(),u());};return window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l);}},[i,u]),jsxRuntime.jsx(ui.StyledButton,{size:"sm",radius:"full",isIconOnly:!s,onPress:i,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.cn(s&&"pl-3 pr-1.5 text-neutral"),children:s?o("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{})})}function Rt({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[c,i]=react.useState(e?.join(", ")??""),[u,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{i(m=>{let T=pe(m);return T===void 0&&e===void 0?m:T===void 0?e?.join(", ")??"":e===void 0?"":T.join("")===e.join("")?m:e.join(", ")});},[e]),react.useEffect(()=>{l(m=>{let T=pe(m);return T===void 0&&t===void 0?m:T===void 0?t?.join(", ")??"":t===void 0?"":T.join("")===t.join("")?m:t.join(", ")});},[t]);let a=react.useCallback(m=>{i(m),o?.(pe(m));},[o]),d=react.useCallback(m=>{l(m),s?.(pe(m));},[s]);return jsxRuntime.jsxs("div",{className:ui.cn("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:a})]}),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:u,onValueChange:d})]})]})}function pe(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Ot({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(t);react.useEffect(()=>{c(t);},[t]);let i=react.useMemo(()=>e.every(a=>r.includes(a)),[e,r]),u=react.useCallback(()=>{if(i){let a=[];c(a),o?.(a);}else {let a=[...e];c(a),o?.(a);}},[e,o,i]),l=react.useCallback(a=>()=>{if(r.includes(a)){let d=r.filter(m=>m!==a);c(d),o?.(d);}else {let d=[...r,a];c(d),o?.(d);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("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:u,children:n(i?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(a=>jsxRuntime.jsx(ui.StyledButton,{variant:"bordered",size:"xs",radius:"full",className:ui.cn("w-fit",`text-${a}`,`bg-${a}/5`,`border border-${a}`,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(a)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${a}.svg`,alt:utils.formatTokenProtocolName(a)}),onPress:l(a),children:utils.formatTokenProtocolName(a)},a))})]})}function H({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(o?Re(o).min:NaN),[i,u]=react.useState(o?Re(o).max:NaN);react.useEffect(()=>{if(o===void 0)c(NaN),u(NaN);else {let{min:d,max:m}=Re(o);c(d),u(m);}},[o]);let l=react.useCallback(d=>{c(d),s?.(_t(t,d,i));},[t,s,i]),a=react.useCallback(d=>{u(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:i,onValueChange:a,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,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 $t({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(i=>u=>{if(u===void 0){let l=(n??[]).filter(a=>a.field!==i);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(n??[]).filter(a=>a.field!==i),u];r(l),t?.(l);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(H,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:n?.find(i=>i.field==="holders"),onChange:c("holders")}),jsxRuntime.jsx(H,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(i=>i.field==="top10Ratio"),onChange:c("top10Ratio")}),jsxRuntime.jsx(H,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(i=>i.field==="top100Ratio"),onChange:c("top100Ratio")}),jsxRuntime.jsx(H,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(i=>i.field==="creatorsRatio"),onChange:c("creatorsRatio")})]})}function Kt({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState(t);react.useEffect(()=>{c(t);},[t]);let i=react.useCallback(u=>l=>{if(l===void 0){let a=(r??[]).filter(d=>d.field!==u);a=a.length>0?a:void 0,c(a),o?.(a);}else {let a=[...(r??[]).filter(d=>d.field!==u),l];c(a),o?.(a);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(H,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(u=>u.field==="marketCap"),onChange:i("marketCap")}),jsxRuntime.jsx(H,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(u=>u.field==="tvl"),onChange:i("tvl")}),jsxRuntime.jsx(H,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`volumes${e}`),onChange:i(`volumes${e}`)}),jsxRuntime.jsx(H,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`trades${e}`),onChange:i(`trades${e}`)})]})}function Gt({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,c]=react.useState("audits"),[i,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let l=react.useCallback(m=>{u(m),o?.(m);},[o]),a=react.useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return i?.filter(T=>m.includes(T.field))?.length??0},[i]),d=react.useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return i?.filter(T=>m.includes(T.field)).length??0},[i,e]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:r,onSelectionChange:c,children:[jsxRuntime.jsx(ui.Tab,{title:a===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:a,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($t,{values:i,onValuesChange:l,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Kt,{values:i,onValuesChange:l,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function ve({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,c]=react.useState(Yt(o?.filters,e));react.useEffect(()=>{c(Yt(o?.filters,e));},[o?.filters,e]);let[i,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[l,a]=react.useState(o?.excludeKeywords);react.useEffect(()=>{a(o?.excludeKeywords);},[o?.excludeKeywords]);let[d,m]=react.useState(o?.filters);react.useEffect(()=>{m(o?.filters);},[o?.filters]);let T=react.useCallback(f=>{c(f),s?.(ye(e,f,i,l,d));},[e,i,l,d,s]),k=react.useCallback(f=>{u(f),s?.(ye(e,r,f,l,d));},[e,r,l,d,s]),h=react.useCallback(f=>{a(f),s?.(ye(e,r,i,f,d));},[e,r,i,d,s]),p=react.useCallback(f=>{m(f),s?.(ye(e,r,i,l,f));},[e,r,i,l,s]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Ot,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:T}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(Rt,{keywords:i,excludeKeywords:l,onKeywordsChange:k,onExcludeKeywordsChange:h}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Gt,{resolution:t,values:d,onValuesChange:p})]})}function Yt(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(i=>t.includes(i))||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 Id({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:c,onClose:i,onOpenChange:u}=ui.useDisclosure(),[l,a]=react.useState(o),d=react.useCallback(()=>{a(void 0);},[]),m=react.useCallback(()=>{s?.(l),i();},[l,s,i]);react.useEffect(()=>{a(o);},[r,o]);let T=react.useMemo(()=>Object.values(o||{}).every(k=>k===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: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:c,children:n("tokens.listHeader.filter")}),jsxRuntime.jsx(ui.StyledModal,{isOpen:r,onOpenChange:u,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:a,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 Wd({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:c,onClose:i,onOpenChange:u}=ui.useDisclosure(),[l,a]=react.useState(o),d=react.useCallback(()=>{a(void 0);},[]),m=react.useCallback(()=>{s?.(l),i();},[l,s,i]);react.useEffect(()=>{a(o);},[c,o]);let T=react.useMemo(()=>Object.values(o||{}).every(k=>k===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:c,onOpenChange:u,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":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:a})}),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 jd({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.StyledPlainTabs,{color:"primary",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 io({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"),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.cn(s&&"text-bullish",!s&&!n&&"text-bearish",o===void 0&&"text-neutral"),children:utils.formatPercent(o)})]})})}function ao({token:e}){let t=ui.useCopyToClipboard(),{t:o}=i18n.useTranslation(),s=react.useCallback(r=>{r.preventDefault(),r.stopPropagation(),t(e.address,()=>ui.toast.success(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(le,{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,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 lo({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]),i=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),u=react.useMemo(()=>new utils.SafeBigNumber(i).gte(.1),[i]),l=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),a=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]),T=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),k=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"),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"),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"),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"),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:u?"danger":i===void 0?"default":"primary",children:utils.formatPercent(i)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.devHoldingsRatio"),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"),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:a?"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"),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"),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:k?"danger":T===void 0?"default":"primary",children:utils.formatPercent(T)})})]})]})}function co({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function mo({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function fo({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.cn("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 ho({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 To({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 yo({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 vo=5;function bo({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:vo}).map((o,s)=>jsxRuntime.jsx(Gn,{rowHeight:e,hasBorderBottom:s!==vo-1,hasActions:t},s))})}function Gn({rowHeight:e,hasBorderBottom:t,hasActions:o}){return jsxRuntime.jsxs("div",{className:ui.cn("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(Xn,{}),jsxRuntime.jsx(Yn,{}),jsxRuntime.jsx(Zn,{}),jsxRuntime.jsx(ei,{}),jsxRuntime.jsx(ti,{}),jsxRuntime.jsx(oi,{}),jsxRuntime.jsx(si,{}),jsxRuntime.jsx(ri,{}),jsxRuntime.jsx(ni,{}),o&&jsxRuntime.jsx(ii,{})]})}function Xn(){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 Yn(){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 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 ei(){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 ti(){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 oi(){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 si(){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 ri(){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 ni(){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 ii(){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 J({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:c,height:i=600,itemHeight:u=88,itemHeightMobile:l=72,className:a}){let{isMobile:d}=ui.useScreen(),{t:m}=i18n.useTranslation(),T=react.useCallback(f=>g=>{g.preventDefault(),g.stopPropagation(),n?.(f);},[n]),[k,h]=react.useState(r??{});react.useEffect(()=>{h(r??{});},[r]);let p=react.useCallback(f=>g=>{let b={[f]:g};h(b),c?.(b);},[c]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",a??(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:i,rowHeight:d?l:u,"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:k.price,onSortChange:p("price"),children:m("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:k[`priceChange${t}`],onSortChange:p(`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:k.marketCap,onSortChange:p("marketCap"),children:m("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:k.tvl,onSortChange:p("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:k[`volumes${t}`],onSortChange:p(`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:k[`trades${t}`],onSortChange:p(`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:k[`traders${t}`],onSortChange:p(`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(bo,{rowHeight:d?l:u,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?T(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ao,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(fo,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(mo,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(co,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(yo,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(To,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ho,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(io,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(lo,{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)})]})}var bi=80;function Pi(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 No(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,bi)}function Lo({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,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{a&&(l(k=>{let h=[...k];for(let p of a){let f=h.findIndex(g=>g.address===p.address);f>=0?h[f]=w(h[f],p):h.push(p);}return No(h)}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0?(f=true,p[b]=w(p[b],g)):(f=true,p.push(Pi(g)));}return f?No(p):h});},[]);react$1.useNewTokensSubscription({chain:e},m);let T=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:u,isLoading:T}}function Sm({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:i,className:u}){let[l,a]=react.useState(),d=react.useMemo(()=>{let k=Object.keys(l??{})[0],h=l?.[k];return {...o,...k&&h?{sortBy:k,sortDirection:h}:void 0}},[o,l]),{tokens:m,isLoading:T}=Lo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(J,{tokens:m,isLoading:T,resolution:t,height:r,itemHeight:c,itemHeightMobile:i,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:a,className:u})}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,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{a&&(l(k=>{let h=[];for(let p of a){let f=k.find(g=>g.address===p.address);h.push(f?w(f,p):p);}return h}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useStockTokensSubscription({chain:e},m);let T=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:u,isLoading:T}}function Um({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:i,className:u}){let[l,a]=react.useState(),d=react.useMemo(()=>{let k=Object.keys(l??{})[0],h=l?.[k];return {...o,...k&&h?{sortBy:k,sortDirection:h}:void 0}},[o,l]),{tokens:m,isLoading:T}=Mo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(J,{tokens:m,isLoading:T,resolution:t,height:r,itemHeight:c,itemHeightMobile:i,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:a,className:u})}function Eo({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,i]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(i(true),r.current=n);},[n]);let[u,l]=react.useState([]),{data:a,isPending:d}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{a&&(l(k=>{let h=[];for(let p of a){let f=k.find(g=>g.address===p.address);h.push(f?w(f,p):p);}return h}),i(false));},[a]);let m=react.useCallback(k=>{l(h=>{let p=[...h],f=false;for(let g of k){let b=p.findIndex(L=>L.address===g.address);b>=0&&(f=true,p[b]=w(p[b],g));}return f?p:h});},[]);react$1.useTrendingTokensSubscription({chain:e},m);let T=react.useMemo(()=>!!(d||c),[d,c]);return {tokens:u,isLoading:T}}function Gm({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:c,itemHeightMobile:i,className:u}){let[l,a]=react.useState(),d=react.useMemo(()=>{let k=Object.keys(l??{})[0],h=l?.[k];return {...o,...k&&h?{sortBy:k,sortDirection:h}:void 0}},[o,l]),{tokens:m,isLoading:T}=Eo({chain:e,resolution:t,options:d});return jsxRuntime.jsx(J,{tokens:m,isLoading:T,resolution:t,height:r,itemHeight:c,itemHeightMobile:i,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:a,className:u})}var ji=15e3;function qi({chain:e,addresses:t,pollMs:o=ji}){let s=t.length>0,[n,r]=react.useState({}),c=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{c.data&&r(d=>{let m={};for(let T of c.data){let k=d[T.address];m[T.address]=k?w(k,T):T;}return m});},[c.data]);let{subscribeClient:i}=react$1.useDexClient(),u=react.useRef(""),l=t.slice().sort().join(",");l!==u.current&&(u.current=l),react.useEffect(()=>{if(!s)return;let d=[];for(let m of t)d.push(i.subscribeToken(e,m,T=>{r(k=>{let h=k;for(let p of T){let f=h[p.address];if(!f)continue;let g=w(f,p);g!==f&&(h=h===k?{...k}:h,h[p.address]=g);}return h});}));return ()=>{for(let m of d)m.unsubscribe();}},[i,e,l,s]);let a=react.useCallback(async()=>{await c.refetch();},[c.refetch]);return {tokens:n,isPending:c.isPending,isFetching:c.isFetching,isError:c.isError,isSuccess:c.isSuccess,error:c.error,refetch:a}}exports.NewTokenListWidget=Sm;exports.PulseFinalStretchListWidget=ll;exports.PulseList=q;exports.PulseListHeader=Ge;exports.PulseListItem=it;exports.PulseListItemSkeleton=Ye;exports.PulseMigratedListWidget=Xa;exports.PulseNewListWidget=Ba;exports.SearchTokensButton=Nl;exports.StockTokenListWidget=Um;exports.TokenAvatar=le;exports.TokenList=J;exports.TokenListFilter=ve;exports.TokenListFilterModal=Id;exports.TokenListFilterPopover=Wd;exports.TokenListResolutionSelector=jd;exports.TrendingTokenListWidget=Gm;exports.useNewTokensScript=Lo;exports.usePulseFinalStretchListScript=wt;exports.usePulseMigratedListScript=xt;exports.usePulseNewListScript=ft;exports.useStockTokensScript=Mo;exports.useTokens=qi;exports.useTrendingTokensScript=Eo;exports.version=Uo;//# sourceMappingURL=index.js.map
22
22
  //# sourceMappingURL=index.js.map