@liberfi.io/ui-tokens 0.1.61 → 0.1.63

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.61";
15
+ declare const _default: "0.1.63";
16
16
 
17
17
  interface PulseListProps {
18
18
  /** list title */
@@ -33,8 +33,10 @@ interface PulseListProps {
33
33
  onPauseChange?: (isPaused: boolean) => void;
34
34
  /** custom styles */
35
35
  className?: string;
36
+ /** whether to hide the header */
37
+ hideHeader?: boolean;
36
38
  }
37
- declare function PulseList({ title, tokens, isLoading, itemHeight, renderHeaderExtra, renderItemAction, onSelectToken, onPauseChange, className, }: PulseListProps): react_jsx_runtime.JSX.Element;
39
+ declare function PulseList({ title, tokens, isLoading, itemHeight, renderHeaderExtra, renderItemAction, onSelectToken, onPauseChange, className, hideHeader, }: PulseListProps): react_jsx_runtime.JSX.Element;
38
40
 
39
41
  interface PulseListHeaderProps {
40
42
  title: string;
@@ -93,8 +95,10 @@ interface PulseNewListWidgetProps {
93
95
  onSelectToken?: (token: Token) => void;
94
96
  /** custom styles */
95
97
  className?: string;
98
+ /** whether to hide the header */
99
+ hideHeader?: boolean;
96
100
  }
97
- declare function PulseNewListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, }: PulseNewListWidgetProps): react_jsx_runtime.JSX.Element;
101
+ declare function PulseNewListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, hideHeader, }: PulseNewListWidgetProps): react_jsx_runtime.JSX.Element;
98
102
 
99
103
  type UsePulseMigratedListScriptParams = {
100
104
  /** chain id */
@@ -125,8 +129,10 @@ interface PulseMigratedListWidgetProps {
125
129
  onSelectToken?: (token: Token) => void;
126
130
  /** custom styles */
127
131
  className?: string;
132
+ /** whether to hide the header */
133
+ hideHeader?: boolean;
128
134
  }
129
- declare function PulseMigratedListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, }: PulseMigratedListWidgetProps): react_jsx_runtime.JSX.Element;
135
+ declare function PulseMigratedListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, hideHeader, }: PulseMigratedListWidgetProps): react_jsx_runtime.JSX.Element;
130
136
 
131
137
  type UsePulseFinalStretchListScriptParams = {
132
138
  /** chain id */
@@ -157,8 +163,10 @@ interface PulseFinalStretchListWidgetProps {
157
163
  onSelectToken?: (token: Token) => void;
158
164
  /** custom styles */
159
165
  className?: string;
166
+ /** whether to hide the header */
167
+ hideHeader?: boolean;
160
168
  }
161
- declare function PulseFinalStretchListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, }: PulseFinalStretchListWidgetProps): react_jsx_runtime.JSX.Element;
169
+ declare function PulseFinalStretchListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, hideHeader, }: PulseFinalStretchListWidgetProps): react_jsx_runtime.JSX.Element;
162
170
 
163
171
  type PulseListType = "new" | "final_stretch" | "migrated";
164
172
  interface PulseListItemActionProps {
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ declare global {
12
12
  };
13
13
  }
14
14
  }
15
- declare const _default: "0.1.61";
15
+ declare const _default: "0.1.63";
16
16
 
17
17
  interface PulseListProps {
18
18
  /** list title */
@@ -33,8 +33,10 @@ interface PulseListProps {
33
33
  onPauseChange?: (isPaused: boolean) => void;
34
34
  /** custom styles */
35
35
  className?: string;
36
+ /** whether to hide the header */
37
+ hideHeader?: boolean;
36
38
  }
37
- declare function PulseList({ title, tokens, isLoading, itemHeight, renderHeaderExtra, renderItemAction, onSelectToken, onPauseChange, className, }: PulseListProps): react_jsx_runtime.JSX.Element;
39
+ declare function PulseList({ title, tokens, isLoading, itemHeight, renderHeaderExtra, renderItemAction, onSelectToken, onPauseChange, className, hideHeader, }: PulseListProps): react_jsx_runtime.JSX.Element;
38
40
 
39
41
  interface PulseListHeaderProps {
40
42
  title: string;
@@ -93,8 +95,10 @@ interface PulseNewListWidgetProps {
93
95
  onSelectToken?: (token: Token) => void;
94
96
  /** custom styles */
95
97
  className?: string;
98
+ /** whether to hide the header */
99
+ hideHeader?: boolean;
96
100
  }
97
- declare function PulseNewListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, }: PulseNewListWidgetProps): react_jsx_runtime.JSX.Element;
101
+ declare function PulseNewListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, hideHeader, }: PulseNewListWidgetProps): react_jsx_runtime.JSX.Element;
98
102
 
99
103
  type UsePulseMigratedListScriptParams = {
100
104
  /** chain id */
@@ -125,8 +129,10 @@ interface PulseMigratedListWidgetProps {
125
129
  onSelectToken?: (token: Token) => void;
126
130
  /** custom styles */
127
131
  className?: string;
132
+ /** whether to hide the header */
133
+ hideHeader?: boolean;
128
134
  }
129
- declare function PulseMigratedListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, }: PulseMigratedListWidgetProps): react_jsx_runtime.JSX.Element;
135
+ declare function PulseMigratedListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, hideHeader, }: PulseMigratedListWidgetProps): react_jsx_runtime.JSX.Element;
130
136
 
131
137
  type UsePulseFinalStretchListScriptParams = {
132
138
  /** chain id */
@@ -157,8 +163,10 @@ interface PulseFinalStretchListWidgetProps {
157
163
  onSelectToken?: (token: Token) => void;
158
164
  /** custom styles */
159
165
  className?: string;
166
+ /** whether to hide the header */
167
+ hideHeader?: boolean;
160
168
  }
161
- declare function PulseFinalStretchListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, }: PulseFinalStretchListWidgetProps): react_jsx_runtime.JSX.Element;
169
+ declare function PulseFinalStretchListWidget({ chain, title, renderHeaderExtra, renderItemAction, onSelectToken, className, hideHeader, }: PulseFinalStretchListWidgetProps): react_jsx_runtime.JSX.Element;
162
170
 
163
171
  type PulseListType = "new" | "final_stretch" | "migrated";
164
172
  interface PulseListItemActionProps {
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.61");var Ds="0.1.61";function Tt({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 bt({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 Ws={[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 Ws[e]??_s}function ee({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:l,classNames:a}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils$1.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),i=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]),[h,g]=react.useState(false),k=react.useCallback(()=>{g(true);},[]),p=react.useCallback(()=>{g(false);},[]),f=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",l??"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(zs,{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}`,h&&m&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:p,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:c,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${r}`,a?.avatar)}),h&&m&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${r}`,a?.searchWrapper),onClick:f,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),i&&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 zs({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(js,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function js({token:e,enableSearch:t,radius:o,classNames:s}){let n=react.useMemo(()=>t&&e.image,[t,e.image]),r=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[l,a]=react.useState(false),u=react.useCallback(()=>{a(true);},[]),i=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}`,l&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:i,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:r,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),l&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick: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:`
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.63");var Ds="0.1.63";function Tt({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 bt({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 Ws={[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 Ws[e]??_s}function ee({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:n=true,radius:r="sm",className:d,classNames:a}){let u=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils$1.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),i=react.useMemo(()=>n&&u,[n,u]),l=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",d??"w-15 h-15"),children:[!l&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${r}`,u?q(u).bg:"bg-bullish",a?.background)}),l&&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(zs,{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)})})]})})}),i&&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 zs({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(js,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:r}):r}function js({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]),[d,a]=react.useState(false),u=react.useCallback(()=>{a(true);},[]),i=react.useCallback(()=>{a(false);},[]),l=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}`,d&&n&&"cursor-pointer",s?.previewWrapper),onMouseEnter:u,onMouseLeave:i,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)}),d&&n&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:l,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 Lt({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),l=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),i=react.useCallback(T=>{T.stopPropagation(),l(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[l,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]),h=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),g=react.useMemo(()=>new utils$1.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,p]=react.useMemo(()=>{let T=Number(e.stats?.["1h"]?.buys??0),v=Number(e.stats?.["1h"]?.sells??0),L=T+v;if(L===0)return [12,12];let xe=Math.round(T/L*24);return [xe,24-xe]},[e.stats]),f=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 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(ee,{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:i,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:i,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:h}),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:g}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.cn("text-base font-medium leading-none",f),children:utils$1.formatAmountUSDCompact(e.marketData?.marketCapInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.pulse.vol")}),jsxRuntime.jsx("span",{className:"text-base font-medium leading-none text-foreground",children:utils$1.formatAmountUSDCompact(e.stats?.["1h"]?.volumesInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:r("tokens.pulse.txs")}),jsxRuntime.jsx("span",{className:"text-xs leading-none text-foreground",children:utils$1.formatAmount(e.stats?.["1h"]?.trades)})]}),jsxRuntime.jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsxRuntime.jsx("div",{className:"h-1 bg-bullish",style:{width:`${k}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${p}px`}})]})]})]})]})})}function 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 Tr=124,Rt=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(Lt,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(bt,{isLast:e===s-1})})}function se({title:e,tokens:t,isLoading:o,itemHeight:s=Tr,renderHeaderExtra:n,renderItemAction:r,onSelectToken:l,onPauseChange:a,className:u}){let i=o||!t?void 0:t,d=i?i.length:Rt,m=react.useMemo(()=>({data:i,skeletonCount:Rt,renderItemAction:r,onSelectToken:l}),[i,r,l]),[c,h]=react.useState(false),g=react.useCallback(()=>{h(true),a?.(true);},[a]),k=react.useCallback(()=>{h(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:g,onMouseLeave:k,children:[jsxRuntime.jsx(Tt,{title:e,isPaused:c,extra:n}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:d,rowHeight:s,rowComponent:xr,rowProps:m,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 yr=["1m","5m","15m","30m","1h","4h","24h"];function vr(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of yr)t[s]&&(o[s]=e[s]?je(e[s],t[s]):t[s]);return o}function Sr(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:l,security:a,launchedFrom:u,migratedTo:i,...d}=t,m={...e};for(let c of Object.keys(d))d[c]!==void 0&&(m[c]=d[c]);return m.stats=vr(e.stats,n),m.marketData=Sr(e.marketData,r),m.socialMedias=we(e.socialMedias,l),m.security=we(e.security,a),m.launchedFrom=we(e.launchedFrom,u),m.migratedTo=we(e.migratedTo,i),m}var Cr=80;function Lr(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 Dt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Cr)}function Et({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(t);n.current=t;let r=react.useRef(e),[l,a]=react.useState(true),[u,i]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),i([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(i(g=>{let k=n.current,p=[...g];for(let f of d){let T=p.findIndex(v=>v.address===f.address);T>=0?p[T]=w(p[T],f):k||p.push(f);}return k?p:Dt(p)}),a(false));},[d]);let c=react.useCallback(g=>{i(k=>{let p=n.current,f=[...k],T=false;for(let v of g){let L=f.findIndex(xe=>xe.address===v.address);L>=0?(T=true,f[L]=w(f[L],v)):p||(T=true,f.push(Lr(v)));}return T?p?f:Dt(f):k});},[]);react$1.useNewTokensSubscription({chain:e},c);let h=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:h}}function ic({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:i}=Et({chain:e,isPaused:l}),d=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(se,{title:t,tokens:u,isLoading:i,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:d,className:r})}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),[l,a]=react.useState(true),[u,i]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),i([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(i(g=>{let k=n.current,p=[...g];for(let f of d){let T=p.findIndex(v=>v.address===f.address);T>=0?p[T]=w(p[T],f):k||p.unshift(f);}return p}),a(false));},[d]);let c=react.useCallback(g=>{i(k=>{let p=[...k],f=false;for(let T of g){let v=p.findIndex(L=>L.address===T.address);v>=0&&(f=true,p[v]=w(p[v],T));}return f?p:k});},[]);react$1.useMigratedTokensSubscription({chain:e},c);let h=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:h}}function Tc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:i}=_t({chain:e,isPaused:l}),d=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(se,{title:t,tokens:u,isLoading:i,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:d,className:r})}function _r(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),[l,a]=react.useState(true),[u,i]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),i([]),r.current=e);},[e]);let{data:d,isPending:m}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{d&&(i(g=>{let k=n.current,p=[...g];for(let f of d){let T=p.findIndex(v=>v.address===f.address);T>=0?p[T]=w(p[T],f):k||p.push(f);}return k?p:_r(p)}),a(false));},[d]);let c=react.useCallback(g=>{i(k=>{let p=[...k],f=false;for(let T of g){let v=p.findIndex(L=>L.address===T.address);v>=0&&(f=true,p[v]=w(p[v],T));}return f?p:k});},[]);react$1.useFinalStretchTokensSubscription({chain:e},c);let h=react.useMemo(()=>m||l,[m,l]);return {tokens:u,isLoading:h}}function Ic({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r}){let[l,a]=react.useState(false),{tokens:u,isLoading:i}=jt({chain:e,isPaused:l}),d=react.useCallback(m=>{a(m);},[]);return jsxRuntime.jsx(se,{title:t,tokens:u,isLoading:i,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:d,className:r})}var qr=10,Qr=utils.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Pe(){let[e,t]=jotai.useAtom(Qr),o=react.useCallback(n=>{let r=n.trim();r&&t(l=>{let a=l.filter(u=>u!==r);return [r,...a].slice(0,qr)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Jt({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 Xt({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Pe();return jsxRuntime.jsx(Jt,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function Zt({value:e,onValueChange:t,onClear:o,onPaste:s,className:n}){let{t:r}=i18n.useTranslation(),l=hooks.useClipboardRead(s);return jsxRuntime.jsx("div",{className:n,children:jsxRuntime.jsx(ui.StyledInput,{autoFocus:true,variant:"flat",radius:"full",value:e,onValueChange:t,placeholder:r("tokens.search.placeholder"),startContent:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e&&jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}),!e&&jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:l,children:jsxRuntime.jsx(ui.CopyIcon,{width:18,height:18})})]})})})}function so({token:e,className:t}){let{t:o}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),n=react.useMemo(()=>e.marketData?.priceInUsd,[e]),r=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),l=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),u=react.useMemo(()=>a?new utils$1.SafeBigNumber(a).abs().toString():void 0,[a]),i=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(ee,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils$1.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils$1.formatAmountUSD(r)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils$1.formatAmountUSD(l)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils$1.formatPriceUSD(n)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",i?"text-bullish":"text-bearish"),children:[i?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 Ne({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 no({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 io({keyword:e,chains:t,limit:o=50}){let s=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:n,isLoading:r,isFetchingNextPage:l,hasNextPage:a,fetchNextPage:u}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>n?.pages.flatMap(d=>d.data)??[],[n]),isLoading:r,isFetchingNextPage:l,hasNextPage:a??false,fetchNextPage:u}}var Rn=56;function co({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:n,isFetchingNextPage:r,hasNextPage:l,fetchNextPage:a}=io(o),u=react.useRef(null),{height:i}=hooks.useResizeObserver({ref:u}),d=react.useCallback(g=>g<s.length,[s]),m=react.useCallback(async()=>{l&&!r&&await a();},[l,r,a]),c=react.useMemo(()=>l?s.length+1:s.length,[s,l]),h=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:d,loadMoreRows:m,rowCount:c,threshold:5});return n?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Ne,{}),jsxRuntime.jsx(no,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Ne,{}),jsxRuntime.jsx(Mn,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Ne,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsxRuntime.jsx(reactWindow.List,{style:{height:i},onRowsRendered:h,rowComponent:An,rowCount:c,rowHeight:Rn,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function An({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(so,{token:n})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Mn(){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 po({onKeywordChange:e}){let[t,o]=react.useState(""),[s,n]=react.useState(""),{addHistory:r}=Pe(),l=hooks.useCallbackRef(e),a=hooks.useCallbackRef(r),u=react.useMemo(()=>utils$1.debounce(c=>{n(c),l(c),c&&a(c);},500),[l,a]),i=react.useCallback(c=>{o(c),u(c);},[u]),d=react.useCallback(c=>{u.cancel(),o(c),n(c),l(c),c&&a(c);},[u,l,a]),m=react.useCallback(()=>d(""),[d]);return {text:t,keyword:s,setText:i,setKeyword:d,clearKeyword:m}}function fo({chains:e,onKeywordChange:t,onSelectToken:o}){let{text:s,keyword:n,setText:r,setKeyword:l,clearKeyword:a}=po({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Zt,{value:s,onValueChange:r,onClear:a,onPaste:l}),n?jsxRuntime.jsx(co,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col",children:[jsxRuntime.jsx(Xt,{onSelect:l}),jsxRuntime.jsx(Un,{})]})]})}function Un(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col items-center justify-start text-neutral pt-20",children:[jsxRuntime.jsx(ui.SearchIcon,{width:32,height:32,className:"opacity-40"}),jsxRuntime.jsx("p",{className:"mt-3 text-sm",children:e("tokens.search.hint")})]})}var Xe="search";function su({id:e=Xe}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Qn,{...t})})}function Qn({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:n}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),l=react.useCallback(a=>{s(a);},[s]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between px-4 py-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:n("tokens.search.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx(fo,{chains:e?.chains,onSelectToken:l})})]})})}function uu({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),{isDesktop:n,isMobile:r}=ui.useScreen(),{onOpen:l,onClose:a}=uiScaffold.useAsyncModal(Xe),u=hooks.useCallbackRef(t),i=hooks.useCallbackRef(async()=>{let m=await l({params:{chains:e}});m&&u(m);}),d=hooks.useCallbackRef(()=>{a();});return react.useEffect(()=>{let m=c=>{let h=document.activeElement,g=!!h&&(h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.getAttribute("contenteditable")==="true");c.key==="/"&&!g&&(c.preventDefault(),i()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[i,d]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!n,onPress:i,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 yo({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[l,a]=react.useState(e?.join(", ")??""),[u,i]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(c=>{let h=Re(c);return h===void 0&&e===void 0?c:h===void 0?e?.join(", ")??"":e===void 0?"":h.join("")===e.join("")?c:e.join(", ")});},[e]),react.useEffect(()=>{i(c=>{let h=Re(c);return h===void 0&&t===void 0?c:h===void 0?t?.join(", ")??"":t===void 0?"":h.join("")===t.join("")?c:t.join(", ")});},[t]);let d=react.useCallback(c=>{a(c),o?.(Re(c));},[o]),m=react.useCallback(c=>{i(c),s?.(Re(c));},[s]);return jsxRuntime.jsxs("div",{className:ui.cn("grid grid-cols-2 gap-3 px-4",n),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:l,onValueChange: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 Re(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Co({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let a=react.useMemo(()=>e.every(d=>r.includes(d)),[e,r]),u=react.useCallback(()=>{if(a){let d=[];l(d),o?.(d);}else {let d=[...e];l(d),o?.(d);}},[e,o,a]),i=react.useCallback(d=>()=>{if(r.includes(d)){let m=r.filter(c=>c!==d);l(m),o?.(m);}else {let m=[...r,d];l(m),o?.(m);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.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:i(d),children:utils$1.formatTokenProtocolName(d)},d)})})]})}function E({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(o?et(o).min:NaN),[a,u]=react.useState(o?et(o).max:NaN);react.useEffect(()=>{if(o===void 0)l(NaN),u(NaN);else {let{min:m,max:c}=et(o);l(m),u(c);}},[o]);let i=react.useCallback(m=>{l(m),s?.(Ao(t,m,a));},[t,s,a]),d=react.useCallback(m=>{u(m),s?.(Ao(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:i,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 et(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 Ao(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 Ho({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let l=react.useCallback(a=>u=>{if(u===void 0){let i=(n??[]).filter(d=>d.field!==a);i=i.length>0?i:void 0,r(i),t?.(i);}else {let i=[...(n??[]).filter(d=>d.field!==a),u];r(i),t?.(i);}},[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:l("holders")}),jsxRuntime.jsx(E,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:l("top10Ratio")}),jsxRuntime.jsx(E,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:l("top100Ratio")}),jsxRuntime.jsx(E,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:l("creatorsRatio")})]})}function Fo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let a=react.useCallback(u=>i=>{if(i===void 0){let d=(r??[]).filter(m=>m.field!==u);d=d.length>0?d:void 0,l(d),o?.(d);}else {let d=[...(r??[]).filter(m=>m.field!==u),i];l(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 Wo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,l]=react.useState("audits"),[a,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let i=react.useCallback(c=>{u(c),o?.(c);},[o]),d=react.useMemo(()=>{let c=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(h=>c.includes(h.field))?.length??0},[a]),m=react.useMemo(()=>{let c=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(h=>c.includes(h.field)).length??0},[a,e]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:r,onSelectionChange:l,children:[jsxRuntime.jsx(ui.Tab,{title: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(Ho,{values:a,onValuesChange:i,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Fo,{values:a,onValuesChange:i,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function Oe({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,l]=react.useState(Vo(o?.filters,e));react.useEffect(()=>{l(Vo(o?.filters,e));},[o?.filters,e]);let[a,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[i,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 h=react.useCallback(f=>{l(f),s?.(Ue(e,f,a,i,m));},[e,a,i,m,s]),g=react.useCallback(f=>{u(f),s?.(Ue(e,r,f,i,m));},[e,r,i,m,s]),k=react.useCallback(f=>{d(f),s?.(Ue(e,r,a,f,m));},[e,r,a,m,s]),p=react.useCallback(f=>{c(f),s?.(Ue(e,r,a,i,f));},[e,r,a,i,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(Co,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:h}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(yo,{keywords:a,excludeKeywords:i,onKeywordsChange:g,onExcludeKeywordsChange:k}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Wo,{resolution:t,values:m,onValuesChange:p})]})}function Vo(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 Ue(e,t,o,s,n){let r=n?[...n.filter(l=>l.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&r.length===0?void 0:{keywords:o,excludeKeywords:s,filters:r.length>0?r:void 0}}function jo({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:l,onClose:a,onOpenChange:u}=ui.useDisclosure(),[i,d]=react.useState(o),m=react.useCallback(()=>{d(void 0);},[]),c=react.useCallback(()=>{s?.(i),a();},[i,s,a]);react.useEffect(()=>{d(o);},[r,o]);let h=react.useMemo(()=>Object.values(o||{}).every(g=>g===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",radius:"full",onPress:l,className:"bg-transparent",children:h?jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:"",shape:"circle",children:jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"})})}),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(Oe,{protocols:e,resolution:t,filters:i,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 Jo({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:l,onClose:a,onOpenChange:u}=ui.useDisclosure(),[i,d]=react.useState(o),m=react.useCallback(()=>{d(void 0);},[]),c=react.useCallback(()=>{s?.(i),a();},[i,s,a]);react.useEffect(()=>{d(o);},[l,o]);let h=react.useMemo(()=>Object.values(o||{}).every(g=>g===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:l,onOpenChange:u,children:[jsxRuntime.jsx(ui.PopoverTrigger,{children:jsxRuntime.jsx(ui.StyledSolidButton,{color:"default",size:"sm",radius:"full",className:"font-bold text-sm",startContent:h?jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:"",shape:"circle",children:jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"})}),endContent:jsxRuntime.jsx(ui.ChevronDownIcon,{width:16,height:16,className:"data-[open=true]:-rotate-180 transition-transform flex-none","data-open":l}),children:r("tokens.listHeader.filter")})}),jsxRuntime.jsx(ui.PopoverContent,{children:jsxRuntime.jsxs("div",{className:"w-md py-4 px-0 flex flex-col gap-4",children:[jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120",children:jsxRuntime.jsx(Oe,{protocols:e,resolution:t,filters:i,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 zp({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(jo,{...t}):jsxRuntime.jsx(Jo,{placement:e,...t})}function Zo({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 ts({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),{isOpen:n,onOpen:r,onClose:l,onOpenChange:a}=ui.useDisclosure(),u=react.useCallback(i=>{t?.(i),l();},[t,l]);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(i=>jsxRuntime.jsx(ui.StyledSolidButton,{color:i===e?"primary":"default",radius:"full",size:"sm",onPress:()=>u(i),children:s(`common.resolution.${i}`)},i))})})]})})]})}function df(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(ts,{...e}):jsxRuntime.jsx(Zo,{...e})}function rs({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 ns({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(ee,{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 as({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.holders,[e.marketData?.holders]),s=react.useMemo(()=>e.marketData?.proHolders,[e.marketData?.proHolders]),n=react.useMemo(()=>e.marketData?.kolHolders,[e.marketData?.kolHolders]),r=react.useMemo(()=>e.marketData?.devHoldingsRatio,[e.marketData?.devHoldingsRatio]),l=react.useMemo(()=>new utils$1.SafeBigNumber(r).gte(.1),[r]),a=react.useMemo(()=>e.marketData?.top10HoldingsRatio,[e.marketData?.top10HoldingsRatio]),u=react.useMemo(()=>new utils$1.SafeBigNumber(a).gte(.1),[a]),i=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),d=react.useMemo(()=>new utils$1.SafeBigNumber(i).gte(.1),[i]),m=react.useMemo(()=>e.marketData?.insiderHoldingsRatio,[e.marketData?.insiderHoldingsRatio]),c=react.useMemo(()=>new utils$1.SafeBigNumber(m).gte(.1),[m]),h=react.useMemo(()=>e.marketData?.bundleHoldingsRatio,[e.marketData?.bundleHoldingsRatio]),g=react.useMemo(()=>new utils$1.SafeBigNumber(h).gte(.1),[h]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex gap-2 justify-start items-center",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.holders"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),variant:"flat",size:"sm",color:o?"primary":"default",children:utils$1.formatAmount(o)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),variant:"flat",size:"sm",color:s?"primary":"default",children:utils$1.formatAmount(s)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),variant:"flat",size:"sm",color:n?"primary":"default",children:utils$1.formatAmount(n)})})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 items-start justify-start",children:[jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.top10HoldingsRatio"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:14,height:14}),variant:"flat",size:"sm",color:u?"danger":a===void 0?"default":"primary",children:utils$1.formatPercent(a)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.devHoldingsRatio"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.CookIcon,{width:13,height:13}),variant:"flat",size:"sm",color:l?"danger":r===void 0?"default":"primary",children:utils$1.formatPercent(r)})}),jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.tokenInfo.sniperHoldingsRatio"),children:jsxRuntime.jsx(ui.Chip,{className:"pl-2 pr-1.5 gap-0.5 h-5",startContent:jsxRuntime.jsx(ui.SniperIcon,{width:13,height:13}),variant:"flat",size:"sm",color:d?"danger":i===void 0?"default":"primary",children:utils$1.formatPercent(i)})})]}),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:g?"danger":h===void 0?"default":"primary",children:utils$1.formatPercent(h)})})]})]})}function is({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ls({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ms({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 ps({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 gs({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 ks({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 Ts=5;function xs({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:Ts}).map((o,s)=>jsxRuntime.jsx(ml,{rowHeight:e,hasBorderBottom:s!==Ts-1,hasActions:t},s))})}function ml({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(ul,{}),jsxRuntime.jsx(pl,{}),jsxRuntime.jsx(fl,{}),jsxRuntime.jsx(gl,{}),jsxRuntime.jsx(hl,{}),jsxRuntime.jsx(kl,{}),jsxRuntime.jsx(Tl,{}),jsxRuntime.jsx(xl,{}),jsxRuntime.jsx(bl,{}),o&&jsxRuntime.jsx(yl,{})]})}function ul(){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 pl(){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 fl(){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 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.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 kl(){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 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 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 bl(){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 ie({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:l,height:a=600,itemHeight:u=88,itemHeightMobile:i=72,className:d}){let{isMobile:m}=ui.useScreen(),{t:c}=i18n.useTranslation(),h=react.useCallback(f=>T=>{T.preventDefault(),T.stopPropagation(),n?.(f);},[n]),[g,k]=react.useState(r??{});react.useEffect(()=>{k(r??{});},[r]);let p=react.useCallback(f=>T=>{let v={[f]:T};k(v),l?.(v);},[l]);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?i: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:g.price,onSortChange:p("price"),children:c("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:g[`priceChange${t}`],onSortChange:p(`priceChange${t}`),children:c("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:g.marketCap,onSortChange:p("marketCap"),children:c("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:g.tvl,onSortChange:p("tvl"),children:c("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:g[`volumes${t}`],onSortChange:p(`volumes${t}`),children:c("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:g[`trades${t}`],onSortChange:p(`trades${t}`),children:c("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:g[`traders${t}`],onSortChange:p(`traders${t}`),children:c("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.bluechip"),width:128,children:c("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.tokenInfo"),width:308,children:c("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsxRuntime.jsx(ui.TableColumn,{textValue:c("tokens.listHeader.actions"),width:124,align:"end",children:c("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsxRuntime.jsx(xs,{rowHeight:m?i:u,hasActions:!!s}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:c("common.empty")})]}),children:f=>jsxRuntime.jsx(ui.TableRow,{onClick:n?h(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ns,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ms,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ls,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(is,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ks,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(gs,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ps,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(rs,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(as,{token:f,resolution:t})},"tokenInfo"),s?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(s,{token:f,resolution:t})},"actions"):void 0].filter(Boolean)},f.address)})]})}var Ul=80;function Ol(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 ws(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Ul)}function Ps({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),i([]),r.current=n);},[n]);let[u,i]=react.useState([]),{data:d,isPending:m}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(i(g=>{let k=[...g];for(let p of d){let f=k.findIndex(T=>T.address===p.address);f>=0?k[f]=w(k[f],p):k.push(p);}return ws(k)}),a(false));},[d]);let c=react.useCallback(g=>{i(k=>{let p=[...k],f=false;for(let T of g){let v=p.findIndex(L=>L.address===T.address);v>=0?(f=true,p[v]=w(p[v],T)):(f=true,p.push(Ol(T)));}return f?ws(p):k});},[]);react$1.useNewTokensSubscription({chain:e},c);let h=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:h}}function Kg({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[i,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let g=Object.keys(i??{})[0],k=i?.[g];return {...o,...g&&k?{sortBy:g,sortDirection:k}:void 0}},[o,i]),{tokens:c,isLoading:h}=Ps({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:h,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:i,onSortChange:d,className:u})}function Is({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),i([]),r.current=n);},[n]);let[u,i]=react.useState([]),{data:d,isPending:m}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(i(g=>{let k=[];for(let p of d){let f=g.find(T=>T.address===p.address);k.push(f?w(f,p):p);}return k}),a(false));},[d]);let c=react.useCallback(g=>{i(k=>{let p=[...k],f=false;for(let T of g){let v=p.findIndex(L=>L.address===T.address);v>=0&&(f=true,p[v]=w(p[v],T));}return f?p:k});},[]);react$1.useStockTokensSubscription({chain:e},c);let h=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:h}}function th({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[i,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let g=Object.keys(i??{})[0],k=i?.[g];return {...o,...g&&k?{sortBy:g,sortDirection:k}:void 0}},[o,i]),{tokens:c,isLoading:h}=Is({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:h,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:i,onSortChange:d,className:u})}function Hs({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[l,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),i([]),r.current=n);},[n]);let[u,i]=react.useState([]),{data:d,isPending:m}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{d&&(i(g=>{let k=[];for(let p of d){let f=g.find(T=>T.address===p.address);k.push(f?w(f,p):p);}return k}),a(false));},[d]);let c=react.useCallback(g=>{i(k=>{let p=[...k],f=false;for(let T of g){let v=p.findIndex(L=>L.address===T.address);v>=0&&(f=true,p[v]=w(p[v],T));}return f?p:k});},[]);react$1.useTrendingTokensSubscription({chain:e},c);let h=react.useMemo(()=>!!(m||l),[m,l]);return {tokens:u,isLoading:h}}function ph({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:l,itemHeightMobile:a,className:u}){let[i,d]=react.useState();react.useEffect(()=>{d(void 0);},[e]);let m=react.useMemo(()=>{let g=Object.keys(i??{})[0],k=i?.[g];return {...o,...g&&k?{sortBy:g,sortDirection:k}:void 0}},[o,i]),{tokens:c,isLoading:h}=Hs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:h,resolution:t,height:r,itemHeight:l,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:i,onSortChange:d,className:u})}var cd=15e3;function md({chain:e,addresses:t,pollMs:o=cd}){let s=t.length>0,[n,r]=react.useState({}),l=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{l.data&&r(m=>{let c={};for(let h of l.data){let g=m[h.address];c[h.address]=g?w(g,h):h;}return c});},[l.data]);let{subscribeClient:a}=react$1.useDexClient(),u=react.useRef(""),i=t.slice().sort().join(",");i!==u.current&&(u.current=i),react.useEffect(()=>{if(!s)return;let m=[];for(let c of t)m.push(a.subscribeToken(e,c,h=>{r(g=>{let k=g;for(let p of h){let f=k[p.address];if(!f)continue;let T=w(f,p);T!==f&&(k=k===g?{...g}:k,k[p.address]=T);}return k});}));return ()=>{for(let c of m)c.unsubscribe();}},[a,e,i,s]);let d=react.useCallback(async()=>{await l.refetch();},[l.refetch]);return {tokens:n,isPending:l.isPending,isFetching:l.isFetching,isError:l.isError,isSuccess:l.isSuccess,error:l.error,refetch:d}}exports.NewTokenListWidget=Kg;exports.PulseFinalStretchListWidget=Ic;exports.PulseList=se;exports.PulseListHeader=Tt;exports.PulseListItem=Lt;exports.PulseListItemSkeleton=bt;exports.PulseMigratedListWidget=Tc;exports.PulseNewListWidget=ic;exports.SEARCH_MODAL_ID=Xe;exports.SearchHistoryUI=Jt;exports.SearchHistoryWidget=Xt;exports.SearchInputUI=Zt;exports.SearchModal=su;exports.SearchResultItemUI=so;exports.SearchResultListHeader=Ne;exports.SearchResultListSkeleton=no;exports.SearchResultListWidget=co;exports.SearchTokensButton=uu;exports.SearchWidget=fo;exports.StockTokenListWidget=th;exports.TokenAvatar=ee;exports.TokenList=ie;exports.TokenListFilter=Oe;exports.TokenListFilterModal=jo;exports.TokenListFilterPopover=Jo;exports.TokenListFilterWidget=zp;exports.TokenListResolutionSelectorDesktop=Zo;exports.TokenListResolutionSelectorMobile=ts;exports.TokenListResolutionSelectorWidget=df;exports.TrendingTokenListWidget=ph;exports.useNewTokensScript=Ps;exports.usePulseFinalStretchListScript=jt;exports.usePulseMigratedListScript=_t;exports.usePulseNewListScript=Et;exports.useSearchHistory=Pe;exports.useSearchResultListScript=io;exports.useSearchScript=po;exports.useStockTokensScript=Is;exports.useTokens=md;exports.useTrendingTokensScript=Hs;exports.version=Ds;//# sourceMappingURL=index.js.map
21
+ `})]})}function Lt({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:n}){let{t:r}=i18n.useTranslation(),d=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),u=react.useCallback(()=>{s?.(e);},[s,e]),i=react.useCallback(T=>{T.stopPropagation(),d(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[d,e.address,r]),l=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(ee,{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:i,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:i,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:l}),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 Tr=124,Rt=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(Lt,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(bt,{isLast:e===s-1})})}function se({title:e,tokens:t,isLoading:o,itemHeight:s=Tr,renderHeaderExtra:n,renderItemAction:r,onSelectToken:d,onPauseChange:a,className:u,hideHeader:i}){let l=o||!t?void 0:t,m=l?l.length:Rt,c=react.useMemo(()=>({data:l,skeletonCount:Rt,renderItemAction:r,onSelectToken:d}),[l,r,d]),[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:[!i&&jsxRuntime.jsx(Tt,{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:xr,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 yr=["1m","5m","15m","30m","1h","4h","24h"];function vr(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of yr)t[s]&&(o[s]=e[s]?je(e[s],t[s]):t[s]);return o}function Sr(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:d,security:a,launchedFrom:u,migratedTo:i,...l}=t,m={...e};for(let c of Object.keys(l))l[c]!==void 0&&(m[c]=l[c]);return m.stats=vr(e.stats,n),m.marketData=Sr(e.marketData,r),m.socialMedias=we(e.socialMedias,d),m.security=we(e.security,a),m.launchedFrom=we(e.launchedFrom,u),m.migratedTo=we(e.migratedTo,i),m}var Cr=80;function Lr(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 Dt(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Cr)}function Et({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),[d,a]=react.useState(true),[u,i]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),i([]),r.current=e);},[e]);let{data:l,isPending:m}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{l&&(i(f=>{let h=n.current,g=f.length===0&&l.length>0,p=[...f];for(let T of l){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:Dt(p)}),a(false));},[l]);let c=react.useCallback(f=>{i(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(Lr(v)));}return T?g?p:Dt(p):h});},[]);react$1.useNewTokensSubscription({chain:e},c);let k=react.useMemo(()=>m||d,[m,d]);return {tokens:u,isLoading:k}}function ic({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:d}){let[a,u]=react.useState(false),{tokens:i,isLoading:l}=Et({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(se,{title:t,tokens:i,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:d})}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),[d,a]=react.useState(true),[u,i]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),i([]),r.current=e);},[e]);let{data:l,isPending:m}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{l&&(i(f=>{let h=n.current,g=[...f];for(let p of l){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));},[l]);let c=react.useCallback(f=>{i(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||d,[m,d]);return {tokens:u,isLoading:k}}function Tc({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:d}){let[a,u]=react.useState(false),{tokens:i,isLoading:l}=_t({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(se,{title:t,tokens:i,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:d})}function _r(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),[d,a]=react.useState(true),[u,i]=react.useState([]);react.useEffect(()=>{e!==r.current&&(a(true),i([]),r.current=e);},[e]);let{data:l,isPending:m}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{l&&(i(f=>{let h=n.current,g=f.length===0&&l.length>0,p=[...f];for(let T of l){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));},[l]);let c=react.useCallback(f=>{i(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||d,[m,d]);return {tokens:u,isLoading:k}}function Ic({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,className:r,hideHeader:d}){let[a,u]=react.useState(false),{tokens:i,isLoading:l}=jt({chain:e,isPaused:a}),m=react.useCallback(c=>{u(c);},[]);return jsxRuntime.jsx(se,{title:t,tokens:i,isLoading:l,renderHeaderExtra:o,renderItemAction:s,onSelectToken:n,onPauseChange:m,className:r,hideHeader:d})}var qr=10,Qr=utils.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Pe(){let[e,t]=jotai.useAtom(Qr),o=react.useCallback(n=>{let r=n.trim();r&&t(d=>{let a=d.filter(u=>u!==r);return [r,...a].slice(0,qr)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Jt({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 Xt({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Pe();return jsxRuntime.jsx(Jt,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function Zt({value:e,onValueChange:t,onClear:o,onPaste:s,className:n}){let{t:r}=i18n.useTranslation(),d=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:d,children:jsxRuntime.jsx(ui.CopyIcon,{width:18,height:18})})]})})})}function so({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]),d=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]),i=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(ee,{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(d)]})]})]})]}),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",i?"text-bullish":"text-bearish"),children:[i?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 Ne({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 no({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 io({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:d,hasNextPage:a,fetchNextPage:u}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>n?.pages.flatMap(l=>l.data)??[],[n]),isLoading:r,isFetchingNextPage:d,hasNextPage:a??false,fetchNextPage:u}}var Rn=56;function co({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:n,isFetchingNextPage:r,hasNextPage:d,fetchNextPage:a}=io(o),u=react.useRef(null),{height:i}=hooks.useResizeObserver({ref:u}),l=react.useCallback(f=>f<s.length,[s]),m=react.useCallback(async()=>{d&&!r&&await a();},[d,r,a]),c=react.useMemo(()=>d?s.length+1:s.length,[s,d]),k=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:l,loadMoreRows:m,rowCount:c,threshold:5});return n?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Ne,{}),jsxRuntime.jsx(no,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Ne,{}),jsxRuntime.jsx(Mn,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Ne,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:u,children:jsxRuntime.jsx(reactWindow.List,{style:{height:i},onRowsRendered:k,rowComponent:An,rowCount:c,rowHeight:Rn,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function An({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(so,{token:n})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Mn(){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 po({onKeywordChange:e}){let[t,o]=react.useState(""),[s,n]=react.useState(""),{addHistory:r}=Pe(),d=hooks.useCallbackRef(e),a=hooks.useCallbackRef(r),u=react.useMemo(()=>utils$1.debounce(c=>{n(c),d(c),c&&a(c);},500),[d,a]),i=react.useCallback(c=>{o(c),u(c);},[u]),l=react.useCallback(c=>{u.cancel(),o(c),n(c),d(c),c&&a(c);},[u,d,a]),m=react.useCallback(()=>l(""),[l]);return {text:t,keyword:s,setText:i,setKeyword:l,clearKeyword:m}}function fo({chains:e,onKeywordChange:t,onSelectToken:o}){let{text:s,keyword:n,setText:r,setKeyword:d,clearKeyword:a}=po({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Zt,{value:s,onValueChange:r,onClear:a,onPaste:d}),n?jsxRuntime.jsx(co,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col",children:[jsxRuntime.jsx(Xt,{onSelect:d}),jsxRuntime.jsx(Un,{})]})]})}function Un(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col items-center justify-start text-neutral pt-20",children:[jsxRuntime.jsx(ui.SearchIcon,{width:32,height:32,className:"opacity-40"}),jsxRuntime.jsx("p",{className:"mt-3 text-sm",children:e("tokens.search.hint")})]})}var Xe="search";function su({id:e=Xe}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Qn,{...t})})}function Qn({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:n}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),d=react.useCallback(a=>{s(a);},[s]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between px-4 py-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:n("tokens.search.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx(fo,{chains:e?.chains,onSelectToken:d})})]})})}function uu({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),{isDesktop:n,isMobile:r}=ui.useScreen(),{onOpen:d,onClose:a}=uiScaffold.useAsyncModal(Xe),u=hooks.useCallbackRef(t),i=hooks.useCallbackRef(async()=>{let m=await d({params:{chains:e}});m&&u(m);}),l=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(),i()),c.key==="Escape"&&(c.preventDefault(),l());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[i,l]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!n,onPress:i,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 yo({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:n}){let{t:r}=i18n.useTranslation(),[d,a]=react.useState(e?.join(", ")??""),[u,i]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(c=>{let k=Re(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(()=>{i(c=>{let k=Re(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 l=react.useCallback(c=>{a(c),o?.(Re(c));},[o]),m=react.useCallback(c=>{i(c),s?.(Re(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:d,onValueChange:l})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:u,onValueChange:m})]})]})}function Re(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Co({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,d]=react.useState(t);react.useEffect(()=>{d(t);},[t]);let a=react.useMemo(()=>e.every(l=>r.includes(l)),[e,r]),u=react.useCallback(()=>{if(a){let l=[];d(l),o?.(l);}else {let l=[...e];d(l),o?.(l);}},[e,o,a]),i=react.useCallback(l=>()=>{if(r.includes(l)){let m=r.filter(c=>c!==l);d(m),o?.(m);}else {let m=[...r,l];d(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(l=>{let m=q(l);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(l)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${l}.svg`,alt:utils$1.formatTokenProtocolName(l)}),onPress:i(l),children:utils$1.formatTokenProtocolName(l)},l)})})]})}function E({title:e,field:t,value:o,onChange:s}){let{t:n}=i18n.useTranslation(),[r,d]=react.useState(o?et(o).min:NaN),[a,u]=react.useState(o?et(o).max:NaN);react.useEffect(()=>{if(o===void 0)d(NaN),u(NaN);else {let{min:m,max:c}=et(o);d(m),u(c);}},[o]);let i=react.useCallback(m=>{d(m),s?.(Ao(t,m,a));},[t,s,a]),l=react.useCallback(m=>{u(m),s?.(Ao(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:i,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:l,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function et(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 Ao(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 Ho({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[n,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let d=react.useCallback(a=>u=>{if(u===void 0){let i=(n??[]).filter(l=>l.field!==a);i=i.length>0?i:void 0,r(i),t?.(i);}else {let i=[...(n??[]).filter(l=>l.field!==a),u];r(i),t?.(i);}},[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:d("holders")}),jsxRuntime.jsx(E,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(a=>a.field==="top10Ratio"),onChange:d("top10Ratio")}),jsxRuntime.jsx(E,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(a=>a.field==="top100Ratio"),onChange:d("top100Ratio")}),jsxRuntime.jsx(E,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(a=>a.field==="creatorsRatio"),onChange:d("creatorsRatio")})]})}function Fo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,d]=react.useState(t);react.useEffect(()=>{d(t);},[t]);let a=react.useCallback(u=>i=>{if(i===void 0){let l=(r??[]).filter(m=>m.field!==u);l=l.length>0?l:void 0,d(l),o?.(l);}else {let l=[...(r??[]).filter(m=>m.field!==u),i];d(l),o?.(l);}},[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 Wo({resolution:e,values:t,onValuesChange:o,className:s}){let{t:n}=i18n.useTranslation(),[r,d]=react.useState("audits"),[a,u]=react.useState(t);react.useEffect(()=>{u(t);},[t]);let i=react.useCallback(c=>{u(c),o?.(c);},[o]),l=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:d,children:[jsxRuntime.jsx(ui.Tab,{title:l===0?n("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:l,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title: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(Ho,{values:a,onValuesChange:i,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Fo,{values:a,onValuesChange:i,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function Oe({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:n}){let[r,d]=react.useState(Vo(o?.filters,e));react.useEffect(()=>{d(Vo(o?.filters,e));},[o?.filters,e]);let[a,u]=react.useState(o?.keywords);react.useEffect(()=>{u(o?.keywords);},[o?.keywords]);let[i,l]=react.useState(o?.excludeKeywords);react.useEffect(()=>{l(o?.excludeKeywords);},[o?.excludeKeywords]);let[m,c]=react.useState(o?.filters);react.useEffect(()=>{c(o?.filters);},[o?.filters]);let k=react.useCallback(p=>{d(p),s?.(Ue(e,p,a,i,m));},[e,a,i,m,s]),f=react.useCallback(p=>{u(p),s?.(Ue(e,r,p,i,m));},[e,r,i,m,s]),h=react.useCallback(p=>{l(p),s?.(Ue(e,r,a,p,m));},[e,r,a,m,s]),g=react.useCallback(p=>{c(p),s?.(Ue(e,r,a,i,p));},[e,r,a,i,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(Co,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:k}),jsxRuntime.jsx(ui.StyledDivider,{})]}),jsxRuntime.jsx(yo,{keywords:a,excludeKeywords:i,onKeywordsChange:f,onExcludeKeywordsChange:h}),jsxRuntime.jsx(ui.StyledDivider,{}),jsxRuntime.jsx(Wo,{resolution:t,values:m,onValuesChange:g})]})}function Vo(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 Ue(e,t,o,s,n){let r=n?[...n.filter(d=>d.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 jo({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:n}=i18n.useTranslation(),{isOpen:r,onOpen:d,onClose:a,onOpenChange:u}=ui.useDisclosure(),[i,l]=react.useState(o),m=react.useCallback(()=>{l(void 0);},[]),c=react.useCallback(()=>{s?.(i),a();},[i,s,a]);react.useEffect(()=>{l(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:d,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(Oe,{protocols:e,resolution:t,filters:i,onFiltersChange:l,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 Jo({protocols:e,resolution:t,filters:o,onFiltersChange:s,...n}){let{t:r}=i18n.useTranslation(),{isOpen:d,onClose:a,onOpenChange:u}=ui.useDisclosure(),[i,l]=react.useState(o),m=react.useCallback(()=>{l(void 0);},[]),c=react.useCallback(()=>{s?.(i),a();},[i,s,a]);react.useEffect(()=>{l(o);},[d,o]);let k=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs(ui.StyledPopover,{...n,isOpen:d,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":d}),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(Oe,{protocols:e,resolution:t,filters:i,onFiltersChange:l})}),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 zp({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(jo,{...t}):jsxRuntime.jsx(Jo,{placement:e,...t})}function Zo({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 ts({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),{isOpen:n,onOpen:r,onClose:d,onOpenChange:a}=ui.useDisclosure(),u=react.useCallback(i=>{t?.(i),d();},[t,d]);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(i=>jsxRuntime.jsx(ui.StyledSolidButton,{color:i===e?"primary":"default",radius:"full",size:"sm",onPress:()=>u(i),children:s(`common.resolution.${i}`)},i))})})]})})]})}function df(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(ts,{...e}):jsxRuntime.jsx(Zo,{...e})}function rs({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 ns({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(ee,{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 as({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]),d=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]),i=react.useMemo(()=>e.marketData?.sniperHoldingsRatio,[e.marketData?.sniperHoldingsRatio]),l=react.useMemo(()=>new utils$1.SafeBigNumber(i).gte(.1),[i]),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:d?"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:l?"danger":i===void 0?"default":"primary",children:utils$1.formatPercent(i)})})]}),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 is({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ls({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils$1.formatAmountUSD(t)})}function ms({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 ps({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 gs({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 ks({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 Ts=5;function xs({rowHeight:e,hasActions:t}){return jsxRuntime.jsx(jsxRuntime.Fragment,{children:Array.from({length:Ts}).map((o,s)=>jsxRuntime.jsx(ml,{rowHeight:e,hasBorderBottom:s!==Ts-1,hasActions:t},s))})}function ml({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(ul,{}),jsxRuntime.jsx(pl,{}),jsxRuntime.jsx(fl,{}),jsxRuntime.jsx(gl,{}),jsxRuntime.jsx(hl,{}),jsxRuntime.jsx(kl,{}),jsxRuntime.jsx(Tl,{}),jsxRuntime.jsx(xl,{}),jsxRuntime.jsx(bl,{}),o&&jsxRuntime.jsx(yl,{})]})}function ul(){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 pl(){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 fl(){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 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.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 kl(){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 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 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 bl(){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 ie({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:n,sortDirections:r,onSortChange:d,height:a=600,itemHeight:u=88,itemHeightMobile:i=72,className:l}){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),d?.(v);},[d]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",l??(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?i: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(xs,{rowHeight:m?i: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(ns,{token:p,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ms,{token:p,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ls,{token:p,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(is,{token:p,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ks,{token:p,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(gs,{token:p,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ps,{token:p,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(rs,{token:p,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(as,{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 Ul=80;function Ol(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 ws(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Ul)}function Ps({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),[d,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),i([]),r.current=n);},[n]);let[u,i]=react.useState([]),{data:l,isPending:m}=react$1.useNewTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{l&&(i(f=>{let h=[...f];for(let g of l){let p=h.findIndex(T=>T.address===g.address);p>=0?h[p]=w(h[p],g):h.push(g);}return ws(h)}),a(false));},[l]);let c=react.useCallback(f=>{i(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(Ol(T)));}return p?ws(g):h});},[]);react$1.useNewTokensSubscription({chain:e},c);let k=react.useMemo(()=>!!(m||d),[m,d]);return {tokens:u,isLoading:k}}function Kg({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:d,itemHeightMobile:a,className:u}){let[i,l]=react.useState();react.useEffect(()=>{l(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(i??{})[0],h=i?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,i]),{tokens:c,isLoading:k}=Ps({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:k,resolution:t,height:r,itemHeight:d,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:i,onSortChange:l,className:u})}function Is({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),[d,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),i([]),r.current=n);},[n]);let[u,i]=react.useState([]),{data:l,isPending:m}=react$1.useStockTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{l&&(i(f=>{let h=[];for(let g of l){let p=f.find(T=>T.address===g.address);h.push(p?w(p,g):g);}return h}),a(false));},[l]);let c=react.useCallback(f=>{i(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||d),[m,d]);return {tokens:u,isLoading:k}}function th({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:d,itemHeightMobile:a,className:u}){let[i,l]=react.useState();react.useEffect(()=>{l(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(i??{})[0],h=i?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,i]),{tokens:c,isLoading:k}=Is({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:k,resolution:t,height:r,itemHeight:d,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:i,onSortChange:l,className:u})}function Hs({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let n=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),r=react.useRef(n),[d,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(n)!==JSON.stringify(r.current)&&(a(true),i([]),r.current=n);},[n]);let[u,i]=react.useState([]),{data:l,isPending:m}=react$1.useTrendingTokensQuery(n,{refetchInterval:s});react.useEffect(()=>{l&&(i(f=>{let h=[];for(let g of l){let p=f.find(T=>T.address===g.address);h.push(p?w(p,g):g);}return h}),a(false));},[l]);let c=react.useCallback(f=>{i(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||d),[m,d]);return {tokens:u,isLoading:k}}function ph({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:n,height:r,itemHeight:d,itemHeightMobile:a,className:u}){let[i,l]=react.useState();react.useEffect(()=>{l(void 0);},[e]);let m=react.useMemo(()=>{let f=Object.keys(i??{})[0],h=i?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,i]),{tokens:c,isLoading:k}=Hs({chain:e,resolution:t,options:m});return jsxRuntime.jsx(ie,{tokens:c,isLoading:k,resolution:t,height:r,itemHeight:d,itemHeightMobile:a,ActionsComponent:s,onSelectToken:n,sortDirections:i,onSortChange:l,className:u})}var cd=15e3;function md({chain:e,addresses:t,pollMs:o=cd}){let s=t.length>0,[n,r]=react.useState({}),d=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{d.data&&r(m=>{let c={};for(let k of d.data){let f=m[k.address];c[k.address]=f?w(f,k):k;}return c});},[d.data]);let{subscribeClient:a}=react$1.useDexClient(),u=react.useRef(""),i=t.slice().sort().join(",");i!==u.current&&(u.current=i),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,i,s]);let l=react.useCallback(async()=>{await d.refetch();},[d.refetch]);return {tokens:n,isPending:d.isPending,isFetching:d.isFetching,isError:d.isError,isSuccess:d.isSuccess,error:d.error,refetch:l}}exports.NewTokenListWidget=Kg;exports.PulseFinalStretchListWidget=Ic;exports.PulseList=se;exports.PulseListHeader=Tt;exports.PulseListItem=Lt;exports.PulseListItemSkeleton=bt;exports.PulseMigratedListWidget=Tc;exports.PulseNewListWidget=ic;exports.SEARCH_MODAL_ID=Xe;exports.SearchHistoryUI=Jt;exports.SearchHistoryWidget=Xt;exports.SearchInputUI=Zt;exports.SearchModal=su;exports.SearchResultItemUI=so;exports.SearchResultListHeader=Ne;exports.SearchResultListSkeleton=no;exports.SearchResultListWidget=co;exports.SearchTokensButton=uu;exports.SearchWidget=fo;exports.StockTokenListWidget=th;exports.TokenAvatar=ee;exports.TokenList=ie;exports.TokenListFilter=Oe;exports.TokenListFilterModal=jo;exports.TokenListFilterPopover=Jo;exports.TokenListFilterWidget=zp;exports.TokenListResolutionSelectorDesktop=Zo;exports.TokenListResolutionSelectorMobile=ts;exports.TokenListResolutionSelectorWidget=df;exports.TrendingTokenListWidget=ph;exports.useNewTokensScript=Ps;exports.usePulseFinalStretchListScript=jt;exports.usePulseMigratedListScript=_t;exports.usePulseNewListScript=Et;exports.useSearchHistory=Pe;exports.useSearchResultListScript=io;exports.useSearchScript=po;exports.useStockTokensScript=Is;exports.useTokens=md;exports.useTrendingTokensScript=Hs;exports.version=Ds;//# sourceMappingURL=index.js.map
22
22
  //# sourceMappingURL=index.js.map