@liberfi.io/ui-predict 2.0.11 → 2.0.13
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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var react=require('react'),ui=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'),reactPredict=require('@liberfi.io/react-predict'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),oo=require('canvas-confetti'),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 oo__default=/*#__PURE__*/_interopDefault(oo);typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-predict"]="2.0.11");var Ml="2.0.11";var El={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},ei=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],to=(()=>{let e=t=>{let r=ei.indexOf(t);return r===-1?ei.length:r};return Object.entries(El).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(n=>({slug:n,label:n}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function ni({categories:e,selectedCategory:t,selectedTag:r,activeTags:n,onCategorySelect:o,onTagSelect:i,trailing:s,pulsingTab:a="Trending",className:l}){let{t:c}=i18n.useTranslation(),p=react.useCallback(()=>{o(null);},[o]),u=c("predict.categories.trending");return jsxRuntime.jsxs("div",{className:ui.cn("sticky top-0 z-30 flex w-full flex-col justify-between gap-2 px-4 py-2.5 lg:px-4 lg:py-2",l),children:[jsxRuntime.jsx("style",{children:".cat-primary-row{display:flex;width:100%;flex-direction:column;gap:8px}@media(min-width:1024px){.cat-primary-row{flex-direction:row;align-items:center}}.cat-primary-row>.cat-tabs{min-width:0;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.cat-primary-row>.cat-tabs::-webkit-scrollbar{display:none}@media(min-width:1024px){.cat-primary-row>.cat-tabs{flex:1 1 0%}}"}),jsxRuntime.jsxs("div",{className:"cat-primary-row",children:[jsxRuntime.jsx("div",{className:"cat-tabs hideScrollbar",children:jsxRuntime.jsxs("div",{className:"flex min-h-9 items-stretch gap-x-3 lg:min-h-10",children:[jsxRuntime.jsx(ti,{label:u,isSelected:t===null,onPress:p,showPulse:u===a}),jsxRuntime.jsx(Rl,{}),e.map(m=>jsxRuntime.jsx(ti,{label:m.category,isSelected:t===m.category,onPress:()=>o(m.category),badge:m.badge,showPulse:m.category===a},m.category))]})}),s&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:s})]}),t&&n.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.5 pl-1 lg:w-full lg:gap-x-2",children:[jsxRuntime.jsx(ri,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),n.map(m=>jsxRuntime.jsx(ri,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>i(m.label)},m.label))]})})]})}function ti({label:e,isSelected:t,onPress:r,badge:n,showPulse:o}){return jsxRuntime.jsxs("button",{type:"button",onClick:r,className:ui.cn("relative shrink-0 cursor-pointer whitespace-nowrap border-b px-2.5 py-1.5 text-sm font-medium capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[o?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,n&&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:n})]})}function Rl(){return jsxRuntime.jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function ri({label:e,icon:t,isSelected:r,onPress:n}){return jsxRuntime.jsxs("button",{type:"button",onClick:n,className:ui.cn("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-3 py-1.5 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-primary/40 bg-primary/15 text-primary":"border-border/80 text-neutral-500 hover:bg-primary/10 hover:text-primary"),children:[t&&jsxRuntime.jsx("span",{className:ui.cn("iconify size-4",t)}),e]})}function U0({count:e=6}){return jsxRuntime.jsx("div",{className:"flex w-full flex-col gap-2 px-4 py-2.5 lg:px-4 lg:py-2",children:jsxRuntime.jsx("div",{className:"flex min-h-9 items-center gap-x-3 lg:min-h-10",children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx(ui.Skeleton,{className:"h-6 w-16 shrink-0 rounded"},r))})})}function Il(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function Ol(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function si({onSelect:e,trailing:t,className:r}){let[n,o]=react.useState(null),[i,s]=react.useState(null),a=react.useCallback(m=>{o(m),s(null),e?.({categorySlug:m,tagSlug:null});},[e]),l=react.useCallback(m=>{s(m),e?.({categorySlug:n,tagSlug:m});},[n,e]),c=Il(to),p=to.find(m=>m.slug===n),u=Ol(p);return jsxRuntime.jsx(ni,{categories:c,selectedCategory:n,selectedTag:i,activeTags:u,onCategorySelect:a,onTagSelect:l,trailing:t,className:r})}function an(e){return {title:e.title,imageUrl:e.image_url}}function ln(e,t){let r=e.outcomes[0],n=e.outcomes[1];return {question:e.question,yesAsk:t?.yesAsk??r?.best_ask??r?.price,noAsk:t?.noAsk??n?.best_ask??n?.price,yesBid:t?.yesBid??r?.best_bid,noBid:t?.noBid??n?.best_bid,yesSubTitle:r?.label??"Yes",noSubTitle:n?.label??"No"}}var _r=24,ro=4,cn={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},Qe={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},dn=Qe.ALL,J0={[Qe.ONE_DAY]:cn.ONE_MINUTE,[Qe.ONE_WEEK]:cn.ONE_HOUR,[Qe.ONE_MONTH]:cn.ONE_HOUR,[Qe.ALL]:cn.ONE_DAY},Z0={[Qe.ONE_DAY]:300,[Qe.ONE_WEEK]:3600,[Qe.ONE_MONTH]:10800,[Qe.ALL]:1440*60},eh={[Qe.ONE_DAY]:1440*60,[Qe.ONE_WEEK]:10080*60,[Qe.ONE_MONTH]:720*60*60,[Qe.ALL]:null},un=1,pn=1,th=1,rh=1,nh=99,gr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},oh=gr.ONE_WEEK,ih={[gr.ONE_HOUR]:60,[gr.SIX_HOURS]:60,[gr.ONE_DAY]:300,[gr.ONE_WEEK]:1800,[gr.MAX]:1800};var ci=react.createContext(null);function tr(){let e=react.useContext(ci);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var $l=1e4;function Wl({pollingInterval:e=$l,enabled:t=true,children:r}){let n=walletConnector.useWallets(),o=react.useMemo(()=>n.find(x=>x.chainNamespace===types.ChainNamespace.SOLANA&&x.isConnected)?.address,[n]),i=react.useMemo(()=>n.find(x=>x.chainNamespace===types.ChainNamespace.EVM&&x.isConnected)?.address,[n]),{data:s,isLoading:a,isFetching:l,error:c}=reactPredict.useBalance({source:"kalshi",user:o??""},{enabled:t&&!!o,refetchInterval:e}),{data:p,isLoading:u}=reactPredict.useDFlowKYC(o,{enabled:t&&!!o,refetchInterval:3e4}),{data:m,isLoading:d}=reactPredict.usePolymarketSetup(i,{enabled:t&&!!i,refetchInterval:3e4}),f=m?.safe_address,g=m?.verified??false,{data:v,isLoading:h,isFetching:S,error:N}=reactPredict.useBalance({source:"polymarket",user:i??""},{enabled:t&&g&&!!i,refetchInterval:e}),E=react.useMemo(()=>({solanaAddress:o,evmAddress:i,polymarketSafeAddress:f,kalshiUsdcBalance:s?Number(s.balance):null,polymarketUsdcBalance:g&&v?Number(v.balance):null,kalshiKycVerified:p?.verified??false,kalshiKycUrl:p?.kyc_url??null,kalshiKycLoading:u,polymarketSetupVerified:g,polymarketSafeDeployed:m?.safe_deployed??false,polymarketTokenApproved:m?.token_approved??false,polymarketSetupLoading:d,isLoading:a||h,isFetching:l||S,error:c??N??null}),[o,i,f,s,v,g,p,u,m,d,a,h,l,S,c,N]);return jsxRuntime.jsx(ci.Provider,{value:E,children:r})}var Kl={minutes:60,hours:3600,days:86400};function mn(e,t,r){let n=Math.floor(Date.now()/1e3);switch(e){case "5m":return n+300;case "1h":return n+3600;case "12h":return n+720*60;case "24h":return n+1440*60;case "eod":{let o=new Date;return o.setUTCHours(23,59,59,0),Math.floor(o.getTime()/1e3)}case "custom":return n+t*Kl[r]}}function fn(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function he(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function gn(e,t,r){let n=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(n)return t("predict.trade.polymarket.minOrderSize",{current:n[1],min:n[2]});let o=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(o){let s=parseInt(o[1],10)/1e6,a=parseInt(o[2],10)/1e6,l=Math.max(0,s-a);return t("predict.trade.polymarket.insufficientBalance",{total:he(s,2).toFixed(2),active:he(a,2).toFixed(2),available:he(l,2).toFixed(2)})}return /not enough balance/i.test(e)?t(r==="sell"?"predict.trade.insufficientShares":"predict.trade.insufficientBalance"):/max accuracy of/i.test(e)?t("predict.trade.polymarket.decimalAccuracy"):/tick size/i.test(e)?t("predict.trade.polymarket.tickSizeError"):/couldn.*fully filled|FOK.*filled or killed/i.test(e)?t("predict.trade.polymarket.fokNotFilled"):e.replace(/order\s+0x[a-f0-9]+\s+is invalid\.\s*/i,"")||e}function Rr(e,t=2){return parseFloat(he(e,t).toFixed(t)).toString()}function rr(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};oo__default.default({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{oo__default.default({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{oo__default.default({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function mi({market:e,initialOutcome:t="yes",slippageBps:r=100,onInsufficientBalance:n}){let{t:o}=i18n.useTranslation(),{status:i}=walletConnector.useAuth(),s=walletConnector.useWallets(),a=walletConnector.useSwitchChain(),l=reactPredict.usePredictClient(),c=react.useContext(reactPredict.PolymarketContext),p=reactQuery.useQueryClient(),u=e.source,m=u==="polymarket",d=s.find(D=>D.chainNamespace===types.ChainNamespace.SOLANA&&D.isConnected),f=s.find(D=>D.chainNamespace===types.ChainNamespace.EVM&&D.isConnected&&"switchChain"in D),g=i==="authenticated",v=d?.address,h=f?.address,S=react.useMemo(()=>{if(u!=="polymarket")return;let D=e.provider_meta?.["polymarket.clobTokenIds"];return D?(typeof D=="string"?JSON.parse(D):D)[0]:void 0},[u,e.provider_meta]),{data:N,isLoading:E}=reactPredict.useTickSize(S),x=N?.minimum_tick_size?String(N.minimum_tick_size):"0.01",{data:I,isLoading:k}=reactPredict.useFeeRate(S),_=String(I?.base_fee??0),[$,F]=react.useState(t),[U,C]=react.useState("market"),[P,B]=react.useState(NaN),[q,oe]=react.useState(NaN),[y,b]=react.useState(false),[w,G]=react.useState(null),[X,Z]=react.useState(false),[pe,$e]=react.useState(false),[Ae,_e]=react.useState("1h"),[ke,We]=react.useState(30),[gt,Ue]=react.useState("minutes"),Se=null,qe=false,Nt=null,A;try{let D=tr();Se={kalshiUsdcBalance:D.kalshiUsdcBalance,polymarketUsdcBalance:D.polymarketUsdcBalance,isLoading:D.isLoading},qe=D.kalshiKycVerified,Nt=D.kalshiKycUrl,A=D.polymarketSafeAddress;}catch{}let{data:ve}=reactPredict.useRealtimeOrderbook({slug:e.slug,source:u},{enabled:e.status==="open"}),ie=react.useMemo(()=>{let D=reactPredict.pickBestAsk(ve,$);if(D!=null&&D>0)return D;let Re=$==="yes"?0:1,Ke=e.outcomes[Re];return Ke?.best_ask??Ke?.price??.5},[ve,e.outcomes,$]),zt=react.useCallback(D=>{C(D);},[]),ut=react.useCallback(D=>{F(D),oe(NaN);},[]);react.useEffect(()=>{U==="limit"&&isNaN(q)&&oe(Math.round(ie*100)/100);},[U,q,ie]);let Fe=react.useMemo(()=>isNaN(P)||P<=0?0:ie>0?P/ie:0,[P,ie]),L=react.useMemo(()=>reactPredict.walkOrderbook({orderbook:ve,outcome:$,side:"buy",sharesNeeded:Fe,slippageBps:r}),[ve,$,Fe,r]),we=react.useMemo(()=>L.status==="ok"&&L.worstPrice!=null&&L.worstPrice>0?L.worstPrice:ie,[L,ie]),it=react.useMemo(()=>isNaN(P)||P<=0?"0":String(Math.round(P*1e6)),[P]),qn=e.provider_meta?.["dflow.yesMint"]??"",Gt=e.provider_meta?.["dflow.noMint"]??"",Yn=utils.SOLANA_TOKENS.stablecoins.USDC.address,Pr=$==="yes"?qn:Gt,Ct=Yn,st=Pr,ze=u==="kalshi"?v??"":h??"",{data:Nr,isLoading:Qn}=reactPredict.usePositions({source:u,user:ze},{enabled:!!ze}),Xn=u==="kalshi"&&!!Ct&&!!st&&!!v&&it!=="0",{refetch:Mt}=reactPredict.useDFlowQuote({inputMint:Ct,outputMint:st,amount:it,userPublicKey:v??"",slippageBps:100},{enabled:Xn}),Et=react.useMemo(()=>Se?u==="kalshi"?Se.kalshiUsdcBalance:Se.polymarketUsdcBalance:Nr&&Nr.positions.reduce((Re,Ke)=>Ke.side==="USDC"||Ke.side==="collateral"?Re+(Ke.current_value??0):Re,0)||null,[Se,Nr,u]),Jn=Se?Se.isLoading:Qn,Qr=react.useMemo(()=>U==="limit"&&m&&!isNaN(q)?q:ie,[U,m,q,ie]),Cr=react.useMemo(()=>isNaN(P)||P<=0?0:P,[P]),Xr=react.useMemo(()=>isNaN(P)||P<=0?0:Qr>0?P/Qr*1:0,[P,Qr]),qt=Xr-Cr,Yt=react.useCallback(D=>{if(isNaN(D)){B(NaN);return}B(Math.round(Math.max(0,D)*100)/100);},[]),Qt=react.useCallback(D=>{if(isNaN(D)){oe(NaN);return}let Re=Math.max(.01,Math.min(.99,D));oe(Math.round(Re*100)/100);},[]),Tt=react.useCallback(()=>{B(NaN),oe(NaN),C("market"),$e(false),_e("1h"),We(30),Ue("minutes");},[]),Mr=react.useMemo(()=>{let D=[];return isNaN(P)||P<=0?D.push(o("predict.trade.minAmountUsd",{amount:pn})):P<pn&&D.push(o("predict.trade.minAmountUsd",{amount:pn})),e.status!=="open"&&D.push(o("predict.trade.marketNotActive")),Et!=null&&!isNaN(P)&&P>0&&P>he(Et,2)&&D.push(o("predict.trade.insufficientBalance")),U==="limit"&&m&&(isNaN(q)||q<.01||q>.99)&&D.push(o("predict.trade.limitPriceRange")),U==="limit"&&m&&pe&&Ae==="custom"&&(isNaN(ke)||ke<=0)&&D.push(o("predict.trade.expiration.invalidDate")),u==="polymarket"&&U==="market"&&!isNaN(P)&&P>0&&Fe>0&&(L.status==="insufficient_liquidity"?D.push(o("predict.trade.insufficientLiquidity",{available:he(L.totalAvailable,2)})):L.status==="exceeds_slippage"&&D.push(o("predict.trade.priceImpactTooHigh",{impact:(L.priceImpactBps/100).toFixed(2),slippage:(r/100).toFixed(2)}))),{isValid:D.length===0,errors:D}},[P,e.status,Et,U,m,q,pe,Ae,ke,u,Fe,L,r,o]),Jr=react.useMemo(()=>Et==null||isNaN(P)||P<=0?false:P>he(Et,2),[Et,P]),Er=react.useCallback(()=>{n?.(u);},[n,u]),{mutateAsync:Ye}=reactPredict.useDFlowSubmit(),{data:mr}=reactPredict.useOrder({id:w??"",source:u},{enabled:!!w});react.useEffect(()=>{if(!mr||!w)return;let{status:D}=mr;D==="closed"?(G(null),b(false),ui.toast.success(o("predict.trade.submitSuccess")),rr(),Tt(),p.invalidateQueries({queryKey:["predict","positions"]})):(D==="failed"||D==="expired")&&(b(false),G(null),ui.toast.error(o("predict.trade.submitError")));},[mr,w,p,Tt,o]);let Zr=react.useCallback(async()=>{if(!v||!d)return;if(!Ct||!st){ui.toast.error("Missing token mint addresses"),b(false);return}if(!qe){Z(true),b(false);return}let ht=(await Mt()).data?.transaction;if(!ht){ui.toast.error(o("predict.trade.submitError")),b(false);return}let vt=Uint8Array.from(atob(ht),Jt=>Jt.charCodeAt(0)),at=await d.signTransaction(vt),Xt=await Ye({signedTransaction:btoa(String.fromCharCode(...at)),orderContext:{user_public_key:v,input_mint:Ct,output_mint:st,amount:it,price:String(ie),side:"BUY",outcome:$==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});G(Xt.signature);},[v,d,Mt,Ye,Ct,st,it,ie,$,e.slug,o,qe]),en=react.useCallback(async()=>{if(!f||!c)return;let D=f.chain,Re=D!==types.Chain.POLYGON;Re&&await a(types.Chain.POLYGON);try{let Ke=await f.getEip1193Provider();if(!Ke){ui.toast.error(o("predict.trade.submitError")),b(!1);return}let ht=!!A,vt={address:f.address,signatureType:ht?2:0,signTypedData:async(_t,eo,Jo,nn)=>{let Wt=[];"name"in _t&&Wt.push({name:"name",type:"string"}),"version"in _t&&Wt.push({name:"version",type:"string"}),"chainId"in _t&&Wt.push({name:"chainId",type:"uint256"}),"verifyingContract"in _t&&Wt.push({name:"verifyingContract",type:"address"}),"salt"in _t&&Wt.push({name:"salt",type:"bytes32"});let on={EIP712Domain:Wt,...eo};return await Ke.request({method:"eth_signTypedData_v4",params:[f.address,JSON.stringify({domain:_t,types:on,primaryType:Jo,message:nn})]})}},at=c.credentials??await c.authenticate(vt),Xt=$==="yes"?0:1,Jt="",xt=e.provider_meta?.["polymarket.clobTokenIds"];xt&&(Jt=(typeof xt=="string"?JSON.parse(xt):xt)[Xt]??"");let Tr=e.provider_meta?.["polymarket.negRisk"]??!1,tn=U==="limit"&&!isNaN(q)?q:we,Lr=fn(tn,x),M=U==="limit"?pe?"GTD":"GTC":"FOK",Pe=U==="market"?P:Lr>0?P/Lr:0,Ie={tokenId:Jt,price:Lr,size:Pe,side:"BUY",orderType:M,tickSize:x,negRisk:Tr,...A&&{funderAddress:A},...U==="limit"&&pe&&{expiration:mn(Ae,ke,gt)}},Be=reactPredict.buildCtfExchangeDomain(Tr),lt=reactPredict.buildOrderMessage({...Ie,signerAddress:vt.address,signatureType:vt.signatureType,feeRateBps:_}),Ve=await vt.signTypedData(Be,reactPredict.CTF_ORDER_TYPES,"Order",lt),Lt=reactPredict.buildSignedOrder(lt,Ve,Ie.orderType),Ee=reactPredict.buildClobPayload(Lt,at.apiKey),$t=JSON.stringify(Ee),rn=await reactPredict.buildPolymarketL2Headers(at.address,{apiKey:at.apiKey,secret:at.secret,passphrase:at.passphrase,method:"POST",requestPath:"/order",body:$t});await l.createPolymarketOrder(Ee,rn),p.invalidateQueries({queryKey:["predict","orders"]}),p.invalidateQueries({queryKey:["predict","positions"]}),ui.toast.success(o("predict.trade.submitSuccess")),rr(),Tt(),b(!1);}finally{Re&&D&&a(D).catch(()=>{});}},[f,c,a,$,e.provider_meta,U,q,we,P,l,p,pe,Ae,ke,gt,Tt,o,x,_,A]),Zn=react.useCallback(async()=>{if(!(!Mr.isValid||!g)){b(true),G(null),Z(false);try{u==="kalshi"?await Zr():await en();}catch(D){let Re=D instanceof Error?D.message:"",Ke=u==="polymarket"&&Re?gn(Re,o,"buy"):Re||void 0;ui.toast.error(Ke||o("predict.trade.submitError")),b(false);}}},[Mr.isValid,g,u,Zr,en,o]);return {outcome:$,orderType:U,quantity:P,limitPrice:q,shares:Fe,estimatedCost:Cr,potentialPayout:Xr,potentialProfit:qt,pricePerShare:ie,usdcBalance:Et,isBalanceLoading:Jn,isMarketDataLoading:u==="polymarket"&&(k||E),isSubmitting:y,validation:Mr,isInsufficientBalance:Jr,source:u,supportsLimitOrder:m,kycRequired:X,kycUrl:Nt,expirationEnabled:pe,expirationPreset:Ae,customDuration:ke,customDurationUnit:gt,setOutcome:ut,setOrderType:zt,setQuantity:Yt,setLimitPrice:Qt,setExpirationEnabled:$e,setExpirationPreset:_e,setCustomDuration:We,setCustomDurationUnit:Ue,submit:Zn,notifyInsufficientBalance:Er}}function hn({isOpen:e,onClose:t,kycUrl:r}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsx(ui.StyledModal,{isOpen:e,onOpenChange:o=>{o||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.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.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:n("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(o=>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:n(o)})]},o))}),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:[n("predict.trade.goToKYC")," \u2192"]}),jsxRuntime.jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:n("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:n("common.ok")})]})]})})})}var Ec=`https://s1.chainstream.io/chains/sol/tokens/${utils.SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,Tc=["5m","1h","12h","24h","eod","custom"],Lc={"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"},_c=["minutes","hours","days"],Rc={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},Ic={maximumFractionDigits:0};function ki({event:e,market:t,variant:r="bordered",outcome:n,orderType:o,quantity:i,limitPrice:s,shares:a,potentialProfit:l,potentialPayout:c,estimatedCost:p,usdcBalance:u,isBalanceLoading:m,isMarketDataLoading:d,isSubmitting:f,isValid:g,validationErrors:v,isInsufficientBalance:h,onInsufficientBalance:S,supportsLimitOrder:N,kycRequired:E,kycUrl:x,expirationEnabled:I,expirationPreset:k,customDuration:_,customDurationUnit:$,onOutcomeChange:F,onOrderTypeChange:U,onQuantityChange:C,onLimitPriceChange:P,onExpirationEnabledChange:B,onExpirationPresetChange:q,onCustomDurationChange:oe,onCustomDurationUnitChange:y,onSubmit:b}){let{t:w}=i18n.useTranslation(),[G,X]=react.useState(false),Z=ui.useDisclosure(),[pe,$e]=react.useState(""),Ae=react.useRef(false);react.useEffect(()=>{Ae.current||$e(isNaN(i)?"":String(i));},[i]);let[_e,ke]=react.useState(""),We=react.useRef(false);react.useEffect(()=>{We.current||(isNaN(s)?ke(""):ke(String(parseFloat((s*100).toFixed(2)))));},[s]);let gt=react.useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if(ke(L),L===""||L==="."){P(NaN);return}let it=parseFloat(L);isNaN(it)||P(it/100);},[P]),Ue=react.useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if($e(L),ut(false),L===""||L==="."){C(NaN);return}let it=parseFloat(L);isNaN(it)||C(it);},[C]);react.useEffect(()=>{E&&!Z.isOpen&&Z.onOpen();},[E]);let Se=react.useMemo(()=>{let L=n==="yes"?t.yesAsk:t.noAsk;return L!=null?parseFloat((Number(L)*100).toFixed(2)):null},[n,t]),qe=!isNaN(i)&&i>0,Nt=react.useMemo(()=>{if(m)return w("predict.trade.loadingBalance");if(d)return w("predict.trade.loadingMarketData");if(f)return w("predict.trade.submitting");if(E)return w("predict.trade.kycRequired");if(!qe)return w("predict.trade.enterAmount");let L=w(n==="yes"?"predict.trade.yes":"predict.trade.no"),we=l>0?` \u2192 Win $${l.toFixed(2)}`:"";return `${w("predict.trade.buy")} ${L}${we}`},[m,d,f,E,qe,n,l,w]),A=react.useMemo(()=>n==="yes"?"primary":"secondary",[n]),ve=()=>{C(Math.floor((u??0)/2*100)/100);},ie=()=>{C(he(u??0,2));},[zt,ut]=react.useState(false),Fe=()=>{if(E){Z.onOpen();return}if(h&&S){ut(false),S();return}if(!g){ut(true);return}ut(false),b();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},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:n==="yes"?"text-bullish":"text-bearish",children:[w("predict.trade.buy")," ",w(n==="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:[N?jsxRuntime.jsxs(ui.Tabs,{variant:"underlined",selectedKey:o,onSelectionChange:L=>U(L),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsxRuntime.jsx(ui.Tab,{title:w("predict.trade.market")},"market"),jsxRuntime.jsx(ui.Tab,{title:w("predict.trade.limit")},"limit")]}):jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:w("predict.trade.market")}),o==="limit"&&N?jsxRuntime.jsx(ui.StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:_e,onChange:L=>gt(L.target.value),onFocus:()=>{We.current=true;},onBlur:()=>{We.current=false,isNaN(s)?ke(""):ke(String(parseFloat((s*100).toFixed(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"}}):Se!=null&&jsxRuntime.jsxs("span",{className:"text-xl font-bold tabular-nums",children:[Se," \xA2"]})]}),jsxRuntime.jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(L=>{let we=L==="yes"?t.yesAsk:t.noAsk;return jsxRuntime.jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxRuntime.jsxs("button",{type:"button",onClick:()=>F(L),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${n===L?L==="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:w(L==="yes"?"predict.trade.yes":"predict.trade.no")}),we!=null&&jsxRuntime.jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(we)*100).toFixed(2)),"\xA2"]})]})},L)})}),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:w("predict.trade.youArePaying")}),jsxRuntime.jsxs("div",{className:"flex items-center gap-x-2",children:[jsxRuntime.jsx("img",{src:Ec,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsxRuntime.jsx("span",{className:"font-medium text-foreground tabular-nums",children:u!=null?`${he(u,2).toFixed(2)} USDC`:"\u2013"}),jsxRuntime.jsx("button",{type:"button",onClick:ve,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:w("predict.trade.half")}),jsxRuntime.jsx("button",{type:"button",onClick:ie,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:w("predict.trade.max")})]})]}),jsxRuntime.jsx(ui.StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:pe,onChange:L=>Ue(L.target.value),onFocus:()=>{Ae.current=true;},onBlur:()=>{Ae.current=false,$e(isNaN(i)?"":String(i));},startContent:jsxRuntime.jsx("span",{className:"text-default-600 text-xl",children:"$"}),classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),zt&&v.length>0&&jsxRuntime.jsx("div",{className:"flex flex-col gap-y-0.5",children:v.map(L=>jsxRuntime.jsx("span",{className:"text-xs text-danger",children:L},L))})]}),o==="limit"&&N&&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:w("predict.trade.setExpiration")}),jsxRuntime.jsx(ui.StyledSwitch,{size:"sm",color:"primary",isSelected:I,onValueChange:B,"aria-label":w("predict.trade.setExpiration")})]}),I&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Select,{"aria-label":w("predict.trade.setExpiration"),selectedKeys:[k],onSelectionChange:L=>{let we=Array.from(L)[0];we&&q(we);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Tc.map(L=>jsxRuntime.jsx(ui.SelectItem,{children:w(Lc[L])},L))}),k==="custom"&&jsxRuntime.jsxs("div",{className:"flex gap-x-2",children:[jsxRuntime.jsx(ui.StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(_)?void 0:_,onValueChange:oe,minValue:1,step:1,formatOptions:Ic,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.Select,{"aria-label":"Duration unit",selectedKeys:[$],onSelectionChange:L=>{let we=Array.from(L)[0];we&&y(we);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:_c.map(L=>jsxRuntime.jsx(ui.SelectItem,{children:w(Rc[L])},L))})]})]})]}),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:()=>X(L=>!L),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsxRuntime.jsx("span",{children:w("predict.trade.odds")}),jsxRuntime.jsx(ui.ChevronDownIcon,{className:ui.cn("h-3.5 w-3.5 transition-transform",G&&"rotate-180")})]}),Se!=null&&jsxRuntime.jsx("span",{className:"text-foreground font-medium tabular-nums",children:w("predict.trade.chance",{percent:Se})})]}),G&&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:w("predict.trade.totalSize")}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${p.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:w("predict.trade.numContracts")}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?Rr(a):"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:w("predict.trade.payout")}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${c.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:w("predict.trade.estProfit")}),jsxRuntime.jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&l>0?`+$${l.toFixed(2)}`:"\u2013"})]})]})]}),jsxRuntime.jsx(ui.Button,{color:A,fullWidth:true,radius:"lg",size:"lg",isDisabled:m||d||!qe||f,isLoading:f||m||d,spinner:jsxRuntime.jsx(ui.Spinner,{size:"sm",color:"current"}),onPress:Fe,children:Nt})]}),jsxRuntime.jsx(hn,{isOpen:Z.isOpen,onClose:Z.onClose,kycUrl:x})]})}function xn({event:e,market:t,variant:r,initialOutcome:n,chain:o,slippageBps:i,onInsufficientBalance:s}){let{outcome:a,orderType:l,quantity:c,limitPrice:p,shares:u,estimatedCost:m,potentialPayout:d,potentialProfit:f,pricePerShare:g,usdcBalance:v,isBalanceLoading:h,isMarketDataLoading:S,isSubmitting:N,validation:E,isInsufficientBalance:x,supportsLimitOrder:I,kycRequired:k,kycUrl:_,expirationEnabled:$,expirationPreset:F,customDuration:U,customDurationUnit:C,setOutcome:P,setOrderType:B,setQuantity:q,setLimitPrice:oe,setExpirationEnabled:y,setExpirationPreset:b,setCustomDuration:w,setCustomDurationUnit:G,submit:X,notifyInsufficientBalance:Z}=mi({market:t,initialOutcome:n,slippageBps:i,onInsufficientBalance:s}),pe=walletConnector.useAuthCallback(X),$e=react.useMemo(()=>e?an(e):void 0,[e]),Ae=react.useMemo(()=>ln(t,{yesAsk:a==="yes"?g:void 0,noAsk:a==="no"?g:void 0}),[t,a,g]);return jsxRuntime.jsx(ki,{event:$e,market:Ae,variant:r,outcome:a,orderType:l,quantity:c,limitPrice:p,shares:u,estimatedCost:m,potentialPayout:d,potentialProfit:f,usdcBalance:v,isBalanceLoading:h,isMarketDataLoading:S,isSubmitting:N,isValid:E.isValid,validationErrors:E.errors,isInsufficientBalance:x,onInsufficientBalance:s?Z:void 0,supportsLimitOrder:I,kycRequired:k,kycUrl:_,expirationEnabled:$,expirationPreset:F,customDuration:U,customDurationUnit:C,onOutcomeChange:P,onOrderTypeChange:B,onQuantityChange:q,onLimitPriceChange:oe,onExpirationEnabledChange:y,onExpirationPresetChange:b,onCustomDurationChange:w,onCustomDurationUnitChange:G,onSubmit:pe})}var Ir="predict-trade";function bn({id:e=Ir}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx($c,{...t})})}function $c({params:e,isOpen:t,onOpenChange:r}){let{t:n}=i18n.useTranslation(),{isMobile:o}=ui.useScreen();return e?jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:r,size:o?"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.ModalContent,{children:jsxRuntime.jsxs("div",{className:o?"":"p-2",children:[jsxRuntime.jsx(xn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,slippageBps:e.slippageBps,variant:"flat",onInsufficientBalance:e.onInsufficientBalance}),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:n("common.cancel")})})]})})}):null}var ao={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function lo(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function wi({isOpen:e,onClose:t,value:r,onChange:n}){let{t:o}=i18n.useTranslation(),[i,s]=react.useState(r),a=react.useCallback(v=>{v?s(r):t();},[r,t]),l=react.useCallback(()=>{s(ao);},[]),c=react.useCallback(()=>{n(i),t();},[i,n,t]),p=react.useCallback((v,h)=>{s(S=>({...S,[v]:h}));},[]),u=react.useMemo(()=>lo(i),[i]),m=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"polymarket",label:o("predict.platform.polymarket")},{value:"kalshi",label:o("predict.platform.kalshi")}],[o]),d=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1d",label:o("predict.filter.lessThanDay")},{value:"7d",label:o("predict.filter.lessThanWeek")},{value:"30d",label:o("predict.filter.lessThanMonth")}],[o]),f=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]),g=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:e,onOpenChange:a,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.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.filter.title")}),jsxRuntime.jsx(Gc,{onClick:()=>a(false)})]}),jsxRuntime.jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsxRuntime.jsx(kn,{label:o("predict.filter.platform"),children:jsxRuntime.jsx(Sn,{options:m,selected:i.source,onSelect:v=>p("source",v)})}),jsxRuntime.jsx(kn,{label:o("predict.filter.timeRemaining"),children:jsxRuntime.jsx(Sn,{options:d,selected:i.timeRemaining,onSelect:v=>p("timeRemaining",v)})}),jsxRuntime.jsx(kn,{label:o("predict.filter.minVolume"),children:jsxRuntime.jsx(Sn,{options:f,selected:i.minVolume,onSelect:v=>p("minVolume",v)})}),jsxRuntime.jsx(kn,{label:o("predict.filter.minLiquidity"),children:jsxRuntime.jsx(Sn,{options:g,selected:i.minLiquidity,onSelect:v=>p("minLiquidity",v)})})]}),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:o("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:[o("predict.filter.showResults"),u>0&&jsxRuntime.jsxs("span",{style:{opacity:.7},children:["(",u,")"]})]})]})]})})})}function kn({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 Gc({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 Sn({options:e,selected:t,onSelect:r,allowDeselect:n=true}){return jsxRuntime.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(o=>{let i=t===o.value;return jsxRuntime.jsx("button",{type:"button",onClick:()=>{r(i&&n?void 0:o.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:i?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:i?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:i?"#c7ff2e":"#a1a1aa"},onMouseEnter:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.8)",s.currentTarget.style.color="#fff");},onMouseLeave:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.4)",s.currentTarget.style.color="#a1a1aa");},children:o.label},o.value??"__all")})})}var Ei={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},Ni={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},rd=["start_time","volume","liquidity","ending_soon"],Ci={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"},nd={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 Ti({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:n,onFilterPress:o,filterCount:i=0,className:s}){let{t:a}=i18n.useTranslation(),[l,c]=react.useState(false),p=react.useRef(null),u=react.useCallback(d=>{p.current&&!p.current.contains(d.target)&&c(false);},[]);react.useEffect(()=>(document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)),[u]),react.useEffect(()=>{if(!l)return;let d=f=>{f.key==="Escape"&&c(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[l]);let m=Mi[e];return jsxRuntime.jsxs("div",{className:s,style:{display:"flex",alignItems:"center",gap:8},children:[jsxRuntime.jsxs("div",{ref:p,style:{position:"relative"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ci,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(od,{}),jsxRuntime.jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a(Ni[e])}),jsxRuntime.jsx(sd,{open:l})]}),l&&jsxRuntime.jsx("div",{style:{...nd,width:224,padding:4},children:rd.map(d=>{let f=Mi[d],g=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:g?"rgba(199,255,46,0.08)":"transparent",color:g?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:v=>{g||(v.currentTarget.style.background="rgba(39,39,42,0.5)",v.currentTarget.style.color="#fff");},onMouseLeave:v=>{g||(v.currentTarget.style.background="transparent",v.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===d?n(!r):t(d),c(false);},children:[jsxRuntime.jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsxRuntime.jsx("span",{style:{flex:1,fontWeight:500},children:a(Ni[d])}),g&&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:()=>n(!r),children:r?"\u2191":"\u2193"}),jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ci,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:o,children:[jsxRuntime.jsx(id,{}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a("predict.filter.title")})]}),i>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:i})]})]})}var Mi={start_time:ui.CalendarIcon,volume:ui.ChartLineIcon,liquidity:ui.DropletIcon,ending_soon:ui.TimerIcon};function od(){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 id(){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 sd({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 Ri(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,e.markets_limit]),{data:r,isLoading:n,isFetching:o,isFetchingNextPage:i,isError:s,error:a,hasNextPage:l,fetchNextPage:c,refetch:p}=reactPredict.useInfiniteEvents(t),u=react.useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),m=react.useCallback(()=>{c();},[c]),d=react.useCallback(()=>{p();},[p]);return {data:u,isLoading:n,isFetching:o&&!i,isFetchingMore:i,isError:s,error:a??null,hasMore:l??false,fetchMore:m,refetch:d}}var Ii=`
|
|
1
|
+
'use strict';var react=require('react'),ui=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'),reactPredict=require('@liberfi.io/react-predict'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),oo=require('canvas-confetti'),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 oo__default=/*#__PURE__*/_interopDefault(oo);typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-predict"]="2.0.13");var Ml="2.0.13";var El={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},ei=["Politics","Sports","Crypto","Economics","Financials","Elections","Entertainment","Companies","Science and Technology","Climate and Weather","Mentions","Social","World"],to=(()=>{let e=t=>{let r=ei.indexOf(t);return r===-1?ei.length:r};return Object.entries(El).map(([t,r])=>({slug:t,label:t,tags:(r??[]).map(n=>({slug:n,label:n}))})).sort((t,r)=>e(t.slug)-e(r.slug))})();function ni({categories:e,selectedCategory:t,selectedTag:r,activeTags:n,onCategorySelect:o,onTagSelect:i,trailing:s,pulsingTab:a="Trending",className:l}){let{t:c}=i18n.useTranslation(),p=react.useCallback(()=>{o(null);},[o]),u=c("predict.categories.trending");return jsxRuntime.jsxs("div",{className:ui.cn("sticky top-0 z-30 flex w-full flex-col justify-between gap-2 px-4 py-2.5 lg:px-4 lg:py-2",l),children:[jsxRuntime.jsx("style",{children:".cat-primary-row{display:flex;width:100%;flex-direction:column;gap:8px}@media(min-width:1024px){.cat-primary-row{flex-direction:row;align-items:center}}.cat-primary-row>.cat-tabs{min-width:0;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.cat-primary-row>.cat-tabs::-webkit-scrollbar{display:none}@media(min-width:1024px){.cat-primary-row>.cat-tabs{flex:1 1 0%}}"}),jsxRuntime.jsxs("div",{className:"cat-primary-row",children:[jsxRuntime.jsx("div",{className:"cat-tabs hideScrollbar",children:jsxRuntime.jsxs("div",{className:"flex min-h-9 items-stretch gap-x-3 lg:min-h-10",children:[jsxRuntime.jsx(ti,{label:u,isSelected:t===null,onPress:p,showPulse:u===a}),jsxRuntime.jsx(Rl,{}),e.map(m=>jsxRuntime.jsx(ti,{label:m.category,isSelected:t===m.category,onPress:()=>o(m.category),badge:m.badge,showPulse:m.category===a},m.category))]})}),s&&jsxRuntime.jsx("div",{className:"flex-shrink-0",children:s})]}),t&&n.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.5 pl-1 lg:w-full lg:gap-x-2",children:[jsxRuntime.jsx(ri,{label:c("predict.categories.allMarkets"),isSelected:r===null,onPress:()=>i(null)}),n.map(m=>jsxRuntime.jsx(ri,{label:m.label,icon:m.icon,isSelected:r===m.label,onPress:()=>i(m.label)},m.label))]})})]})}function ti({label:e,isSelected:t,onPress:r,badge:n,showPulse:o}){return jsxRuntime.jsxs("button",{type:"button",onClick:r,className:ui.cn("relative shrink-0 cursor-pointer whitespace-nowrap border-b px-2.5 py-1.5 text-sm font-medium capitalize transition-colors",t?"border-primary/50 text-primary":"border-transparent text-neutral-500 hover:text-neutral-300"),children:[o?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,n&&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:n})]})}function Rl(){return jsxRuntime.jsx("span",{className:"flex items-center text-neutral-600","aria-hidden":"true",children:"|"})}function ri({label:e,icon:t,isSelected:r,onPress:n}){return jsxRuntime.jsxs("button",{type:"button",onClick:n,className:ui.cn("flex shrink-0 items-center justify-center gap-x-1 min-w-14 rounded-2xl border px-3 py-1.5 text-sm font-medium uppercase transition-colors cursor-pointer",r?"border-primary/40 bg-primary/15 text-primary":"border-border/80 text-neutral-500 hover:bg-primary/10 hover:text-primary"),children:[t&&jsxRuntime.jsx("span",{className:ui.cn("iconify size-4",t)}),e]})}function U0({count:e=6}){return jsxRuntime.jsx("div",{className:"flex w-full flex-col gap-2 px-4 py-2.5 lg:px-4 lg:py-2",children:jsxRuntime.jsx("div",{className:"flex min-h-9 items-center gap-x-3 lg:min-h-10",children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx(ui.Skeleton,{className:"h-6 w-16 shrink-0 rounded"},r))})})}function Il(e){return e.map(t=>({category:t.label,tags:t.tags.map(r=>r.label)}))}function Ol(e){return e?e.tags.map(t=>({label:t.label,icon:t.icon})):[]}function si({onSelect:e,trailing:t,className:r}){let[n,o]=react.useState(null),[i,s]=react.useState(null),a=react.useCallback(m=>{o(m),s(null),e?.({categorySlug:m,tagSlug:null});},[e]),l=react.useCallback(m=>{s(m),e?.({categorySlug:n,tagSlug:m});},[n,e]),c=Il(to),p=to.find(m=>m.slug===n),u=Ol(p);return jsxRuntime.jsx(ni,{categories:c,selectedCategory:n,selectedTag:i,activeTags:u,onCategorySelect:a,onTagSelect:l,trailing:t,className:r})}function an(e){return {title:e.title,imageUrl:e.image_url}}function ln(e,t){let r=e.outcomes[0],n=e.outcomes[1];return {question:e.question,yesAsk:t?.yesAsk??r?.best_ask??r?.price,noAsk:t?.noAsk??n?.best_ask??n?.price,yesBid:t?.yesBid??r?.best_bid,noBid:t?.noBid??n?.best_bid,yesSubTitle:r?.label??"Yes",noSubTitle:n?.label??"No"}}var _r=24,ro=4,cn={ONE_MINUTE:1,ONE_HOUR:60,ONE_DAY:1440},Qe={ONE_DAY:"1d",ONE_WEEK:"1w",ONE_MONTH:"1m",ALL:"all"},dn=Qe.ALL,J0={[Qe.ONE_DAY]:cn.ONE_MINUTE,[Qe.ONE_WEEK]:cn.ONE_HOUR,[Qe.ONE_MONTH]:cn.ONE_HOUR,[Qe.ALL]:cn.ONE_DAY},Z0={[Qe.ONE_DAY]:300,[Qe.ONE_WEEK]:3600,[Qe.ONE_MONTH]:10800,[Qe.ALL]:1440*60},eh={[Qe.ONE_DAY]:1440*60,[Qe.ONE_WEEK]:10080*60,[Qe.ONE_MONTH]:720*60*60,[Qe.ALL]:null},un=1,pn=1,th=1,rh=1,nh=99,gr={ONE_HOUR:"1h",SIX_HOURS:"6h",ONE_DAY:"1d",ONE_WEEK:"1w",MAX:"max"},oh=gr.ONE_WEEK,ih={[gr.ONE_HOUR]:60,[gr.SIX_HOURS]:60,[gr.ONE_DAY]:300,[gr.ONE_WEEK]:1800,[gr.MAX]:1800};var ci=react.createContext(null);function tr(){let e=react.useContext(ci);if(!e)throw new Error("usePredictWallet must be used within a PredictWalletProvider");return e}var $l=1e4;function Wl({pollingInterval:e=$l,enabled:t=true,children:r}){let n=walletConnector.useWallets(),o=react.useMemo(()=>n.find(x=>x.chainNamespace===types.ChainNamespace.SOLANA&&x.isConnected)?.address,[n]),i=react.useMemo(()=>n.find(x=>x.chainNamespace===types.ChainNamespace.EVM&&x.isConnected)?.address,[n]),{data:s,isLoading:a,isFetching:l,error:c}=reactPredict.useBalance({source:"kalshi",user:o??""},{enabled:t&&!!o,refetchInterval:e}),{data:p,isLoading:u}=reactPredict.useDFlowKYC(o,{enabled:t&&!!o,refetchInterval:3e4}),{data:m,isLoading:d}=reactPredict.usePolymarketSetup(i,{enabled:t&&!!i,refetchInterval:3e4}),f=m?.safe_address,g=m?.verified??false,{data:v,isLoading:h,isFetching:S,error:N}=reactPredict.useBalance({source:"polymarket",user:i??""},{enabled:t&&g&&!!i,refetchInterval:e}),E=react.useMemo(()=>({solanaAddress:o,evmAddress:i,polymarketSafeAddress:f,kalshiUsdcBalance:s?Number(s.balance):null,polymarketUsdcBalance:g&&v?Number(v.balance):null,kalshiKycVerified:p?.verified??false,kalshiKycUrl:p?.kyc_url??null,kalshiKycLoading:u,polymarketSetupVerified:g,polymarketSafeDeployed:m?.safe_deployed??false,polymarketTokenApproved:m?.token_approved??false,polymarketSetupLoading:d,isLoading:a||h,isFetching:l||S,error:c??N??null}),[o,i,f,s,v,g,p,u,m,d,a,h,l,S,c,N]);return jsxRuntime.jsx(ci.Provider,{value:E,children:r})}var Kl={minutes:60,hours:3600,days:86400};function mn(e,t,r){let n=Math.floor(Date.now()/1e3);switch(e){case "5m":return n+300;case "1h":return n+3600;case "12h":return n+720*60;case "24h":return n+1440*60;case "eod":{let o=new Date;return o.setUTCHours(23,59,59,0),Math.floor(o.getTime()/1e3)}case "custom":return n+t*Kl[r]}}function fn(e,t){let r=parseFloat(t);return !r||r<=0?e:Math.round(e/r)*r}function he(e,t){let r=Math.pow(10,t);return Math.floor(e*r)/r}function gn(e,t,r){let n=e.match(/Size\s*\(([\d.]+)\)\s*lower than the minimum:\s*([\d.]+)/i);if(n)return t("predict.trade.polymarket.minOrderSize",{current:n[1],min:n[2]});let o=e.match(/balance:\s*(\d+),\s*sum of active orders:\s*(\d+)/i);if(o){let s=parseInt(o[1],10)/1e6,a=parseInt(o[2],10)/1e6,l=Math.max(0,s-a);return t("predict.trade.polymarket.insufficientBalance",{total:he(s,2).toFixed(2),active:he(a,2).toFixed(2),available:he(l,2).toFixed(2)})}return /not enough balance/i.test(e)?t(r==="sell"?"predict.trade.insufficientShares":"predict.trade.insufficientBalance"):/max accuracy of/i.test(e)?t("predict.trade.polymarket.decimalAccuracy"):/tick size/i.test(e)?t("predict.trade.polymarket.tickSizeError"):/couldn.*fully filled|FOK.*filled or killed/i.test(e)?t("predict.trade.polymarket.fokNotFilled"):e.replace(/order\s+0x[a-f0-9]+\s+is invalid\.\s*/i,"")||e}function Rr(e,t=2){return parseFloat(he(e,t).toFixed(t)).toString()}function rr(){let e={startVelocity:30,spread:360,ticks:60,zIndex:9999};oo__default.default({...e,particleCount:80,origin:{x:.5,y:.4}}),setTimeout(()=>{oo__default.default({...e,particleCount:40,origin:{x:.3,y:.6}});},150),setTimeout(()=>{oo__default.default({...e,particleCount:40,origin:{x:.7,y:.6}});},300);}function mi({market:e,initialOutcome:t="yes",slippageBps:r=100,onInsufficientBalance:n}){let{t:o}=i18n.useTranslation(),{status:i}=walletConnector.useAuth(),s=walletConnector.useWallets(),a=walletConnector.useSwitchChain(),l=reactPredict.usePredictClient(),c=react.useContext(reactPredict.PolymarketContext),p=reactQuery.useQueryClient(),u=e.source,m=u==="polymarket",d=s.find(D=>D.chainNamespace===types.ChainNamespace.SOLANA&&D.isConnected),f=s.find(D=>D.chainNamespace===types.ChainNamespace.EVM&&D.isConnected&&"switchChain"in D),g=i==="authenticated",v=d?.address,h=f?.address,S=react.useMemo(()=>{if(u!=="polymarket")return;let D=e.provider_meta?.["polymarket.clobTokenIds"];return D?(typeof D=="string"?JSON.parse(D):D)[0]:void 0},[u,e.provider_meta]),{data:N,isLoading:E}=reactPredict.useTickSize(S),x=N?.minimum_tick_size?String(N.minimum_tick_size):"0.01",{data:I,isLoading:k}=reactPredict.useFeeRate(S),_=String(I?.base_fee??0),[$,F]=react.useState(t),[U,C]=react.useState("market"),[P,B]=react.useState(NaN),[q,oe]=react.useState(NaN),[y,b]=react.useState(false),[w,G]=react.useState(null),[X,Z]=react.useState(false),[pe,$e]=react.useState(false),[Ae,_e]=react.useState("1h"),[ke,We]=react.useState(30),[gt,Ue]=react.useState("minutes"),Se=null,qe=false,Nt=null,A;try{let D=tr();Se={kalshiUsdcBalance:D.kalshiUsdcBalance,polymarketUsdcBalance:D.polymarketUsdcBalance,isLoading:D.isLoading},qe=D.kalshiKycVerified,Nt=D.kalshiKycUrl,A=D.polymarketSafeAddress;}catch{}let{data:ve}=reactPredict.useRealtimeOrderbook({slug:e.slug,source:u},{enabled:e.status==="open"}),ie=react.useMemo(()=>{let D=reactPredict.pickBestAsk(ve,$);if(D!=null&&D>0)return D;let Re=$==="yes"?0:1,Ke=e.outcomes[Re];return Ke?.best_ask??Ke?.price??.5},[ve,e.outcomes,$]),zt=react.useCallback(D=>{C(D);},[]),ut=react.useCallback(D=>{F(D),oe(NaN);},[]);react.useEffect(()=>{U==="limit"&&isNaN(q)&&oe(Math.round(ie*100)/100);},[U,q,ie]);let Fe=react.useMemo(()=>isNaN(P)||P<=0?0:ie>0?P/ie:0,[P,ie]),L=react.useMemo(()=>reactPredict.walkOrderbook({orderbook:ve,outcome:$,side:"buy",sharesNeeded:Fe,slippageBps:r}),[ve,$,Fe,r]),we=react.useMemo(()=>L.status==="ok"&&L.worstPrice!=null&&L.worstPrice>0?L.worstPrice:ie,[L,ie]),it=react.useMemo(()=>isNaN(P)||P<=0?"0":String(Math.round(P*1e6)),[P]),qn=e.provider_meta?.["dflow.yesMint"]??"",Gt=e.provider_meta?.["dflow.noMint"]??"",Yn=utils.SOLANA_TOKENS.stablecoins.USDC.address,Pr=$==="yes"?qn:Gt,Ct=Yn,st=Pr,ze=u==="kalshi"?v??"":h??"",{data:Nr,isLoading:Qn}=reactPredict.usePositions({source:u,user:ze},{enabled:!!ze}),Xn=u==="kalshi"&&!!Ct&&!!st&&!!v&&it!=="0",{refetch:Mt}=reactPredict.useDFlowQuote({inputMint:Ct,outputMint:st,amount:it,userPublicKey:v??"",slippageBps:100},{enabled:Xn}),Et=react.useMemo(()=>Se?u==="kalshi"?Se.kalshiUsdcBalance:Se.polymarketUsdcBalance:Nr&&Nr.positions.reduce((Re,Ke)=>Ke.side==="USDC"||Ke.side==="collateral"?Re+(Ke.current_value??0):Re,0)||null,[Se,Nr,u]),Jn=Se?Se.isLoading:Qn,Qr=react.useMemo(()=>U==="limit"&&m&&!isNaN(q)?q:ie,[U,m,q,ie]),Cr=react.useMemo(()=>isNaN(P)||P<=0?0:P,[P]),Xr=react.useMemo(()=>isNaN(P)||P<=0?0:Qr>0?P/Qr*1:0,[P,Qr]),qt=Xr-Cr,Yt=react.useCallback(D=>{if(isNaN(D)){B(NaN);return}B(Math.round(Math.max(0,D)*100)/100);},[]),Qt=react.useCallback(D=>{if(isNaN(D)){oe(NaN);return}let Re=Math.max(.01,Math.min(.99,D));oe(Math.round(Re*100)/100);},[]),Tt=react.useCallback(()=>{B(NaN),oe(NaN),C("market"),$e(false),_e("1h"),We(30),Ue("minutes");},[]),Mr=react.useMemo(()=>{let D=[];return isNaN(P)||P<=0?D.push(o("predict.trade.minAmountUsd",{amount:pn})):P<pn&&D.push(o("predict.trade.minAmountUsd",{amount:pn})),e.status!=="open"&&D.push(o("predict.trade.marketNotActive")),Et!=null&&!isNaN(P)&&P>0&&P>he(Et,2)&&D.push(o("predict.trade.insufficientBalance")),U==="limit"&&m&&(isNaN(q)||q<.01||q>.99)&&D.push(o("predict.trade.limitPriceRange")),U==="limit"&&m&&pe&&Ae==="custom"&&(isNaN(ke)||ke<=0)&&D.push(o("predict.trade.expiration.invalidDate")),u==="polymarket"&&U==="market"&&!isNaN(P)&&P>0&&Fe>0&&(L.status==="insufficient_liquidity"?D.push(o("predict.trade.insufficientLiquidity",{available:he(L.totalAvailable,2)})):L.status==="exceeds_slippage"&&D.push(o("predict.trade.priceImpactTooHigh",{impact:(L.priceImpactBps/100).toFixed(2),slippage:(r/100).toFixed(2)}))),{isValid:D.length===0,errors:D}},[P,e.status,Et,U,m,q,pe,Ae,ke,u,Fe,L,r,o]),Jr=react.useMemo(()=>Et==null||isNaN(P)||P<=0?false:P>he(Et,2),[Et,P]),Er=react.useCallback(()=>{n?.(u);},[n,u]),{mutateAsync:Ye}=reactPredict.useDFlowSubmit(),{data:mr}=reactPredict.useOrder({id:w??"",source:u},{enabled:!!w});react.useEffect(()=>{if(!mr||!w)return;let{status:D}=mr;D==="closed"?(G(null),b(false),ui.toast.success(o("predict.trade.submitSuccess")),rr(),Tt(),p.invalidateQueries({queryKey:["predict","positions"]})):(D==="failed"||D==="expired")&&(b(false),G(null),ui.toast.error(o("predict.trade.submitError")));},[mr,w,p,Tt,o]);let Zr=react.useCallback(async()=>{if(!v||!d)return;if(!Ct||!st){ui.toast.error("Missing token mint addresses"),b(false);return}if(!qe){Z(true),b(false);return}let ht=(await Mt()).data?.transaction;if(!ht){ui.toast.error(o("predict.trade.submitError")),b(false);return}let vt=Uint8Array.from(atob(ht),Jt=>Jt.charCodeAt(0)),at=await d.signTransaction(vt),Xt=await Ye({signedTransaction:btoa(String.fromCharCode(...at)),orderContext:{user_public_key:v,input_mint:Ct,output_mint:st,amount:it,price:String(ie),side:"BUY",outcome:$==="yes"?"YES":"NO",market_slug:e.slug,slippage_bps:100}});G(Xt.signature);},[v,d,Mt,Ye,Ct,st,it,ie,$,e.slug,o,qe]),en=react.useCallback(async()=>{if(!f||!c)return;let D=f.chain,Re=D!==types.Chain.POLYGON;Re&&await a(types.Chain.POLYGON);try{let Ke=await f.getEip1193Provider();if(!Ke){ui.toast.error(o("predict.trade.submitError")),b(!1);return}let ht=!!A,vt={address:f.address,signatureType:ht?2:0,signTypedData:async(_t,eo,Jo,nn)=>{let Wt=[];"name"in _t&&Wt.push({name:"name",type:"string"}),"version"in _t&&Wt.push({name:"version",type:"string"}),"chainId"in _t&&Wt.push({name:"chainId",type:"uint256"}),"verifyingContract"in _t&&Wt.push({name:"verifyingContract",type:"address"}),"salt"in _t&&Wt.push({name:"salt",type:"bytes32"});let on={EIP712Domain:Wt,...eo};return await Ke.request({method:"eth_signTypedData_v4",params:[f.address,JSON.stringify({domain:_t,types:on,primaryType:Jo,message:nn})]})}},at=c.credentials??await c.authenticate(vt),Xt=$==="yes"?0:1,Jt="",xt=e.provider_meta?.["polymarket.clobTokenIds"];xt&&(Jt=(typeof xt=="string"?JSON.parse(xt):xt)[Xt]??"");let Tr=e.provider_meta?.["polymarket.negRisk"]??!1,tn=U==="limit"&&!isNaN(q)?q:we,Lr=fn(tn,x),M=U==="limit"?pe?"GTD":"GTC":"FOK",Pe=U==="market"?P:Lr>0?P/Lr:0,Ie={tokenId:Jt,price:Lr,size:Pe,side:"BUY",orderType:M,tickSize:x,negRisk:Tr,...A&&{funderAddress:A},...U==="limit"&&pe&&{expiration:mn(Ae,ke,gt)}},Be=reactPredict.buildCtfExchangeDomain(Tr),lt=reactPredict.buildOrderMessage({...Ie,signerAddress:vt.address,signatureType:vt.signatureType,feeRateBps:_}),Ve=await vt.signTypedData(Be,reactPredict.CTF_ORDER_TYPES,"Order",lt),Lt=reactPredict.buildSignedOrder(lt,Ve,Ie.orderType),Ee=reactPredict.buildClobPayload(Lt,at.apiKey),$t=JSON.stringify(Ee),rn=await reactPredict.buildPolymarketL2Headers(at.address,{apiKey:at.apiKey,secret:at.secret,passphrase:at.passphrase,method:"POST",requestPath:"/order",body:$t});await l.createPolymarketOrder(Ee,rn),p.invalidateQueries({queryKey:["predict","orders"]}),p.invalidateQueries({queryKey:["predict","positions"]}),ui.toast.success(o("predict.trade.submitSuccess")),rr(),Tt(),b(!1);}finally{Re&&D&&a(D).catch(()=>{});}},[f,c,a,$,e.provider_meta,U,q,we,P,l,p,pe,Ae,ke,gt,Tt,o,x,_,A]),Zn=react.useCallback(async()=>{if(!(!Mr.isValid||!g)){b(true),G(null),Z(false);try{u==="kalshi"?await Zr():await en();}catch(D){let Re=D instanceof Error?D.message:"",Ke=u==="polymarket"&&Re?gn(Re,o,"buy"):Re||void 0;ui.toast.error(Ke||o("predict.trade.submitError")),b(false);}}},[Mr.isValid,g,u,Zr,en,o]);return {outcome:$,orderType:U,quantity:P,limitPrice:q,shares:Fe,estimatedCost:Cr,potentialPayout:Xr,potentialProfit:qt,pricePerShare:ie,usdcBalance:Et,isBalanceLoading:Jn,isMarketDataLoading:u==="polymarket"&&(k||E),isSubmitting:y,validation:Mr,isInsufficientBalance:Jr,source:u,supportsLimitOrder:m,kycRequired:X,kycUrl:Nt,expirationEnabled:pe,expirationPreset:Ae,customDuration:ke,customDurationUnit:gt,setOutcome:ut,setOrderType:zt,setQuantity:Yt,setLimitPrice:Qt,setExpirationEnabled:$e,setExpirationPreset:_e,setCustomDuration:We,setCustomDurationUnit:Ue,submit:Zn,notifyInsufficientBalance:Er}}function hn({isOpen:e,onClose:t,kycUrl:r}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsx(ui.StyledModal,{isOpen:e,onOpenChange:o=>{o||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.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.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:n("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(o=>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:n(o)})]},o))}),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:[n("predict.trade.goToKYC")," \u2192"]}),jsxRuntime.jsx("p",{className:"text-[11px] text-zinc-500 mb-5",children:n("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:n("common.ok")})]})]})})})}var Ec=`https://s1.chainstream.io/chains/sol/tokens/${utils.SOLANA_TOKENS.stablecoins.USDC.address}/image.png`,Tc=["5m","1h","12h","24h","eod","custom"],Lc={"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"},_c=["minutes","hours","days"],Rc={minutes:"predict.trade.expiration.minutes",hours:"predict.trade.expiration.hours",days:"predict.trade.expiration.days"},Ic={maximumFractionDigits:0};function ki({event:e,market:t,variant:r="bordered",outcome:n,orderType:o,quantity:i,limitPrice:s,shares:a,potentialProfit:l,potentialPayout:c,estimatedCost:p,usdcBalance:u,isBalanceLoading:m,isMarketDataLoading:d,isSubmitting:f,isValid:g,validationErrors:v,isInsufficientBalance:h,onInsufficientBalance:S,supportsLimitOrder:N,kycRequired:E,kycUrl:x,expirationEnabled:I,expirationPreset:k,customDuration:_,customDurationUnit:$,onOutcomeChange:F,onOrderTypeChange:U,onQuantityChange:C,onLimitPriceChange:P,onExpirationEnabledChange:B,onExpirationPresetChange:q,onCustomDurationChange:oe,onCustomDurationUnitChange:y,onSubmit:b}){let{t:w}=i18n.useTranslation(),[G,X]=react.useState(false),Z=ui.useDisclosure(),[pe,$e]=react.useState(""),Ae=react.useRef(false);react.useEffect(()=>{Ae.current||$e(isNaN(i)?"":String(i));},[i]);let[_e,ke]=react.useState(""),We=react.useRef(false);react.useEffect(()=>{We.current||(isNaN(s)?ke(""):ke(String(parseFloat((s*100).toFixed(2)))));},[s]);let gt=react.useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if(ke(L),L===""||L==="."){P(NaN);return}let it=parseFloat(L);isNaN(it)||P(it/100);},[P]),Ue=react.useCallback(L=>{if(L!==""&&!/^\d*\.?\d{0,2}$/.test(L))return;if($e(L),ut(false),L===""||L==="."){C(NaN);return}let it=parseFloat(L);isNaN(it)||C(it);},[C]);react.useEffect(()=>{E&&!Z.isOpen&&Z.onOpen();},[E]);let Se=react.useMemo(()=>{let L=n==="yes"?t.yesAsk:t.noAsk;return L!=null?parseFloat((Number(L)*100).toFixed(2)):null},[n,t]),qe=!isNaN(i)&&i>0,Nt=react.useMemo(()=>{if(m)return w("predict.trade.loadingBalance");if(d)return w("predict.trade.loadingMarketData");if(f)return w("predict.trade.submitting");if(E)return w("predict.trade.kycRequired");if(!qe)return w("predict.trade.enterAmount");let L=w(n==="yes"?"predict.trade.yes":"predict.trade.no"),we=l>0?` \u2192 Win $${l.toFixed(2)}`:"";return `${w("predict.trade.buy")} ${L}${we}`},[m,d,f,E,qe,n,l,w]),A=react.useMemo(()=>n==="yes"?"primary":"secondary",[n]),ve=()=>{C(Math.floor((u??0)/2*100)/100);},ie=()=>{C(he(u??0,2));},[zt,ut]=react.useState(false),Fe=()=>{if(E){Z.onOpen();return}if(h&&S){ut(false),S();return}if(!g){ut(true);return}ut(false),b();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex w-full flex-col gap-y-4 p-4",style:r==="bordered"?{borderRadius:14,border:"1px solid rgba(39,39,42,0.6)",background:"rgba(24,24,27,0.4)",transition:"border-color 0.2s"}:void 0,onMouseEnter:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(63,63,70,0.8)");},onMouseLeave:L=>{r==="bordered"&&(L.currentTarget.style.borderColor="rgba(39,39,42,0.6)");},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:n==="yes"?"text-bullish":"text-bearish",children:[w("predict.trade.buy")," ",w(n==="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:[N?jsxRuntime.jsxs(ui.Tabs,{variant:"underlined",selectedKey:o,onSelectionChange:L=>U(L),classNames:{tabList:"gap-x-4",tab:"px-0"},children:[jsxRuntime.jsx(ui.Tab,{title:w("predict.trade.market")},"market"),jsxRuntime.jsx(ui.Tab,{title:w("predict.trade.limit")},"limit")]}):jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:w("predict.trade.market")}),o==="limit"&&N?jsxRuntime.jsx(ui.StyledInput,{"aria-label":"Limit price",placeholder:"50",size:"sm",radius:"none",inputMode:"decimal",value:_e,onChange:L=>gt(L.target.value),onFocus:()=>{We.current=true;},onBlur:()=>{We.current=false,isNaN(s)?ke(""):ke(String(parseFloat((s*100).toFixed(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"}}):Se!=null&&jsxRuntime.jsxs("span",{className:"text-xl font-bold tabular-nums",children:[Se," \xA2"]})]}),jsxRuntime.jsx("div",{className:"flex gap-x-2",children:["yes","no"].map(L=>{let we=L==="yes"?t.yesAsk:t.noAsk;return jsxRuntime.jsx("div",{className:"flex flex-1 flex-col gap-y-1",children:jsxRuntime.jsxs("button",{type:"button",onClick:()=>F(L),className:`w-full rounded-lg border py-2 text-sm font-medium transition-colors cursor-pointer ${n===L?L==="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:w(L==="yes"?"predict.trade.yes":"predict.trade.no")}),we!=null&&jsxRuntime.jsxs("span",{className:"ml-1 opacity-70",children:[parseFloat((Number(we)*100).toFixed(2)),"\xA2"]})]})},L)})}),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:w("predict.trade.youArePaying")}),jsxRuntime.jsxs("div",{className:"flex items-center gap-x-2",children:[jsxRuntime.jsx("img",{src:Ec,alt:"USDC",className:"h-3.5 w-3.5 rounded-full object-cover"}),jsxRuntime.jsx("span",{className:"font-medium text-foreground tabular-nums",children:u!=null?`${he(u,2).toFixed(2)} USDC`:"\u2013"}),jsxRuntime.jsx("button",{type:"button",onClick:ve,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:w("predict.trade.half")}),jsxRuntime.jsx("button",{type:"button",onClick:ie,className:"rounded px-1.5 py-0.5 bg-content2 hover:bg-content3 transition-colors cursor-pointer text-foreground font-medium",children:w("predict.trade.max")})]})]}),jsxRuntime.jsx(ui.StyledInput,{"aria-label":"Trade amount",fullWidth:true,placeholder:"0",radius:"lg",size:"lg",inputMode:"decimal",value:pe,onChange:L=>Ue(L.target.value),onFocus:()=>{Ae.current=true;},onBlur:()=>{Ae.current=false,$e(isNaN(i)?"":String(i));},startContent:jsxRuntime.jsx("span",{className:"text-default-600 text-xl",children:"$"}),classNames:{inputWrapper:"bg-content2 data-[hover=true]:bg-content2 group-data-[focus=true]:bg-content2 h-14 min-h-14",input:"text-lg"}}),zt&&v.length>0&&jsxRuntime.jsx("div",{className:"flex flex-col gap-y-0.5",children:v.map(L=>jsxRuntime.jsx("span",{className:"text-xs text-danger",children:L},L))})]}),o==="limit"&&N&&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:w("predict.trade.setExpiration")}),jsxRuntime.jsx(ui.StyledSwitch,{size:"sm",color:"primary",isSelected:I,onValueChange:B,"aria-label":w("predict.trade.setExpiration")})]}),I&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Select,{"aria-label":w("predict.trade.setExpiration"),selectedKeys:[k],onSelectionChange:L=>{let we=Array.from(L)[0];we&&q(we);},size:"sm",radius:"lg",classNames:{trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:Tc.map(L=>jsxRuntime.jsx(ui.SelectItem,{children:w(Lc[L])},L))}),k==="custom"&&jsxRuntime.jsxs("div",{className:"flex gap-x-2",children:[jsxRuntime.jsx(ui.StyledNumberInput,{"aria-label":"Duration amount",size:"sm",radius:"lg",value:isNaN(_)?void 0:_,onValueChange:oe,minValue:1,step:1,formatOptions:Ic,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.Select,{"aria-label":"Duration unit",selectedKeys:[$],onSelectionChange:L=>{let we=Array.from(L)[0];we&&y(we);},size:"sm",radius:"lg",classNames:{base:"w-32",trigger:"bg-content2 data-[hover=true]:bg-content2 min-h-10",value:"text-sm"},children:_c.map(L=>jsxRuntime.jsx(ui.SelectItem,{children:w(Rc[L])},L))})]})]})]}),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:()=>X(L=>!L),className:"flex items-center gap-x-1 text-neutral-500 hover:text-foreground cursor-pointer transition-colors",children:[jsxRuntime.jsx("span",{children:w("predict.trade.odds")}),jsxRuntime.jsx(ui.ChevronDownIcon,{className:ui.cn("h-3.5 w-3.5 transition-transform",G&&"rotate-180")})]}),Se!=null&&jsxRuntime.jsx("span",{className:"text-foreground font-medium tabular-nums",children:w("predict.trade.chance",{percent:Se})})]}),G&&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:w("predict.trade.totalSize")}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${p.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:w("predict.trade.numContracts")}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(a)&&a>0?Rr(a):"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:w("predict.trade.payout")}),jsxRuntime.jsx("span",{className:"tabular-nums text-foreground",children:!isNaN(i)&&i>0?`$${c.toFixed(2)}`:"\u2013"})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{children:w("predict.trade.estProfit")}),jsxRuntime.jsx("span",{className:"tabular-nums text-bullish",children:!isNaN(i)&&i>0&&l>0?`+$${l.toFixed(2)}`:"\u2013"})]})]})]}),jsxRuntime.jsx(ui.Button,{color:A,fullWidth:true,radius:"lg",size:"lg",isDisabled:m||d||!qe||f,isLoading:f||m||d,spinner:jsxRuntime.jsx(ui.Spinner,{size:"sm",color:"current"}),onPress:Fe,children:Nt})]}),jsxRuntime.jsx(hn,{isOpen:Z.isOpen,onClose:Z.onClose,kycUrl:x})]})}function xn({event:e,market:t,variant:r,initialOutcome:n,chain:o,slippageBps:i,onInsufficientBalance:s}){let{outcome:a,orderType:l,quantity:c,limitPrice:p,shares:u,estimatedCost:m,potentialPayout:d,potentialProfit:f,pricePerShare:g,usdcBalance:v,isBalanceLoading:h,isMarketDataLoading:S,isSubmitting:N,validation:E,isInsufficientBalance:x,supportsLimitOrder:I,kycRequired:k,kycUrl:_,expirationEnabled:$,expirationPreset:F,customDuration:U,customDurationUnit:C,setOutcome:P,setOrderType:B,setQuantity:q,setLimitPrice:oe,setExpirationEnabled:y,setExpirationPreset:b,setCustomDuration:w,setCustomDurationUnit:G,submit:X,notifyInsufficientBalance:Z}=mi({market:t,initialOutcome:n,slippageBps:i,onInsufficientBalance:s}),pe=walletConnector.useAuthCallback(X),$e=react.useMemo(()=>e?an(e):void 0,[e]),Ae=react.useMemo(()=>ln(t,{yesAsk:a==="yes"?g:void 0,noAsk:a==="no"?g:void 0}),[t,a,g]);return jsxRuntime.jsx(ki,{event:$e,market:Ae,variant:r,outcome:a,orderType:l,quantity:c,limitPrice:p,shares:u,estimatedCost:m,potentialPayout:d,potentialProfit:f,usdcBalance:v,isBalanceLoading:h,isMarketDataLoading:S,isSubmitting:N,isValid:E.isValid,validationErrors:E.errors,isInsufficientBalance:x,onInsufficientBalance:s?Z:void 0,supportsLimitOrder:I,kycRequired:k,kycUrl:_,expirationEnabled:$,expirationPreset:F,customDuration:U,customDurationUnit:C,onOutcomeChange:P,onOrderTypeChange:B,onQuantityChange:q,onLimitPriceChange:oe,onExpirationEnabledChange:y,onExpirationPresetChange:b,onCustomDurationChange:w,onCustomDurationUnitChange:G,onSubmit:pe})}var Ir="predict-trade";function bn({id:e=Ir}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx($c,{...t})})}function $c({params:e,isOpen:t,onOpenChange:r}){let{t:n}=i18n.useTranslation(),{isMobile:o}=ui.useScreen();return e?jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:r,size:o?"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.ModalContent,{children:jsxRuntime.jsxs("div",{className:o?"":"p-2",children:[jsxRuntime.jsx(xn,{event:e.event,market:e.market,initialOutcome:e.initialOutcome,chain:e.chain,slippageBps:e.slippageBps,variant:"flat",onInsufficientBalance:e.onInsufficientBalance}),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:n("common.cancel")})})]})})}):null}var ao={sortPreset:"volume",sortAsc:false,source:void 0,timeRemaining:void 0,minVolume:void 0,minLiquidity:void 0};function lo(e){let t=0;return e.source&&t++,e.timeRemaining&&t++,e.minVolume&&t++,e.minLiquidity&&t++,t}function wi({isOpen:e,onClose:t,value:r,onChange:n}){let{t:o}=i18n.useTranslation(),[i,s]=react.useState(r),a=react.useCallback(v=>{v?s(r):t();},[r,t]),l=react.useCallback(()=>{s(ao);},[]),c=react.useCallback(()=>{n(i),t();},[i,n,t]),p=react.useCallback((v,h)=>{s(S=>({...S,[v]:h}));},[]),u=react.useMemo(()=>lo(i),[i]),m=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"polymarket",label:o("predict.platform.polymarket")},{value:"kalshi",label:o("predict.platform.kalshi")}],[o]),d=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1d",label:o("predict.filter.lessThanDay")},{value:"7d",label:o("predict.filter.lessThanWeek")},{value:"30d",label:o("predict.filter.lessThanMonth")}],[o]),f=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]),g=react.useMemo(()=>[{value:void 0,label:o("predict.filter.all")},{value:"1000",label:">$1K"},{value:"10000",label:">$10K"},{value:"100000",label:">$100K"},{value:"1000000",label:">$1M"}],[o]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:e,onOpenChange:a,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.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.filter.title")}),jsxRuntime.jsx(Gc,{onClick:()=>a(false)})]}),jsxRuntime.jsxs("div",{style:{padding:"0 20px 16px",display:"flex",flexDirection:"column",gap:20},children:[jsxRuntime.jsx(kn,{label:o("predict.filter.platform"),children:jsxRuntime.jsx(Sn,{options:m,selected:i.source,onSelect:v=>p("source",v)})}),jsxRuntime.jsx(kn,{label:o("predict.filter.timeRemaining"),children:jsxRuntime.jsx(Sn,{options:d,selected:i.timeRemaining,onSelect:v=>p("timeRemaining",v)})}),jsxRuntime.jsx(kn,{label:o("predict.filter.minVolume"),children:jsxRuntime.jsx(Sn,{options:f,selected:i.minVolume,onSelect:v=>p("minVolume",v)})}),jsxRuntime.jsx(kn,{label:o("predict.filter.minLiquidity"),children:jsxRuntime.jsx(Sn,{options:g,selected:i.minLiquidity,onSelect:v=>p("minLiquidity",v)})})]}),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:o("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:[o("predict.filter.showResults"),u>0&&jsxRuntime.jsxs("span",{style:{opacity:.7},children:["(",u,")"]})]})]})]})})})}function kn({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 Gc({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 Sn({options:e,selected:t,onSelect:r,allowDeselect:n=true}){return jsxRuntime.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.map(o=>{let i=t===o.value;return jsxRuntime.jsx("button",{type:"button",onClick:()=>{r(i&&n?void 0:o.value);},style:{flexShrink:0,borderRadius:10,padding:"6px 14px",fontSize:13,fontWeight:500,cursor:"pointer",transition:"all 0.15s",border:i?"1px solid rgba(199,255,46,0.3)":"1px solid rgba(63,63,70,0.5)",background:i?"rgba(199,255,46,0.08)":"rgba(39,39,42,0.4)",color:i?"#c7ff2e":"#a1a1aa"},onMouseEnter:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.8)",s.currentTarget.style.color="#fff");},onMouseLeave:s=>{i||(s.currentTarget.style.background="rgba(39,39,42,0.4)",s.currentTarget.style.color="#a1a1aa");},children:o.label},o.value??"__all")})})}var Ei={start_time:{sort_by:"created_at"},volume:{sort_by:"volume"},liquidity:{sort_by:"liquidity"},ending_soon:{sort_by:"end_at"}},Ni={start_time:"predict.sort.startTime",volume:"predict.sort.volume",liquidity:"predict.sort.liquidity",ending_soon:"predict.sort.endingSoon"},rd=["start_time","volume","liquidity","ending_soon"],Ci={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"},nd={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 Ti({sortPreset:e,onSortChange:t,sortAsc:r,onSortAscChange:n,onFilterPress:o,filterCount:i=0,className:s}){let{t:a}=i18n.useTranslation(),[l,c]=react.useState(false),p=react.useRef(null),u=react.useCallback(d=>{p.current&&!p.current.contains(d.target)&&c(false);},[]);react.useEffect(()=>(document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)),[u]),react.useEffect(()=>{if(!l)return;let d=f=>{f.key==="Escape"&&c(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[l]);let m=Mi[e];return jsxRuntime.jsxs("div",{className:s,style:{display:"flex",alignItems:"center",gap:8},children:[jsxRuntime.jsxs("div",{ref:p,style:{position:"relative"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ci,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(od,{}),jsxRuntime.jsx(m,{className:"size-4 shrink-0",style:{color:"#a1a1aa"}}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a(Ni[e])}),jsxRuntime.jsx(sd,{open:l})]}),l&&jsxRuntime.jsx("div",{style:{...nd,width:224,padding:4},children:rd.map(d=>{let f=Mi[d],g=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:g?"rgba(199,255,46,0.08)":"transparent",color:g?"#c7ff2e":"#a1a1aa",borderRadius:10},onMouseEnter:v=>{g||(v.currentTarget.style.background="rgba(39,39,42,0.5)",v.currentTarget.style.color="#fff");},onMouseLeave:v=>{g||(v.currentTarget.style.background="transparent",v.currentTarget.style.color="#a1a1aa");},onClick:()=>{e===d?n(!r):t(d),c(false);},children:[jsxRuntime.jsx(f,{className:"size-4 shrink-0",style:{color:g?"#c7ff2e":"#71717a"}}),jsxRuntime.jsx("span",{style:{flex:1,fontWeight:500},children:a(Ni[d])}),g&&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:()=>n(!r),children:r?"\u2191":"\u2193"}),jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",style:Ci,onMouseEnter:d=>{d.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:d=>{d.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:o,children:[jsxRuntime.jsx(id,{}),jsxRuntime.jsx("span",{className:"hidden sm:block",style:{color:"#d4d4d8"},children:a("predict.filter.title")})]}),i>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:i})]})]})}var Mi={start_time:ui.CalendarIcon,volume:ui.ChartLineIcon,liquidity:ui.DropletIcon,ending_soon:ui.TimerIcon};function od(){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 id(){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 sd({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 Ri(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,e.markets_limit]),{data:r,isLoading:n,isFetching:o,isFetchingNextPage:i,isError:s,error:a,hasNextPage:l,fetchNextPage:c,refetch:p}=reactPredict.useInfiniteEvents(t),u=react.useMemo(()=>r?.pages.flatMap(f=>f.items).filter(f=>f!=null)??[],[r]),m=react.useCallback(()=>{c();},[c]),d=react.useCallback(()=>{p();},[p]);return {data:u,isLoading:n,isFetching:o&&!i,isFetchingMore:i,isError:s,error:a??null,hasMore:l??false,fetchMore:m,refetch:d}}var Ii=`
|
|
2
2
|
@keyframes evtShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
3
3
|
@media(max-width:1279px){.evt-skel-grid{grid-template-columns:repeat(3,1fr)!important}}
|
|
4
4
|
@media(max-width:1023px){.evt-skel-grid{grid-template-columns:repeat(2,1fr)!important}.evt-skel-card{min-height:200px!important}}
|