@liberfi.io/ui-tokens 0.1.57 → 0.1.59

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
@@ -12,7 +12,7 @@ declare global {
12
12
  };
13
13
  }
14
14
  }
15
- declare const _default: "0.1.57";
15
+ declare const _default: "0.1.59";
16
16
 
17
17
  interface PulseListProps {
18
18
  /** list title */
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ declare global {
12
12
  };
13
13
  }
14
14
  }
15
- declare const _default: "0.1.57";
15
+ declare const _default: "0.1.59";
16
16
 
17
17
  interface PulseListProps {
18
18
  /** 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$1=require('@liberfi.io/utils'),react$1=require('@liberfi.io/react'),uiScaffold=require('@liberfi.io/ui-scaffold'),jotai=require('jotai'),utils=require('jotai/utils'),reactWindowInfiniteLoader=require('react-window-infinite-loader');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="0.1.57");var Ps="0.1.57";function ht({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 gt({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 X({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:l,classNames:a}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils$1.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),c=react.useMemo(()=>n&&u,[n,u]),i=react.useMemo(()=>s&&e.migrateProgress&&new utils$1.SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),m=react.useMemo(()=>o&&e.image,[o,e.image]),d=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[T,h]=react.useState(false),k=react.useCallback(()=>{h(true);},[]),p=react.useCallback(()=>{h(false);},[]),f=react.useCallback(g=>{if(g.stopPropagation(),!e.image)return;let S=utils$1.searchImageUrl(e.image);window.open(S,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",l??"w-15 h-15"),children:[!i&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?`bg-${u}`:"bg-bullish",a?.background)}),i&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Ds,{className:ui.cn(u?`text-${u}`:"text-bullish",a?.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",a?.avatarWrapper),children:jsxRuntime.jsx(Hs,{token:e,radius:r,enableSearch:o,enablePreview:t,classNames:a,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&&m&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:p,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:d,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${r}`,a?.avatar)}),T&&m&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,a?.searchWrapper),onClick:f,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),c&&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}`,a?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${u}.svg`,className:ui.cn("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function Hs({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(Fs,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function Fs({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]),[l,a]=react.useState(false),u=react.useCallback(()=>{a(true);},[]),c=react.useCallback(()=>{a(false);},[]),i=react.useCallback(m=>{if(m.stopPropagation(),!e.image)return;let d=utils$1.searchImageUrl(e.image);window.open(d,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,l&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:c,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)}),l&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:i,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Ds({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$1=require('@liberfi.io/utils'),react$1=require('@liberfi.io/react'),uiScaffold=require('@liberfi.io/ui-scaffold'),jotai=require('jotai'),utils=require('jotai/utils'),reactWindowInfiniteLoader=require('react-window-infinite-loader');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="0.1.59");var Ps="0.1.59";function ht({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 gt({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 X({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:l,classNames:a}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils$1.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=react.useMemo(()=>n&&u,[n,u]),i=react.useMemo(()=>s&&e.migrateProgress&&new utils$1.SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),m=react.useMemo(()=>o&&e.image,[o,e.image]),c=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[T,h]=react.useState(false),k=react.useCallback(()=>{h(true);},[]),p=react.useCallback(()=>{h(false);},[]),f=react.useCallback(g=>{if(g.stopPropagation(),!e.image)return;let S=utils$1.searchImageUrl(e.image);window.open(S,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",l??"w-15 h-15"),children:[!i&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?`bg-${u}`:"bg-bullish",a?.background)}),i&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Ds,{className:ui.cn(u?`text-${u}`:"text-bullish",a?.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",a?.avatarWrapper),children:jsxRuntime.jsx(Hs,{token:e,radius:r,enableSearch:o,enablePreview:t,classNames:a,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&&m&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:p,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:c,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${r}`,a?.avatar)}),T&&m&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,a?.searchWrapper),onClick:f,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),d&&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}`,a?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${u}.svg`,className:ui.cn("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function Hs({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(Fs,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function Fs({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]),[l,a]=react.useState(false),u=react.useCallback(()=>{a(true);},[]),d=react.useCallback(()=>{a(false);},[]),i=react.useCallback(m=>{if(m.stopPropagation(),!e.image)return;let c=utils$1.searchImageUrl(e.image);window.open(c,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,l&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:d,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)}),l&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:i,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Ds({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 Pt({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),l=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),c=react.useCallback(g=>{g.stopPropagation(),l(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[l,e.address,r]),i=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),m=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),d=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),T=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),h=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,p]=react.useMemo(()=>{let g=Number(e.stats?.["1h"]?.buys??0),S=Number(e.stats?.["1h"]?.sells??0),L=g+S;if(L===0)return [12,12];let ke=Math.round(g/L*24);return [ke,24-ke]},[e.stats]),f=react.useMemo(()=>{let g=new utils$1.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(X,{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:c,children:utils$1.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:c,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$1.formatAge(a)}),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$1.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$1.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$1.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$1.formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:i}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:m}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:d}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:T}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:h}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.cn("text-base font-medium leading-none",f),children:utils$1.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$1.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$1.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:`${k}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${p}px`}})]})]})]})]})})}function ae({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 ar=124,Ct=10;function ir({index:e,style:t,data:o,skeletonCount:s,renderItemAction:n,onSelectToken:r}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Pt,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(gt,{isLast:e===s-1})})}function ee({title:e,tokens:t,isLoading:o,itemHeight:s=ar,renderHeaderExtra:n,renderItemAction:r,onSelectToken:l,onPauseChange:a,className:u}){let c=o||!t?void 0:t,i=c?c.length:Ct,m=react.useMemo(()=>({data:c,skeletonCount:Ct,renderItemAction:r,onSelectToken:l}),[c,r,l]),[d,T]=react.useState(false),h=react.useCallback(()=>{T(true),a?.(true);},[a]),k=react.useCallback(()=>{T(false),a?.(false);},[a]);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:h,onMouseLeave:k,children:[jsxRuntime.jsx(ht,{title:e,isPaused:d,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:i,rowHeight:s,rowComponent:ir,rowProps:m,overscanCount:5})})]})}function $e(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var dr=["1m","5m","15m","30m","1h","4h","24h"];function cr(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of dr)t[s]&&(o[s]=e[s]?$e(e[s],t[s]):t[s]);return o}function mr(e,t){return t?e?$e(e,t):t:e}function ve(e,t){return t?e?$e(e,t):t:e}function b(e,t){let{chain:o,address:s,stats:n,marketData:r,socialMedias:l,security:a,launchedFrom:u,migratedTo:c,...i}=t,m={...e};for(let d of Object.keys(i))i[d]!==void 0&&(m[d]=i[d]);return m.stats=cr(e.stats,n),m.marketData=mr(e.marketData,r),m.socialMedias=ve(e.socialMedias,l),m.security=ve(e.security,a),m.launchedFrom=ve(e.launchedFrom,u),m.migratedTo=ve(e.migratedTo,c),m}var hr=80;function kr(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 Mt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,hr)}function Ht({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[l,a]=react.useState(true);react.useEffect(()=>{e!==r.current&&(a(true),r.current=e);},[e]);let[u,c]=react.useState([]),{data:i,isPending:m}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(c(h=>{let k=n.current,p=[...h];for(let f of i){let g=p.findIndex(S=>S.address===f.address);g>=0?p[g]=b(p[g],f):k||p.push(f);}return k?p:Mt(p)}),a(false));},[i]);let d=react.useCallback(h=>{c(k=>{let p=n.current,f=[...k],g=false;for(let S of h){let L=f.findIndex(ke=>ke.address===S.address);L>=0?(g=true,f[L]=b(f[L],S)):p||(g=true,f.push(kr(S)));}return g?p?f:Mt(f):k});},[]);react$1.useNewTokensSubscription({chain:e},d);let T=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:T}}function Ad({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:c}=Ht({chain:e,isPaused:l}),i=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(ee,{title:t,tokens:u,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function Ot({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),[l,a]=react.useState(true);react.useEffect(()=>{e!==r.current&&(a(true),r.current=e);},[e]);let[u,c]=react.useState([]),{data:i,isPending:m}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(c(h=>{let k=n.current,p=[...h];for(let f of i){let g=p.findIndex(S=>S.address===f.address);g>=0?p[g]=b(p[g],f):k||p.unshift(f);}return p}),a(false));},[i]);let d=react.useCallback(h=>{c(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useMigratedTokensSubscription({chain:e},d);let T=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:T}}function Vd({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:c}=Ot({chain:e,isPaused:l}),i=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(ee,{title:t,tokens:u,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function Ir(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function $t({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),[l,a]=react.useState(true);react.useEffect(()=>{e!==r.current&&(a(true),r.current=e);},[e]);let[u,c]=react.useState([]),{data:i,isPending:m}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(c(h=>{let k=n.current,p=[...h];for(let f of i){let g=p.findIndex(S=>S.address===f.address);g>=0?p[g]=b(p[g],f):k||p.push(f);}return k?p:Ir(p)}),a(false));},[i]);let d=react.useCallback(h=>{c(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useFinalStretchTokensSubscription({chain:e},d);let T=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:T}}function Zd({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:c}=$t({chain:e,isPaused:l}),i=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(ee,{title:t,tokens:u,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}var Dr=10,Er=utils.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Se(){let[e,t]=jotai.useAtom(Er),o=react.useCallback(n=>{let r=n.trim();r&&t(l=>{let a=l.filter(u=>u!==r);return [r,...a].slice(0,Dr)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function qt({histories:e,onSelect:t,onClear:o,className:s}){let{t:n}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",s),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium",children:n("tokens.search.history")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(r=>jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"bordered",className:ui.cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(r),children:r},r))})]})}function Qt({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Se();return jsxRuntime.jsx(qt,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function Jt({value:e,onValueChange:t,onClear:o,onPaste:s,className:n}){let{t:r}=i18n.useTranslation(),l=hooks.useClipboardRead(s);return jsxRuntime.jsx("div",{className:n,children:jsxRuntime.jsx(ui.StyledInput,{autoFocus:true,variant:"flat",radius:"full",value:e,onValueChange:t,placeholder:r("tokens.search.placeholder"),startContent:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}),!e&&jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:l,children:jsxRuntime.jsx(ui.CopyIcon,{width:18,height:18})})]})})})}function eo({token:e,className:t}){let{t:o}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),n=react.useMemo(()=>e.marketData?.priceInUsd,[e]),r=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),l=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),u=react.useMemo(()=>a?new utils$1.SafeBigNumber(a).abs().toString():void 0,[a]),c=react.useMemo(()=>a!=null&&new utils$1.SafeBigNumber(a).gte(0),[a]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t),children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsxRuntime.jsx(X,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils$1.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils$1.formatAmountUSD(r)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils$1.formatAmountUSD(l)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils$1.formatPriceUSD(n)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",c?"text-bullish":"text-bearish"),children:[c?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils$1.formatPercent(u)})]})]})]})}function we({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("h-9 px-3 flex items-center justify-between","text-xs font-medium text-neutral","sticky top-0 z-10",e),children:[jsxRuntime.jsx("div",{className:"flex-1",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.token")," / ",t("tokens.listHeader.age")," /"," ",t("tokens.listHeader.marketCap")," /"," ",t("tokens.listHeader.liquidity")]})}),jsxRuntime.jsx("div",{className:"flex-none w-20 text-right",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.price")," / ",t("tokens.listHeader.24hChange")]})})]})}function ln(){return jsxRuntime.jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function oo({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,s)=>jsxRuntime.jsx(ln,{},s))})}function ro({keyword:e,chains:t,limit:o=50}){let s=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:n,isLoading:r,isFetchingNextPage:l,hasNextPage:a,fetchNextPage:u}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>n?.pages.flatMap(i=>i.data)??[],[n]),isLoading:r,isFetchingNextPage:l,hasNextPage:a??false,fetchNextPage:u}}var Tn=56;function ao({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:n,isFetchingNextPage:r,hasNextPage:l,fetchNextPage:a}=ro(o),u=react.useRef(null),{height:c}=hooks.useResizeObserver({ref:u}),i=react.useCallback(h=>h<s.length,[s]),m=react.useCallback(async()=>{l&&!r&&await a();},[l,r,a]),d=react.useMemo(()=>l?s.length+1:s.length,[s,l]),T=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:i,loadMoreRows:m,rowCount:d,threshold:5});return n?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(we,{}),jsxRuntime.jsx(oo,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(we,{}),jsxRuntime.jsx(yn,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(we,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsxRuntime.jsx(reactWindow.List,{style:{height:c},onRowsRendered:T,rowComponent:xn,rowCount:d,rowHeight:Tn,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function xn({index:e,style:t,tokens:o,onSelectToken:s}){let n=o[e];return n?jsxRuntime.jsx("div",{style:t,onClick:()=>s?.(n),children:jsxRuntime.jsx(eo,{token:n})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function yn(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral",children:e("tokens.search.noResults")})]})}function co({onKeywordChange:e}){let[t,o]=react.useState(""),[s,n]=react.useState(""),{addHistory:r}=Se(),l=hooks.useCallbackRef(e),a=hooks.useCallbackRef(r),u=react.useMemo(()=>utils$1.debounce(d=>{n(d),l(d),d&&a(d);},500),[l,a]),c=react.useCallback(d=>{o(d),u(d);},[u]),i=react.useCallback(d=>{u.cancel(),o(d),n(d),l(d),d&&a(d);},[u,l,a]),m=react.useCallback(()=>i(""),[i]);return {text:t,keyword:s,setText:c,setKeyword:i,clearKeyword:m}}function mo({chains:e,onKeywordChange:t,onSelectToken:o}){let{text:s,keyword:n,setText:r,setKeyword:l,clearKeyword:a}=co({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Jt,{value:s,onValueChange:r,onClear:a,onPaste:l}),n?jsxRuntime.jsx(ao,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col",children:[jsxRuntime.jsx(Qt,{onSelect:l}),jsxRuntime.jsx(Pn,{})]})]})}function Pn(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col items-center justify-start text-neutral pt-20",children:[jsxRuntime.jsx(ui.SearchIcon,{width:32,height:32,className:"opacity-40"}),jsxRuntime.jsx("p",{className:"mt-3 text-sm",children:e("tokens.search.hint")})]})}var Qe="search";function Cm({id:e=Qe}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(En,{...t})})}function En({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:n}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),l=react.useCallback(a=>{s(a);},[s]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between px-4 py-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:n("tokens.search.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx(mo,{chains:e?.chains,onSelectToken:l})})]})})}function Em({chains:e,onSelectToken:t}){let{t:o}=i18n.useTranslation(),{isDesktop:s,isMobile:n}=ui.useScreen(),{onOpen:r,onClose:l}=uiScaffold.useAsyncModal(Qe),a=hooks.useCallbackRef(t),u=react.useCallback(async()=>{let i=await r({params:{chains:e}});i&&a(i);},[r,e,a]),c=react.useCallback(()=>{l();},[l]);return react.useEffect(()=>{let i=m=>{let d=document.activeElement,T=!!d&&(d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.getAttribute("contenteditable")==="true");m.key==="/"&&!T&&(m.preventDefault(),u()),m.key==="Escape"&&(m.preventDefault(),c());};return window.addEventListener("keydown",i),()=>{window.removeEventListener("keydown",i);}},[u,c]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!s,onPress:u,variant:n?"flat":"bordered",startContent:s?jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"}):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,{className:"text-neutral"})})}function xo({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[l,a]=react.useState(e?.join(", ")??""),[u,c]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(d=>{let T=Ce(d);return T===void 0&&e===void 0?d:T===void 0?e?.join(", ")??"":e===void 0?"":T.join("")===e.join("")?d:e.join(", ")});},[e]),react.useEffect(()=>{c(d=>{let T=Ce(d);return T===void 0&&t===void 0?d:T===void 0?t?.join(", ")??"":t===void 0?"":T.join("")===t.join("")?d:t.join(", ")});},[t]);let i=react.useCallback(d=>{a(d),o?.(Ce(d));},[o]),m=react.useCallback(d=>{c(d),s?.(Ce(d));},[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:l,onValueChange:i})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:u,onValueChange:m})]})]})}function Ce(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Po({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let a=react.useMemo(()=>e.every(i=>r.includes(i)),[e,r]),u=react.useCallback(()=>{if(a){let i=[];l(i),o?.(i);}else {let i=[...e];l(i),o?.(i);}},[e,o,a]),c=react.useCallback(i=>()=>{if(r.includes(i)){let m=r.filter(d=>d!==i);l(m),o?.(m);}else {let m=[...r,i];l(m),o?.(m);}},[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(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(i=>jsxRuntime.jsx(ui.StyledButton,{variant:"bordered",size:"xs",radius:"full",className:ui.cn("w-fit",`text-${i}`,`bg-${i}/5`,`border border-${i}`,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(i)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${i}.svg`,alt:utils$1.formatTokenProtocolName(i)}),onPress:c(i),children:utils$1.formatTokenProtocolName(i)},i))})]})}function D({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(o?Je(o).min:NaN),[a,u]=react.useState(o?Je(o).max:NaN);react.useEffect(()=>{if(o===void 0)l(NaN),u(NaN);else {let{min:m,max:d}=Je(o);l(m),u(d);}},[o]);let c=react.useCallback(m=>{l(m),s?.(Io(t,m,a));},[t,s,a]),i=react.useCallback(m=>{u(m),s?.(Io(t,r,m));},[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:c,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:i,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Je(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 Io(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 Ao({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let l=react.useCallback(a=>u=>{if(u===void 0){let c=(n??[]).filter(i=>i.field!==a);c=c.length>0?c:void 0,r(c),t?.(c);}else {let c=[...(n??[]).filter(i=>i.field!==a),u];r(c),t?.(c);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(D,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:n?.find(a=>a.field==="holders"),onChange:l("holders")}),jsxRuntime.jsx(D,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:l("top10Ratio")}),jsxRuntime.jsx(D,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:l("top100Ratio")}),jsxRuntime.jsx(D,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:l("creatorsRatio")})]})}function Mo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let a=react.useCallback(u=>c=>{if(c===void 0){let i=(r??[]).filter(m=>m.field!==u);i=i.length>0?i:void 0,l(i),o?.(i);}else {let i=[...(r??[]).filter(m=>m.field!==u),c];l(i),o?.(i);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(D,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(u=>u.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(D,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(u=>u.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(D,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(D,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Oo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState("audits"),[a,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let c=react.useCallback(d=>{u(d),o?.(d);},[o]),i=react.useMemo(()=>{let d=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(T=>d.includes(T.field))?.length??0},[a]),m=react.useMemo(()=>{let d=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(T=>d.includes(T.field)).length??0},[a,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:l,children:[jsxRuntime.jsx(ui.Tab,{title:i===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:i,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:m===0?n("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:n("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(Ao,{values:a,onValuesChange:c,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Mo,{values:a,onValuesChange:c,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function De({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,l]=react.useState(Bo(o?.filters,e));react.useEffect(()=>{l(Bo(o?.filters,e));},[o?.filters,e]);let[a,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[c,i]=react.useState(o?.excludeKeywords);react.useEffect(()=>{i(o?.excludeKeywords);},[o?.excludeKeywords]);let[m,d]=react.useState(o?.filters);react.useEffect(()=>{d(o?.filters);},[o?.filters]);let T=react.useCallback(f=>{l(f),s?.(Fe(e,f,a,c,m));},[e,a,c,m,s]),h=react.useCallback(f=>{u(f),s?.(Fe(e,r,f,c,m));},[e,r,c,m,s]),k=react.useCallback(f=>{i(f),s?.(Fe(e,r,a,f,m));},[e,r,a,m,s]),p=react.useCallback(f=>{d(f),s?.(Fe(e,r,a,c,f));},[e,r,a,c,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(Po,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:T}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(xo,{keywords:a,excludeKeywords:c,onKeywordsChange:h,onExcludeKeywordsChange:k}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Oo,{resolution:t,values:m,onValuesChange:p})]})}function Bo(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 Fe(e,t,o,s,n){let r=n?[...n.filter(l=>l.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&r.length===0?void 0:{keywords:o,excludeKeywords:s,filters:r.length>0?r:void 0}}function Ju({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:l,onClose:a,onOpenChange:u}=ui.useDisclosure(),[c,i]=react.useState(o),m=react.useCallback(()=>{i(void 0);},[]),d=react.useCallback(()=>{s?.(c),a();},[c,s,a]);react.useEffect(()=>{i(o);},[r,o]);let T=react.useMemo(()=>Object.values(o||{}).every(h=>h===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:l,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(De,{protocols:e,resolution:t,filters:c,onFiltersChange:i,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{children:jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:n("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:d,children:n("common.apply")})]})})]})})]})}function ap({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:l,onClose:a,onOpenChange:u}=ui.useDisclosure(),[c,i]=react.useState(o),m=react.useCallback(()=>{i(void 0);},[]),d=react.useCallback(()=>{s?.(c),a();},[c,s,a]);react.useEffect(()=>{i(o);},[l,o]);let T=react.useMemo(()=>Object.values(o||{}).every(h=>h===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:l,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":l}),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(De,{protocols:e,resolution:t,filters:c,onFiltersChange:i})}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:r("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:d,children:r("common.apply")})]})]})})]})}function pp({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 Qo({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>o!==void 0&&new utils$1.SafeBigNumber(o).gte(.1),[o]),n=react.useMemo(()=>o===void 0||new utils$1.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$1.formatPercent(o)})]})})}function Go({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(X,{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$1.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$1.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 Jo({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]),l=react.useMemo(()=>new utils$1.SafeBigNumber(r).gte(.1),[r]),a=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),u=react.useMemo(()=>new utils$1.SafeBigNumber(a).gte(.1),[a]),c=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),i=react.useMemo(()=>new utils$1.SafeBigNumber(c).gte(.1),[c]),m=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),d=react.useMemo(()=>new utils$1.SafeBigNumber(m).gte(.1),[m]),T=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),h=react.useMemo(()=>new utils$1.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$1.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$1.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$1.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":a===void 0?"default":"primary",children:utils$1.formatPercent(a)})}),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:l?"danger":r===void 0?"default":"primary",children:utils$1.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:i?"danger":c===void 0?"default":"primary",children:utils$1.formatPercent(c)})})]}),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:d?"danger":m===void 0?"default":"primary",children:utils$1.formatPercent(m)})}),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:h?"danger":T===void 0?"default":"primary",children:utils$1.formatPercent(T)})})]})]})}function Xo({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function Yo({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ts({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$1.SafeBigNumber(s).abs().toString():void 0,[s]),r=react.useMemo(()=>s&&new utils$1.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$1.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$1.formatPercent(n)})]})]})}function ss({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$1.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils$1.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils$1.formatAmount(n)})]})]})}function ns({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$1.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils$1.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils$1.formatAmount(n)})]})]})}function is({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$1.formatAmountUSD(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils$1.formatAmountUSD(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils$1.formatAmountUSD(n)})]})]})}var ls=5;function ds({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:ls}).map((o,s)=>jsxRuntime.jsx(_i,{rowHeight:e,hasBorderBottom:s!==ls-1,hasActions:t},s))})}function _i({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(Vi,{}),jsxRuntime.jsx($i,{}),jsxRuntime.jsx(Ki,{}),jsxRuntime.jsx(zi,{}),jsxRuntime.jsx(ji,{}),jsxRuntime.jsx(qi,{}),jsxRuntime.jsx(Qi,{}),jsxRuntime.jsx(Gi,{}),jsxRuntime.jsx(Ji,{}),o&&jsxRuntime.jsx(Xi,{})]})}function Vi(){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 $i(){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 Ki(){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 zi(){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 ji(){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 qi(){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 Qi(){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 Gi(){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 Ji(){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 Xi(){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 re({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:l,height:a=600,itemHeight:u=88,itemHeightMobile:c=72,className:i}){let{isMobile:m}=ui.useScreen(),{t:d}=i18n.useTranslation(),T=react.useCallback(f=>g=>{g.preventDefault(),g.stopPropagation(),n?.(f);},[n]),[h,k]=react.useState(r??{});react.useEffect(()=>{k(r??{});},[r]);let p=react.useCallback(f=>g=>{let S={[f]:g};k(S),l?.(S);},[l]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",i??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:a,rowHeight:m?c:u,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.token"),width:m?224:320,children:d("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:h.price,onSortChange:p("price"),children:d("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:h[`priceChange${t}`],onSortChange:p(`priceChange${t}`),children:d("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:h.marketCap,onSortChange:p("marketCap"),children:d("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:h.tvl,onSortChange:p("tvl"),children:d("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`volumes${t}`],onSortChange:p(`volumes${t}`),children:d("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`trades${t}`],onSortChange:p(`trades${t}`),children:d("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`traders${t}`],onSortChange:p(`traders${t}`),children:d("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.bluechip"),width:128,children:d("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.tokenInfo"),width:308,children:d("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsxRuntime.jsx(ui.TableColumn,{textValue:d("tokens.listHeader.actions"),width:124,align:"end",children:d("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsxRuntime.jsx(ds,{rowHeight:m?c: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:d("common.empty")})]}),children:f=>jsxRuntime.jsx(ui.TableRow,{onClick:n?T(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Go,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ts,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Yo,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Xo,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(is,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ns,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ss,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Qo,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Jo,{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 pl=80;function fl(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 fs(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,pl)}function hs({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),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[u,c]=react.useState([]),{data:i,isPending:m}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(c(h=>{let k=[...h];for(let p of i){let f=k.findIndex(g=>g.address===p.address);f>=0?k[f]=b(k[f],p):k.push(p);}return fs(k)}),a(false));},[i]);let d=react.useCallback(h=>{c(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0?(f=true,p[S]=b(p[S],g)):(f=true,p.push(fl(g)));}return f?fs(p):k});},[]);react$1.useNewTokensSubscription({chain:e},d);let T=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:T}}function Qf({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[c,i]=react.useState(),m=react.useMemo(()=>{let h=Object.keys(c??{})[0],k=c?.[h];return {...o,...h&&k?{sortBy:h,sortDirection:k}:void 0}},[o,c]),{tokens:d,isLoading:T}=hs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(re,{tokens:d,isLoading:T,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:c,onSortChange:i,className:u})}function xs({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),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[u,c]=react.useState([]),{data:i,isPending:m}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(c(h=>{let k=[];for(let p of i){let f=h.find(g=>g.address===p.address);k.push(f?b(f,p):p);}return k}),a(false));},[i]);let d=react.useCallback(h=>{c(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useStockTokensSubscription({chain:e},d);let T=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:T}}function ah({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[c,i]=react.useState(),m=react.useMemo(()=>{let h=Object.keys(c??{})[0],k=c?.[h];return {...o,...h&&k?{sortBy:h,sortDirection:k}:void 0}},[o,c]),{tokens:d,isLoading:T}=xs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(re,{tokens:d,isLoading:T,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:c,onSortChange:i,className:u})}function ws({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),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[u,c]=react.useState([]),{data:i,isPending:m}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(c(h=>{let k=[];for(let p of i){let f=h.find(g=>g.address===p.address);k.push(f?b(f,p):p);}return k}),a(false));},[i]);let d=react.useCallback(h=>{c(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useTrendingTokensSubscription({chain:e},d);let T=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:T}}function Th({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[c,i]=react.useState(),m=react.useMemo(()=>{let h=Object.keys(c??{})[0],k=c?.[h];return {...o,...h&&k?{sortBy:h,sortDirection:k}:void 0}},[o,c]),{tokens:d,isLoading:T}=ws({chain:e,resolution:t,options:m});return jsxRuntime.jsx(re,{tokens:d,isLoading:T,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:c,onSortChange:i,className:u})}var Ul=15e3;function Ol({chain:e,addresses:t,pollMs:o=Ul}){let s=t.length>0,[n,r]=react.useState({}),l=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{l.data&&r(m=>{let d={};for(let T of l.data){let h=m[T.address];d[T.address]=h?b(h,T):T;}return d});},[l.data]);let{subscribeClient:a}=react$1.useDexClient(),u=react.useRef(""),c=t.slice().sort().join(",");c!==u.current&&(u.current=c),react.useEffect(()=>{if(!s)return;let m=[];for(let d of t)m.push(a.subscribeToken(e,d,T=>{r(h=>{let k=h;for(let p of T){let f=k[p.address];if(!f)continue;let g=b(f,p);g!==f&&(k=k===h?{...h}:k,k[p.address]=g);}return k});}));return ()=>{for(let d of m)d.unsubscribe();}},[a,e,c,s]);let i=react.useCallback(async()=>{await l.refetch();},[l.refetch]);return {tokens:n,isPending:l.isPending,isFetching:l.isFetching,isError:l.isError,isSuccess:l.isSuccess,error:l.error,refetch:i}}exports.NewTokenListWidget=Qf;exports.PulseFinalStretchListWidget=Zd;exports.PulseList=ee;exports.PulseListHeader=ht;exports.PulseListItem=Pt;exports.PulseListItemSkeleton=gt;exports.PulseMigratedListWidget=Vd;exports.PulseNewListWidget=Ad;exports.SEARCH_MODAL_ID=Qe;exports.SearchHistoryUI=qt;exports.SearchHistoryWidget=Qt;exports.SearchInputUI=Jt;exports.SearchModal=Cm;exports.SearchResultItemUI=eo;exports.SearchResultListHeader=we;exports.SearchResultListSkeleton=oo;exports.SearchResultListWidget=ao;exports.SearchTokensButton=Em;exports.SearchWidget=mo;exports.StockTokenListWidget=ah;exports.TokenAvatar=X;exports.TokenList=re;exports.TokenListFilter=De;exports.TokenListFilterModal=Ju;exports.TokenListFilterPopover=ap;exports.TokenListResolutionSelector=pp;exports.TrendingTokenListWidget=Th;exports.useNewTokensScript=hs;exports.usePulseFinalStretchListScript=$t;exports.usePulseMigratedListScript=Ot;exports.usePulseNewListScript=Ht;exports.useSearchHistory=Se;exports.useSearchResultListScript=ro;exports.useSearchScript=co;exports.useStockTokensScript=xs;exports.useTokens=Ol;exports.useTrendingTokensScript=ws;exports.version=Ps;//# sourceMappingURL=index.js.map
21
+ `})]})}function Pt({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),l=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),d=react.useCallback(g=>{g.stopPropagation(),l(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[l,e.address,r]),i=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),m=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),c=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),T=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),h=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,p]=react.useMemo(()=>{let g=Number(e.stats?.["1h"]?.buys??0),S=Number(e.stats?.["1h"]?.sells??0),L=g+S;if(L===0)return [12,12];let ke=Math.round(g/L*24);return [ke,24-ke]},[e.stats]),f=react.useMemo(()=>{let g=new utils$1.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(X,{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:d,children:utils$1.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:d,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils$1.formatAge(a)}),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$1.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$1.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$1.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$1.formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:i}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:m}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:c}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:T}),jsxRuntime.jsx(ae,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:h}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.cn("text-base font-medium leading-none",f),children:utils$1.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$1.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$1.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:`${k}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${p}px`}})]})]})]})]})})}function ae({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-content2 rounded-full text-xs",s?"text-danger-500":"text-primary"),children:[e,jsxRuntime.jsx("span",{children:t})]})})}var ar=124,Ct=10;function ir({index:e,style:t,data:o,skeletonCount:s,renderItemAction:n,onSelectToken:r}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Pt,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(gt,{isLast:e===s-1})})}function ee({title:e,tokens:t,isLoading:o,itemHeight:s=ar,renderHeaderExtra:n,renderItemAction:r,onSelectToken:l,onPauseChange:a,className:u}){let d=o||!t?void 0:t,i=d?d.length:Ct,m=react.useMemo(()=>({data:d,skeletonCount:Ct,renderItemAction:r,onSelectToken:l}),[d,r,l]),[c,T]=react.useState(false),h=react.useCallback(()=>{T(true),a?.(true);},[a]),k=react.useCallback(()=>{T(false),a?.(false);},[a]);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:h,onMouseLeave:k,children:[jsxRuntime.jsx(ht,{title:e,isPaused:c,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:i,rowHeight:s,rowComponent:ir,rowProps:m,overscanCount:5})})]})}function $e(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var dr=["1m","5m","15m","30m","1h","4h","24h"];function cr(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of dr)t[s]&&(o[s]=e[s]?$e(e[s],t[s]):t[s]);return o}function mr(e,t){return t?e?$e(e,t):t:e}function ve(e,t){return t?e?$e(e,t):t:e}function b(e,t){let{chain:o,address:s,stats:n,marketData:r,socialMedias:l,security:a,launchedFrom:u,migratedTo:d,...i}=t,m={...e};for(let c of Object.keys(i))i[c]!==void 0&&(m[c]=i[c]);return m.stats=cr(e.stats,n),m.marketData=mr(e.marketData,r),m.socialMedias=ve(e.socialMedias,l),m.security=ve(e.security,a),m.launchedFrom=ve(e.launchedFrom,u),m.migratedTo=ve(e.migratedTo,d),m}var hr=80;function kr(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 Mt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,hr)}function Ht({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[l,a]=react.useState(true),[u,d]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),d([]),r.current=e);},[e]);let{data:i,isPending:m}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(d(h=>{let k=n.current,p=[...h];for(let f of i){let g=p.findIndex(S=>S.address===f.address);g>=0?p[g]=b(p[g],f):k||p.push(f);}return k?p:Mt(p)}),a(false));},[i]);let c=react.useCallback(h=>{d(k=>{let p=n.current,f=[...k],g=false;for(let S of h){let L=f.findIndex(ke=>ke.address===S.address);L>=0?(g=true,f[L]=b(f[L],S)):p||(g=true,f.push(kr(S)));}return g?p?f:Mt(f):k});},[]);react$1.useNewTokensSubscription({chain:e},c);let T=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:T}}function Ad({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:d}=Ht({chain:e,isPaused:l}),i=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(ee,{title:t,tokens:u,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function Ot({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),[l,a]=react.useState(true),[u,d]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),d([]),r.current=e);},[e]);let{data:i,isPending:m}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(d(h=>{let k=n.current,p=[...h];for(let f of i){let g=p.findIndex(S=>S.address===f.address);g>=0?p[g]=b(p[g],f):k||p.unshift(f);}return p}),a(false));},[i]);let c=react.useCallback(h=>{d(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useMigratedTokensSubscription({chain:e},c);let T=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:T}}function Vd({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:d}=Ot({chain:e,isPaused:l}),i=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(ee,{title:t,tokens:u,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}function Ir(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function $t({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),[l,a]=react.useState(true),[u,d]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),d([]),r.current=e);},[e]);let{data:i,isPending:m}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{i&&(d(h=>{let k=n.current,p=[...h];for(let f of i){let g=p.findIndex(S=>S.address===f.address);g>=0?p[g]=b(p[g],f):k||p.push(f);}return k?p:Ir(p)}),a(false));},[i]);let c=react.useCallback(h=>{d(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useFinalStretchTokensSubscription({chain:e},c);let T=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:T}}function Zd({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:d}=$t({chain:e,isPaused:l}),i=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(ee,{title:t,tokens:u,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:i,className:r})}var Dr=10,Er=utils.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Se(){let[e,t]=jotai.useAtom(Er),o=react.useCallback(n=>{let r=n.trim();r&&t(l=>{let a=l.filter(u=>u!==r);return [r,...a].slice(0,Dr)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function qt({histories:e,onSelect:t,onClear:o,className:s}){let{t:n}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",s),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium",children:n("tokens.search.history")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(r=>jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"bordered",className:ui.cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(r),children:r},r))})]})}function Qt({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Se();return jsxRuntime.jsx(qt,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function Jt({value:e,onValueChange:t,onClear:o,onPaste:s,className:n}){let{t:r}=i18n.useTranslation(),l=hooks.useClipboardRead(s);return jsxRuntime.jsx("div",{className:n,children:jsxRuntime.jsx(ui.StyledInput,{autoFocus:true,variant:"flat",radius:"full",value:e,onValueChange:t,placeholder:r("tokens.search.placeholder"),startContent:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}),!e&&jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:l,children:jsxRuntime.jsx(ui.CopyIcon,{width:18,height:18})})]})})})}function eo({token:e,className:t}){let{t:o}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),n=react.useMemo(()=>e.marketData?.priceInUsd,[e]),r=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),l=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),u=react.useMemo(()=>a?new utils$1.SafeBigNumber(a).abs().toString():void 0,[a]),d=react.useMemo(()=>a!=null&&new utils$1.SafeBigNumber(a).gte(0),[a]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t),children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsxRuntime.jsx(X,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils$1.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils$1.formatAmountUSD(r)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils$1.formatAmountUSD(l)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils$1.formatPriceUSD(n)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",d?"text-bullish":"text-bearish"),children:[d?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils$1.formatPercent(u)})]})]})]})}function we({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("h-9 px-3 flex items-center justify-between","text-xs font-medium text-neutral","sticky top-0 z-10",e),children:[jsxRuntime.jsx("div",{className:"flex-1",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.token")," / ",t("tokens.listHeader.age")," /"," ",t("tokens.listHeader.marketCap")," /"," ",t("tokens.listHeader.liquidity")]})}),jsxRuntime.jsx("div",{className:"flex-none w-20 text-right",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.price")," / ",t("tokens.listHeader.24hChange")]})})]})}function ln(){return jsxRuntime.jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function oo({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,s)=>jsxRuntime.jsx(ln,{},s))})}function ro({keyword:e,chains:t,limit:o=50}){let s=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:n,isLoading:r,isFetchingNextPage:l,hasNextPage:a,fetchNextPage:u}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>n?.pages.flatMap(i=>i.data)??[],[n]),isLoading:r,isFetchingNextPage:l,hasNextPage:a??false,fetchNextPage:u}}var Tn=56;function ao({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:n,isFetchingNextPage:r,hasNextPage:l,fetchNextPage:a}=ro(o),u=react.useRef(null),{height:d}=hooks.useResizeObserver({ref:u}),i=react.useCallback(h=>h<s.length,[s]),m=react.useCallback(async()=>{l&&!r&&await a();},[l,r,a]),c=react.useMemo(()=>l?s.length+1:s.length,[s,l]),T=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:i,loadMoreRows:m,rowCount:c,threshold:5});return n?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(we,{}),jsxRuntime.jsx(oo,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(we,{}),jsxRuntime.jsx(yn,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(we,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsxRuntime.jsx(reactWindow.List,{style:{height:d},onRowsRendered:T,rowComponent:xn,rowCount:c,rowHeight:Tn,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function xn({index:e,style:t,tokens:o,onSelectToken:s}){let n=o[e];return n?jsxRuntime.jsx("div",{style:t,onClick:()=>s?.(n),children:jsxRuntime.jsx(eo,{token:n})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function yn(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral",children:e("tokens.search.noResults")})]})}function co({onKeywordChange:e}){let[t,o]=react.useState(""),[s,n]=react.useState(""),{addHistory:r}=Se(),l=hooks.useCallbackRef(e),a=hooks.useCallbackRef(r),u=react.useMemo(()=>utils$1.debounce(c=>{n(c),l(c),c&&a(c);},500),[l,a]),d=react.useCallback(c=>{o(c),u(c);},[u]),i=react.useCallback(c=>{u.cancel(),o(c),n(c),l(c),c&&a(c);},[u,l,a]),m=react.useCallback(()=>i(""),[i]);return {text:t,keyword:s,setText:d,setKeyword:i,clearKeyword:m}}function mo({chains:e,onKeywordChange:t,onSelectToken:o}){let{text:s,keyword:n,setText:r,setKeyword:l,clearKeyword:a}=co({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Jt,{value:s,onValueChange:r,onClear:a,onPaste:l}),n?jsxRuntime.jsx(ao,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col",children:[jsxRuntime.jsx(Qt,{onSelect:l}),jsxRuntime.jsx(Pn,{})]})]})}function Pn(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col items-center justify-start text-neutral pt-20",children:[jsxRuntime.jsx(ui.SearchIcon,{width:32,height:32,className:"opacity-40"}),jsxRuntime.jsx("p",{className:"mt-3 text-sm",children:e("tokens.search.hint")})]})}var Qe="search";function Cm({id:e=Qe}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(En,{...t})})}function En({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:n}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),l=react.useCallback(a=>{s(a);},[s]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between px-4 py-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:n("tokens.search.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx(mo,{chains:e?.chains,onSelectToken:l})})]})})}function Em({chains:e,onSelectToken:t}){let{t:o}=i18n.useTranslation(),{isDesktop:s,isMobile:n}=ui.useScreen(),{onOpen:r,onClose:l}=uiScaffold.useAsyncModal(Qe),a=hooks.useCallbackRef(t),u=react.useCallback(async()=>{let i=await r({params:{chains:e}});i&&a(i);},[r,e,a]),d=react.useCallback(()=>{l();},[l]);return react.useEffect(()=>{let i=m=>{let c=document.activeElement,T=!!c&&(c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.getAttribute("contenteditable")==="true");m.key==="/"&&!T&&(m.preventDefault(),u()),m.key==="Escape"&&(m.preventDefault(),d());};return window.addEventListener("keydown",i),()=>{window.removeEventListener("keydown",i);}},[u,d]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!s,onPress:u,variant:n?"flat":"bordered",startContent:s?jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"}):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,{className:"text-neutral"})})}function xo({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[l,a]=react.useState(e?.join(", ")??""),[u,d]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(c=>{let T=Ce(c);return T===void 0&&e===void 0?c:T===void 0?e?.join(", ")??"":e===void 0?"":T.join("")===e.join("")?c:e.join(", ")});},[e]),react.useEffect(()=>{d(c=>{let T=Ce(c);return T===void 0&&t===void 0?c:T===void 0?t?.join(", ")??"":t===void 0?"":T.join("")===t.join("")?c:t.join(", ")});},[t]);let i=react.useCallback(c=>{a(c),o?.(Ce(c));},[o]),m=react.useCallback(c=>{d(c),s?.(Ce(c));},[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:l,onValueChange:i})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:u,onValueChange:m})]})]})}function Ce(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Po({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let a=react.useMemo(()=>e.every(i=>r.includes(i)),[e,r]),u=react.useCallback(()=>{if(a){let i=[];l(i),o?.(i);}else {let i=[...e];l(i),o?.(i);}},[e,o,a]),d=react.useCallback(i=>()=>{if(r.includes(i)){let m=r.filter(c=>c!==i);l(m),o?.(m);}else {let m=[...r,i];l(m),o?.(m);}},[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(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(i=>jsxRuntime.jsx(ui.StyledButton,{variant:"bordered",size:"xs",radius:"full",className:ui.cn("w-fit",`text-${i}`,`bg-${i}/5`,`border border-${i}`,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(i)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${i}.svg`,alt:utils$1.formatTokenProtocolName(i)}),onPress:d(i),children:utils$1.formatTokenProtocolName(i)},i))})]})}function D({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(o?Je(o).min:NaN),[a,u]=react.useState(o?Je(o).max:NaN);react.useEffect(()=>{if(o===void 0)l(NaN),u(NaN);else {let{min:m,max:c}=Je(o);l(m),u(c);}},[o]);let d=react.useCallback(m=>{l(m),s?.(Io(t,m,a));},[t,s,a]),i=react.useCallback(m=>{u(m),s?.(Io(t,r,m));},[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:d,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:i,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Je(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 Io(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 Ao({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let l=react.useCallback(a=>u=>{if(u===void 0){let d=(n??[]).filter(i=>i.field!==a);d=d.length>0?d:void 0,r(d),t?.(d);}else {let d=[...(n??[]).filter(i=>i.field!==a),u];r(d),t?.(d);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(D,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:n?.find(a=>a.field==="holders"),onChange:l("holders")}),jsxRuntime.jsx(D,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:l("top10Ratio")}),jsxRuntime.jsx(D,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:l("top100Ratio")}),jsxRuntime.jsx(D,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:l("creatorsRatio")})]})}function Mo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let a=react.useCallback(u=>d=>{if(d===void 0){let i=(r??[]).filter(m=>m.field!==u);i=i.length>0?i:void 0,l(i),o?.(i);}else {let i=[...(r??[]).filter(m=>m.field!==u),d];l(i),o?.(i);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(D,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(u=>u.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(D,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(u=>u.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(D,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(D,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:r?.find(u=>u.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Oo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState("audits"),[a,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let d=react.useCallback(c=>{u(c),o?.(c);},[o]),i=react.useMemo(()=>{let c=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(T=>c.includes(T.field))?.length??0},[a]),m=react.useMemo(()=>{let c=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(T=>c.includes(T.field)).length??0},[a,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:l,children:[jsxRuntime.jsx(ui.Tab,{title:i===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:i,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:m===0?n("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:n("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(Ao,{values:a,onValuesChange:d,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Mo,{values:a,onValuesChange:d,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function De({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,l]=react.useState(Bo(o?.filters,e));react.useEffect(()=>{l(Bo(o?.filters,e));},[o?.filters,e]);let[a,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[d,i]=react.useState(o?.excludeKeywords);react.useEffect(()=>{i(o?.excludeKeywords);},[o?.excludeKeywords]);let[m,c]=react.useState(o?.filters);react.useEffect(()=>{c(o?.filters);},[o?.filters]);let T=react.useCallback(f=>{l(f),s?.(Fe(e,f,a,d,m));},[e,a,d,m,s]),h=react.useCallback(f=>{u(f),s?.(Fe(e,r,f,d,m));},[e,r,d,m,s]),k=react.useCallback(f=>{i(f),s?.(Fe(e,r,a,f,m));},[e,r,a,m,s]),p=react.useCallback(f=>{c(f),s?.(Fe(e,r,a,d,f));},[e,r,a,d,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(Po,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:T}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(xo,{keywords:a,excludeKeywords:d,onKeywordsChange:h,onExcludeKeywordsChange:k}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Oo,{resolution:t,values:m,onValuesChange:p})]})}function Bo(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 Fe(e,t,o,s,n){let r=n?[...n.filter(l=>l.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&r.length===0?void 0:{keywords:o,excludeKeywords:s,filters:r.length>0?r:void 0}}function Ju({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:l,onClose:a,onOpenChange:u}=ui.useDisclosure(),[d,i]=react.useState(o),m=react.useCallback(()=>{i(void 0);},[]),c=react.useCallback(()=>{s?.(d),a();},[d,s,a]);react.useEffect(()=>{i(o);},[r,o]);let T=react.useMemo(()=>Object.values(o||{}).every(h=>h===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:l,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(De,{protocols:e,resolution:t,filters:d,onFiltersChange:i,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{children:jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:n("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:c,children:n("common.apply")})]})})]})})]})}function ap({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:l,onClose:a,onOpenChange:u}=ui.useDisclosure(),[d,i]=react.useState(o),m=react.useCallback(()=>{i(void 0);},[]),c=react.useCallback(()=>{s?.(d),a();},[d,s,a]);react.useEffect(()=>{i(o);},[l,o]);let T=react.useMemo(()=>Object.values(o||{}).every(h=>h===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:l,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":l}),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(De,{protocols:e,resolution:t,filters:d,onFiltersChange:i})}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.StyledButton,{color:"transparent",size:"xs",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:r("common.reset")}),jsxRuntime.jsx(ui.StyledButton,{color:"primary",size:"sm",radius:"full",onPress:c,children:r("common.apply")})]})]})})]})}function pp({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 Qo({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>o!==void 0&&new utils$1.SafeBigNumber(o).gte(.1),[o]),n=react.useMemo(()=>o===void 0||new utils$1.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$1.formatPercent(o)})]})})}function Go({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(X,{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$1.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$1.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 Jo({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]),l=react.useMemo(()=>new utils$1.SafeBigNumber(r).gte(.1),[r]),a=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),u=react.useMemo(()=>new utils$1.SafeBigNumber(a).gte(.1),[a]),d=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),i=react.useMemo(()=>new utils$1.SafeBigNumber(d).gte(.1),[d]),m=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),c=react.useMemo(()=>new utils$1.SafeBigNumber(m).gte(.1),[m]),T=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),h=react.useMemo(()=>new utils$1.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$1.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$1.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$1.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":a===void 0?"default":"primary",children:utils$1.formatPercent(a)})}),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:l?"danger":r===void 0?"default":"primary",children:utils$1.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:i?"danger":d===void 0?"default":"primary",children:utils$1.formatPercent(d)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.insiderHoldingsRatio"),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:c?"danger":m===void 0?"default":"primary",children:utils$1.formatPercent(m)})}),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:h?"danger":T===void 0?"default":"primary",children:utils$1.formatPercent(T)})})]})]})}function Xo({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function Yo({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ts({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$1.SafeBigNumber(s).abs().toString():void 0,[s]),r=react.useMemo(()=>s&&new utils$1.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$1.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$1.formatPercent(n)})]})]})}function ss({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$1.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils$1.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils$1.formatAmount(n)})]})]})}function ns({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$1.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils$1.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils$1.formatAmount(n)})]})]})}function is({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$1.formatAmountUSD(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils$1.formatAmountUSD(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils$1.formatAmountUSD(n)})]})]})}var ls=5;function ds({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:ls}).map((o,s)=>jsxRuntime.jsx(_i,{rowHeight:e,hasBorderBottom:s!==ls-1,hasActions:t},s))})}function _i({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(Vi,{}),jsxRuntime.jsx($i,{}),jsxRuntime.jsx(Ki,{}),jsxRuntime.jsx(zi,{}),jsxRuntime.jsx(ji,{}),jsxRuntime.jsx(qi,{}),jsxRuntime.jsx(Qi,{}),jsxRuntime.jsx(Gi,{}),jsxRuntime.jsx(Ji,{}),o&&jsxRuntime.jsx(Xi,{})]})}function Vi(){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 $i(){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 Ki(){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 zi(){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 ji(){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 qi(){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 Qi(){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 Gi(){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 Ji(){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 Xi(){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 re({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:l,height:a=600,itemHeight:u=88,itemHeightMobile:d=72,className:i}){let{isMobile:m}=ui.useScreen(),{t:c}=i18n.useTranslation(),T=react.useCallback(f=>g=>{g.preventDefault(),g.stopPropagation(),n?.(f);},[n]),[h,k]=react.useState(r??{});react.useEffect(()=>{k(r??{});},[r]);let p=react.useCallback(f=>g=>{let S={[f]:g};k(S),l?.(S);},[l]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",i??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:a,rowHeight:m?d:u,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.token"),width:m?224:320,children:c("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:h.price,onSortChange:p("price"),children:c("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:h[`priceChange${t}`],onSortChange:p(`priceChange${t}`),children:c("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:h.marketCap,onSortChange:p("marketCap"),children:c("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:h.tvl,onSortChange:p("tvl"),children:c("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`volumes${t}`],onSortChange:p(`volumes${t}`),children:c("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`trades${t}`],onSortChange:p(`trades${t}`),children:c("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:h[`traders${t}`],onSortChange:p(`traders${t}`),children:c("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.bluechip"),width:128,children:c("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.tokenInfo"),width:308,children:c("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.actions"),width:124,align:"end",children:c("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsxRuntime.jsx(ds,{rowHeight:m?d: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:c("common.empty")})]}),children:f=>jsxRuntime.jsx(ui.TableRow,{onClick:n?T(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Go,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ts,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Yo,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Xo,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(is,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ns,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ss,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Qo,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Jo,{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 pl=80;function fl(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 fs(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,pl)}function hs({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),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[u,d]=react.useState([]),{data:i,isPending:m}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(d(h=>{let k=[...h];for(let p of i){let f=k.findIndex(g=>g.address===p.address);f>=0?k[f]=b(k[f],p):k.push(p);}return fs(k)}),a(false));},[i]);let c=react.useCallback(h=>{d(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0?(f=true,p[S]=b(p[S],g)):(f=true,p.push(fl(g)));}return f?fs(p):k});},[]);react$1.useNewTokensSubscription({chain:e},c);let T=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:T}}function Qf({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[d,i]=react.useState(),m=react.useMemo(()=>{let h=Object.keys(d??{})[0],k=d?.[h];return {...o,...h&&k?{sortBy:h,sortDirection:k}:void 0}},[o,d]),{tokens:c,isLoading:T}=hs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(re,{tokens:c,isLoading:T,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:d,onSortChange:i,className:u})}function xs({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),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[u,d]=react.useState([]),{data:i,isPending:m}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(d(h=>{let k=[];for(let p of i){let f=h.find(g=>g.address===p.address);k.push(f?b(f,p):p);}return k}),a(false));},[i]);let c=react.useCallback(h=>{d(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useStockTokensSubscription({chain:e},c);let T=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:T}}function ah({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[d,i]=react.useState(),m=react.useMemo(()=>{let h=Object.keys(d??{})[0],k=d?.[h];return {...o,...h&&k?{sortBy:h,sortDirection:k}:void 0}},[o,d]),{tokens:c,isLoading:T}=xs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(re,{tokens:c,isLoading:T,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:d,onSortChange:i,className:u})}function ws({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),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),r.current=n);},[n]);let[u,d]=react.useState([]),{data:i,isPending:m}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{i&&(d(h=>{let k=[];for(let p of i){let f=h.find(g=>g.address===p.address);k.push(f?b(f,p):p);}return k}),a(false));},[i]);let c=react.useCallback(h=>{d(k=>{let p=[...k],f=false;for(let g of h){let S=p.findIndex(L=>L.address===g.address);S>=0&&(f=true,p[S]=b(p[S],g));}return f?p:k});},[]);react$1.useTrendingTokensSubscription({chain:e},c);let T=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:T}}function Th({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[d,i]=react.useState(),m=react.useMemo(()=>{let h=Object.keys(d??{})[0],k=d?.[h];return {...o,...h&&k?{sortBy:h,sortDirection:k}:void 0}},[o,d]),{tokens:c,isLoading:T}=ws({chain:e,resolution:t,options:m});return jsxRuntime.jsx(re,{tokens:c,isLoading:T,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:d,onSortChange:i,className:u})}var Ul=15e3;function Ol({chain:e,addresses:t,pollMs:o=Ul}){let s=t.length>0,[n,r]=react.useState({}),l=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{l.data&&r(m=>{let c={};for(let T of l.data){let h=m[T.address];c[T.address]=h?b(h,T):T;}return c});},[l.data]);let{subscribeClient:a}=react$1.useDexClient(),u=react.useRef(""),d=t.slice().sort().join(",");d!==u.current&&(u.current=d),react.useEffect(()=>{if(!s)return;let m=[];for(let c of t)m.push(a.subscribeToken(e,c,T=>{r(h=>{let k=h;for(let p of T){let f=k[p.address];if(!f)continue;let g=b(f,p);g!==f&&(k=k===h?{...h}:k,k[p.address]=g);}return k});}));return ()=>{for(let c of m)c.unsubscribe();}},[a,e,d,s]);let i=react.useCallback(async()=>{await l.refetch();},[l.refetch]);return {tokens:n,isPending:l.isPending,isFetching:l.isFetching,isError:l.isError,isSuccess:l.isSuccess,error:l.error,refetch:i}}exports.NewTokenListWidget=Qf;exports.PulseFinalStretchListWidget=Zd;exports.PulseList=ee;exports.PulseListHeader=ht;exports.PulseListItem=Pt;exports.PulseListItemSkeleton=gt;exports.PulseMigratedListWidget=Vd;exports.PulseNewListWidget=Ad;exports.SEARCH_MODAL_ID=Qe;exports.SearchHistoryUI=qt;exports.SearchHistoryWidget=Qt;exports.SearchInputUI=Jt;exports.SearchModal=Cm;exports.SearchResultItemUI=eo;exports.SearchResultListHeader=we;exports.SearchResultListSkeleton=oo;exports.SearchResultListWidget=ao;exports.SearchTokensButton=Em;exports.SearchWidget=mo;exports.StockTokenListWidget=ah;exports.TokenAvatar=X;exports.TokenList=re;exports.TokenListFilter=De;exports.TokenListFilterModal=Ju;exports.TokenListFilterPopover=ap;exports.TokenListResolutionSelector=pp;exports.TrendingTokenListWidget=Th;exports.useNewTokensScript=hs;exports.usePulseFinalStretchListScript=$t;exports.usePulseMigratedListScript=Ot;exports.usePulseNewListScript=Ht;exports.useSearchHistory=Se;exports.useSearchResultListScript=ro;exports.useSearchScript=co;exports.useStockTokensScript=xs;exports.useTokens=Ol;exports.useTrendingTokensScript=ws;exports.version=Ps;//# sourceMappingURL=index.js.map
22
22
  //# sourceMappingURL=index.js.map