@liberfi.io/ui-predict 0.1.116 → 0.1.117

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
@@ -13,7 +13,7 @@ declare global {
13
13
  };
14
14
  }
15
15
  }
16
- declare const _default: "0.1.116";
16
+ declare const _default: "0.1.117";
17
17
 
18
18
  /**
19
19
  * A single category entry in the static navigation model.
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ declare global {
13
13
  };
14
14
  }
15
15
  }
16
- declare const _default: "0.1.116";
16
+ declare const _default: "0.1.117";
17
17
 
18
18
  /**
19
19
  * A single category entry in the static navigation model.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var react=require('react'),ui$1=require('@liberfi.io/ui'),uiScaffold=require('@liberfi.io/ui-scaffold'),i18n=require('@liberfi.io/i18n'),jsxRuntime=require('react/jsx-runtime'),walletConnector=require('@liberfi.io/wallet-connector'),reactQuery=require('@tanstack/react-query'),Zr=require('canvas-confetti'),reactPredict=require('@liberfi.io/react-predict'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),reactWindow=require('react-window'),reactWindowInfiniteLoader=require('react-window-infinite-loader'),hooks=require('@liberfi.io/hooks'),recharts=require('recharts'),jotai=require('jotai'),utils$1=require('jotai/utils');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Zr__default=/*#__PURE__*/_interopDefault(Zr);typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-predict"]="0.1.116");var ga="0.1.116";var ha={Weather:["Daily temperature","Snow and rain","Climate change","Natural disasters","Hurricanes"],Companies:["IPOs","Product launches","KPIs","Elon Musk","CEOs","Layoffs"],Crypto:["BTC","15 min","Hourly","ETH","SOL","DOGE","Pre-Market","XRP","BNB","HYPE"],Economics:["Growth","Fed","Inflation","Oil and energy","Employment","Housing","Jobs & Economy","Bankruptcy & Defaults","GDP","Global Central Banks"],Elections:["Primaries","International elections"],Entertainment:["Music","Movies","Music charts","Television","Awards","Video games","Oscars","Rotten Tomatoes"],Financials:["S&P","Nasdaq","Daily","Metals","Treasuries","Oil","EUR/USD","USD/JPY","WTI"],Mentions:["Politicians","Earnings","Entertainment"],Politics:["Trump","Congress","International","SCOTUS & courts","Local","Recurring","Iran","House"],Science:["AI","Energy","Space"],Social:null,Sports:["Soccer","Basketball","Baseball","Football","Hockey","Golf","Tennis","Motorsport","Esports","Boxing","MMA","Rugby","Lacrosse","Mentions","Chess","Cricket","Aussie Rules","Darts"],World:null},so=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],Yr=(()=>{let e=t=>{let r=so.indexOf(t);return r===-1?so.length:r};return Object.entries(ha).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(o=>({slug:o,label:o}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function lo({categories:e,selectedCategory:t,selectedTag:r,activeTags:o,onCategorySelect:n,onTagSelect:s,trailing:a,pulsingTab:i="Trending",className:l}){let{t:c}=i18n.useTranslation(),u=react.useCallback(()=>{n(null);},[n]),p=c("predict.categories.trending");return jsxRuntime.jsxs("div",{className:ui$1.cn("sticky top-0 z-30 flex w-full flex-col justify-between gap-2 px-4 py-1 lg:px-2 lg:py-1",l),children:[jsxRuntime.jsxs("div",{className:"flex w-full items-center gap-2",children:[jsxRuntime.jsx("div",{className:"hideScrollbar min-w-0 flex-1 overflow-x-auto overflow-y-hidden",children:jsxRuntime.jsxs("div",{className:"flex min-h-8 items-stretch gap-x-2 lg:min-h-9",children:[jsxRuntime.jsx(io,{label:p,isSelected:t===null,onPress:u,showPulse:p===i}),jsxRuntime.jsx(ya,{}),e.map(m=>jsxRuntime.jsx(io,{label:m.category,isSelected:t===m.category,onPress:()=>n(m.category),badge:m.badge,showPulse:m.category===i},m.category))]})}),a&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:a})]}),t&&o.length>0&&jsxRuntime.jsx("div",{className:"hideScrollbar overflow-x-auto overflow-y-hidden flex items-center",children:jsxRuntime.jsxs("div",{className:"flex gap-x-1 pl-2 lg:w-full lg:gap-x-2",children:[jsxRuntime.jsx(ao,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>s(null)}),o.map(m=>jsxRuntime.jsx(ao,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>s(m.label)},m.label))]})})]})}function io({label:e,isSelected:t,onPress:r,badge:o,showPulse:n}){return jsxRuntime.jsxs("button",{type:"button",onClick:r,className:ui$1.cn("relative shrink-0 cursor-pointer whitespace-nowrap border-b p-1 text-base font-normal capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[n?jsxRuntime.jsxs("span",{className:"flex items-center gap-x-1.5",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-[rgb(240,68,56)]"}),jsxRuntime.jsx("span",{children:e})]}):e,o&&jsxRuntime.jsx("span",{className:"absolute -right-1 top-0 rounded bg-primary px-0.5 py-px text-[0.625rem] font-semibold leading-none text-neutral-950",children:o})]})}function ya(){return jsxRuntime.jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function ao({label:e,icon:t,isSelected:r,onPress:o}){return jsxRuntime.jsxs("button",{type:"button",onClick:o,className:ui$1.cn("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-2 py-1 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-transparent bg-primary text-black":"border-border/80 text-neutral-200 hover:bg-primary/10 hover:text-primary"),children:[t&&jsxRuntime.jsx("span",{className:ui$1.cn("iconify size-4",t)}),e]})}function yf({count:e=6}){return jsxRuntime.jsx("div",{className:"flex w-full flex-col gap-2 px-4 py-1 lg:px-2 lg:py-1",children:jsxRuntime.jsx("div",{className:"flex min-h-8 items-center gap-x-2 lg:min-h-9",children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx(ui$1.Skeleton,{className:"h-6 w-16 shrink-0 rounded"},r))})})}function ka(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function Sa(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function po({onSelect:e,trailing:t,className:r}){let[o,n]=react.useState(null),[s,a]=react.useState(null),i=react.useCallback(m=>{n(m),a(null),e?.({categorySlug:m,tagSlug:null});},[e]),l=react.useCallback(m=>{a(m),e?.({categorySlug:o,tagSlug:m});},[o,e]),c=ka(Yr),u=Yr.find(m=>m.slug===o),p=Sa(u);return jsxRuntime.jsx(lo,{categories:c,selectedCategory:o,selectedTag:s,activeTags:p,onCategorySelect:i,onTagSelect:l,trailing:t,className:r})}function mo(e){return {title:e.title,imageUrl:e.image_url}}function fo(e){let t=e.outcomes[0],r=e.outcomes[1];return {question:e.question,yesAsk:t?.best_ask??t?.price,noAsk:r?.best_ask??r?.price,yesBid:t?.best_bid,noBid:r?.best_bid,yesSubTitle:t?.label??"Yes",noSubTitle:r?.label??"No"}}var Bt=48,qr=4,ur={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},Ee={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},pr=Ee.ALL,Tf={[Ee.ONE_DAY]:ur.ONE_MINUTE,[Ee.ONE_WEEK]:ur.ONE_HOUR,[Ee.ONE_MONTH]:ur.ONE_HOUR,[Ee.ALL]:ur.ONE_DAY},Lf={[Ee.ONE_DAY]:300,[Ee.ONE_WEEK]:3600,[Ee.ONE_MONTH]:10800,[Ee.ALL]:1440*60},_f={[Ee.ONE_DAY]:1440*60,[Ee.ONE_WEEK]:10080*60,[Ee.ONE_MONTH]:720*60*60,[Ee.ALL]:null},mr=1,fr=1,Rf=1,If=1,Of=99,kt={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},Af=kt.ONE_WEEK,Df={[kt.ONE_HOUR]:60,[kt.SIX_HOURS]:60,[kt.ONE_DAY]:300,[kt.ONE_WEEK]:1800,[kt.MAX]:1800};var xo=react.createContext(null);function Xr(){let e=react.useContext(xo);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var Ta=1e4;function La({pollingInterval:e=Ta,enabled:t=true,children:r}){let o=walletConnector.useWallets(),n=react.useMemo(()=>o.find(v=>v.chainNamespace===types.ChainNamespace.SOLANA&&v.isConnected)?.address,[o]),s=react.useMemo(()=>o.find(v=>v.chainNamespace===types.ChainNamespace.EVM&&v.isConnected)?.address,[o]),{data:a,isLoading:i,isFetching:l,error:c}=reactPredict.useBalance({source:"kalshi",user:n??""},{enabled:t&&!!n,refetchInterval:e}),{data:u,isLoading:p}=reactPredict.useDFlowKYC(n,{enabled:t&&!!n,refetchInterval:3e4}),{data:m,isLoading:d}=reactPredict.usePolymarketSetup(s,{enabled:t&&!!s,refetchInterval:3e4}),g=m?.safe_address,f=m?.verified??false,{data:h,isLoading:x,isFetching:N,error:E}=reactPredict.useBalance({source:"polymarket",user:s??""},{enabled:t&&f&&!!s,refetchInterval:e}),S=react.useMemo(()=>({solanaAddress:n,evmAddress:s,polymarketSafeAddress:g,kalshiUsdcBalance:a?Number(a.balance):null,polymarketUsdcBalance:f&&h?Number(h.balance):null,kalshiKycVerified:u?.verified??false,kalshiKycUrl:u?.kyc_url??null,kalshiKycLoading:p,polymarketSetupVerified:f,polymarketSafeDeployed:m?.safe_deployed??false,polymarketTokenApproved:m?.token_approved??false,polymarketSetupLoading:d,isLoading:i||x,isFetching:l||N,error:c??E??null}),[n,s,g,a,h,f,u,p,m,d,i,x,l,N,c,E]);return jsxRuntime.jsx(xo.Provider,{value:S,children:r})}var Za={minutes:60,hours:3600,days:86400};function Ja(e,t,r){let o=Math.floor(Date.now()/1e3);switch(e){case "5m":return o+300;case "1h":return o+3600;case "12h":return o+720*60;case "24h":return o+1440*60;case "eod":{let n=new Date;return n.setUTCHours(23,59,59,0),Math.floor(n.getTime()/1e3)}case "custom":return o+t*Za[r]}}function Jr(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};Zr__default.default({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{Zr__default.default({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{Zr__default.default({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function ko({market:e,initialOutcome:t="yes",initialSide:r="buy"}){let{t:o}=i18n.useTranslation(),{status:n}=walletConnector.useAuth(),s=walletConnector.useWallets(),a=walletConnector.useSwitchChain(),i=reactPredict.usePredictClient(),l=react.useContext(reactPredict.PolymarketContext),c=reactQuery.useQueryClient(),u=e.source,p=u==="polymarket",m=s.find(k=>k.chainNamespace===types.ChainNamespace.SOLANA&&k.isConnected),d=s.find(k=>k.chainNamespace===types.ChainNamespace.EVM&&k.isConnected&&"switchChain"in k),g=n==="authenticated",f=m?.address,h=d?.address,x=react.useMemo(()=>{if(u!=="polymarket")return;let k=e.provider_meta?.["polymarket.clobTokenIds"];return k?(typeof k=="string"?JSON.parse(k):k)[0]:void 0},[u,e.provider_meta]),{data:N}=reactPredict.useTickSize(x),E=N?.minimum_tick_size?String(N.minimum_tick_size):"0.01",[S,v]=react.useState(t),[b,H]=react.useState(r),[K,pe]=react.useState("market"),[P,X]=react.useState(NaN),[F,z]=react.useState(NaN),[$,oe]=react.useState(false),[me,M]=react.useState(null),[_,V]=react.useState(null),[O,de]=react.useState(false),[ie,we]=react.useState(false),[Ue,at]=react.useState("1h"),[Be,_t]=react.useState(30),[Rt,lt]=react.useState("minutes"),Ae=null,or=false,sr=null,bt;try{let k=Xr();Ae={kalshiUsdcBalance:k.kalshiUsdcBalance,polymarketUsdcBalance:k.polymarketUsdcBalance,isLoading:k.isLoading},or=k.kalshiKycVerified,sr=k.kalshiKycUrl,bt=k.polymarketSafeAddress;}catch{}let Pe=react.useMemo(()=>{let k=S==="yes"?0:1,j=e.outcomes[k];return b==="buy"?j?.best_ask??j?.price??.5:j?.best_bid??j?.price??.5},[e.outcomes,S,b]),zr=react.useCallback(k=>{pe(k);},[]),It=react.useCallback(k=>{v(k),z(NaN);},[]);react.useEffect(()=>{K==="limit"&&isNaN(F)&&z(Math.round(Pe*100)/100);},[K,F,Pe]);let $r=react.useMemo(()=>isNaN(P)||P<=0?0:b==="buy"?Pe>0?P/Pe:0:P,[b,P,Pe]),T=react.useMemo(()=>isNaN(P)||P<=0?"0":String(Math.round(P*1e6)),[P]),Ce=e.provider_meta?.["dflow.yesMint"]??"",Ke=e.provider_meta?.["dflow.noMint"]??"",ct=utils.SOLANA_TOKENS.stablecoins.USDC.address,Yi=e.provider_meta?.["dflow.collateralMint"]||"",Gn=S==="yes"?Ce:Ke,Yn=u==="kalshi"?f??"":h??"",{data:Ie,isLoading:qi}=reactPredict.usePositions({source:u,user:Yn},{enabled:!!Yn}),qn=react.useMemo(()=>!Ie||b!=="sell"?null:Ie.positions.find(k=>k.side?.toLowerCase()===S&&k.market?.slug===e.slug)??null,[Ie,e.slug,S,b])?.market?.provider_meta,Qi=b==="sell"&&qn?.["dflow.outcomeMint"]||Gn,Ot=b==="sell"&&qn?.["dflow.collateralMint"]||Yi,At=b==="buy"?ct:Qi,Dt=b==="buy"?Gn:Ot||ct,Xi=u==="kalshi"&&!!At&&!!Dt&&!!f&&T!=="0",{refetch:Qn}=reactPredict.useDFlowQuote({inputMint:At,outputMint:Dt,amount:T,userPublicKey:f??"",slippageBps:100},{enabled:Xi}),ir=react.useMemo(()=>Ae?u==="kalshi"?Ae.kalshiUsdcBalance:Ae.polymarketUsdcBalance:Ie&&Ie.positions.reduce((j,Me)=>Me.side==="USDC"||Me.side==="collateral"?j+(Me.current_value??0):j,0)||null,[Ae,Ie,u]),Zi=Ae?Ae.isLoading:qi,Wr=react.useMemo(()=>Ie?Ie.positions.find(j=>j.side?.toLowerCase()==="yes"&&j.market?.slug===e.slug)?.size??0:null,[Ie,e.slug]),Ur=react.useMemo(()=>Ie?Ie.positions.find(j=>j.side?.toLowerCase()==="no"&&j.market?.slug===e.slug)?.size??0:null,[Ie,e.slug]),Kr=react.useMemo(()=>K==="limit"&&p&&!isNaN(F)?F:Pe,[K,p,F,Pe]),ar=react.useMemo(()=>{if(isNaN(P)||P<=0)return 0;if(b==="buy")return P;let k=S==="yes"?e.outcomes[0]?.best_bid??0:e.outcomes[1]?.best_bid??0;return P*k},[b,S,P,e.outcomes]),Xn=react.useMemo(()=>isNaN(P)||P<=0?0:b==="buy"?Kr>0?P/Kr*1:0:ar,[b,P,Kr,ar]),Ji=Xn-ar,ea=react.useCallback(k=>{H(k),X(NaN);},[]),ta=react.useCallback(k=>{if(isNaN(k)){X(NaN);return}let j=Math.max(0,k),Me=b==="buy"?Math.round(j*100)/100:Math.round(j);X(Me);},[b]),ra=react.useCallback(k=>{if(isNaN(k)){z(NaN);return}let j=Math.max(.01,Math.min(.99,k));z(Math.round(j*100)/100);},[]),Ft=react.useCallback(()=>{X(NaN),z(NaN),pe("market"),we(false),at("1h"),_t(30),lt("minutes");},[]),Vr=react.useMemo(()=>{let k=[];isNaN(P)||P<=0?b==="buy"?k.push(o("predict.trade.minAmountUsd",{amount:fr})):k.push(o("predict.trade.minQuantity",{amount:mr})):b==="buy"&&P<fr?k.push(o("predict.trade.minAmountUsd",{amount:fr})):b==="sell"&&P<mr&&k.push(o("predict.trade.minQuantity",{amount:mr})),e.status!=="open"&&k.push(o("predict.trade.marketNotActive")),b==="buy"&&ir!=null&&!isNaN(P)&&P>0&&P>ir&&k.push(o("predict.trade.insufficientBalance"));let j=S==="yes"?Wr:Ur;return b==="sell"&&j!=null&&!isNaN(P)&&P>0&&P>j&&k.push(o("predict.trade.insufficientShares")),K==="limit"&&p&&(isNaN(F)||F<.01||F>.99)&&k.push(o("predict.trade.limitPriceRange")),K==="limit"&&p&&ie&&Ue==="custom"&&(isNaN(Be)||Be<=0)&&k.push(o("predict.trade.expiration.invalidDate")),{isValid:k.length===0,errors:k}},[P,e.status,b,u,ir,Wr,Ur,S,K,p,F,ie,Ue,Be,o]),{mutateAsync:lr}=reactPredict.useDFlowSubmit(),{data:jr}=reactPredict.useOrder({id:me??"",source:u},{enabled:!!me}),Zn=react.useCallback(async()=>{if(!_||!f||!m)return;let{cashAmount:k,collateral:j}=_;V(null);try{let dt=(await i.createDFlowQuote({inputMint:j,outputMint:ct,amount:k,userPublicKey:f,slippageBps:100}))?.transaction;if(!dt)return;let Je=Uint8Array.from(atob(dt),Ht=>Ht.charCodeAt(0)),Ve=await m.signTransaction(Je);await lr({signedTransaction:btoa(String.fromCharCode(...Ve)),orderContext:{user_public_key:f,input_mint:j,output_mint:ct,amount:k,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[_,f,m,i,lr,ct]);react.useEffect(()=>{if(!jr||!me)return;let{status:k}=jr;k==="closed"?(M(null),_?Zn().finally(()=>{oe(false),ui$1.toast.success(o("predict.trade.submitSuccess")),Jr(),Ft();}):(oe(false),ui$1.toast.success(o("predict.trade.submitSuccess")),Jr(),Ft())):(k==="failed"||k==="expired")&&(oe(false),M(null),V(null),ui$1.toast.error(o("predict.trade.submitError")));},[jr,me,_,Zn,Ft,o]);let Jn=react.useCallback(async()=>{if(!f||!m)return;if(!At||!Dt){ui$1.toast.error("Missing token mint addresses"),oe(false);return}if(!or){de(true),oe(false);return}let Me=(await Qn()).data,dt=Me?.transaction;if(!dt){ui$1.toast.error(o("predict.trade.submitError")),oe(false);return}if(b==="sell"&&Ot&&Ot!==ct){let et=String(Me?.outAmount??"");et&&et!=="0"&&V({cashAmount:et,collateral:Ot});}let Je=Uint8Array.from(atob(dt),et=>et.charCodeAt(0)),Ve=await m.signTransaction(Je),Ht=await lr({signedTransaction:btoa(String.fromCharCode(...Ve)),orderContext:{user_public_key:f,input_mint:At,output_mint:Dt,amount:T,price:String(Pe),side:b==="buy"?"BUY":"SELL",outcome:S==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});M(Ht.signature);},[f,m,i,Qn,lr,At,Dt,T,Pe,b,S,e.slug,Ot,ct,o]),eo=react.useCallback(async()=>{if(!d||!l)return;let k=d.chain,j=k!==types.Chain.POLYGON;j&&await a(types.Chain.POLYGON);try{let Me=await d.getEip1193Provider();if(!Me){ui$1.toast.error(o("predict.trade.submitError")),oe(!1);return}let dt=!!bt,Je={address:d.address,signatureType:dt?2:0,signTypedData:async(ut,ua,pa,ma)=>{let yt=[];"name"in ut&&yt.push({name:"name",type:"string"}),"version"in ut&&yt.push({name:"version",type:"string"}),"chainId"in ut&&yt.push({name:"chainId",type:"uint256"}),"verifyingContract"in ut&&yt.push({name:"verifyingContract",type:"address"}),"salt"in ut&&yt.push({name:"salt",type:"bytes32"});let fa={EIP712Domain:yt,...ua};return await Me.request({method:"eth_signTypedData_v4",params:[d.address,JSON.stringify({domain:ut,types:fa,primaryType:pa,message:ma})]})}},Ve=l.credentials??await l.authenticate(Je),Ht=S==="yes"?0:1,et="",cr=e.provider_meta?.["polymarket.clobTokenIds"];cr&&(et=(typeof cr=="string"?JSON.parse(cr):cr)[Ht]??"");let to=e.provider_meta?.["polymarket.negRisk"]??!1,Gr=K==="limit"&&!isNaN(F)?F:Pe,oa=K==="limit"?ie?"GTD":"GTC":"FOK",sa=b==="buy"&&Gr>0?P/Gr:P,ro={tokenId:et,price:Gr,size:sa,side:b==="buy"?"BUY":"SELL",orderType:oa,tickSize:E,negRisk:to,...bt&&{funderAddress:bt},...K==="limit"&&ie&&{expiration:Ja(Ue,Be,Rt)}},ia=reactPredict.buildCtfExchangeDomain(to),no=reactPredict.buildOrderMessage({...ro,signerAddress:Je.address,signatureType:Je.signatureType}),aa=await Je.signTypedData(ia,reactPredict.CTF_ORDER_TYPES,"Order",no),la=reactPredict.buildSignedOrder(no,aa,ro.orderType),oo=reactPredict.buildClobPayload(la,Ve.apiKey),ca=JSON.stringify(oo),da=await reactPredict.buildPolymarketL2Headers(Ve.address,{apiKey:Ve.apiKey,secret:Ve.secret,passphrase:Ve.passphrase,method:"POST",requestPath:"/order",body:ca});await i.createPolymarketOrder(oo,da),c.invalidateQueries({queryKey:["predict","orders"]}),c.invalidateQueries({queryKey:["predict","positions"]}),ui$1.toast.success(o("predict.trade.submitSuccess")),Jr(),Ft(),oe(!1);}finally{j&&k&&a(k).catch(()=>{});}},[d,l,a,S,e.provider_meta,K,F,Pe,P,b,i,c,ie,Ue,Be,Rt,Ft,o]),na=react.useCallback(async()=>{if(!(!Vr.isValid||!g)){oe(true),M(null),de(false);try{u==="kalshi"?await Jn():await eo();}catch(k){let j=k instanceof Error?k.message:void 0;ui$1.toast.error(j||o("predict.trade.submitError")),oe(false);}}},[Vr.isValid,g,u,Jn,eo,o]);return {outcome:S,side:b,orderType:K,quantity:P,limitPrice:F,shares:$r,estimatedCost:ar,potentialPayout:Xn,potentialProfit:Ji,usdcBalance:ir,yesTokenBalance:Wr,noTokenBalance:Ur,isBalanceLoading:Zi,isSubmitting:$,validation:Vr,supportsLimitOrder:p,kycRequired:O,kycUrl:sr,expirationEnabled:ie,expirationPreset:Ue,customDuration:Be,customDurationUnit:Rt,setOutcome:It,setSide:ea,setOrderType:zr,setQuantity:ta,setLimitPrice:ra,setExpirationEnabled:we,setExpirationPreset:at,setCustomDuration:_t,setCustomDurationUnit:lt,submit:na}}function So({isOpen:e,onClose:t,kycUrl:r}){let{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:e,onOpenChange:n=>{n||t();},size:"md",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsxRuntime.jsx(ui$1.ModalContent,{children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsxRuntime.jsx("h3",{className:"text-base font-semibold text-white",children:o("predict.trade.kycModalTitle")}),jsxRuntime.jsx("button",{type:"button",onClick:t,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxRuntime.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntime.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntime.jsxs("div",{className:"px-5 pb-5",children:[jsxRuntime.jsx("p",{className:"text-[13px] text-zinc-400 mb-4 text-left",children:o("predict.trade.kycModalDescription")}),jsxRuntime.jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(n=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5 text-[13px] text-zinc-300",children:[jsxRuntime.jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e] shrink-0",children:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"})}),jsxRuntime.jsx("span",{children:o(n)})]},n))}),r&&jsxRuntime.jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] text-[#c7ff2e]/70 hover:text-[#c7ff2e] transition-colors mb-3",children:[o("predict.trade.goToKYC")," \u2192"]}),jsxRuntime.jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:o("predict.trade.kycModalNote")}),jsxRuntime.jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.ok")})]})]})})})}var ml=`https://s1.chainstream.io/chains/sol/tokens/${utils.SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,fl=["5m","1h","12h","24h","eod","custom"],gl={"5m":"predict.trade.expiration.5m","1h":"predict.trade.expiration.1h","12h":"predict.trade.expiration.12h","24h":"predict.trade.expiration.24h",eod:"predict.trade.expiration.eod",custom:"predict.trade.expiration.custom"},hl=["minutes","hours","days"],xl={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"};function Lo({event:e,market:t,variant:r="bordered",outcome:o,side:n,orderType:s,quantity:a,limitPrice:i,shares:l,potentialProfit:c,potentialPayout:u,estimatedCost:p,usdcBalance:m,yesTokenBalance:d,noTokenBalance:g,isBalanceLoading:f,isSubmitting:h,isValid:x,validationErrors:N,supportsLimitOrder:E,kycRequired:S,kycUrl:v,expirationEnabled:b,expirationPreset:H,customDuration:K,customDurationUnit:pe,onOutcomeChange:P,onSideChange:X,onOrderTypeChange:F,onQuantityChange:z,onLimitPriceChange:$,onExpirationEnabledChange:oe,onExpirationPresetChange:me,onCustomDurationChange:M,onCustomDurationUnitChange:_,onSubmit:V}){let{t:O}=i18n.useTranslation(),[de,ie]=react.useState(false),we=ui$1.useDisclosure(),[Ue,at]=react.useState(""),Be=react.useRef(false),_t=react.useRef(n);react.useEffect(()=>{Be.current||at(isNaN(a)?"":String(a));},[a]),react.useEffect(()=>{n!==_t.current&&(_t.current=n,at(""));},[n]);let Rt=react.useCallback(T=>{if(T!==""&&!(n==="buy"?/^\d*\.?\d{0,2}$/:/^\d*$/).test(T))return;if(at(T),It(false),T===""||T==="."){z(NaN);return}let Ke=parseFloat(T);isNaN(Ke)||z(Ke);},[n,z]);react.useEffect(()=>{S&&!we.isOpen&&we.onOpen();},[S]);let lt=react.useMemo(()=>{let T=n==="buy"?o==="yes"?t.yesAsk:t.noAsk:o==="yes"?t.yesBid:t.noBid;return T!=null?parseFloat((Number(T)*100).toFixed(2)):null},[n,o,t]),Ae=!isNaN(a)&&a>0,or=react.useMemo(()=>{if(f)return O("predict.trade.loadingBalance");if(h)return O("predict.trade.submitting");if(S)return O("predict.trade.kycRequired");if(!Ae)return O("predict.trade.enterAmount");let T=O(n==="buy"?"predict.trade.buy":"predict.trade.sell"),Ce=O(o==="yes"?"predict.trade.yes":"predict.trade.no"),Ke=n==="buy"&&c>0?` \u2192 Win $${c.toFixed(2)}`:"";return `${T} ${Ce}${Ke}`},[f,h,S,Ae,n,o,c,O]),sr=react.useMemo(()=>o==="yes"?"primary":"secondary",[o]),bt=()=>{z(Math.floor((m??0)/2*100)/100);},Pe=()=>{z(m??0);},[zr,It]=react.useState(false),$r=()=>{if(S){we.onOpen();return}if(!x){It(true);return}It(false),V();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:ui$1.cn("flex w-full flex-col gap-y-4 p-4",r==="bordered"&&"rounded-xl border border-default-200 bg-content1"),children:[e&&jsxRuntime.jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsxRuntime.jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsxRuntime.jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxRuntime.jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxRuntime.jsxs("span",{className:o==="yes"?"text-bullish":"text-bearish",children:[O(n==="buy"?"predict.trade.buy":"predict.trade.sell")," ",O(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxRuntime.jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[E?jsxRuntime.jsxs(ui$1.Tabs,{variant:"underlined",selectedKey:s,onSelectionChange:T=>F(T),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsxRuntime.jsx(ui$1.Tab,{title:O("predict.trade.market")},"market"),jsxRuntime.jsx(ui$1.Tab,{title:O("predict.trade.limit")},"limit")]}):jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:O("predict.trade.market")}),s==="limit"&&E?jsxRuntime.jsx(ui$1.StyledNumberInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",value:isNaN(i)?void 0:parseFloat((i*100).toFixed(2)),onValueChange:T=>$(T/100),minValue:1,maxValue:99,step:1,formatOptions:{maximumFractionDigits:2},endContent:jsxRuntime.jsx("span",{className:"text-xl font-bold tabular-nums text-foreground",children:"\xA2"}),classNames:{base:"w-28",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 rounded-lg px-2 h-9 min-h-9",input:"text-xl font-bold tabular-nums text-right"}}):lt!=null&&jsxRuntime.jsxs("span",{className:"text-xl font-bold tabular-nums",children:[lt," \xA2"]})]}),jsxRuntime.jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(T=>{let Ce=T==="yes"?d:g;return jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col gap-y-1",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>P(T),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===T?T==="yes"?"border-primary bg-primary-50 text-primary":"border-secondary bg-secondary-50 text-secondary":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsxRuntime.jsx("span",{children:O(T==="yes"?"predict.trade.yes":"predict.trade.no")}),(()=>{let Ke=n==="buy"?T==="yes"?t.yesAsk:t.noAsk:T==="yes"?t.yesBid:t.noBid;return Ke!=null?jsxRuntime.jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(Ke)*100).toFixed(2)),"\xA2"]}):null})()]}),n==="sell"&&o===T&&jsxRuntime.jsx("span",{className:"text-center text-xs text-foreground",children:f?"\u2013":`${Ce??0} shares`})]},T)})}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:O(n==="buy"?"predict.trade.youArePaying":"predict.trade.contracts")}),n==="buy"&&jsxRuntime.jsxs("div",{className:"flex items-center gap-x-2",children:[jsxRuntime.jsx("img",{src:ml,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsxRuntime.jsx("span",{className:"font-medium text-foreground tabular-nums",children:m!=null?`${m.toFixed(2)} USDC`:"\u2013"}),jsxRuntime.jsx("button",{type:"button",onClick:bt,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:O("predict.trade.half")}),jsxRuntime.jsx("button",{type:"button",onClick:Pe,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:O("predict.trade.max")})]})]}),jsxRuntime.jsx(ui$1.StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:n==="buy"?"decimal":"numeric",value:Ue,onChange:T=>Rt(T.target.value),onFocus:()=>{Be.current=true;},onBlur:()=>{Be.current=false,at(isNaN(a)?"":String(a));},startContent:n==="buy"?jsxRuntime.jsx("span",{className:"text-default-600 text-xl",children:"$"}):void 0,classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),n==="sell"&&jsxRuntime.jsxs("div",{className:"flex gap-x-2 justify-end",children:[[25,50].map(T=>jsxRuntime.jsxs("button",{type:"button",onClick:()=>{z(Math.floor((o==="yes"?d??0:g??0)*T/100));},className:"rounded-md bg-content2 px-2.5 py-1 text-xs font-medium text-default-600 transition-colors hover:bg-content3 cursor-pointer",children:[T,"%"]},T)),jsxRuntime.jsx("button",{type:"button",onClick:()=>{z(o==="yes"?d??0:g??0);},className:"rounded-md bg-content2 px-2.5 py-1 text-xs font-medium text-default-600 transition-colors hover:bg-content3 cursor-pointer",children:O("common.all")})]}),zr&&N.length>0&&jsxRuntime.jsx("div",{className:"flex flex-col gap-y-0.5",children:N.map(T=>jsxRuntime.jsx("span",{className:"text-xs text-danger",children:T},T))})]}),s==="limit"&&E&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-primary",children:O("predict.trade.setExpiration")}),jsxRuntime.jsx(ui$1.StyledSwitch,{size:"sm",color:"primary",isSelected:b,onValueChange:oe,"aria-label":O("predict.trade.setExpiration")})]}),b&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui$1.Select,{"aria-label":O("predict.trade.setExpiration"),selectedKeys:[H],onSelectionChange:T=>{let Ce=Array.from(T)[0];Ce&&me(Ce);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:fl.map(T=>jsxRuntime.jsx(ui$1.SelectItem,{children:O(gl[T])},T))}),H==="custom"&&jsxRuntime.jsxs("div",{className:"flex gap-x-2",children:[jsxRuntime.jsx(ui$1.StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(K)?void 0:K,onValueChange:M,minValue:1,step:1,formatOptions:{maximumFractionDigits:0},classNames:{base:"flex-1",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 min-h-10",input:"text-sm"}}),jsxRuntime.jsx(ui$1.Select,{"aria-label":"Duration unit",selectedKeys:[pe],onSelectionChange:T=>{let Ce=Array.from(T)[0];Ce&&_(Ce);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:hl.map(T=>jsxRuntime.jsx(ui$1.SelectItem,{children:O(xl[T])},T))})]})]})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between text-sm",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>ie(T=>!T),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsxRuntime.jsx("span",{children:O("predict.trade.odds")}),jsxRuntime.jsx(ui$1.ChevronDownIcon,{className:ui$1.cn("h-3.5 w-3.5 transition-transform",de&&"rotate-180")})]}),lt!=null&&jsxRuntime.jsxs("span",{className:"text-foreground font-medium tabular-nums",children:[lt,"% chance"]})]}),de&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-1.5 border-l-2 border-default-300 pl-3 text-sm text-neutral-500",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"Total Size"}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?`$${p.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"No. of Contracts"}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(l)&&l>0?parseFloat(l.toFixed(2)):"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"Payout"}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?`$${u.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"Est. Profit"}),jsxRuntime.jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(a)&&a>0&&c>0?`+$${c.toFixed(2)}`:"\u2013"})]})]})]}),jsxRuntime.jsx(ui$1.Button,{color:sr,fullWidth:true,radius:"lg",size:"lg",isDisabled:f||!Ae||h,isLoading:h||f,spinner:jsxRuntime.jsx(ui$1.Spinner,{size:"sm",color:"current"}),onPress:$r,children:or})]}),jsxRuntime.jsx(So,{isOpen:we.isOpen,onClose:we.onClose,kycUrl:v})]})}function gr({event:e,market:t,variant:r,initialSide:o,initialOutcome:n,chain:s}){let{outcome:a,side:i,orderType:l,quantity:c,limitPrice:u,shares:p,estimatedCost:m,potentialPayout:d,potentialProfit:g,usdcBalance:f,yesTokenBalance:h,noTokenBalance:x,isBalanceLoading:N,isSubmitting:E,validation:S,supportsLimitOrder:v,kycRequired:b,kycUrl:H,expirationEnabled:K,expirationPreset:pe,customDuration:P,customDurationUnit:X,setOutcome:F,setSide:z,setOrderType:$,setQuantity:oe,setLimitPrice:me,setExpirationEnabled:M,setExpirationPreset:_,setCustomDuration:V,setCustomDurationUnit:O,submit:de}=ko({market:t,initialSide:o,initialOutcome:n}),ie=walletConnector.useAuthCallback(de),we=react.useMemo(()=>e?mo(e):void 0,[e]),Ue=react.useMemo(()=>fo(t),[t]);return jsxRuntime.jsx(Lo,{event:we,market:Ue,variant:r,outcome:a,side:i,orderType:l,quantity:c,limitPrice:u,shares:p,estimatedCost:m,potentialPayout:d,potentialProfit:g,usdcBalance:f,yesTokenBalance:h,noTokenBalance:x,isBalanceLoading:N,isSubmitting:E,isValid:S.isValid,validationErrors:S.errors,supportsLimitOrder:v,kycRequired:b,kycUrl:H,expirationEnabled:K,expirationPreset:pe,customDuration:P,customDurationUnit:X,onOutcomeChange:F,onSideChange:z,onOrderTypeChange:$,onQuantityChange:oe,onLimitPriceChange:me,onExpirationEnabledChange:M,onExpirationPresetChange:_,onCustomDurationChange:V,onCustomDurationUnitChange:O,onSubmit:ie})}var zt="predict-trade";function hr({id:e=zt}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Pl,{...t})})}function Pl({params:e,isOpen:t,onOpenChange:r}){let{t:o}=i18n.useTranslation(),{isMobile:n}=ui$1.useScreen();return e?jsxRuntime.jsx(ui$1.StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsxRuntime.jsx(ui$1.ModalContent,{children:jsxRuntime.jsxs("div",{className:n?"":"p-2",children:[jsxRuntime.jsx(gr,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,initialSide:e.initialSide??"buy",chain:e.chain,variant:"flat"}),jsxRuntime.jsx("div",{className:"px-4 pb-4",children:jsxRuntime.jsx("button",{type:"button",onClick:()=>r(false),className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.cancel")})})]})})}):null}var nn={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function on(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function Ro({isOpen:e,onClose:t,value:r,onChange:o}){let{t:n}=i18n.useTranslation(),[s,a]=react.useState(r),i=react.useCallback(h=>{h?a(r):t();},[r,t]),l=react.useCallback(()=>{a(nn);},[]),c=react.useCallback(()=>{o(s),t();},[s,o,t]),u=react.useCallback((h,x)=>{a(N=>({...N,[h]:x}));},[]),p=react.useMemo(()=>on(s),[s]),m=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"polymarket",label:n("predict.platform.polymarket")},{value:"kalshi",label:n("predict.platform.kalshi")}],[n]),d=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1d",label:n("predict.filter.lessThanDay")},{value:"7d",label:n("predict.filter.lessThanWeek")},{value:"30d",label:n("predict.filter.lessThanMonth")}],[n]),g=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]),f=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]);return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:e,onOpenChange:i,size:"md",backdrop:"blur",scrollBehavior:"inside",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsxRuntime.jsx(ui$1.ModalContent,{children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsxRuntime.jsx("h3",{className:"text-base font-semibold text-white",children:n("predict.filter.title")}),jsxRuntime.jsx(_l,{onClick:()=>i(false)})]}),jsxRuntime.jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsxRuntime.jsx(vr,{label:n("predict.filter.platform"),children:jsxRuntime.jsx(br,{options:m,selected:s.source,onSelect:h=>u("source",h)})}),jsxRuntime.jsx(vr,{label:n("predict.filter.timeRemaining"),children:jsxRuntime.jsx(br,{options:d,selected:s.timeRemaining,onSelect:h=>u("timeRemaining",h)})}),jsxRuntime.jsx(vr,{label:n("predict.filter.minVolume"),children:jsxRuntime.jsx(br,{options:g,selected:s.minVolume,onSelect:h=>u("minVolume",h)})}),jsxRuntime.jsx(vr,{label:n("predict.filter.minLiquidity"),children:jsxRuntime.jsx(br,{options:f,selected:s.minLiquidity,onSelect:h=>u("minLiquidity",h)})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-3 px-5 py-4",style:{borderTop:"1px solid rgba(39,39,42,0.5)"},children:[jsxRuntime.jsx("button",{type:"button",className:"inline-flex items-center justify-center py-2.5 px-5 rounded-[10px] text-zinc-400 text-sm font-medium hover:text-white transition-colors cursor-pointer",onClick:l,children:n("predict.filter.reset")}),jsxRuntime.jsxs("button",{type:"button",className:"flex-1 inline-flex items-center justify-center gap-2 py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer",onClick:c,children:[n("predict.filter.showResults"),p>0&&jsxRuntime.jsxs("span",{style:{opacity:.7},children:["(",p,")"]})]})]})]})})})}function vr({label:e,children:t}){return jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[jsxRuntime.jsx("span",{style:{fontSize:11,fontWeight:500,color:"#71717a",textTransform:"uppercase",letterSpacing:"0.05em"},children:e}),t]})}function _l({onClick:e}){return jsxRuntime.jsx("button",{type:"button",onClick:e,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxRuntime.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntime.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})}function br({options:e,selected:t,onSelect:r,allowDeselect:o=true}){return jsxRuntime.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(n=>{let s=t===n.value;return jsxRuntime.jsx("button",{type:"button",onClick:()=>{r(s&&o?void 0:n.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:s?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:s?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:s?"#c7ff2e":"#a1a1aa"},onMouseEnter:a=>{s||(a.currentTarget.style.background="rgba(39,39,42,0.8)",a.currentTarget.style.color="#fff");},onMouseLeave:a=>{s||(a.currentTarget.style.background="rgba(39,39,42,0.4)",a.currentTarget.style.color="#a1a1aa");},children:n.label},n.value??"__all")})})}var Fo={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},Oo={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},zl=["start_time","volume","liquidity","ending_soon"],Ao={display:"inline-flex",alignItems:"center",gap:8,borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"8px 12px",fontSize:14,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s"},$l={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"};function Ho({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:o,onFilterPress:n,filterCount:s=0,className:a}){let{t:i}=i18n.useTranslation(),[l,c]=react.useState(false),u=react.useRef(null),p=react.useCallback(d=>{u.current&&!u.current.contains(d.target)&&c(false);},[]);react.useEffect(()=>(document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)),[p]),react.useEffect(()=>{if(!l)return;let d=g=>{g.key==="Escape"&&c(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[l]);let m=Do[e];return jsxRuntime.jsxs("div",{className:a,style:{display:"flex",alignItems:"center",gap:8},children:[jsxRuntime.jsxs("div",{ref:u,style:{position:"relative"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ao,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>c(d=>!d),children:[jsxRuntime.jsx(Wl,{}),jsxRuntime.jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:i(Oo[e])}),jsxRuntime.jsx(Kl,{open:l})]}),l&&jsxRuntime.jsx("div",{style:{...$l,width:224,padding:4},children:zl.map(d=>{let g=Do[d],f=e===d;return jsxRuntime.jsxs("button",{type:"button",style:{display:"flex",width:"100%",alignItems:"center",gap:12,padding:"10px 12px",textAlign:"left",fontSize:14,border:"none",cursor:"pointer",transition:"all 0.15s",background:f?"rgba(199,255,46,0.08)":"transparent",color:f?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:h=>{f||(h.currentTarget.style.background="rgba(39,39,42,0.5)",h.currentTarget.style.color="#fff");},onMouseLeave:h=>{f||(h.currentTarget.style.background="transparent",h.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===d?o(!r):t(d),c(false);},children:[jsxRuntime.jsx(g,{className:"size-4 shrink-0",style:{color:f?"#c7ff2e":"#71717a"}}),jsxRuntime.jsx("span",{style:{flex:1,fontWeight:500},children:i(Oo[d])}),f&&jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M20 6 9 17l-5-5"})})]},d)})})]}),jsxRuntime.jsx("button",{type:"button",style:{borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:36,height:36,color:"#a1a1aa",cursor:"pointer",transition:"all 0.15s",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14},onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)",d.currentTarget.style.color="#fff";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)",d.currentTarget.style.color="#a1a1aa";},onClick:()=>o(!r),children:r?"\u2191":"\u2193"}),jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ao,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:n,children:[jsxRuntime.jsx(Ul,{}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:i("predict.filter.title")})]}),s>0&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:8,background:"#c7ff2e",color:"#000",fontSize:10,fontWeight:600,padding:"0 4px"},children:s})]})]})}var Do={start_time:ui$1.CalendarIcon,volume:ui$1.ChartLineIcon,liquidity:ui$1.DropletIcon,ending_soon:ui$1.TimerIcon};function Wl(){return jsxRuntime.jsxs("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"m21 16-4 4-4-4"}),jsxRuntime.jsx("path",{d:"M17 20V4"}),jsxRuntime.jsx("path",{d:"m3 8 4-4 4 4"}),jsxRuntime.jsx("path",{d:"M7 4v16"})]})}function Ul(){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"})})}function Kl({open:e}){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"})})}function $o(e={}){let t=react.useMemo(()=>reactPredict.resolveEventsParams(e),[e.tagSlugSelection,e.limit,e.status,e.sort_by,e.sort_asc,e.source,e.with_markets,e.minVolume,e.minLiquidity,e.timeRemaining]),{data:r,isLoading:o,isFetching:n,isFetchingNextPage:s,isError:a,error:i,hasNextPage:l,fetchNextPage:c,refetch:u}=reactPredict.useInfiniteEvents(t),p=react.useMemo(()=>r?.pages.flatMap(g=>g.items).filter(g=>g!=null)??[],[r]),m=react.useCallback(()=>{c();},[c]),d=react.useCallback(()=>{u();},[u]);return {data:p,isLoading:o,isFetching:n&&!s,isFetchingMore:s,isError:a,error:i??null,hasMore:l??false,fetchMore:m,refetch:d}}var Wo="@keyframes evtShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(max-width:1279px){.evt-skel-grid{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:1023px){.evt-skel-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:767px){.evt-skel-grid{grid-template-columns:1fr!important}}";function sn({count:e=6}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Wo}),jsxRuntime.jsx("div",{className:"evt-skel-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",width:"100%"},children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx(Gl,{index:r},r))})]})}function Gl({index:e}){let r={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:`evtShimmer 1.8s ease-in-out infinite ${e*120}ms`,borderRadius:6},o=e%3===0?"85%":e%3===1?"70%":"60%";return jsxRuntime.jsx("div",{style:{padding:8},children:jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden"},children:[jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 14px 8px"},children:[jsxRuntime.jsx("div",{style:{...r,width:36,height:36,borderRadius:10,flexShrink:0}}),jsxRuntime.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[jsxRuntime.jsx("div",{style:{...r,height:12,width:o}}),jsxRuntime.jsx("div",{style:{...r,height:10,width:"40%"}})]})]}),jsxRuntime.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"4px 14px 14px",flex:1},children:[0,1,2].map(n=>jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[jsxRuntime.jsx("div",{style:{...r,height:11,width:n===0?"55%":n===1?"45%":"35%"}}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsxRuntime.jsx("div",{style:{...r,height:11,width:32}}),jsxRuntime.jsx("div",{style:{...r,height:28,width:80,borderRadius:8}})]})]},n))}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",background:"rgba(39,39,42,0.15)",padding:"8px 14px"},children:[jsxRuntime.jsx("div",{style:{...r,height:10,width:56}}),jsxRuntime.jsx("div",{style:{...r,height:10,width:72}})]})]})})}function Wg({count:e=48}){let t={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"evtShimmer 1.8s ease-in-out infinite",borderRadius:6};return jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",maxWidth:1680,margin:"0 auto",gap:12},children:[jsxRuntime.jsx("style",{children:Wo}),jsxRuntime.jsx("div",{style:{display:"flex",alignItems:"center",gap:8},children:[48,64,48,56,72,56].map((r,o)=>jsxRuntime.jsx("div",{style:{...t,height:24,width:r}},o))}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,minHeight:36},children:[jsxRuntime.jsx("div",{style:{...t,height:32,width:120,borderRadius:10}}),jsxRuntime.jsx("div",{style:{...t,height:32,width:32,borderRadius:10}}),jsxRuntime.jsx("div",{style:{...t,height:32,width:80,borderRadius:10}})]}),jsxRuntime.jsx("div",{style:{flex:1,minHeight:0},children:jsxRuntime.jsx(sn,{count:e})})]})}var Uo=3,rc={polymarket:{border:"rgba(80,162,255,0.4)",shadow:"0 2px 18px rgba(80,162,255,0.45)"},kalshi:{border:"rgba(0,212,146,0.4)",shadow:"0 2px 18px rgba(0,212,146,0.45)"}},nc={border:"hsl(var(--heroui-primary) / 0.4)",shadow:"0 2px 18px hsl(var(--heroui-primary) / 0.45)"},ln={bg:"hsl(var(--heroui-primary) / 0.14)",text:"hsl(var(--heroui-primary))",shadow:"hsl(var(--heroui-primary) / 0.18)"},Yo={bg:"hsl(var(--heroui-secondary) / 0.14)",text:"hsl(var(--heroui-secondary))",shadow:"hsl(var(--heroui-secondary) / 0.18)"},oc={bg:"rgba(239, 68, 68, 0.14)",text:"rgb(239, 68, 68)",shadow:"rgba(239, 68, 68, 0.18)"},Wt=[{bg:"rgba(139,92,246,0.14)",text:"rgb(139,92,246)",shadow:"rgba(139,92,246,0.18)"},{bg:"rgba(34,197,94,0.14)",text:"rgb(34,197,94)",shadow:"rgba(34,197,94,0.18)"},{bg:"rgba(0,166,212,0.14)",text:"rgb(0,166,212)",shadow:"rgba(0,166,212,0.18)"},{bg:"rgba(194,120,32,0.14)",text:"rgb(194,120,32)",shadow:"rgba(194,120,32,0.18)"},{bg:"rgba(202,138,4,0.14)",text:"rgb(202,138,4)",shadow:"rgba(202,138,4,0.18)"},{bg:"rgba(236,72,153,0.14)",text:"rgb(236,72,153)",shadow:"rgba(236,72,153,0.18)"},{bg:"rgba(99,102,241,0.14)",text:"rgb(99,102,241)",shadow:"rgba(99,102,241,0.18)"},{bg:"rgba(244,114,82,0.14)",text:"rgb(244,114,82)",shadow:"rgba(244,114,82,0.18)"}];function Ko(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}function sc(e){let t=e.outcomes?.map(a=>a.label?.toLowerCase().trim()??"")??[];if(t.some(a=>a==="up")&&t.some(a=>a==="down"))return [ln,oc];if(t.some(a=>a==="yes")&&t.some(a=>a==="no"))return [ln,Yo];let r=t[0]??"",o=t[1]??"",n=Ko(r)%Wt.length,s=Ko(o)%Wt.length;return s===n&&(s=(s+1)%Wt.length),[Wt[n],Wt[s]]}function ic(e){let t=e.outcomes?.[0];return t?t.best_ask??t.price??null:null}function qo(e){let t=ic(e);return t!=null?parseFloat((t*100).toFixed(2)):0}function Qo(e){return e<=1&&e>0?"< 1%":e>=99&&e<100?"> 99%":`${e}%`}function Vo(e){let t=e.outcomes?.[0],r=t?.best_ask??t?.price??0;return parseFloat((r*100).toFixed(2)).toString()}function jo(e){let t=e.outcomes?.[1];if(t){let n=t.best_ask??t.price??0;return parseFloat((n*100).toFixed(2)).toString()}let r=e.outcomes?.[0],o=r?.best_ask??r?.price??0;return parseFloat(((1-o)*100).toFixed(2)).toString()}function ac(e){let t=new Date(e).getTime()-Date.now();if(t<=0)return null;let r=Math.floor(t/864e5),o=Math.floor(t%864e5/36e5),n=Math.floor(t%36e5/6e4),s=[];return r>0&&s.push(`${r}d`),o>0&&s.push(`${o}h`),s.push(`${n}m`),s.join(" ")}var lc=`
1
+ 'use strict';var react=require('react'),ui$1=require('@liberfi.io/ui'),uiScaffold=require('@liberfi.io/ui-scaffold'),i18n=require('@liberfi.io/i18n'),jsxRuntime=require('react/jsx-runtime'),walletConnector=require('@liberfi.io/wallet-connector'),reactQuery=require('@tanstack/react-query'),Zr=require('canvas-confetti'),reactPredict=require('@liberfi.io/react-predict'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),reactWindow=require('react-window'),reactWindowInfiniteLoader=require('react-window-infinite-loader'),hooks=require('@liberfi.io/hooks'),recharts=require('recharts'),jotai=require('jotai'),utils$1=require('jotai/utils');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Zr__default=/*#__PURE__*/_interopDefault(Zr);typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-predict"]="0.1.117");var ga="0.1.117";var ha={Weather:["Daily temperature","Snow and rain","Climate change","Natural disasters","Hurricanes"],Companies:["IPOs","Product launches","KPIs","Elon Musk","CEOs","Layoffs"],Crypto:["BTC","15 min","Hourly","ETH","SOL","DOGE","Pre-Market","XRP","BNB","HYPE"],Economics:["Growth","Fed","Inflation","Oil and energy","Employment","Housing","Jobs & Economy","Bankruptcy & Defaults","GDP","Global Central Banks"],Elections:["Primaries","International elections"],Entertainment:["Music","Movies","Music charts","Television","Awards","Video games","Oscars","Rotten Tomatoes"],Financials:["S&P","Nasdaq","Daily","Metals","Treasuries","Oil","EUR/USD","USD/JPY","WTI"],Mentions:["Politicians","Earnings","Entertainment"],Politics:["Trump","Congress","International","SCOTUS & courts","Local","Recurring","Iran","House"],Science:["AI","Energy","Space"],Social:null,Sports:["Soccer","Basketball","Baseball","Football","Hockey","Golf","Tennis","Motorsport","Esports","Boxing","MMA","Rugby","Lacrosse","Mentions","Chess","Cricket","Aussie Rules","Darts"],World:null},so=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],Yr=(()=>{let e=t=>{let r=so.indexOf(t);return r===-1?so.length:r};return Object.entries(ha).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(o=>({slug:o,label:o}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function lo({categories:e,selectedCategory:t,selectedTag:r,activeTags:o,onCategorySelect:n,onTagSelect:s,trailing:a,pulsingTab:i="Trending",className:l}){let{t:c}=i18n.useTranslation(),u=react.useCallback(()=>{n(null);},[n]),p=c("predict.categories.trending");return jsxRuntime.jsxs("div",{className:ui$1.cn("sticky top-0 z-30 flex w-full flex-col justify-between gap-2 px-4 py-1 lg:px-2 lg:py-1",l),children:[jsxRuntime.jsxs("div",{className:"flex w-full items-center gap-2",children:[jsxRuntime.jsx("div",{className:"hideScrollbar min-w-0 flex-1 overflow-x-auto overflow-y-hidden",children:jsxRuntime.jsxs("div",{className:"flex min-h-8 items-stretch gap-x-2 lg:min-h-9",children:[jsxRuntime.jsx(io,{label:p,isSelected:t===null,onPress:u,showPulse:p===i}),jsxRuntime.jsx(ya,{}),e.map(m=>jsxRuntime.jsx(io,{label:m.category,isSelected:t===m.category,onPress:()=>n(m.category),badge:m.badge,showPulse:m.category===i},m.category))]})}),a&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:a})]}),t&&o.length>0&&jsxRuntime.jsx("div",{className:"hideScrollbar overflow-x-auto overflow-y-hidden flex items-center",children:jsxRuntime.jsxs("div",{className:"flex gap-x-1 pl-2 lg:w-full lg:gap-x-2",children:[jsxRuntime.jsx(ao,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>s(null)}),o.map(m=>jsxRuntime.jsx(ao,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>s(m.label)},m.label))]})})]})}function io({label:e,isSelected:t,onPress:r,badge:o,showPulse:n}){return jsxRuntime.jsxs("button",{type:"button",onClick:r,className:ui$1.cn("relative shrink-0 cursor-pointer whitespace-nowrap border-b p-1 text-base font-normal capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[n?jsxRuntime.jsxs("span",{className:"flex items-center gap-x-1.5",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-[rgb(240,68,56)]"}),jsxRuntime.jsx("span",{children:e})]}):e,o&&jsxRuntime.jsx("span",{className:"absolute -right-1 top-0 rounded bg-primary px-0.5 py-px text-[0.625rem] font-semibold leading-none text-neutral-950",children:o})]})}function ya(){return jsxRuntime.jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function ao({label:e,icon:t,isSelected:r,onPress:o}){return jsxRuntime.jsxs("button",{type:"button",onClick:o,className:ui$1.cn("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-2 py-1 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-transparent bg-primary text-black":"border-border/80 text-neutral-200 hover:bg-primary/10 hover:text-primary"),children:[t&&jsxRuntime.jsx("span",{className:ui$1.cn("iconify size-4",t)}),e]})}function yf({count:e=6}){return jsxRuntime.jsx("div",{className:"flex w-full flex-col gap-2 px-4 py-1 lg:px-2 lg:py-1",children:jsxRuntime.jsx("div",{className:"flex min-h-8 items-center gap-x-2 lg:min-h-9",children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx(ui$1.Skeleton,{className:"h-6 w-16 shrink-0 rounded"},r))})})}function ka(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function Sa(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function po({onSelect:e,trailing:t,className:r}){let[o,n]=react.useState(null),[s,a]=react.useState(null),i=react.useCallback(m=>{n(m),a(null),e?.({categorySlug:m,tagSlug:null});},[e]),l=react.useCallback(m=>{a(m),e?.({categorySlug:o,tagSlug:m});},[o,e]),c=ka(Yr),u=Yr.find(m=>m.slug===o),p=Sa(u);return jsxRuntime.jsx(lo,{categories:c,selectedCategory:o,selectedTag:s,activeTags:p,onCategorySelect:i,onTagSelect:l,trailing:t,className:r})}function mo(e){return {title:e.title,imageUrl:e.image_url}}function fo(e){let t=e.outcomes[0],r=e.outcomes[1];return {question:e.question,yesAsk:t?.best_ask??t?.price,noAsk:r?.best_ask??r?.price,yesBid:t?.best_bid,noBid:r?.best_bid,yesSubTitle:t?.label??"Yes",noSubTitle:r?.label??"No"}}var Bt=48,qr=4,ur={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},Ee={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},pr=Ee.ALL,Tf={[Ee.ONE_DAY]:ur.ONE_MINUTE,[Ee.ONE_WEEK]:ur.ONE_HOUR,[Ee.ONE_MONTH]:ur.ONE_HOUR,[Ee.ALL]:ur.ONE_DAY},Lf={[Ee.ONE_DAY]:300,[Ee.ONE_WEEK]:3600,[Ee.ONE_MONTH]:10800,[Ee.ALL]:1440*60},_f={[Ee.ONE_DAY]:1440*60,[Ee.ONE_WEEK]:10080*60,[Ee.ONE_MONTH]:720*60*60,[Ee.ALL]:null},mr=1,fr=1,Rf=1,If=1,Of=99,kt={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},Af=kt.ONE_WEEK,Df={[kt.ONE_HOUR]:60,[kt.SIX_HOURS]:60,[kt.ONE_DAY]:300,[kt.ONE_WEEK]:1800,[kt.MAX]:1800};var xo=react.createContext(null);function Xr(){let e=react.useContext(xo);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var Ta=1e4;function La({pollingInterval:e=Ta,enabled:t=true,children:r}){let o=walletConnector.useWallets(),n=react.useMemo(()=>o.find(v=>v.chainNamespace===types.ChainNamespace.SOLANA&&v.isConnected)?.address,[o]),s=react.useMemo(()=>o.find(v=>v.chainNamespace===types.ChainNamespace.EVM&&v.isConnected)?.address,[o]),{data:a,isLoading:i,isFetching:l,error:c}=reactPredict.useBalance({source:"kalshi",user:n??""},{enabled:t&&!!n,refetchInterval:e}),{data:u,isLoading:p}=reactPredict.useDFlowKYC(n,{enabled:t&&!!n,refetchInterval:3e4}),{data:m,isLoading:d}=reactPredict.usePolymarketSetup(s,{enabled:t&&!!s,refetchInterval:3e4}),g=m?.safe_address,f=m?.verified??false,{data:h,isLoading:x,isFetching:N,error:E}=reactPredict.useBalance({source:"polymarket",user:s??""},{enabled:t&&f&&!!s,refetchInterval:e}),S=react.useMemo(()=>({solanaAddress:n,evmAddress:s,polymarketSafeAddress:g,kalshiUsdcBalance:a?Number(a.balance):null,polymarketUsdcBalance:f&&h?Number(h.balance):null,kalshiKycVerified:u?.verified??false,kalshiKycUrl:u?.kyc_url??null,kalshiKycLoading:p,polymarketSetupVerified:f,polymarketSafeDeployed:m?.safe_deployed??false,polymarketTokenApproved:m?.token_approved??false,polymarketSetupLoading:d,isLoading:i||x,isFetching:l||N,error:c??E??null}),[n,s,g,a,h,f,u,p,m,d,i,x,l,N,c,E]);return jsxRuntime.jsx(xo.Provider,{value:S,children:r})}var Za={minutes:60,hours:3600,days:86400};function Ja(e,t,r){let o=Math.floor(Date.now()/1e3);switch(e){case "5m":return o+300;case "1h":return o+3600;case "12h":return o+720*60;case "24h":return o+1440*60;case "eod":{let n=new Date;return n.setUTCHours(23,59,59,0),Math.floor(n.getTime()/1e3)}case "custom":return o+t*Za[r]}}function Jr(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};Zr__default.default({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{Zr__default.default({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{Zr__default.default({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function ko({market:e,initialOutcome:t="yes",initialSide:r="buy"}){let{t:o}=i18n.useTranslation(),{status:n}=walletConnector.useAuth(),s=walletConnector.useWallets(),a=walletConnector.useSwitchChain(),i=reactPredict.usePredictClient(),l=react.useContext(reactPredict.PolymarketContext),c=reactQuery.useQueryClient(),u=e.source,p=u==="polymarket",m=s.find(k=>k.chainNamespace===types.ChainNamespace.SOLANA&&k.isConnected),d=s.find(k=>k.chainNamespace===types.ChainNamespace.EVM&&k.isConnected&&"switchChain"in k),g=n==="authenticated",f=m?.address,h=d?.address,x=react.useMemo(()=>{if(u!=="polymarket")return;let k=e.provider_meta?.["polymarket.clobTokenIds"];return k?(typeof k=="string"?JSON.parse(k):k)[0]:void 0},[u,e.provider_meta]),{data:N}=reactPredict.useTickSize(x),E=N?.minimum_tick_size?String(N.minimum_tick_size):"0.01",[S,v]=react.useState(t),[b,H]=react.useState(r),[K,pe]=react.useState("market"),[P,X]=react.useState(NaN),[F,z]=react.useState(NaN),[$,oe]=react.useState(false),[me,M]=react.useState(null),[_,V]=react.useState(null),[O,de]=react.useState(false),[ie,we]=react.useState(false),[Ue,at]=react.useState("1h"),[Be,_t]=react.useState(30),[Rt,lt]=react.useState("minutes"),Ae=null,or=false,sr=null,bt;try{let k=Xr();Ae={kalshiUsdcBalance:k.kalshiUsdcBalance,polymarketUsdcBalance:k.polymarketUsdcBalance,isLoading:k.isLoading},or=k.kalshiKycVerified,sr=k.kalshiKycUrl,bt=k.polymarketSafeAddress;}catch{}let Pe=react.useMemo(()=>{let k=S==="yes"?0:1,j=e.outcomes[k];return b==="buy"?j?.best_ask??j?.price??.5:j?.best_bid??j?.price??.5},[e.outcomes,S,b]),zr=react.useCallback(k=>{pe(k);},[]),It=react.useCallback(k=>{v(k),z(NaN);},[]);react.useEffect(()=>{K==="limit"&&isNaN(F)&&z(Math.round(Pe*100)/100);},[K,F,Pe]);let $r=react.useMemo(()=>isNaN(P)||P<=0?0:b==="buy"?Pe>0?P/Pe:0:P,[b,P,Pe]),T=react.useMemo(()=>isNaN(P)||P<=0?"0":String(Math.round(P*1e6)),[P]),Ce=e.provider_meta?.["dflow.yesMint"]??"",Ke=e.provider_meta?.["dflow.noMint"]??"",ct=utils.SOLANA_TOKENS.stablecoins.USDC.address,Yi=e.provider_meta?.["dflow.collateralMint"]||"",Gn=S==="yes"?Ce:Ke,Yn=u==="kalshi"?f??"":h??"",{data:Ie,isLoading:qi}=reactPredict.usePositions({source:u,user:Yn},{enabled:!!Yn}),qn=react.useMemo(()=>!Ie||b!=="sell"?null:Ie.positions.find(k=>k.side?.toLowerCase()===S&&k.market?.slug===e.slug)??null,[Ie,e.slug,S,b])?.market?.provider_meta,Qi=b==="sell"&&qn?.["dflow.outcomeMint"]||Gn,Ot=b==="sell"&&qn?.["dflow.collateralMint"]||Yi,At=b==="buy"?ct:Qi,Dt=b==="buy"?Gn:Ot||ct,Xi=u==="kalshi"&&!!At&&!!Dt&&!!f&&T!=="0",{refetch:Qn}=reactPredict.useDFlowQuote({inputMint:At,outputMint:Dt,amount:T,userPublicKey:f??"",slippageBps:100},{enabled:Xi}),ir=react.useMemo(()=>Ae?u==="kalshi"?Ae.kalshiUsdcBalance:Ae.polymarketUsdcBalance:Ie&&Ie.positions.reduce((j,Me)=>Me.side==="USDC"||Me.side==="collateral"?j+(Me.current_value??0):j,0)||null,[Ae,Ie,u]),Zi=Ae?Ae.isLoading:qi,Wr=react.useMemo(()=>Ie?Ie.positions.find(j=>j.side?.toLowerCase()==="yes"&&j.market?.slug===e.slug)?.size??0:null,[Ie,e.slug]),Ur=react.useMemo(()=>Ie?Ie.positions.find(j=>j.side?.toLowerCase()==="no"&&j.market?.slug===e.slug)?.size??0:null,[Ie,e.slug]),Kr=react.useMemo(()=>K==="limit"&&p&&!isNaN(F)?F:Pe,[K,p,F,Pe]),ar=react.useMemo(()=>{if(isNaN(P)||P<=0)return 0;if(b==="buy")return P;let k=S==="yes"?e.outcomes[0]?.best_bid??0:e.outcomes[1]?.best_bid??0;return P*k},[b,S,P,e.outcomes]),Xn=react.useMemo(()=>isNaN(P)||P<=0?0:b==="buy"?Kr>0?P/Kr*1:0:ar,[b,P,Kr,ar]),Ji=Xn-ar,ea=react.useCallback(k=>{H(k),X(NaN);},[]),ta=react.useCallback(k=>{if(isNaN(k)){X(NaN);return}let j=Math.max(0,k),Me=b==="buy"?Math.round(j*100)/100:Math.round(j);X(Me);},[b]),ra=react.useCallback(k=>{if(isNaN(k)){z(NaN);return}let j=Math.max(.01,Math.min(.99,k));z(Math.round(j*100)/100);},[]),Ft=react.useCallback(()=>{X(NaN),z(NaN),pe("market"),we(false),at("1h"),_t(30),lt("minutes");},[]),Vr=react.useMemo(()=>{let k=[];isNaN(P)||P<=0?b==="buy"?k.push(o("predict.trade.minAmountUsd",{amount:fr})):k.push(o("predict.trade.minQuantity",{amount:mr})):b==="buy"&&P<fr?k.push(o("predict.trade.minAmountUsd",{amount:fr})):b==="sell"&&P<mr&&k.push(o("predict.trade.minQuantity",{amount:mr})),e.status!=="open"&&k.push(o("predict.trade.marketNotActive")),b==="buy"&&ir!=null&&!isNaN(P)&&P>0&&P>ir&&k.push(o("predict.trade.insufficientBalance"));let j=S==="yes"?Wr:Ur;return b==="sell"&&j!=null&&!isNaN(P)&&P>0&&P>j&&k.push(o("predict.trade.insufficientShares")),K==="limit"&&p&&(isNaN(F)||F<.01||F>.99)&&k.push(o("predict.trade.limitPriceRange")),K==="limit"&&p&&ie&&Ue==="custom"&&(isNaN(Be)||Be<=0)&&k.push(o("predict.trade.expiration.invalidDate")),{isValid:k.length===0,errors:k}},[P,e.status,b,u,ir,Wr,Ur,S,K,p,F,ie,Ue,Be,o]),{mutateAsync:lr}=reactPredict.useDFlowSubmit(),{data:jr}=reactPredict.useOrder({id:me??"",source:u},{enabled:!!me}),Zn=react.useCallback(async()=>{if(!_||!f||!m)return;let{cashAmount:k,collateral:j}=_;V(null);try{let dt=(await i.createDFlowQuote({inputMint:j,outputMint:ct,amount:k,userPublicKey:f,slippageBps:100}))?.transaction;if(!dt)return;let Je=Uint8Array.from(atob(dt),Ht=>Ht.charCodeAt(0)),Ve=await m.signTransaction(Je);await lr({signedTransaction:btoa(String.fromCharCode(...Ve)),orderContext:{user_public_key:f,input_mint:j,output_mint:ct,amount:k,price:"1",side:"SELL",outcome:"",market_slug:"",slippage_bps:100}});}catch{}},[_,f,m,i,lr,ct]);react.useEffect(()=>{if(!jr||!me)return;let{status:k}=jr;k==="closed"?(M(null),_?Zn().finally(()=>{oe(false),ui$1.toast.success(o("predict.trade.submitSuccess")),Jr(),Ft();}):(oe(false),ui$1.toast.success(o("predict.trade.submitSuccess")),Jr(),Ft())):(k==="failed"||k==="expired")&&(oe(false),M(null),V(null),ui$1.toast.error(o("predict.trade.submitError")));},[jr,me,_,Zn,Ft,o]);let Jn=react.useCallback(async()=>{if(!f||!m)return;if(!At||!Dt){ui$1.toast.error("Missing token mint addresses"),oe(false);return}if(!or){de(true),oe(false);return}let Me=(await Qn()).data,dt=Me?.transaction;if(!dt){ui$1.toast.error(o("predict.trade.submitError")),oe(false);return}if(b==="sell"&&Ot&&Ot!==ct){let et=String(Me?.outAmount??"");et&&et!=="0"&&V({cashAmount:et,collateral:Ot});}let Je=Uint8Array.from(atob(dt),et=>et.charCodeAt(0)),Ve=await m.signTransaction(Je),Ht=await lr({signedTransaction:btoa(String.fromCharCode(...Ve)),orderContext:{user_public_key:f,input_mint:At,output_mint:Dt,amount:T,price:String(Pe),side:b==="buy"?"BUY":"SELL",outcome:S==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});M(Ht.signature);},[f,m,i,Qn,lr,At,Dt,T,Pe,b,S,e.slug,Ot,ct,o]),eo=react.useCallback(async()=>{if(!d||!l)return;let k=d.chain,j=k!==types.Chain.POLYGON;j&&await a(types.Chain.POLYGON);try{let Me=await d.getEip1193Provider();if(!Me){ui$1.toast.error(o("predict.trade.submitError")),oe(!1);return}let dt=!!bt,Je={address:d.address,signatureType:dt?2:0,signTypedData:async(ut,ua,pa,ma)=>{let yt=[];"name"in ut&&yt.push({name:"name",type:"string"}),"version"in ut&&yt.push({name:"version",type:"string"}),"chainId"in ut&&yt.push({name:"chainId",type:"uint256"}),"verifyingContract"in ut&&yt.push({name:"verifyingContract",type:"address"}),"salt"in ut&&yt.push({name:"salt",type:"bytes32"});let fa={EIP712Domain:yt,...ua};return await Me.request({method:"eth_signTypedData_v4",params:[d.address,JSON.stringify({domain:ut,types:fa,primaryType:pa,message:ma})]})}},Ve=l.credentials??await l.authenticate(Je),Ht=S==="yes"?0:1,et="",cr=e.provider_meta?.["polymarket.clobTokenIds"];cr&&(et=(typeof cr=="string"?JSON.parse(cr):cr)[Ht]??"");let to=e.provider_meta?.["polymarket.negRisk"]??!1,Gr=K==="limit"&&!isNaN(F)?F:Pe,oa=K==="limit"?ie?"GTD":"GTC":"FOK",sa=b==="buy"&&Gr>0?P/Gr:P,ro={tokenId:et,price:Gr,size:sa,side:b==="buy"?"BUY":"SELL",orderType:oa,tickSize:E,negRisk:to,...bt&&{funderAddress:bt},...K==="limit"&&ie&&{expiration:Ja(Ue,Be,Rt)}},ia=reactPredict.buildCtfExchangeDomain(to),no=reactPredict.buildOrderMessage({...ro,signerAddress:Je.address,signatureType:Je.signatureType}),aa=await Je.signTypedData(ia,reactPredict.CTF_ORDER_TYPES,"Order",no),la=reactPredict.buildSignedOrder(no,aa,ro.orderType),oo=reactPredict.buildClobPayload(la,Ve.apiKey),ca=JSON.stringify(oo),da=await reactPredict.buildPolymarketL2Headers(Ve.address,{apiKey:Ve.apiKey,secret:Ve.secret,passphrase:Ve.passphrase,method:"POST",requestPath:"/order",body:ca});await i.createPolymarketOrder(oo,da),c.invalidateQueries({queryKey:["predict","orders"]}),c.invalidateQueries({queryKey:["predict","positions"]}),ui$1.toast.success(o("predict.trade.submitSuccess")),Jr(),Ft(),oe(!1);}finally{j&&k&&a(k).catch(()=>{});}},[d,l,a,S,e.provider_meta,K,F,Pe,P,b,i,c,ie,Ue,Be,Rt,Ft,o]),na=react.useCallback(async()=>{if(!(!Vr.isValid||!g)){oe(true),M(null),de(false);try{u==="kalshi"?await Jn():await eo();}catch(k){let j=k instanceof Error?k.message:void 0;ui$1.toast.error(j||o("predict.trade.submitError")),oe(false);}}},[Vr.isValid,g,u,Jn,eo,o]);return {outcome:S,side:b,orderType:K,quantity:P,limitPrice:F,shares:$r,estimatedCost:ar,potentialPayout:Xn,potentialProfit:Ji,usdcBalance:ir,yesTokenBalance:Wr,noTokenBalance:Ur,isBalanceLoading:Zi,isSubmitting:$,validation:Vr,supportsLimitOrder:p,kycRequired:O,kycUrl:sr,expirationEnabled:ie,expirationPreset:Ue,customDuration:Be,customDurationUnit:Rt,setOutcome:It,setSide:ea,setOrderType:zr,setQuantity:ta,setLimitPrice:ra,setExpirationEnabled:we,setExpirationPreset:at,setCustomDuration:_t,setCustomDurationUnit:lt,submit:na}}function So({isOpen:e,onClose:t,kycUrl:r}){let{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:e,onOpenChange:n=>{n||t();},size:"md",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsxRuntime.jsx(ui$1.ModalContent,{children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsxRuntime.jsx("h3",{className:"text-base font-semibold text-white",children:o("predict.trade.kycModalTitle")}),jsxRuntime.jsx("button",{type:"button",onClick:t,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxRuntime.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntime.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntime.jsxs("div",{className:"px-5 pb-5",children:[jsxRuntime.jsx("p",{className:"text-[13px] text-zinc-400 mb-4 text-left",children:o("predict.trade.kycModalDescription")}),jsxRuntime.jsx("div",{className:"flex flex-col gap-2 mb-4",children:["predict.trade.kycModalBullet1","predict.trade.kycModalBullet2","predict.trade.kycModalBullet3"].map(n=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5 text-[13px] text-zinc-300",children:[jsxRuntime.jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",className:"text-[#c7ff2e] shrink-0",children:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"})}),jsxRuntime.jsx("span",{children:o(n)})]},n))}),r&&jsxRuntime.jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[13px] text-[#c7ff2e]/70 hover:text-[#c7ff2e] transition-colors mb-3",children:[o("predict.trade.goToKYC")," \u2192"]}),jsxRuntime.jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:o("predict.trade.kycModalNote")}),jsxRuntime.jsx("button",{type:"button",onClick:t,className:"w-full py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.ok")})]})]})})})}var ml=`https://s1.chainstream.io/chains/sol/tokens/${utils.SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,fl=["5m","1h","12h","24h","eod","custom"],gl={"5m":"predict.trade.expiration.5m","1h":"predict.trade.expiration.1h","12h":"predict.trade.expiration.12h","24h":"predict.trade.expiration.24h",eod:"predict.trade.expiration.eod",custom:"predict.trade.expiration.custom"},hl=["minutes","hours","days"],xl={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"};function Lo({event:e,market:t,variant:r="bordered",outcome:o,side:n,orderType:s,quantity:a,limitPrice:i,shares:l,potentialProfit:c,potentialPayout:u,estimatedCost:p,usdcBalance:m,yesTokenBalance:d,noTokenBalance:g,isBalanceLoading:f,isSubmitting:h,isValid:x,validationErrors:N,supportsLimitOrder:E,kycRequired:S,kycUrl:v,expirationEnabled:b,expirationPreset:H,customDuration:K,customDurationUnit:pe,onOutcomeChange:P,onSideChange:X,onOrderTypeChange:F,onQuantityChange:z,onLimitPriceChange:$,onExpirationEnabledChange:oe,onExpirationPresetChange:me,onCustomDurationChange:M,onCustomDurationUnitChange:_,onSubmit:V}){let{t:O}=i18n.useTranslation(),[de,ie]=react.useState(false),we=ui$1.useDisclosure(),[Ue,at]=react.useState(""),Be=react.useRef(false),_t=react.useRef(n);react.useEffect(()=>{Be.current||at(isNaN(a)?"":String(a));},[a]),react.useEffect(()=>{n!==_t.current&&(_t.current=n,at(""));},[n]);let Rt=react.useCallback(T=>{if(T!==""&&!(n==="buy"?/^\d*\.?\d{0,2}$/:/^\d*$/).test(T))return;if(at(T),It(false),T===""||T==="."){z(NaN);return}let Ke=parseFloat(T);isNaN(Ke)||z(Ke);},[n,z]);react.useEffect(()=>{S&&!we.isOpen&&we.onOpen();},[S]);let lt=react.useMemo(()=>{let T=n==="buy"?o==="yes"?t.yesAsk:t.noAsk:o==="yes"?t.yesBid:t.noBid;return T!=null?parseFloat((Number(T)*100).toFixed(2)):null},[n,o,t]),Ae=!isNaN(a)&&a>0,or=react.useMemo(()=>{if(f)return O("predict.trade.loadingBalance");if(h)return O("predict.trade.submitting");if(S)return O("predict.trade.kycRequired");if(!Ae)return O("predict.trade.enterAmount");let T=O(n==="buy"?"predict.trade.buy":"predict.trade.sell"),Ce=O(o==="yes"?"predict.trade.yes":"predict.trade.no"),Ke=n==="buy"&&c>0?` \u2192 Win $${c.toFixed(2)}`:"";return `${T} ${Ce}${Ke}`},[f,h,S,Ae,n,o,c,O]),sr=react.useMemo(()=>o==="yes"?"primary":"secondary",[o]),bt=()=>{z(Math.floor((m??0)/2*100)/100);},Pe=()=>{z(m??0);},[zr,It]=react.useState(false),$r=()=>{if(S){we.onOpen();return}if(!x){It(true);return}It(false),V();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:ui$1.cn("flex w-full flex-col gap-y-4 p-4",r==="bordered"&&"rounded-xl border border-default-200 bg-content1"),children:[e&&jsxRuntime.jsxs("div",{className:"flex items-center gap-x-3",children:[e.imageUrl&&jsxRuntime.jsx("img",{src:e.imageUrl,alt:e.title,className:"h-10 w-10 shrink-0 rounded-lg object-cover"}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col gap-y-0.5",children:[jsxRuntime.jsx("span",{className:"text-sm text-neutral-500 leading-tight line-clamp-1",children:e.title}),jsxRuntime.jsxs("span",{className:"text-base font-semibold leading-tight line-clamp-1",children:[jsxRuntime.jsxs("span",{className:o==="yes"?"text-bullish":"text-bearish",children:[O(n==="buy"?"predict.trade.buy":"predict.trade.sell")," ",O(o==="yes"?"predict.trade.yes":"predict.trade.no")]}),jsxRuntime.jsxs("span",{className:"text-foreground",children:[" \xB7 ",t.yesSubTitle]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[E?jsxRuntime.jsxs(ui$1.Tabs,{variant:"underlined",selectedKey:s,onSelectionChange:T=>F(T),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsxRuntime.jsx(ui$1.Tab,{title:O("predict.trade.market")},"market"),jsxRuntime.jsx(ui$1.Tab,{title:O("predict.trade.limit")},"limit")]}):jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:O("predict.trade.market")}),s==="limit"&&E?jsxRuntime.jsx(ui$1.StyledNumberInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",value:isNaN(i)?void 0:parseFloat((i*100).toFixed(2)),onValueChange:T=>$(T/100),minValue:1,maxValue:99,step:1,formatOptions:{maximumFractionDigits:2},endContent:jsxRuntime.jsx("span",{className:"text-xl font-bold tabular-nums text-foreground",children:"\xA2"}),classNames:{base:"w-28",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 rounded-lg px-2 h-9 min-h-9",input:"text-xl font-bold tabular-nums text-right"}}):lt!=null&&jsxRuntime.jsxs("span",{className:"text-xl font-bold tabular-nums",children:[lt," \xA2"]})]}),jsxRuntime.jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(T=>{let Ce=T==="yes"?d:g;return jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col gap-y-1",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>P(T),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${o===T?T==="yes"?"border-primary bg-primary-50 text-primary":"border-secondary bg-secondary-50 text-secondary":"border-default-400 text-foreground hover:border-default-500"}`,children:[jsxRuntime.jsx("span",{children:O(T==="yes"?"predict.trade.yes":"predict.trade.no")}),(()=>{let Ke=n==="buy"?T==="yes"?t.yesAsk:t.noAsk:T==="yes"?t.yesBid:t.noBid;return Ke!=null?jsxRuntime.jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(Ke)*100).toFixed(2)),"\xA2"]}):null})()]}),n==="sell"&&o===T&&jsxRuntime.jsx("span",{className:"text-center text-xs text-foreground",children:f?"\u2013":`${Ce??0} shares`})]},T)})}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between text-xs text-neutral-500",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:O(n==="buy"?"predict.trade.youArePaying":"predict.trade.contracts")}),n==="buy"&&jsxRuntime.jsxs("div",{className:"flex items-center gap-x-2",children:[jsxRuntime.jsx("img",{src:ml,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsxRuntime.jsx("span",{className:"font-medium text-foreground tabular-nums",children:m!=null?`${m.toFixed(2)} USDC`:"\u2013"}),jsxRuntime.jsx("button",{type:"button",onClick:bt,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:O("predict.trade.half")}),jsxRuntime.jsx("button",{type:"button",onClick:Pe,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:O("predict.trade.max")})]})]}),jsxRuntime.jsx(ui$1.StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:n==="buy"?"decimal":"numeric",value:Ue,onChange:T=>Rt(T.target.value),onFocus:()=>{Be.current=true;},onBlur:()=>{Be.current=false,at(isNaN(a)?"":String(a));},startContent:n==="buy"?jsxRuntime.jsx("span",{className:"text-default-600 text-xl",children:"$"}):void 0,classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),n==="sell"&&jsxRuntime.jsxs("div",{className:"flex gap-x-2 justify-end",children:[[25,50].map(T=>jsxRuntime.jsxs("button",{type:"button",onClick:()=>{z(Math.floor((o==="yes"?d??0:g??0)*T/100));},className:"rounded-md bg-content2 px-2.5 py-1 text-xs font-medium text-default-600 transition-colors hover:bg-content3 cursor-pointer",children:[T,"%"]},T)),jsxRuntime.jsx("button",{type:"button",onClick:()=>{z(o==="yes"?d??0:g??0);},className:"rounded-md bg-content2 px-2.5 py-1 text-xs font-medium text-default-600 transition-colors hover:bg-content3 cursor-pointer",children:O("common.all")})]}),zr&&N.length>0&&jsxRuntime.jsx("div",{className:"flex flex-col gap-y-0.5",children:N.map(T=>jsxRuntime.jsx("span",{className:"text-xs text-danger",children:T},T))})]}),s==="limit"&&E&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-primary",children:O("predict.trade.setExpiration")}),jsxRuntime.jsx(ui$1.StyledSwitch,{size:"sm",color:"primary",isSelected:b,onValueChange:oe,"aria-label":O("predict.trade.setExpiration")})]}),b&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui$1.Select,{"aria-label":O("predict.trade.setExpiration"),selectedKeys:[H],onSelectionChange:T=>{let Ce=Array.from(T)[0];Ce&&me(Ce);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:fl.map(T=>jsxRuntime.jsx(ui$1.SelectItem,{children:O(gl[T])},T))}),H==="custom"&&jsxRuntime.jsxs("div",{className:"flex gap-x-2",children:[jsxRuntime.jsx(ui$1.StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(K)?void 0:K,onValueChange:M,minValue:1,step:1,formatOptions:{maximumFractionDigits:0},classNames:{base:"flex-1",inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 min-h-10",input:"text-sm"}}),jsxRuntime.jsx(ui$1.Select,{"aria-label":"Duration unit",selectedKeys:[pe],onSelectionChange:T=>{let Ce=Array.from(T)[0];Ce&&_(Ce);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:hl.map(T=>jsxRuntime.jsx(ui$1.SelectItem,{children:O(xl[T])},T))})]})]})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between text-sm",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>ie(T=>!T),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsxRuntime.jsx("span",{children:O("predict.trade.odds")}),jsxRuntime.jsx(ui$1.ChevronDownIcon,{className:ui$1.cn("h-3.5 w-3.5 transition-transform",de&&"rotate-180")})]}),lt!=null&&jsxRuntime.jsxs("span",{className:"text-foreground font-medium tabular-nums",children:[lt,"% chance"]})]}),de&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-y-1.5 border-l-2 border-default-300 pl-3 text-sm text-neutral-500",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"Total Size"}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?`$${p.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"No. of Contracts"}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(l)&&l>0?parseFloat(l.toFixed(2)):"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"Payout"}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?`$${u.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:"Est. Profit"}),jsxRuntime.jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(a)&&a>0&&c>0?`+$${c.toFixed(2)}`:"\u2013"})]})]})]}),jsxRuntime.jsx(ui$1.Button,{color:sr,fullWidth:true,radius:"lg",size:"lg",isDisabled:f||!Ae||h,isLoading:h||f,spinner:jsxRuntime.jsx(ui$1.Spinner,{size:"sm",color:"current"}),onPress:$r,children:or})]}),jsxRuntime.jsx(So,{isOpen:we.isOpen,onClose:we.onClose,kycUrl:v})]})}function gr({event:e,market:t,variant:r,initialSide:o,initialOutcome:n,chain:s}){let{outcome:a,side:i,orderType:l,quantity:c,limitPrice:u,shares:p,estimatedCost:m,potentialPayout:d,potentialProfit:g,usdcBalance:f,yesTokenBalance:h,noTokenBalance:x,isBalanceLoading:N,isSubmitting:E,validation:S,supportsLimitOrder:v,kycRequired:b,kycUrl:H,expirationEnabled:K,expirationPreset:pe,customDuration:P,customDurationUnit:X,setOutcome:F,setSide:z,setOrderType:$,setQuantity:oe,setLimitPrice:me,setExpirationEnabled:M,setExpirationPreset:_,setCustomDuration:V,setCustomDurationUnit:O,submit:de}=ko({market:t,initialSide:o,initialOutcome:n}),ie=walletConnector.useAuthCallback(de),we=react.useMemo(()=>e?mo(e):void 0,[e]),Ue=react.useMemo(()=>fo(t),[t]);return jsxRuntime.jsx(Lo,{event:we,market:Ue,variant:r,outcome:a,side:i,orderType:l,quantity:c,limitPrice:u,shares:p,estimatedCost:m,potentialPayout:d,potentialProfit:g,usdcBalance:f,yesTokenBalance:h,noTokenBalance:x,isBalanceLoading:N,isSubmitting:E,isValid:S.isValid,validationErrors:S.errors,supportsLimitOrder:v,kycRequired:b,kycUrl:H,expirationEnabled:K,expirationPreset:pe,customDuration:P,customDurationUnit:X,onOutcomeChange:F,onSideChange:z,onOrderTypeChange:$,onQuantityChange:oe,onLimitPriceChange:me,onExpirationEnabledChange:M,onExpirationPresetChange:_,onCustomDurationChange:V,onCustomDurationUnitChange:O,onSubmit:ie})}var zt="predict-trade";function hr({id:e=zt}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Pl,{...t})})}function Pl({params:e,isOpen:t,onOpenChange:r}){let{t:o}=i18n.useTranslation(),{isMobile:n}=ui$1.useScreen();return e?jsxRuntime.jsx(ui$1.StyledModal,{isOpen:t,onOpenChange:r,size:n?"lg":"md",backdrop:"blur",hideCloseButton:true,classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsxRuntime.jsx(ui$1.ModalContent,{children:jsxRuntime.jsxs("div",{className:n?"":"p-2",children:[jsxRuntime.jsx(gr,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,initialSide:e.initialSide??"buy",chain:e.chain,variant:"flat"}),jsxRuntime.jsx("div",{className:"px-4 pb-4",children:jsxRuntime.jsx("button",{type:"button",onClick:()=>r(false),className:"w-full h-12 rounded-xl text-sm font-medium text-zinc-400 hover:text-white hover:bg-[rgba(39,39,42,0.5)] transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:o("common.cancel")})})]})})}):null}var nn={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function on(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function Ro({isOpen:e,onClose:t,value:r,onChange:o}){let{t:n}=i18n.useTranslation(),[s,a]=react.useState(r),i=react.useCallback(h=>{h?a(r):t();},[r,t]),l=react.useCallback(()=>{a(nn);},[]),c=react.useCallback(()=>{o(s),t();},[s,o,t]),u=react.useCallback((h,x)=>{a(N=>({...N,[h]:x}));},[]),p=react.useMemo(()=>on(s),[s]),m=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"polymarket",label:n("predict.platform.polymarket")},{value:"kalshi",label:n("predict.platform.kalshi")}],[n]),d=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1d",label:n("predict.filter.lessThanDay")},{value:"7d",label:n("predict.filter.lessThanWeek")},{value:"30d",label:n("predict.filter.lessThanMonth")}],[n]),g=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]),f=react.useMemo(()=>[{value:void 0,label:n("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[n]);return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:e,onOpenChange:i,size:"md",backdrop:"blur",scrollBehavior:"inside",classNames:{base:"!bg-[#18181b] !rounded-[14px] !border !border-[rgba(39,39,42,1)] !shadow-[0_25px_50px_-12px_rgba(0,0,0,0.5)]",body:"!p-0"},children:jsxRuntime.jsx(ui$1.ModalContent,{children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-5 pt-5 pb-4",children:[jsxRuntime.jsx("h3",{className:"text-base font-semibold text-white",children:n("predict.filter.title")}),jsxRuntime.jsx(_l,{onClick:()=>i(false)})]}),jsxRuntime.jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsxRuntime.jsx(vr,{label:n("predict.filter.platform"),children:jsxRuntime.jsx(br,{options:m,selected:s.source,onSelect:h=>u("source",h)})}),jsxRuntime.jsx(vr,{label:n("predict.filter.timeRemaining"),children:jsxRuntime.jsx(br,{options:d,selected:s.timeRemaining,onSelect:h=>u("timeRemaining",h)})}),jsxRuntime.jsx(vr,{label:n("predict.filter.minVolume"),children:jsxRuntime.jsx(br,{options:g,selected:s.minVolume,onSelect:h=>u("minVolume",h)})}),jsxRuntime.jsx(vr,{label:n("predict.filter.minLiquidity"),children:jsxRuntime.jsx(br,{options:f,selected:s.minLiquidity,onSelect:h=>u("minLiquidity",h)})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-3 px-5 py-4",style:{borderTop:"1px solid rgba(39,39,42,0.5)"},children:[jsxRuntime.jsx("button",{type:"button",className:"inline-flex items-center justify-center py-2.5 px-5 rounded-[10px] text-zinc-400 text-sm font-medium hover:text-white transition-colors cursor-pointer",onClick:l,children:n("predict.filter.reset")}),jsxRuntime.jsxs("button",{type:"button",className:"flex-1 inline-flex items-center justify-center gap-2 py-2.5 rounded-[10px] bg-[#c7ff2e] text-zinc-900 text-sm font-semibold hover:bg-[#c7ff2e]/90 transition-colors cursor-pointer",onClick:c,children:[n("predict.filter.showResults"),p>0&&jsxRuntime.jsxs("span",{style:{opacity:.7},children:["(",p,")"]})]})]})]})})})}function vr({label:e,children:t}){return jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[jsxRuntime.jsx("span",{style:{fontSize:11,fontWeight:500,color:"#71717a",textTransform:"uppercase",letterSpacing:"0.05em"},children:e}),t]})}function _l({onClick:e}){return jsxRuntime.jsx("button",{type:"button",onClick:e,className:"p-1 rounded-[10px] hover:bg-[rgba(39,39,42,0.5)] text-zinc-400 hover:text-white transition-colors cursor-pointer focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",children:jsxRuntime.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntime.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})}function br({options:e,selected:t,onSelect:r,allowDeselect:o=true}){return jsxRuntime.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(n=>{let s=t===n.value;return jsxRuntime.jsx("button",{type:"button",onClick:()=>{r(s&&o?void 0:n.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:s?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:s?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:s?"#c7ff2e":"#a1a1aa"},onMouseEnter:a=>{s||(a.currentTarget.style.background="rgba(39,39,42,0.8)",a.currentTarget.style.color="#fff");},onMouseLeave:a=>{s||(a.currentTarget.style.background="rgba(39,39,42,0.4)",a.currentTarget.style.color="#a1a1aa");},children:n.label},n.value??"__all")})})}var Fo={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},Oo={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},zl=["start_time","volume","liquidity","ending_soon"],Ao={display:"inline-flex",alignItems:"center",gap:8,borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"8px 12px",fontSize:14,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s"},$l={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"};function Ho({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:o,onFilterPress:n,filterCount:s=0,className:a}){let{t:i}=i18n.useTranslation(),[l,c]=react.useState(false),u=react.useRef(null),p=react.useCallback(d=>{u.current&&!u.current.contains(d.target)&&c(false);},[]);react.useEffect(()=>(document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)),[p]),react.useEffect(()=>{if(!l)return;let d=g=>{g.key==="Escape"&&c(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[l]);let m=Do[e];return jsxRuntime.jsxs("div",{className:a,style:{display:"flex",alignItems:"center",gap:8},children:[jsxRuntime.jsxs("div",{ref:u,style:{position:"relative"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ao,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>c(d=>!d),children:[jsxRuntime.jsx(Wl,{}),jsxRuntime.jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:i(Oo[e])}),jsxRuntime.jsx(Kl,{open:l})]}),l&&jsxRuntime.jsx("div",{style:{...$l,width:224,padding:4},children:zl.map(d=>{let g=Do[d],f=e===d;return jsxRuntime.jsxs("button",{type:"button",style:{display:"flex",width:"100%",alignItems:"center",gap:12,padding:"10px 12px",textAlign:"left",fontSize:14,border:"none",cursor:"pointer",transition:"all 0.15s",background:f?"rgba(199,255,46,0.08)":"transparent",color:f?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:h=>{f||(h.currentTarget.style.background="rgba(39,39,42,0.5)",h.currentTarget.style.color="#fff");},onMouseLeave:h=>{f||(h.currentTarget.style.background="transparent",h.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===d?o(!r):t(d),c(false);},children:[jsxRuntime.jsx(g,{className:"size-4 shrink-0",style:{color:f?"#c7ff2e":"#71717a"}}),jsxRuntime.jsx("span",{style:{flex:1,fontWeight:500},children:i(Oo[d])}),f&&jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:16,height:16,color:"#c7ff2e",flexShrink:0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M20 6 9 17l-5-5"})})]},d)})})]}),jsxRuntime.jsx("button",{type:"button",style:{borderRadius:10,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:36,height:36,color:"#a1a1aa",cursor:"pointer",transition:"all 0.15s",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14},onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)",d.currentTarget.style.color="#fff";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)",d.currentTarget.style.color="#a1a1aa";},onClick:()=>o(!r),children:r?"\u2191":"\u2193"}),jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ao,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:n,children:[jsxRuntime.jsx(Ul,{}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:i("predict.filter.title")})]}),s>0&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:8,background:"#c7ff2e",color:"#000",fontSize:10,fontWeight:600,padding:"0 4px"},children:s})]})]})}var Do={start_time:ui$1.CalendarIcon,volume:ui$1.ChartLineIcon,liquidity:ui$1.DropletIcon,ending_soon:ui$1.TimerIcon};function Wl(){return jsxRuntime.jsxs("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"m21 16-4 4-4-4"}),jsxRuntime.jsx("path",{d:"M17 20V4"}),jsxRuntime.jsx("path",{d:"m3 8 4-4 4 4"}),jsxRuntime.jsx("path",{d:"M7 4v16"})]})}function Ul(){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#a1a1aa"},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"})})}function Kl({open:e}){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"})})}function $o(e={}){let t=react.useMemo(()=>reactPredict.resolveEventsParams(e),[e.tagSlugSelection,e.limit,e.status,e.sort_by,e.sort_asc,e.source,e.with_markets,e.minVolume,e.minLiquidity,e.timeRemaining]),{data:r,isLoading:o,isFetching:n,isFetchingNextPage:s,isError:a,error:i,hasNextPage:l,fetchNextPage:c,refetch:u}=reactPredict.useInfiniteEvents(t),p=react.useMemo(()=>r?.pages.flatMap(g=>g.items).filter(g=>g!=null)??[],[r]),m=react.useCallback(()=>{c();},[c]),d=react.useCallback(()=>{u();},[u]);return {data:p,isLoading:o,isFetching:n&&!s,isFetchingMore:s,isError:a,error:i??null,hasMore:l??false,fetchMore:m,refetch:d}}var Wo="@keyframes evtShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(max-width:1279px){.evt-skel-grid{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:1023px){.evt-skel-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:767px){.evt-skel-grid{grid-template-columns:1fr!important}}";function sn({count:e=6}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Wo}),jsxRuntime.jsx("div",{className:"evt-skel-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",width:"100%"},children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx(Gl,{index:r},r))})]})}function Gl({index:e}){let r={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:`evtShimmer 1.8s ease-in-out infinite ${e*120}ms`,borderRadius:6},o=e%3===0?"85%":e%3===1?"70%":"60%";return jsxRuntime.jsx("div",{style:{padding:8},children:jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",overflow:"hidden"},children:[jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 14px 8px"},children:[jsxRuntime.jsx("div",{style:{...r,width:36,height:36,borderRadius:10,flexShrink:0}}),jsxRuntime.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[jsxRuntime.jsx("div",{style:{...r,height:12,width:o}}),jsxRuntime.jsx("div",{style:{...r,height:10,width:"40%"}})]})]}),jsxRuntime.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6,padding:"4px 14px 14px",flex:1},children:[0,1,2].map(n=>jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[jsxRuntime.jsx("div",{style:{...r,height:11,width:n===0?"55%":n===1?"45%":"35%"}}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[jsxRuntime.jsx("div",{style:{...r,height:11,width:32}}),jsxRuntime.jsx("div",{style:{...r,height:28,width:80,borderRadius:8}})]})]},n))}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",borderTop:"1px solid rgba(39,39,42,0.5)",background:"rgba(39,39,42,0.15)",padding:"8px 14px"},children:[jsxRuntime.jsx("div",{style:{...r,height:10,width:56}}),jsxRuntime.jsx("div",{style:{...r,height:10,width:72}})]})]})})}function Wg({count:e=48}){let t={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"evtShimmer 1.8s ease-in-out infinite",borderRadius:6};return jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",maxWidth:1680,margin:"0 auto",gap:12},children:[jsxRuntime.jsx("style",{children:Wo}),jsxRuntime.jsx("div",{style:{display:"flex",alignItems:"center",gap:8},children:[48,64,48,56,72,56].map((r,o)=>jsxRuntime.jsx("div",{style:{...t,height:24,width:r}},o))}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,minHeight:36},children:[jsxRuntime.jsx("div",{style:{...t,height:32,width:120,borderRadius:10}}),jsxRuntime.jsx("div",{style:{...t,height:32,width:32,borderRadius:10}}),jsxRuntime.jsx("div",{style:{...t,height:32,width:80,borderRadius:10}})]}),jsxRuntime.jsx("div",{style:{flex:1,minHeight:0},children:jsxRuntime.jsx(sn,{count:e})})]})}var Uo=3,rc={polymarket:{border:"rgba(80,162,255,0.4)",shadow:"0 2px 18px rgba(80,162,255,0.45)"},kalshi:{border:"rgba(0,212,146,0.4)",shadow:"0 2px 18px rgba(0,212,146,0.45)"}},nc={border:"hsl(var(--heroui-primary) / 0.4)",shadow:"0 2px 18px hsl(var(--heroui-primary) / 0.45)"},ln={bg:"hsl(var(--heroui-primary) / 0.14)",text:"hsl(var(--heroui-primary))",shadow:"hsl(var(--heroui-primary) / 0.18)"},Yo={bg:"hsl(var(--heroui-secondary) / 0.14)",text:"hsl(var(--heroui-secondary))",shadow:"hsl(var(--heroui-secondary) / 0.18)"},oc={bg:"rgba(239, 68, 68, 0.14)",text:"rgb(239, 68, 68)",shadow:"rgba(239, 68, 68, 0.18)"},Wt=[{bg:"rgba(139,92,246,0.14)",text:"rgb(139,92,246)",shadow:"rgba(139,92,246,0.18)"},{bg:"rgba(34,197,94,0.14)",text:"rgb(34,197,94)",shadow:"rgba(34,197,94,0.18)"},{bg:"rgba(0,166,212,0.14)",text:"rgb(0,166,212)",shadow:"rgba(0,166,212,0.18)"},{bg:"rgba(194,120,32,0.14)",text:"rgb(194,120,32)",shadow:"rgba(194,120,32,0.18)"},{bg:"rgba(202,138,4,0.14)",text:"rgb(202,138,4)",shadow:"rgba(202,138,4,0.18)"},{bg:"rgba(236,72,153,0.14)",text:"rgb(236,72,153)",shadow:"rgba(236,72,153,0.18)"},{bg:"rgba(99,102,241,0.14)",text:"rgb(99,102,241)",shadow:"rgba(99,102,241,0.18)"},{bg:"rgba(244,114,82,0.14)",text:"rgb(244,114,82)",shadow:"rgba(244,114,82,0.18)"}];function Ko(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}function sc(e){let t=e.outcomes?.map(a=>a.label?.toLowerCase().trim()??"")??[];if(t.some(a=>a==="up")&&t.some(a=>a==="down"))return [ln,oc];if(t.some(a=>a==="yes")&&t.some(a=>a==="no"))return [ln,Yo];let r=t[0]??"",o=t[1]??"",n=Ko(r)%Wt.length,s=Ko(o)%Wt.length;return s===n&&(s=(s+1)%Wt.length),[Wt[n],Wt[s]]}function ic(e){let t=e.outcomes?.[0];return t?t.best_ask??t.price??null:null}function qo(e){let t=ic(e);return t!=null?parseFloat((t*100).toFixed(2)):0}function Qo(e){return e<=1&&e>0?"< 1%":e>=99&&e<100?"> 99%":`${e}%`}function Vo(e){let t=e.outcomes?.[0],r=t?.best_ask??t?.price??0;return parseFloat((r*100).toFixed(2)).toString()}function jo(e){let t=e.outcomes?.[1];if(t){let n=t.best_ask??t.price??0;return parseFloat((n*100).toFixed(2)).toString()}let r=e.outcomes?.[0],o=r?.best_ask??r?.price??0;return parseFloat(((1-o)*100).toFixed(2)).toString()}function ac(e){let t=new Date(e).getTime()-Date.now();if(t<=0)return null;let r=Math.floor(t/864e5),o=Math.floor(t%864e5/36e5),n=Math.floor(t%36e5/6e4),s=[];return r>0&&s.push(`${r}d`),o>0&&s.push(`${o}h`),s.push(`${n}m`),s.join(" ")}var lc=`
2
2
  .badge-shine { position: relative; overflow: hidden; }
3
3
  .badge-shine::after {
4
4
  content: "";