1import{r as l,j as e,C as c,b as i,p as x,g as h,a,d as m,af as p,z as d}from"./index-CT3mG8No.js";const f=({symbol:o})=>{const s=l.useMemo(()=>({shortInterest:1254e5,shortInterestPct:4.2,shortRatio:2.8,daysToCover:2.8,utilization:42.5,costToBorrow:.35,sharesOnLoan:1428e5,floatShort:4.2,change2W:-8.5,squeezePotential:"low",historicalTrend:[{date:"Oct 15",shortPct:5.1,daysToCover:3.2},{date:"Nov 01",shortPct:4.8,daysToCover:3},{date:"Nov 15",shortPct:4.5,daysToCover:2.9},{date:"Dec 01",shortPct:4.6,daysToCover:2.8},{date:"Dec 15",shortPct:4.4,daysToCover:2.7},{date:"Jan 02",shortPct:4.2,daysToCover:2.8}],peerComparison:[{symbol:"MSFT",shortPct:.8,daysToCover:1.2},{symbol:"GOOGL",shortPct:1.2,daysToCover:1.5},{symbol:"AMZN",shortPct:1.5,daysToCover:1.8},{symbol:"META",shortPct:2.1,daysToCover:2},{symbol:o,shortPct:4.2,daysToCover:2.8}],thresholdList:!1,regSHO:!1,failsToDeliver:45e3,ftdTrend:"decreasing"}),[o]),n={low:"text-profit",medium:"text-amber-400",high:"text-loss"};return e.jsxs(c,{className:"bg-card/50 border-border/50",children:[e.jsx(i,{className:"pb-3",children:e.jsxs(x,{className:"flex items-center gap-2 text-base",children:[e.jsx(h,{className:"w-4 h-4 text-primary"}),"Short Interest & Securities Lending",e.jsxs(a,{variant:"outline",className:"ml-auto text-[10px]",children:[s.change2W>0?"+":"",s.change2W,"% 2W"]})]})}),e.jsxs(m,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[e.jsxs("div",{className:"bg-background/50 p-2 rounded border border-border/30",children:[e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase",children:"Short Interest"}),e.jsxs("p",{className:"font-mono font-bold text-foreground",children:[(s.shortInterest/1e6).toFixed(1),"M"]}),e.jsxs("p",{className:"text-[9px] text-muted-foreground",children:[s.shortInterestPct,"% of float"]})]}),e.jsxs("div",{className:"bg-background/50 p-2 rounded border border-border/30",children:[e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase",children:"Days to Cover"}),e.jsx("p",{className:"font-mono font-bold text-foreground",children:s.daysToCover}),e.jsx("p",{className:"text-[9px] text-muted-foreground",children:"Based on ADTV"})]}),e.jsxs("div",{className:"bg-background/50 p-2 rounded border border-border/30",children:[e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase",children:"Utilization"}),e.jsxs("p",{className:"font-mono font-bold text-foreground",children:[s.utilization,"%"]}),e.jsx(p,{value:s.utilization,className:"h-1 mt-1"})]}),e.jsxs("div",{className:"bg-background/50 p-2 rounded border border-border/30",children:[e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase",children:"Cost to Borrow"}),e.jsxs("p",{className:"font-mono font-bold text-foreground",children:[s.costToBorrow,"%"]}),e.jsx("p",{className:"text-[9px] text-muted-foreground",children:"Annual rate"})]})]}),e.jsxs("div",{className:"p-3 bg-background/50 border border-border/30 rounded",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs font-medium text-foreground",children:"Short Squeeze Potential"}),e.jsx(a,{variant:"outline",className:`text-[10px] ${n[s.squeezePotential]}`,children:s.squeezePotential.toUpperCase()})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-2 text-xs",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"Short Ratio"}),e.jsxs("p",{className:"font-mono text-foreground",children:[s.shortRatio,"x"]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"On Loan"}),e.jsxs("p",{className:"font-mono text-foreground",children:[(s.sharesOnLoan/1e6).toFixed(1),"M"]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-muted-foreground",children:"FTD"}),e.jsxs("p",{className:`font-mono ${s.ftdTrend==="decreasing"?"text-profit":"text-loss"}`,children:[(s.failsToDeliver/1e3).toFixed(0),"K â"]})]})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:`flex items-center gap-1.5 px-2 py-1 rounded border ${s.thresholdList?"bg-loss/10 border-loss/30":"bg-profit/10 border-profit/30"}`,children:[e.jsx(d,{className:`w-3 h-3 ${s.thresholdList?"text-loss":"text-profit"}`}),e.jsxs("span",{className:"text-xs",children:["Threshold List: ",s.thresholdList?"YES":"NO"]})]}),e.jsxs("div",{className:`flex items-center gap-1.5 px-2 py-1 rounded border ${s.regSHO?"bg-loss/10 border-loss/30":"bg-profit/10 border-profit/30"}`,children:[e.jsx(d,{className:`w-3 h-3 ${s.regSHO?"text-loss":"text-profit"}`}),e.jsxs("span",{className:"text-xs",children:["Reg SHO: ",s.regSHO?"YES":"NO"]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-xs font-medium text-foreground",children:"Short Interest Trend"}),e.jsx("div",{className:"flex items-end gap-2 h-16",children:s.historicalTrend.map((t,r)=>e.jsxs("div",{className:"flex-1 flex flex-col items-center gap-1",children:[e.jsx("div",{className:"w-full bg-loss/60 rounded-t",style:{height:`${t.shortPct/6*100}%`}}),e.jsx("span",{className:"text-[8px] text-muted-foreground",children:t.date.split(" ")[0]})]},r))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-xs font-medium text-foreground",children:"Peer Short Interest Comparison"}),e.jsx("div",{className:"space-y-1.5",children:s.peerComparison.sort((t,r)=>r.shortPct-t.shortPct).map((t,r)=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:`w-12 font-mono ${t.symbol===o?"text-primary font-bold":"text-foreground"}`,children:t.symbol}),e.jsx("div",{className:"flex-1 h-2 bg-secondary rounded overflow-hidden",children:e.jsx("div",{className:`h-full ${t.symbol===o?"bg-primary":"bg-loss/60"} rounded`,style:{width:`${t.shortPct/5*100}%`}})}),e.jsxs("span",{className:"font-mono text-muted-foreground w-12 text-right",children:[t.shortPct,"%"]})]},r))})]})]})]})};export{f as ShortInterestPanel};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.