@liberfi.io/ui-tokens 0.1.167 → 0.1.168

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.167";
15
+ declare const _default: "0.1.168";
16
16
 
17
17
  interface PulseListProps {
18
18
  /** list title */
@@ -222,9 +222,11 @@ type SearchInputUIProps = {
222
222
  onClear?: () => void;
223
223
  /** Called with clipboard text when paste button is pressed */
224
224
  onPaste?: (text: string) => void;
225
+ /** Called when Escape is pressed */
226
+ onEscape?: () => void;
225
227
  className?: string;
226
228
  };
227
- declare function SearchInputUI({ value, onValueChange, onClear, onPaste, className, }: SearchInputUIProps): react_jsx_runtime.JSX.Element;
229
+ declare function SearchInputUI({ value, onValueChange, onClear, onEscape, className, }: SearchInputUIProps): react_jsx_runtime.JSX.Element;
228
230
 
229
231
  type SearchResultItemUIProps = {
230
232
  token: Token;
@@ -281,8 +283,10 @@ type SearchWidgetProps = {
281
283
  onKeywordChange?: (keyword: string) => void;
282
284
  /** Callback when a token is selected */
283
285
  onSelectToken?: (token: Token) => void;
286
+ /** Callback when Escape is pressed (e.g. close modal) */
287
+ onEscape?: () => void;
284
288
  };
285
- declare function SearchWidget({ chains, onKeywordChange, onSelectToken, }: SearchWidgetProps): react_jsx_runtime.JSX.Element;
289
+ declare function SearchWidget({ chains, onKeywordChange, onSelectToken, onEscape, }: SearchWidgetProps): react_jsx_runtime.JSX.Element;
286
290
 
287
291
  type TokenAvatarProps = {
288
292
  /** token data to display */
@@ -358,7 +362,7 @@ type TokenListFilterModalProps = Pick<TokenListFilterProps, "protocols" | "resol
358
362
  declare function TokenListFilterModal({ protocols, resolution, filters, onFiltersChange, }: TokenListFilterModalProps): react_jsx_runtime.JSX.Element;
359
363
 
360
364
  type TokenListFilterPopoverProps = Pick<PopoverProps, "placement"> & Pick<TokenListFilterProps, "protocols" | "resolution" | "filters" | "onFiltersChange">;
361
- declare function TokenListFilterPopover({ protocols, resolution, filters, onFiltersChange, ...popoverProps }: TokenListFilterPopoverProps): react_jsx_runtime.JSX.Element;
365
+ declare function TokenListFilterPopover({ protocols, resolution, filters, onFiltersChange, }: TokenListFilterPopoverProps): react_jsx_runtime.JSX.Element;
362
366
 
363
367
  type TokenListFilterWidgetProps = TokenListFilterModalProps & {
364
368
  /** Popover placement used on non-mobile screens. @default "bottom-end" */
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ declare global {
12
12
  };
13
13
  }
14
14
  }
15
- declare const _default: "0.1.167";
15
+ declare const _default: "0.1.168";
16
16
 
17
17
  interface PulseListProps {
18
18
  /** list title */
@@ -222,9 +222,11 @@ type SearchInputUIProps = {
222
222
  onClear?: () => void;
223
223
  /** Called with clipboard text when paste button is pressed */
224
224
  onPaste?: (text: string) => void;
225
+ /** Called when Escape is pressed */
226
+ onEscape?: () => void;
225
227
  className?: string;
226
228
  };
227
- declare function SearchInputUI({ value, onValueChange, onClear, onPaste, className, }: SearchInputUIProps): react_jsx_runtime.JSX.Element;
229
+ declare function SearchInputUI({ value, onValueChange, onClear, onEscape, className, }: SearchInputUIProps): react_jsx_runtime.JSX.Element;
228
230
 
229
231
  type SearchResultItemUIProps = {
230
232
  token: Token;
@@ -281,8 +283,10 @@ type SearchWidgetProps = {
281
283
  onKeywordChange?: (keyword: string) => void;
282
284
  /** Callback when a token is selected */
283
285
  onSelectToken?: (token: Token) => void;
286
+ /** Callback when Escape is pressed (e.g. close modal) */
287
+ onEscape?: () => void;
284
288
  };
285
- declare function SearchWidget({ chains, onKeywordChange, onSelectToken, }: SearchWidgetProps): react_jsx_runtime.JSX.Element;
289
+ declare function SearchWidget({ chains, onKeywordChange, onSelectToken, onEscape, }: SearchWidgetProps): react_jsx_runtime.JSX.Element;
286
290
 
287
291
  type TokenAvatarProps = {
288
292
  /** token data to display */
@@ -358,7 +362,7 @@ type TokenListFilterModalProps = Pick<TokenListFilterProps, "protocols" | "resol
358
362
  declare function TokenListFilterModal({ protocols, resolution, filters, onFiltersChange, }: TokenListFilterModalProps): react_jsx_runtime.JSX.Element;
359
363
 
360
364
  type TokenListFilterPopoverProps = Pick<PopoverProps, "placement"> & Pick<TokenListFilterProps, "protocols" | "resolution" | "filters" | "onFiltersChange">;
361
- declare function TokenListFilterPopover({ protocols, resolution, filters, onFiltersChange, ...popoverProps }: TokenListFilterPopoverProps): react_jsx_runtime.JSX.Element;
365
+ declare function TokenListFilterPopover({ protocols, resolution, filters, onFiltersChange, }: TokenListFilterPopoverProps): react_jsx_runtime.JSX.Element;
362
366
 
363
367
  type TokenListFilterWidgetProps = TokenListFilterModalProps & {
364
368
  /** Popover placement used on non-mobile screens. @default "bottom-end" */
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'),types=require('@liberfi.io/types'),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.167");var Os="0.1.167";function yt({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 St({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"})]})]})}var Ks={[types.SolanaTokenProtocol.BAGS]:{text:"text-bags",bg:"bg-bags",bg5:"bg-bags/5",bg20:"bg-bags/20",border:"border-bags"},[types.SolanaTokenProtocol.BELIEVE]:{text:"text-believe",bg:"bg-believe",bg5:"bg-believe/5",bg20:"bg-believe/20",border:"border-believe"},[types.SolanaTokenProtocol.BONK]:{text:"text-bonk",bg:"bg-bonk",bg5:"bg-bonk/5",bg20:"bg-bonk/20",border:"border-bonk"},[types.SolanaTokenProtocol.BOOP]:{text:"text-boop",bg:"bg-boop",bg5:"bg-boop/5",bg20:"bg-boop/20",border:"border-boop"},[types.SolanaTokenProtocol.HEAVEN]:{text:"text-heaven",bg:"bg-heaven",bg5:"bg-heaven/5",bg20:"bg-heaven/20",border:"border-heaven"},[types.SolanaTokenProtocol.JUPSTUDIO]:{text:"text-jupstudio",bg:"bg-jupstudio",bg5:"bg-jupstudio/5",bg20:"bg-jupstudio/20",border:"border-jupstudio"},[types.SolanaTokenProtocol.LAUNCHLAB]:{text:"text-launchlab",bg:"bg-launchlab",bg5:"bg-launchlab/5",bg20:"bg-launchlab/20",border:"border-launchlab"},[types.SolanaTokenProtocol.METEORA]:{text:"text-meteora",bg:"bg-meteora",bg5:"bg-meteora/5",bg20:"bg-meteora/20",border:"border-meteora"},[types.SolanaTokenProtocol.MOONIT]:{text:"text-moonit",bg:"bg-moonit",bg5:"bg-moonit/5",bg20:"bg-moonit/20",border:"border-moonit"},[types.SolanaTokenProtocol.MOONSHOT]:{text:"text-moonshot",bg:"bg-moonshot",bg5:"bg-moonshot/5",bg20:"bg-moonshot/20",border:"border-moonshot"},[types.SolanaTokenProtocol.ORCA]:{text:"text-orca",bg:"bg-orca",bg5:"bg-orca/5",bg20:"bg-orca/20",border:"border-orca"},[types.SolanaTokenProtocol.PUMP]:{text:"text-pump",bg:"bg-pump",bg5:"bg-pump/5",bg20:"bg-pump/20",border:"border-pump"},[types.SolanaTokenProtocol.RAYDIUM]:{text:"text-raydium",bg:"bg-raydium",bg5:"bg-raydium/5",bg20:"bg-raydium/20",border:"border-raydium"},[types.SolanaTokenProtocol.SUGAR]:{text:"text-sugar",bg:"bg-sugar",bg5:"bg-sugar/5",bg20:"bg-sugar/20",border:"border-sugar"},[types.SolanaTokenProtocol.VIRTUAL_CURVE]:{text:"text-virtual-curve",bg:"bg-virtual-curve",bg5:"bg-virtual-curve/5",bg20:"bg-virtual-curve/20",border:"border-virtual-curve"},[types.SolanaTokenProtocol.PUMP_AMM]:{text:"text-pump-amm",bg:"bg-pump-amm",bg5:"bg-pump-amm/5",bg20:"bg-pump-amm/20",border:"border-pump-amm"}},$s={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function q(e){return Ks[e]??$s}function te({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:i,classNames:a}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils$1.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),l=react.useMemo(()=>n&&u,[n,u]),d=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]),[k,f]=react.useState(false),h=react.useCallback(()=>{f(true);},[]),g=react.useCallback(()=>{f(false);},[]),p=react.useCallback(T=>{if(T.stopPropagation(),!e.image)return;let v=utils$1.searchImageUrl(e.image);window.open(v,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",i??"w-15 h-15"),children:[!d&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?q(u).bg:"bg-bullish",a?.background)}),d&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Js,{className:ui.cn(u?q(u).text:"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?q(u).bg20:"bg-bullish/20",a?.avatarWrapper),children:jsxRuntime.jsx(Qs,{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}`,k&&m&&"cursor-pointer"),onMouseEnter:h,onMouseLeave:g,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)}),k&&m&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,a?.searchWrapper),onClick:p,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),l&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??u,placement:"bottom",children:jsxRuntime.jsx("div",{className:ui.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",u&&q(u).bg,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 Qs({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(Gs,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function Gs({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]),[i,a]=react.useState(false),u=react.useCallback(()=>{a(true);},[]),l=react.useCallback(()=>{a(false);},[]),d=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}`,i&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:l,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:r,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:d,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Js({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'),types=require('@liberfi.io/types'),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.168");var Ds="0.1.168";function yt({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 wt({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"})]})]})}var _s={[types.SolanaTokenProtocol.BAGS]:{text:"text-bags",bg:"bg-bags",bg5:"bg-bags/5",bg20:"bg-bags/20",border:"border-bags"},[types.SolanaTokenProtocol.BELIEVE]:{text:"text-believe",bg:"bg-believe",bg5:"bg-believe/5",bg20:"bg-believe/20",border:"border-believe"},[types.SolanaTokenProtocol.BONK]:{text:"text-bonk",bg:"bg-bonk",bg5:"bg-bonk/5",bg20:"bg-bonk/20",border:"border-bonk"},[types.SolanaTokenProtocol.BOOP]:{text:"text-boop",bg:"bg-boop",bg5:"bg-boop/5",bg20:"bg-boop/20",border:"border-boop"},[types.SolanaTokenProtocol.HEAVEN]:{text:"text-heaven",bg:"bg-heaven",bg5:"bg-heaven/5",bg20:"bg-heaven/20",border:"border-heaven"},[types.SolanaTokenProtocol.JUPSTUDIO]:{text:"text-jupstudio",bg:"bg-jupstudio",bg5:"bg-jupstudio/5",bg20:"bg-jupstudio/20",border:"border-jupstudio"},[types.SolanaTokenProtocol.LAUNCHLAB]:{text:"text-launchlab",bg:"bg-launchlab",bg5:"bg-launchlab/5",bg20:"bg-launchlab/20",border:"border-launchlab"},[types.SolanaTokenProtocol.METEORA]:{text:"text-meteora",bg:"bg-meteora",bg5:"bg-meteora/5",bg20:"bg-meteora/20",border:"border-meteora"},[types.SolanaTokenProtocol.MOONIT]:{text:"text-moonit",bg:"bg-moonit",bg5:"bg-moonit/5",bg20:"bg-moonit/20",border:"border-moonit"},[types.SolanaTokenProtocol.MOONSHOT]:{text:"text-moonshot",bg:"bg-moonshot",bg5:"bg-moonshot/5",bg20:"bg-moonshot/20",border:"border-moonshot"},[types.SolanaTokenProtocol.ORCA]:{text:"text-orca",bg:"bg-orca",bg5:"bg-orca/5",bg20:"bg-orca/20",border:"border-orca"},[types.SolanaTokenProtocol.PUMP]:{text:"text-pump",bg:"bg-pump",bg5:"bg-pump/5",bg20:"bg-pump/20",border:"border-pump"},[types.SolanaTokenProtocol.RAYDIUM]:{text:"text-raydium",bg:"bg-raydium",bg5:"bg-raydium/5",bg20:"bg-raydium/20",border:"border-raydium"},[types.SolanaTokenProtocol.SUGAR]:{text:"text-sugar",bg:"bg-sugar",bg5:"bg-sugar/5",bg20:"bg-sugar/20",border:"border-sugar"},[types.SolanaTokenProtocol.VIRTUAL_CURVE]:{text:"text-virtual-curve",bg:"bg-virtual-curve",bg5:"bg-virtual-curve/5",bg20:"bg-virtual-curve/20",border:"border-virtual-curve"},[types.SolanaTokenProtocol.PUMP_AMM]:{text:"text-pump-amm",bg:"bg-pump-amm",bg5:"bg-pump-amm/5",bg20:"bg-pump-amm/20",border:"border-pump-amm"}},Vs={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function q(e){return _s[e]??Vs}function Z({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:i,classNames:a}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils$1.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),l=react.useMemo(()=>n&&u,[n,u]),d=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]),[g,f]=react.useState(false),k=react.useCallback(()=>{f(true);},[]),h=react.useCallback(()=>{f(false);},[]),p=react.useCallback(T=>{if(T.stopPropagation(),!e.image)return;let y=utils$1.searchImageUrl(e.image);window.open(y,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",i??"w-15 h-15"),children:[!d&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?q(u).bg:"bg-bullish",a?.background)}),d&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${r}`),children:jsxRuntime.jsx(Qs,{className:ui.cn(u?q(u).text:"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?q(u).bg20:"bg-bullish/20",a?.avatarWrapper),children:jsxRuntime.jsx(js,{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}`,g&&m&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:h,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)}),g&&m&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,a?.searchWrapper),onClick:p,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),l&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??u,placement:"bottom",children:jsxRuntime.jsx("div",{className:ui.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",u&&q(u).bg,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 js({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(qs,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function qs({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]),[i,a]=react.useState(false),u=react.useCallback(()=>{a(true);},[]),l=react.useCallback(()=>{a(false);},[]),d=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}`,i&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:l,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:r,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:d,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Qs({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 At({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),i=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),l=react.useCallback(T=>{T.stopPropagation(),i(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[i,e.address,r]),d=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]),k=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),f=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[h,g]=react.useMemo(()=>{let T=Number(e.stats?.["1h"]?.buys??0),v=Number(e.stats?.["1h"]?.sells??0),P=T+v;if(P===0)return [12,12];let xe=Math.round(T/P*24);return [xe,24-xe]},[e.stats]),p=react.useMemo(()=>{let T=new utils$1.SafeBigNumber(e.marketData?.marketCapInUsd);return T.lt(1e3)?"text-foreground":T.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/40 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(te,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:l,children:utils$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:l,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils$1.formatAge(a)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:T=>T.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:T=>T.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:T=>T.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:T=>T.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(de,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:d}),jsxRuntime.jsx(de,{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(de,{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(de,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:k}),jsxRuntime.jsx(de,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:f}),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",p),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:`${h}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${g}px`}})]})]})]})]})})}function de({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 yr=124,Ht=10;function vr({index:e,style:t,data:o,skeletonCount:s,renderItemAction:n,onSelectToken:r}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(At,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(St,{isLast:e===s-1})})}function re({title:e,tokens:t,isLoading:o,itemHeight:s=yr,renderHeaderExtra:n,renderItemAction:r,onSelectToken:i,onPauseChange:a,className:u,hideHeader:l}){let d=o||!t?void 0:t,m=d?d.length:Ht,c=react.useMemo(()=>({data:d,skeletonCount:Ht,renderItemAction:r,onSelectToken:i}),[d,r,i]),[k,f]=react.useState(false),h=react.useCallback(()=>{f(true),a?.(true);},[a]),g=react.useCallback(()=>{f(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:g,children:[!l&&jsxRuntime.jsx(yt,{title:e,isPaused:k,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:m,rowHeight:s,rowComponent:vr,rowProps:c,overscanCount:5})})]})}function Je(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var wr=["1m","5m","15m","30m","1h","4h","24h"];function Pr(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of wr)t[s]&&(o[s]=e[s]?Je(e[s],t[s]):t[s]);return o}function Nr(e,t){return t?e?Je(e,t):t:e}function we(e,t){return t?e?Je(e,t):t:e}function w(e,t){let{chain:o,address:s,stats:n,marketData:r,socialMedias:i,security:a,launchedFrom:u,migratedTo:l,...d}=t,m={...e};for(let c of Object.keys(d))d[c]!==void 0&&(m[c]=d[c]);return m.stats=Pr(e.stats,n),m.marketData=Nr(e.marketData,r),m.socialMedias=we(e.socialMedias,i),m.security=we(e.security,a),m.launchedFrom=we(e.launchedFrom,u),m.migratedTo=we(e.migratedTo,l),m}var Rr=80;function Ar(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 Ot(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Rr)}function Bt({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),[i,a]=react.useState(true),[u,l]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),l([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(l(f=>{let h=n.current,g=f.length===0&&d.length>0,p=[...f];for(let T of d){let v=p.findIndex(P=>P.address===T.address);v>=0?p[v]=w(p[v],T):(!h||g)&&p.push(T);}return h?p:Ot(p)}),a(false));},[d]);let c=react.useCallback(f=>{l(h=>{let g=n.current,p=[...h],T=false;for(let v of f){let P=p.findIndex(xe=>xe.address===v.address);P>=0?(T=true,p[P]=w(p[P],v)):g||(T=true,p.push(Ar(v)));}return T?g?p:Ot(p):h});},[]);react$1.useNewTokensSubscription({chain:e},c);let k=react.useMemo(()=>m||i,[m,i]);return {tokens:u,isLoading:k}}function fc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:i}){let[a,u]=react.useState(false),{tokens:l,isLoading:d}=Bt({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(re,{title:t,tokens:l,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:i})}function $t({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),[i,a]=react.useState(true),[u,l]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),l([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(l(f=>{let h=n.current,g=[...f];for(let p of d){let T=g.findIndex(v=>v.address===p.address);T>=0?g[T]=w(g[T],p):h||g.unshift(p);}return g}),a(false));},[d]);let c=react.useCallback(f=>{l(h=>{let g=[...h],p=false;for(let T of f){let v=g.findIndex(P=>P.address===T.address);v>=0&&(p=true,g[v]=w(g[v],T));}return p?g:h});},[]);react$1.useMigratedTokensSubscription({chain:e},c);let k=react.useMemo(()=>m||i,[m,i]);return {tokens:u,isLoading:k}}function Pc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:i}){let[a,u]=react.useState(false),{tokens:l,isLoading:d}=$t({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(re,{title:t,tokens:l,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:i})}function $r(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function Gt({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),[i,a]=react.useState(true),[u,l]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),l([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(l(f=>{let h=n.current,g=f.length===0&&d.length>0,p=[...f];for(let T of d){let v=p.findIndex(P=>P.address===T.address);v>=0?p[v]=w(p[v],T):(!h||g)&&p.push(T);}return h?p:$r(p)}),a(false));},[d]);let c=react.useCallback(f=>{l(h=>{let g=[...h],p=false;for(let T of f){let v=g.findIndex(P=>P.address===T.address);v>=0&&(p=true,g[v]=w(g[v],T));}return p?g:h});},[]);react$1.useFinalStretchTokensSubscription({chain:e},c);let k=react.useMemo(()=>m||i,[m,i]);return {tokens:u,isLoading:k}}function Ec({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:i}){let[a,u]=react.useState(false),{tokens:l,isLoading:d}=Gt({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(re,{title:t,tokens:l,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:i})}var Jr=10,Xr=utils.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Pe(){let[e,t]=jotai.useAtom(Xr),o=react.useCallback(n=>{let r=n.trim();r&&t(i=>{let a=i.filter(u=>u!==r);return [r,...a].slice(0,Jr)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Zt({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 eo({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Pe();return jsxRuntime.jsx(Zt,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function oo({value:e,onValueChange:t,onClear:o,onPaste:s,className:n}){let{t:r}=i18n.useTranslation(),i=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:i,children:jsxRuntime.jsx(ui.CopyIcon,{width:18,height:18})})]})})})}function Ne({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]),i=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]),l=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(te,{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(i)]})]})]})]}),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",l?"text-bullish":"text-bearish"),children:[l?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 Ce({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 Sn(){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 Ie({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(Sn,{},s))})}function lo({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:i,hasNextPage:a,fetchNextPage:u}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>n?.pages.flatMap(d=>d.data)??[],[n]),isLoading:r,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:u}}var Hn=56;function mo({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:n,isFetchingNextPage:r,hasNextPage:i,fetchNextPage:a}=lo(o),u=react.useRef(null),{height:l}=hooks.useResizeObserver({ref:u}),d=react.useCallback(f=>f<s.length,[s]),m=react.useCallback(async()=>{i&&!r&&await a();},[i,r,a]),c=react.useMemo(()=>i?s.length+1:s.length,[s,i]),k=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:d,loadMoreRows:m,rowCount:c,threshold:5});return n?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Ce,{}),jsxRuntime.jsx(Ie,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Ce,{}),jsxRuntime.jsx(Dn,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Ce,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsxRuntime.jsx(reactWindow.List,{style:{height:l},onRowsRendered:k,rowComponent:Fn,rowCount:c,rowHeight:Hn,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function Fn({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(Ne,{token:n})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Dn(){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 Ae({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),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),l([]),r.current=n);},[n]);let[u,l]=react.useState([]),{data:d,isPending:m}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(l(f=>{let h=[];for(let g of d){let p=f.find(T=>T.address===g.address);h.push(p?w(p,g):g);}return h}),a(false));},[d]);let c=react.useCallback(f=>{l(h=>{let g=[...h],p=false;for(let T of f){let v=g.findIndex(P=>P.address===T.address);v>=0&&(p=true,g[v]=w(g[v],T));}return p?g:h});},[]);react$1.useTrendingTokensSubscription({chain:e},c);let k=react.useMemo(()=>!!(m||i),[m,i]);return {tokens:u,isLoading:k}}var Vn=types.Chain.ETHEREUM,Kn="24h",$n=56;function ho({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),n=e?.length===1?e[0]:e?.[0]??Vn,{tokens:r,isLoading:i}=Ae({chain:n,resolution:Kn});return jsxRuntime.jsxs("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:[jsxRuntime.jsx(zn,{}),i?jsxRuntime.jsx(Ie,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:r.map(a=>jsxRuntime.jsx("div",{style:{height:$n},onClick:()=>t?.(a),children:jsxRuntime.jsx(Ne,{token:a,className:"h-full"})},a.address))})]})}function zn(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:"h-9 px-3 flex items-center justify-between text-xs font-medium text-neutral sticky top-0 z-10",children:jsxRuntime.jsx("span",{children:e("tokens.listType.trending")})})}function xo({onKeywordChange:e}){let[t,o]=react.useState(""),[s,n]=react.useState(""),{addHistory:r}=Pe(),i=hooks.useCallbackRef(e),a=hooks.useCallbackRef(r),u=react.useMemo(()=>utils$1.debounce(c=>{n(c),i(c),c&&a(c);},500),[i,a]),l=react.useCallback(c=>{o(c),u(c);},[u]),d=react.useCallback(c=>{u.cancel(),o(c),n(c),i(c),c&&a(c);},[u,i,a]),m=react.useCallback(()=>d(""),[d]);return {text:t,keyword:s,setText:l,setKeyword:d,clearKeyword:m}}function yo({chains:e,onKeywordChange:t,onSelectToken:o}){let{text:s,keyword:n,setText:r,setKeyword:i,clearKeyword:a}=xo({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(oo,{value:s,onValueChange:r,onClear:a,onPaste:i}),n?jsxRuntime.jsx(mo,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsxRuntime.jsx(eo,{onSelect:i}),jsxRuntime.jsx(ho,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var et="search";function vu({id:e=et}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(na,{...t})})}function na({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:n}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),i=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 pt-4 pb-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(yo,{chains:e?.chains,onSelectToken:i})})]})})}function Au({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),{isDesktop:n,isMobile:r}=ui.useScreen(),{onOpen:i,onClose:a}=uiScaffold.useAsyncModal(et),u=hooks.useCallbackRef(t),l=hooks.useCallbackRef(async()=>{let m=await i({params:{chains:e}});m&&u(m);}),d=hooks.useCallbackRef(()=>{a();});return react.useEffect(()=>{let m=c=>{let k=document.activeElement,f=!!k&&(k.tagName==="INPUT"||k.tagName==="TEXTAREA"||k.getAttribute("contenteditable")==="true");c.key==="/"&&!f&&(c.preventDefault(),l()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[l,d]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!n,onPress:l,variant:r?"flat":"bordered",startContent:n?jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"}):void 0,endContent:n?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(n&&"pl-3 pr-1.5 text-neutral",o),children:n?s("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"})})}function Lo({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[u,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(c=>{let k=Fe(c);return k===void 0&&e===void 0?c:k===void 0?e?.join(", ")??"":e===void 0?"":k.join("")===e.join("")?c:e.join(", ")});},[e]),react.useEffect(()=>{l(c=>{let k=Fe(c);return k===void 0&&t===void 0?c:k===void 0?t?.join(", ")??"":t===void 0?"":k.join("")===t.join("")?c:t.join(", ")});},[t]);let d=react.useCallback(c=>{a(c),o?.(Fe(c));},[o]),m=react.useCallback(c=>{l(c),s?.(Fe(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:i,onValueChange:d})]}),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 Fe(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Fo({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useMemo(()=>e.every(d=>r.includes(d)),[e,r]),u=react.useCallback(()=>{if(a){let d=[];i(d),o?.(d);}else {let d=[...e];i(d),o?.(d);}},[e,o,a]),l=react.useCallback(d=>()=>{if(r.includes(d)){let m=r.filter(c=>c!==d);i(m),o?.(m);}else {let m=[...r,d];i(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.Button,{variant:"light",color:"default",size:"sm",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(d=>{let m=q(d);return jsxRuntime.jsx(ui.Button,{variant:"bordered",size:"sm",radius:"full",className:ui.cn("w-fit h-6 px-2.5",m.text,m.bg5,"border",m.border,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(d)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${d}.svg`,alt:utils$1.formatTokenProtocolName(d)}),onPress:l(d),children:utils$1.formatTokenProtocolName(d)},d)})})]})}function E({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(o?st(o).min:NaN),[a,u]=react.useState(o?st(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),u(NaN);else {let{min:m,max:c}=st(o);i(m),u(c);}},[o]);let l=react.useCallback(m=>{i(m),s?.(Oo(t,m,a));},[t,s,a]),d=react.useCallback(m=>{u(m),s?.(Oo(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:l,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function st(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 Oo(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 Wo({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let i=react.useCallback(a=>u=>{if(u===void 0){let l=(n??[]).filter(d=>d.field!==a);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(n??[]).filter(d=>d.field!==a),u];r(l),t?.(l);}},[n,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(E,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:n?.find(a=>a.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(E,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(E,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(E,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function _o({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useCallback(u=>l=>{if(l===void 0){let d=(r??[]).filter(m=>m.field!==u);d=d.length>0?d:void 0,i(d),o?.(d);}else {let d=[...(r??[]).filter(m=>m.field!==u),l];i(d),o?.(d);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(E,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:r?.find(u=>u.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(E,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:r?.find(u=>u.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(E,{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(E,{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 qo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState("audits"),[a,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let l=react.useCallback(c=>{u(c),o?.(c);},[o]),d=react.useMemo(()=>{let c=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(k=>c.includes(k.field))?.length??0},[a]),m=react.useMemo(()=>{let c=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(k=>c.includes(k.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:i,children:[jsxRuntime.jsx(ui.Tab,{title:d===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:d,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(Wo,{values:a,onValuesChange:l,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(_o,{values:a,onValuesChange:l,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function Ve({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,i]=react.useState(Go(o?.filters,e));react.useEffect(()=>{i(Go(o?.filters,e));},[o?.filters,e]);let[a,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[l,d]=react.useState(o?.excludeKeywords);react.useEffect(()=>{d(o?.excludeKeywords);},[o?.excludeKeywords]);let[m,c]=react.useState(o?.filters);react.useEffect(()=>{c(o?.filters);},[o?.filters]);let k=react.useCallback(p=>{i(p),s?.(_e(e,p,a,l,m));},[e,a,l,m,s]),f=react.useCallback(p=>{u(p),s?.(_e(e,r,p,l,m));},[e,r,l,m,s]),h=react.useCallback(p=>{d(p),s?.(_e(e,r,a,p,m));},[e,r,a,m,s]),g=react.useCallback(p=>{c(p),s?.(_e(e,r,a,l,p));},[e,r,a,l,s]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Fo,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:k}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(Lo,{keywords:a,excludeKeywords:l,onKeywordsChange:f,onExcludeKeywordsChange:h}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(qo,{resolution:t,values:m,onValuesChange:g})]})}function Go(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 _e(e,t,o,s,n){let r=n?[...n.filter(i=>i.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 Zo({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:i,onClose:a,onOpenChange:u}=ui.useDisclosure(),[l,d]=react.useState(o),m=react.useCallback(()=>{d(void 0);},[]),c=react.useCallback(()=>{s?.(l),a();},[l,s,a]);react.useEffect(()=>{d(o);},[r,o]);let k=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",radius:"full",onPress:i,className:"bg-transparent",children:k?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"})})}),jsxRuntime.jsx(ui.StyledModal,{isOpen:r,onOpenChange:u,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:n("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(Ve,{protocols:e,resolution:t,filters:l,onFiltersChange:d,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:n("common.reset")}),jsxRuntime.jsx(ui.Button,{color:"primary",size:"sm",radius:"full",onPress:c,children:n("common.apply")})]})})]})})]})}function ss({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:i,onClose:a,onOpenChange:u}=ui.useDisclosure(),[l,d]=react.useState(o),m=react.useCallback(()=>{d(void 0);},[]),c=react.useCallback(()=>{s?.(l),a();},[l,s,a]);react.useEffect(()=>{d(o);},[i,o]);let k=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:i,onOpenChange:u,children:[jsxRuntime.jsx(ui.PopoverTrigger,{children:jsxRuntime.jsx(ui.StyledSolidButton,{color:"default",size:"sm",radius:"full",className:"font-bold text-sm",startContent:k?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":i}),children:r("tokens.listHeader.filter")})}),jsxRuntime.jsx(ui.PopoverContent,{children:jsxRuntime.jsxs("div",{className:"w-md py-4 px-0 flex flex-col gap-4",children:[jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120",children:jsxRuntime.jsx(Ve,{protocols:e,resolution:t,filters:l,onFiltersChange:d})}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsxs("div",{className:"w-full px-4 flex justify-between items-center",children:[jsxRuntime.jsx(ui.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:r("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:c,children:r("common.apply")})]})]})})]})}function mf({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(Zo,{...t}):jsxRuntime.jsx(ss,{placement:e,...t})}function as({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",classNames:{tabList:"gap-0",tab:"px-2"},children:o.map(r=>jsxRuntime.jsx(ui.Tab,{title:s(`common.resolution.${r}`)},r))})}function ls({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),{isOpen:n,onOpen:r,onClose:i,onOpenChange:a}=ui.useDisclosure(),u=react.useCallback(l=>{t?.(l),i();},[t,i]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{variant:"bordered",color:"default",radius:"full",endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"text-neutral"}),onPress:r,className:"min-w-0 h-8 min-h-8 border-border gap-1 pr-2 text-xs font-medium",children:e?s(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.StyledModal,{isOpen:n,onOpenChange:a,size:"md",children:jsxRuntime.jsxs(ui.ModalContent,{children:[jsxRuntime.jsx(ui.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:s("tokens.resolutionSelector.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx("div",{className:"flex justify-between flex-wrap gap-2",children:o.map(l=>jsxRuntime.jsx(ui.StyledSolidButton,{color:l===e?"primary":"default",radius:"full",size:"sm",onPress:()=>u(l),children:s(`common.resolution.${l}`)},l))})})]})})]})}function Lf(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(ls,{...e}):jsxRuntime.jsx(as,{...e})}function ms({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 us({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(te,{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 ps({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]),i=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]),l=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),d=react.useMemo(()=>new utils$1.SafeBigNumber(l).gte(.1),[l]),m=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),c=react.useMemo(()=>new utils$1.SafeBigNumber(m).gte(.1),[m]),k=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),f=react.useMemo(()=>new utils$1.SafeBigNumber(k).gte(.1),[k]);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:i?"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:d?"danger":l===void 0?"default":"primary",children:utils$1.formatPercent(l)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.insiderHoldingsRatio"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.RatIcon,{width:13,height:13}),variant:"flat",size:"sm",color: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:f?"danger":k===void 0?"default":"primary",children:utils$1.formatPercent(k)})})]})]})}function fs({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function gs({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 bs({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 vs({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 ws({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 Ps=5;function Ns({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:Ps}).map((o,s)=>jsxRuntime.jsx(vl,{rowHeight:e,hasBorderBottom:s!==Ps-1,hasActions:t},s))})}function vl({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(Sl,{}),jsxRuntime.jsx(wl,{}),jsxRuntime.jsx(Pl,{}),jsxRuntime.jsx(Nl,{}),jsxRuntime.jsx(Cl,{}),jsxRuntime.jsx(Ll,{}),jsxRuntime.jsx(Il,{}),jsxRuntime.jsx(Rl,{}),jsxRuntime.jsx(Al,{}),o&&jsxRuntime.jsx(Ml,{})]})}function Sl(){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 wl(){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 Pl(){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 Nl(){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 Cl(){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 Ll(){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 Il(){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 Rl(){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 Al(){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 Ml(){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 ie({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:i,height:a=600,itemHeight:u=88,itemHeightMobile:l=72,className:d}){let{isMobile:m}=ui.useScreen(),{t:c}=i18n.useTranslation(),k=react.useCallback(p=>T=>{T.preventDefault(),T.stopPropagation(),n?.(p);},[n]),[f,h]=react.useState(r??{});react.useEffect(()=>{h(r??{});},[r]);let g=react.useCallback(p=>T=>{let v={[p]:T};h(v),i?.(v);},[i]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",d??(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?l: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:f.price,onSortChange:g("price"),children:c("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:f[`priceChange${t}`],onSortChange:g(`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:f.marketCap,onSortChange:g("marketCap"),children:c("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:f.tvl,onSortChange:g("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:f[`volumes${t}`],onSortChange:g(`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:f[`trades${t}`],onSortChange:g(`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:f[`traders${t}`],onSortChange:g(`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(Ns,{rowHeight:m?l:u,hasActions:!!s}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:c("common.empty")})]}),children:p=>jsxRuntime.jsx(ui.TableRow,{onClick:n?k(p):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(us,{token:p,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ts,{token:p,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(gs,{token:p,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(fs,{token:p,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ws,{token:p,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(vs,{token:p,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(bs,{token:p,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ms,{token:p,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ps,{token:p,resolution:t})},"tokenInfo"),s?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(s,{token:p,resolution:t})},"actions"):void 0].filter(Boolean)},p.address)})]})}var Ql=80;function Gl(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 As(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Ql)}function Ms({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),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),l([]),r.current=n);},[n]);let[u,l]=react.useState([]),{data:d,isPending:m}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(l(f=>{let h=[...f];for(let g of d){let p=h.findIndex(T=>T.address===g.address);p>=0?h[p]=w(h[p],g):h.push(g);}return As(h)}),a(false));},[d]);let c=react.useCallback(f=>{l(h=>{let g=[...h],p=false;for(let T of f){let v=g.findIndex(P=>P.address===T.address);v>=0?(p=true,g[v]=w(g[v],T)):(p=true,g.push(Gl(T)));}return p?As(g):h});},[]);react$1.useNewTokensSubscription({chain:e},c);let k=react.useMemo(()=>!!(m||i),[m,i]);return {tokens:u,isLoading:k}}function lh({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:i,itemHeightMobile:a,className:u}){let[l,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(l??{})[0],h=l?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,l]),{tokens:c,isLoading:k}=Ms({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:k,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:d,className:u})}function Es({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),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),l([]),r.current=n);},[n]);let[u,l]=react.useState([]),{data:d,isPending:m}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(l(f=>{let h=[];for(let g of d){let p=f.find(T=>T.address===g.address);h.push(p?w(p,g):g);}return h}),a(false));},[d]);let c=react.useCallback(f=>{l(h=>{let g=[...h],p=false;for(let T of f){let v=g.findIndex(P=>P.address===T.address);v>=0&&(p=true,g[v]=w(g[v],T));}return p?g:h});},[]);react$1.useStockTokensSubscription({chain:e},c);let k=react.useMemo(()=>!!(m||i),[m,i]);return {tokens:u,isLoading:k}}function bh({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:i,itemHeightMobile:a,className:u}){let[l,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(l??{})[0],h=l?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,l]),{tokens:c,isLoading:k}=Es({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:k,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:d,className:u})}function Lh({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:i,itemHeightMobile:a,className:u}){let[l,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(l??{})[0],h=l?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,l]),{tokens:c,isLoading:k}=Ae({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:k,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:d,className:u})}var kd=15e3;function Td({chain:e,addresses:t,pollMs:o=kd}){let s=t.length>0,[n,r]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{i.data&&r(m=>{let c={};for(let k of i.data){let f=m[k.address];c[k.address]=f?w(f,k):k;}return c});},[i.data]);let{subscribeClient:a}=react$1.useDexClient(),u=react.useRef(""),l=t.slice().sort().join(",");l!==u.current&&(u.current=l),react.useEffect(()=>{if(!s)return;let m=[];for(let c of t)m.push(a.subscribeToken(e,c,k=>{r(f=>{let h=f;for(let g of k){let p=h[g.address];if(!p)continue;let T=w(p,g);T!==p&&(h=h===f?{...f}:h,h[g.address]=T);}return h});}));return ()=>{for(let c of m)c.unsubscribe();}},[a,e,l,s]);let d=react.useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:n,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:d}}exports.NewTokenListWidget=lh;exports.PulseFinalStretchListWidget=Ec;exports.PulseList=re;exports.PulseListHeader=yt;exports.PulseListItem=At;exports.PulseListItemSkeleton=St;exports.PulseMigratedListWidget=Pc;exports.PulseNewListWidget=fc;exports.SEARCH_MODAL_ID=et;exports.SearchHistoryUI=Zt;exports.SearchHistoryWidget=eo;exports.SearchInputUI=oo;exports.SearchModal=vu;exports.SearchResultItemUI=Ne;exports.SearchResultListHeader=Ce;exports.SearchResultListSkeleton=Ie;exports.SearchResultListWidget=mo;exports.SearchTokensButton=Au;exports.SearchWidget=yo;exports.StockTokenListWidget=bh;exports.TokenAvatar=te;exports.TokenList=ie;exports.TokenListFilter=Ve;exports.TokenListFilterModal=Zo;exports.TokenListFilterPopover=ss;exports.TokenListFilterWidget=mf;exports.TokenListResolutionSelectorDesktop=as;exports.TokenListResolutionSelectorMobile=ls;exports.TokenListResolutionSelectorWidget=Lf;exports.TrendingTokenListWidget=Lh;exports.useNewTokensScript=Ms;exports.usePulseFinalStretchListScript=Gt;exports.usePulseMigratedListScript=$t;exports.usePulseNewListScript=Bt;exports.useSearchHistory=Pe;exports.useSearchResultListScript=lo;exports.useSearchScript=xo;exports.useStockTokensScript=Es;exports.useTokens=Td;exports.useTrendingTokensScript=Ae;exports.version=Os;//# sourceMappingURL=index.js.map
21
+ `})]})}function Mt({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),i=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),l=react.useCallback(T=>{T.stopPropagation(),i(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[i,e.address,r]),d=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]),g=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),f=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,h]=react.useMemo(()=>{let T=Number(e.stats?.["1h"]?.buys??0),y=Number(e.stats?.["1h"]?.sells??0),P=T+y;if(P===0)return [12,12];let xe=Math.round(T/P*24);return [xe,24-xe]},[e.stats]),p=react.useMemo(()=>{let T=new utils$1.SafeBigNumber(e.marketData?.marketCapInUsd);return T.lt(1e3)?"text-foreground":T.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/40 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(Z,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:l,children:utils$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:l,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils$1.formatAge(a)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:T=>T.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:T=>T.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:T=>T.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:T=>T.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(le,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:d}),jsxRuntime.jsx(le,{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(le,{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(le,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:g}),jsxRuntime.jsx(le,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils$1.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:f}),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",p),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:`${h}px`}})]})]})]})]})})}function le({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 br=124,Ft=10;function xr({index:e,style:t,data:o,skeletonCount:s,renderItemAction:n,onSelectToken:r}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Mt,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(wt,{isLast:e===s-1})})}function oe({title:e,tokens:t,isLoading:o,itemHeight:s=br,renderHeaderExtra:n,renderItemAction:r,onSelectToken:i,onPauseChange:a,className:u,hideHeader:l}){let d=o||!t?void 0:t,m=d?d.length:Ft,c=react.useMemo(()=>({data:d,skeletonCount:Ft,renderItemAction:r,onSelectToken:i}),[d,r,i]),[g,f]=react.useState(false),k=react.useCallback(()=>{f(true),a?.(true);},[a]),h=react.useCallback(()=>{f(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:k,onMouseLeave:h,children:[!l&&jsxRuntime.jsx(yt,{title:e,isPaused:g,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:m,rowHeight:s,rowComponent:xr,rowProps:c,overscanCount:5})})]})}function Xe(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var yr=["1m","5m","15m","30m","1h","4h","24h"];function Sr(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of yr)t[s]&&(o[s]=e[s]?Xe(e[s],t[s]):t[s]);return o}function wr(e,t){return t?e?Xe(e,t):t:e}function Pe(e,t){return t?e?Xe(e,t):t:e}function w(e,t){let{chain:o,address:s,stats:n,marketData:r,socialMedias:i,security:a,launchedFrom:u,migratedTo:l,...d}=t,m={...e};for(let c of Object.keys(d))d[c]!==void 0&&(m[c]=d[c]);return m.stats=Sr(e.stats,n),m.marketData=wr(e.marketData,r),m.socialMedias=Pe(e.socialMedias,i),m.security=Pe(e.security,a),m.launchedFrom=Pe(e.launchedFrom,u),m.migratedTo=Pe(e.migratedTo,l),m}var Lr=80;function Ir(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 Wt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Lr)}function Bt({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),[i,a]=react.useState(true),[u,l]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),l([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(l(f=>{let k=n.current,h=f.length===0&&d.length>0,p=[...f];for(let T of d){let y=p.findIndex(P=>P.address===T.address);y>=0?p[y]=w(p[y],T):(!k||h)&&p.push(T);}return k?p:Wt(p)}),a(false));},[d]);let c=react.useCallback(f=>{l(k=>{let h=n.current,p=[...k],T=false;for(let y of f){let P=p.findIndex(xe=>xe.address===y.address);P>=0?(T=true,p[P]=w(p[P],y)):h||(T=true,p.push(Ir(y)));}return T?h?p:Wt(p):k});},[]);react$1.useNewTokensSubscription({chain:e},c);let g=react.useMemo(()=>m||i,[m,i]);return {tokens:u,isLoading:g}}function rc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:i}){let[a,u]=react.useState(false),{tokens:l,isLoading:d}=Bt({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(oe,{title:t,tokens:l,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:i})}function zt({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),[i,a]=react.useState(true),[u,l]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),l([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(l(f=>{let k=n.current,h=[...f];for(let p of d){let T=h.findIndex(y=>y.address===p.address);T>=0?h[T]=w(h[T],p):k||h.unshift(p);}return h}),a(false));},[d]);let c=react.useCallback(f=>{l(k=>{let h=[...k],p=false;for(let T of f){let y=h.findIndex(P=>P.address===T.address);y>=0&&(p=true,h[y]=w(h[y],T));}return p?h:k});},[]);react$1.useMigratedTokensSubscription({chain:e},c);let g=react.useMemo(()=>m||i,[m,i]);return {tokens:u,isLoading:g}}function gc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:i}){let[a,u]=react.useState(false),{tokens:l,isLoading:d}=zt({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(oe,{title:t,tokens:l,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:i})}function Vr(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function Jt({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),[i,a]=react.useState(true),[u,l]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),l([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(l(f=>{let k=n.current,h=f.length===0&&d.length>0,p=[...f];for(let T of d){let y=p.findIndex(P=>P.address===T.address);y>=0?p[y]=w(p[y],T):(!k||h)&&p.push(T);}return k?p:Vr(p)}),a(false));},[d]);let c=react.useCallback(f=>{l(k=>{let h=[...k],p=false;for(let T of f){let y=h.findIndex(P=>P.address===T.address);y>=0&&(p=true,h[y]=w(h[y],T));}return p?h:k});},[]);react$1.useFinalStretchTokensSubscription({chain:e},c);let g=react.useMemo(()=>m||i,[m,i]);return {tokens:u,isLoading:g}}function Nc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:i}){let[a,u]=react.useState(false),{tokens:l,isLoading:d}=Jt({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(oe,{title:t,tokens:l,isLoading:d,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:i})}var Qr=10,Gr=utils.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Ne(){let[e,t]=jotai.useAtom(Gr),o=react.useCallback(n=>{let r=n.trim();r&&t(i=>{let a=i.filter(u=>u!==r);return [r,...a].slice(0,Qr)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function eo({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 to({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Ne();return jsxRuntime.jsx(eo,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function oo({value:e,onValueChange:t,onClear:o,onEscape:s,className:n}){let{t:r}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:n,children:jsxRuntime.jsx(ui.StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:r("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent: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})}):jsxRuntime.jsx(ui.Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),s?.();},children:"Esc"})})})}function Ce({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]),i=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]),l=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(Z,{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(i)]})]})]})]}),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",l?"text-bullish":"text-bearish"),children:[l?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 Le({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 bn(){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 Re({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(bn,{},s))})}function lo({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:i,hasNextPage:a,fetchNextPage:u}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>n?.pages.flatMap(d=>d.data)??[],[n]),isLoading:r,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:u}}var In=56;function mo({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:n,isFetchingNextPage:r,hasNextPage:i,fetchNextPage:a}=lo(o),u=react.useRef(null),{height:l}=hooks.useResizeObserver({ref:u}),d=react.useCallback(f=>f<s.length,[s]),m=react.useCallback(async()=>{i&&!r&&await a();},[i,r,a]),c=react.useMemo(()=>i?s.length+1:s.length,[s,i]),g=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:d,loadMoreRows:m,rowCount:c,threshold:5});return n?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Le,{}),jsxRuntime.jsx(Re,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Le,{}),jsxRuntime.jsx(An,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Le,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsxRuntime.jsx(reactWindow.List,{style:{height:l},onRowsRendered:g,rowComponent:Rn,rowCount:c,rowHeight:In,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function Rn({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(Ce,{token:n})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function An(){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 Me({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),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),l([]),r.current=n);},[n]);let[u,l]=react.useState([]),{data:d,isPending:m}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(l(f=>{let k=[];for(let h of d){let p=f.find(T=>T.address===h.address);k.push(p?w(p,h):h);}return k}),a(false));},[d]);let c=react.useCallback(f=>{l(k=>{let h=[...k],p=false;for(let T of f){let y=h.findIndex(P=>P.address===T.address);y>=0&&(p=true,h[y]=w(h[y],T));}return p?h:k});},[]);react$1.useTrendingTokensSubscription({chain:e},c);let g=react.useMemo(()=>!!(m||i),[m,i]);return {tokens:u,isLoading:g}}var On=types.Chain.ETHEREUM,Wn="24h",Bn=56;function go({chains:e,onSelectToken:t,className:o}){let s=e?.length===1?e[0]:e?.[0]??On,{tokens:n,isLoading:r}=Me({chain:s,resolution:Wn});return jsxRuntime.jsx("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:r?jsxRuntime.jsx(Re,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:n.map(i=>jsxRuntime.jsx("div",{style:{height:Bn},onClick:()=>t?.(i),children:jsxRuntime.jsx(Ce,{token:i,className:"h-full"})},i.address))})})}function To({onKeywordChange:e}){let[t,o]=react.useState(""),[s,n]=react.useState(""),{addHistory:r}=Ne(),i=hooks.useCallbackRef(e),a=hooks.useCallbackRef(r),u=react.useMemo(()=>utils$1.debounce(c=>{n(c),i(c),c&&a(c);},500),[i,a]),l=react.useCallback(c=>{o(c),u(c);},[u]),d=react.useCallback(c=>{u.cancel(),o(c),n(c),i(c),c&&a(c);},[u,i,a]),m=react.useCallback(()=>d(""),[d]);return {text:t,keyword:s,setText:l,setKeyword:d,clearKeyword:m}}function xo({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:s}){let{text:n,keyword:r,setText:i,setKeyword:a,clearKeyword:u}=To({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(oo,{value:n,onValueChange:i,onClear:u,onPaste:a,onEscape:s}),r?jsxRuntime.jsx(mo,{className:"flex-auto min-h-0",keyword:r,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsxRuntime.jsx(to,{onSelect:a}),jsxRuntime.jsx(go,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var tt="search";function cu({id:e=tt}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Zn,{...t})})}function Zn({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:n}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),i=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",style:{borderRadius:r?void 0:14,border:r?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:r?void 0:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},children:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-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(xo,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function bu({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),{isDesktop:n,isMobile:r}=ui.useScreen(),{onOpen:i,onClose:a}=uiScaffold.useAsyncModal(tt),u=hooks.useCallbackRef(t),l=hooks.useCallbackRef(async()=>{let m=await i({params:{chains:e}});m&&u(m);}),d=hooks.useCallbackRef(()=>{a();});return react.useEffect(()=>{let m=c=>{let g=document.activeElement,f=!!g&&(g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.getAttribute("contenteditable")==="true");c.key==="/"&&!f&&(c.preventDefault(),l()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[l,d]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!n,onPress:l,variant:r?"flat":"bordered",startContent:n?jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"}):void 0,endContent:n?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(n&&"pl-3 pr-1.5 text-neutral",o),children:n?s("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"})})}function Co({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[u,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(c=>{let g=Ee(c);return g===void 0&&e===void 0?c:g===void 0?e?.join(", ")??"":e===void 0?"":g.join("")===e.join("")?c:e.join(", ")});},[e]),react.useEffect(()=>{l(c=>{let g=Ee(c);return g===void 0&&t===void 0?c:g===void 0?t?.join(", ")??"":t===void 0?"":g.join("")===t.join("")?c:t.join(", ")});},[t]);let d=react.useCallback(c=>{a(c),o?.(Ee(c));},[o]),m=react.useCallback(c=>{l(c),s?.(Ee(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:i,onValueChange:d})]}),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 Ee(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Ho({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useMemo(()=>e.every(d=>r.includes(d)),[e,r]),u=react.useCallback(()=>{if(a){let d=[];i(d),o?.(d);}else {let d=[...e];i(d),o?.(d);}},[e,o,a]),l=react.useCallback(d=>()=>{if(r.includes(d)){let m=r.filter(c=>c!==d);i(m),o?.(m);}else {let m=[...r,d];i(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.Button,{variant:"light",color:"default",size:"sm",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(d=>{let m=q(d);return jsxRuntime.jsx(ui.Button,{variant:"bordered",size:"sm",radius:"full",className:ui.cn("w-fit h-6 px-2.5",m.text,m.bg5,"border",m.border,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(d)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${d}.svg`,alt:utils$1.formatTokenProtocolName(d)}),onPress:l(d),children:utils$1.formatTokenProtocolName(d)},d)})})]})}function D({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(o?rt(o).min:NaN),[a,u]=react.useState(o?rt(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),u(NaN);else {let{min:m,max:c}=rt(o);i(m),u(c);}},[o]);let l=react.useCallback(m=>{i(m),s?.(Uo(t,m,a));},[t,s,a]),d=react.useCallback(m=>{u(m),s?.(Uo(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:l,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function rt(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 Uo(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 Wo({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let i=react.useCallback(a=>u=>{if(u===void 0){let l=(n??[]).filter(d=>d.field!==a);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(n??[]).filter(d=>d.field!==a),u];r(l),t?.(l);}},[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:i("holders")}),jsxRuntime.jsx(D,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(D,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(D,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function Bo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useCallback(u=>l=>{if(l===void 0){let d=(r??[]).filter(m=>m.field!==u);d=d.length>0?d:void 0,i(d),o?.(d);}else {let d=[...(r??[]).filter(m=>m.field!==u),l];i(d),o?.(d);}},[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 jo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState("audits"),[a,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let l=react.useCallback(c=>{u(c),o?.(c);},[o]),d=react.useMemo(()=>{let c=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(g=>c.includes(g.field))?.length??0},[a]),m=react.useMemo(()=>{let c=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(g=>c.includes(g.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:i,children:[jsxRuntime.jsx(ui.Tab,{title:d===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:d,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(Wo,{values:a,onValuesChange:l,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Bo,{values:a,onValuesChange:l,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function Ke({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,i]=react.useState(qo(o?.filters,e));react.useEffect(()=>{i(qo(o?.filters,e));},[o?.filters,e]);let[a,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[l,d]=react.useState(o?.excludeKeywords);react.useEffect(()=>{d(o?.excludeKeywords);},[o?.excludeKeywords]);let[m,c]=react.useState(o?.filters);react.useEffect(()=>{c(o?.filters);},[o?.filters]);let g=react.useCallback(p=>{i(p),s?.(Ve(e,p,a,l,m));},[e,a,l,m,s]),f=react.useCallback(p=>{u(p),s?.(Ve(e,r,p,l,m));},[e,r,l,m,s]),k=react.useCallback(p=>{d(p),s?.(Ve(e,r,a,p,m));},[e,r,a,m,s]),h=react.useCallback(p=>{c(p),s?.(Ve(e,r,a,l,p));},[e,r,a,l,s]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Ho,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:g}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsxRuntime.jsx(Co,{keywords:a,excludeKeywords:l,onKeywordsChange:f,onExcludeKeywordsChange:k}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsxRuntime.jsx(jo,{resolution:t,values:m,onValuesChange:h})]})}function qo(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 Ve(e,t,o,s,n){let r=n?[...n.filter(i=>i.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 Xo({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:i,onClose:a,onOpenChange:u}=ui.useDisclosure(),[l,d]=react.useState(o),m=react.useCallback(()=>{d(void 0);},[]),c=react.useCallback(()=>{s?.(l),a();},[l,s,a]);react.useEffect(()=>{d(o);},[r,o]);let g=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",radius:"full",onPress:i,className:"bg-transparent",children:g?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"})})}),jsxRuntime.jsx(ui.StyledModal,{isOpen:r,onOpenChange:u,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:n("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(Ke,{protocols:e,resolution:t,filters:l,onFiltersChange:d,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:n("common.reset")}),jsxRuntime.jsx(ui.Button,{color:"primary",size:"sm",radius:"full",onPress:c,children:n("common.apply")})]})})]})})]})}var ei={display:"inline-flex",alignItems:"center",gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"6px 12px",fontSize:14,fontWeight:700,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s",height:32},ti={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},oi={height:1,background:"rgba(39,39,42,1)",margin:0};function ts({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),[r,i]=react.useState(false),a=react.useRef(null),[u,l]=react.useState(o),d=react.useCallback(()=>{l(void 0);},[]),m=react.useCallback(()=>{s?.(u),i(false);},[u,s]);react.useEffect(()=>{l(o);},[r,o]),react.useEffect(()=>{let g=f=>{a.current&&!a.current.contains(f.target)&&i(false);};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[]),react.useEffect(()=>{if(!r)return;let g=f=>{f.key==="Escape"&&i(false);};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[r]);let c=react.useMemo(()=>Object.values(o||{}).every(g=>g===void 0),[o]);return jsxRuntime.jsxs("div",{ref:a,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",style:ei,onMouseEnter:g=>{g.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:g=>{g.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>i(g=>!g),children:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}),jsxRuntime.jsx("span",{className:"hidden sm:block",children:n("tokens.listHeader.filter")}),jsxRuntime.jsx(si,{open:r})]}),!c&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),r&&jsxRuntime.jsxs("div",{style:{...ti,width:420},children:[jsxRuntime.jsx("div",{style:{padding:"16px 0"},children:jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120 px-4",children:jsxRuntime.jsx(Ke,{protocols:e,resolution:t,filters:u,onFiltersChange:l})})}),jsxRuntime.jsx("div",{style:oi}),jsxRuntime.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsxRuntime.jsx(ui.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:d,children:n("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:m,children:n("common.apply")})]})]})]})}function si({open:e}){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"})})}function Xp({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(Xo,{...t}):jsxRuntime.jsx(ts,{placement:e,...t})}function rs({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",classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-zinc-500 group-data-[hover=true]:!text-zinc-200 group-data-[selected=true]:!text-[#c7ff2e]"},children:o.map(r=>jsxRuntime.jsx(ui.Tab,{title:s(`common.resolution.${r}`)},r))})}function as({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),{isOpen:n,onOpen:r,onClose:i,onOpenChange:a}=ui.useDisclosure(),u=react.useCallback(l=>{t?.(l),i();},[t,i]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{variant:"bordered",color:"default",radius:"full",endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"text-neutral"}),onPress:r,className:"min-w-0 h-8 min-h-8 border-border gap-1 pr-2 text-xs font-medium",children:e?s(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.StyledModal,{isOpen:n,onOpenChange:a,size:"md",children:jsxRuntime.jsxs(ui.ModalContent,{children:[jsxRuntime.jsx(ui.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:s("tokens.resolutionSelector.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx("div",{className:"flex justify-between flex-wrap gap-2",children:o.map(l=>jsxRuntime.jsx(ui.StyledSolidButton,{color:l===e?"primary":"default",radius:"full",size:"sm",onPress:()=>u(l),children:s(`common.resolution.${l}`)},l))})})]})})]})}function gf(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(as,{...e}):jsxRuntime.jsx(rs,{...e})}function ds({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 cs({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(Z,{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 ms({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]),i=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]),l=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),d=react.useMemo(()=>new utils$1.SafeBigNumber(l).gte(.1),[l]),m=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),c=react.useMemo(()=>new utils$1.SafeBigNumber(m).gte(.1),[m]),g=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),f=react.useMemo(()=>new utils$1.SafeBigNumber(g).gte(.1),[g]);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:i?"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:d?"danger":l===void 0?"default":"primary",children:utils$1.formatPercent(l)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.insiderHoldingsRatio"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.RatIcon,{width:13,height:13}),variant:"flat",size:"sm",color: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:f?"danger":g===void 0?"default":"primary",children:utils$1.formatPercent(g)})})]})]})}function us({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ps({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function hs({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 Ts({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 xs({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 ys({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 Ss=5;function ws({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:Ss}).map((o,s)=>jsxRuntime.jsx(ul,{rowHeight:e,hasBorderBottom:s!==Ss-1,hasActions:t},s))})}function ul({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(pl,{}),jsxRuntime.jsx(fl,{}),jsxRuntime.jsx(gl,{}),jsxRuntime.jsx(hl,{}),jsxRuntime.jsx(kl,{}),jsxRuntime.jsx(Tl,{}),jsxRuntime.jsx(bl,{}),jsxRuntime.jsx(xl,{}),jsxRuntime.jsx(vl,{}),o&&jsxRuntime.jsx(yl,{})]})}function pl(){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 fl(){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 gl(){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 hl(){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 kl(){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 Tl(){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 bl(){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 xl(){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 vl(){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 yl(){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 ae({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:i,height:a=600,itemHeight:u=88,itemHeightMobile:l=72,className:d}){let{isMobile:m}=ui.useScreen(),{t:c}=i18n.useTranslation(),g=react.useCallback(p=>T=>{T.preventDefault(),T.stopPropagation(),n?.(p);},[n]),[f,k]=react.useState(r??{});react.useEffect(()=>{k(r??{});},[r]);let h=react.useCallback(p=>T=>{let y={[p]:T};k(y),i?.(y);},[i]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",d??(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?l: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:f.price,onSortChange:h("price"),children:c("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:f[`priceChange${t}`],onSortChange:h(`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:f.marketCap,onSortChange:h("marketCap"),children:c("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:f.tvl,onSortChange:h("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:f[`volumes${t}`],onSortChange:h(`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:f[`trades${t}`],onSortChange:h(`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:f[`traders${t}`],onSortChange:h(`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(ws,{rowHeight:m?l:u,hasActions:!!s}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:c("common.empty")})]}),children:p=>jsxRuntime.jsx(ui.TableRow,{onClick:n?g(p):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(cs,{token:p,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(hs,{token:p,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ps,{token:p,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(us,{token:p,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ys,{token:p,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(xs,{token:p,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ts,{token:p,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ds,{token:p,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ms,{token:p,resolution:t})},"tokenInfo"),s?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(s,{token:p,resolution:t})},"actions"):void 0].filter(Boolean)},p.address)})]})}var Ol=80;function Wl(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function Is(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Ol)}function Rs({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),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),l([]),r.current=n);},[n]);let[u,l]=react.useState([]),{data:d,isPending:m}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(l(f=>{let k=[...f];for(let h of d){let p=k.findIndex(T=>T.address===h.address);p>=0?k[p]=w(k[p],h):k.push(h);}return Is(k)}),a(false));},[d]);let c=react.useCallback(f=>{l(k=>{let h=[...k],p=false;for(let T of f){let y=h.findIndex(P=>P.address===T.address);y>=0?(p=true,h[y]=w(h[y],T)):(p=true,h.push(Wl(T)));}return p?Is(h):k});},[]);react$1.useNewTokensSubscription({chain:e},c);let g=react.useMemo(()=>!!(m||i),[m,i]);return {tokens:u,isLoading:g}}function Gg({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:i,itemHeightMobile:a,className:u}){let[l,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(l??{})[0],k=l?.[f];return {...o,...f&&k?{sortBy:f,sortDirection:k}:void 0}},[o,l]),{tokens:c,isLoading:g}=Rs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ae,{tokens:c,isLoading:g,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:d,className:u})}function Fs({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),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),l([]),r.current=n);},[n]);let[u,l]=react.useState([]),{data:d,isPending:m}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(l(f=>{let k=[];for(let h of d){let p=f.find(T=>T.address===h.address);k.push(p?w(p,h):h);}return k}),a(false));},[d]);let c=react.useCallback(f=>{l(k=>{let h=[...k],p=false;for(let T of f){let y=h.findIndex(P=>P.address===T.address);y>=0&&(p=true,h[y]=w(h[y],T));}return p?h:k});},[]);react$1.useStockTokensSubscription({chain:e},c);let g=react.useMemo(()=>!!(m||i),[m,i]);return {tokens:u,isLoading:g}}function ih({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:i,itemHeightMobile:a,className:u}){let[l,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(l??{})[0],k=l?.[f];return {...o,...f&&k?{sortBy:f,sortDirection:k}:void 0}},[o,l]),{tokens:c,isLoading:g}=Fs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ae,{tokens:c,isLoading:g,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:d,className:u})}function gh({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:i,itemHeightMobile:a,className:u}){let[l,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(l??{})[0],k=l?.[f];return {...o,...f&&k?{sortBy:f,sortDirection:k}:void 0}},[o,l]),{tokens:c,isLoading:g}=Me({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ae,{tokens:c,isLoading:g,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:l,onSortChange:d,className:u})}var id=15e3;function ld({chain:e,addresses:t,pollMs:o=id}){let s=t.length>0,[n,r]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{i.data&&r(m=>{let c={};for(let g of i.data){let f=m[g.address];c[g.address]=f?w(f,g):g;}return c});},[i.data]);let{subscribeClient:a}=react$1.useDexClient(),u=react.useRef(""),l=t.slice().sort().join(",");l!==u.current&&(u.current=l),react.useEffect(()=>{if(!s)return;let m=[];for(let c of t)m.push(a.subscribeToken(e,c,g=>{r(f=>{let k=f;for(let h of g){let p=k[h.address];if(!p)continue;let T=w(p,h);T!==p&&(k=k===f?{...f}:k,k[h.address]=T);}return k});}));return ()=>{for(let c of m)c.unsubscribe();}},[a,e,l,s]);let d=react.useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:n,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:d}}exports.NewTokenListWidget=Gg;exports.PulseFinalStretchListWidget=Nc;exports.PulseList=oe;exports.PulseListHeader=yt;exports.PulseListItem=Mt;exports.PulseListItemSkeleton=wt;exports.PulseMigratedListWidget=gc;exports.PulseNewListWidget=rc;exports.SEARCH_MODAL_ID=tt;exports.SearchHistoryUI=eo;exports.SearchHistoryWidget=to;exports.SearchInputUI=oo;exports.SearchModal=cu;exports.SearchResultItemUI=Ce;exports.SearchResultListHeader=Le;exports.SearchResultListSkeleton=Re;exports.SearchResultListWidget=mo;exports.SearchTokensButton=bu;exports.SearchWidget=xo;exports.StockTokenListWidget=ih;exports.TokenAvatar=Z;exports.TokenList=ae;exports.TokenListFilter=Ke;exports.TokenListFilterModal=Xo;exports.TokenListFilterPopover=ts;exports.TokenListFilterWidget=Xp;exports.TokenListResolutionSelectorDesktop=rs;exports.TokenListResolutionSelectorMobile=as;exports.TokenListResolutionSelectorWidget=gf;exports.TrendingTokenListWidget=gh;exports.useNewTokensScript=Rs;exports.usePulseFinalStretchListScript=Jt;exports.usePulseMigratedListScript=zt;exports.usePulseNewListScript=Bt;exports.useSearchHistory=Ne;exports.useSearchResultListScript=lo;exports.useSearchScript=To;exports.useStockTokensScript=Fs;exports.useTokens=ld;exports.useTrendingTokensScript=Me;exports.version=Ds;//# sourceMappingURL=index.js.map
22
22
  //# sourceMappingURL=index.js.map