import{j as e}from"./vendor-ui-BUsIib4b.js";import{r as n}from"./vendor-react-C0ZmnAiH.js";import{C as x,S as N}from"./use_metric-JQcwAm9V.js";import{u as _}from"./header-BxYiJFj2.js";import{B as v,f as u,C as D}from"./index-ccpu5IUx.js";import{P as E,a as T,C as A,b as I,c as P,d as B,e as G,f as R,g as L,h as O}from"./command-C_ikk14m.js";import{S as M,a as Q}from"./scroll-area-Bq8pc02q.js";import{f as j}from"./vendor-utils-DwtcRXMR.js";const X=({circuitUid:p,initialVersionUid:s,onVersionChange:l,className:g})=>{const{useCircuitVersionsByCircuitUidQuery:w}=_(),{data:d,isLoading:S}=w(p,100),[i,f]=n.useState(!1),[h,b]=n.useState(s),m=n.useRef(s);n.useEffect(()=>{m.current=s},[p]);const c=n.useMemo(()=>d!=null&&d.data?d.data.filter(t=>t.state===x.RUNNING||t.state===x.DEPRECATED||t.state===x.STAGING).sort((t,a)=>new Date(a.created_at).getTime()-new Date(t.created_at).getTime()):[],[d]),r=c.find(t=>t.uid===h)??null;n.useEffect(()=>{if(!c.length||!s||m.current===s)return;const t=c.find(a=>a.uid===s);t&&(b(s),l==null||l(t),m.current=s)},[c,s,l]);const k=t=>{const a=c.find(o=>o.uid===t)??null;b(a==null?void 0:a.uid),l==null||l(a),f(!1)};if(S||c.length===0)return null;const y=r?j(new Date(r.created_at),{addSuffix:!0}):null,C=r?N[r.state]:void 0;return e.jsxs(E,{open:i,onOpenChange:f,children:[e.jsx(T,{asChild:!0,children:e.jsxs(v,{variant:"outline",role:"combobox","aria-expanded":i,className:u("w-full h-[66px] justify-between px-3 border-neutral-700 text-neutral-100 font-semibold","hover:bg-[#0f0f0f] hover:text-neutral-100 hover:border-neutral-700",g),children:[e.jsxs("div",{className:"flex flex-col items-start leading-tight flex-1 min-w-0",children:[e.jsx("span",{className:"text-[10px] uppercase tracking-wide text-neutral-500 mb-1",children:"Current Version"}),e.jsx("span",{className:"text-[13px] truncate max-w-full",children:r?r.uid:"Select a version"}),r&&e.jsxs("span",{className:"mt-0.5 text-[11px] text-neutral-400",children:[y,e.jsx("span",{className:"mx-1 text-neutral-700",children:"·"}),e.jsx("span",{className:"font-medium",style:{color:C},children:r.state})]})]}),e.jsx(A,{className:"h-4 w-4 opacity-50 shrink-0"})]})}),e.jsx(I,{className:"w-[var(--radix-popover-trigger-width)] p-0 bg-neutral-900 border-neutral-700 text-neutral-100",children:e.jsxs(P,{className:u("rounded-lg shadow-md bg-neutral-900 text-neutral-100","[&_[cmdk-input-wrapper]]:bg-neutral-900","[&_[cmdk-input-wrapper]]:border-b [&_[cmdk-input-wrapper]]:border-neutral-700","[&_[cmdk-list]]:bg-neutral-900","[&_[cmdk-group]]:bg-neutral-900","[&_[cmdk-empty]]:bg-neutral-900","[&_[cmdk-input]]:bg-transparent [&_[cmdk-input]]:text-neutral-100 [&_[cmdk-input]]:placeholder:text-neutral-500"),children:[e.jsx(B,{placeholder:"Search versions...",className:"h-9 text-[13px] bg-transparent text-neutral-100 placeholder:text-neutral-500"}),e.jsx(G,{className:"overflow-hidden bg-neutral-900",children:e.jsxs(M,{className:"h-[300px] bg-neutral-900",children:[e.jsx(R,{className:"text-xs py-2 px-3 text-neutral-400 bg-neutral-900",children:"No versions found."}),e.jsx(L,{className:"bg-neutral-900",children:c.map(t=>{const a=j(new Date(t.created_at),{addSuffix:!0}),o=N[t.state];return e.jsx(O,{value:t.uid,keywords:[t.uid],onSelect:()=>k(t.uid),className:u("text-xs py-2 text-neutral-100","hover:bg-[#0f0f0f] hover:text-neutral-100","data-[selected=true]:bg-[#0f0f0f] data-[selected=true]:text-neutral-100","aria-selected:bg-[#0f0f0f] aria-selected:text-neutral-100"),children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(D,{className:u("h-4 w-4 shrink-0",h===t.uid?"opacity-100":"opacity-0")}),e.jsxs("div",{className:"flex flex-col items-start leading-tight min-w-0",children:[e.jsx("span",{className:"font-semibold text-[12px] truncate",children:t.uid}),e.jsxs("div",{className:"mt-1 flex flex-row items-center text-[11px]",children:[e.jsx("span",{className:"text-neutral-400",children:a}),e.jsx("span",{className:"mx-1 text-neutral-700",children:"·"}),e.jsx("span",{className:"font-medium",style:{color:o},children:t.state})]})]})]})},t.uid)})}),e.jsx(Q,{orientation:"vertical",className:"bg-neutral-800/50"})]})})]})})]})};export{X as U};