@goah/cli 0.10.2 → 0.11.0
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/cli.js +6 -3
- package/dist/cli.js.map +1 -1
- package/dist/console/assets/{index-BPOrMqEr.js → index-BJTGvlCH.js} +2 -2
- package/dist/console/assets/{index-BPOrMqEr.js.map → index-BJTGvlCH.js.map} +1 -1
- package/dist/console/index.html +1 -1
- package/dist/control.d.ts +14 -0
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +13 -5
- package/dist/control.js.map +1 -1
- package/dist/tui.d.ts +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +51 -10
- package/dist/tui.js.map +1 -1
- package/dist/web-console.js +1 -2
- package/dist/web-console.js.map +1 -1
- package/node_modules/goah-ledger-contract/dist/execution.d.ts +79 -2
- package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +1 -1
- package/node_modules/goah-ledger-contract/dist/execution.js +13 -2
- package/node_modules/goah-ledger-contract/dist/execution.js.map +1 -1
- package/node_modules/goah-ledger-contract/dist/kernel.d.ts +2 -1
- package/node_modules/goah-ledger-contract/dist/kernel.d.ts.map +1 -1
- package/node_modules/goah-ledger-contract/dist/kernel.js +2 -1
- package/node_modules/goah-ledger-contract/dist/kernel.js.map +1 -1
- package/node_modules/goah-ledger-sqlite/dist/index.d.ts +9 -2
- package/node_modules/goah-ledger-sqlite/dist/index.d.ts.map +1 -1
- package/node_modules/goah-ledger-sqlite/dist/index.js +183 -25
- package/node_modules/goah-ledger-sqlite/dist/index.js.map +1 -1
- package/node_modules/goah-runner-pi/dist/index.d.ts +2 -1
- package/node_modules/goah-runner-pi/dist/index.d.ts.map +1 -1
- package/node_modules/goah-runner-pi/dist/index.js +4 -2
- package/node_modules/goah-runner-pi/dist/index.js.map +1 -1
- package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +1 -1
- package/node_modules/goah-runner-pi/dist/pi-worker.js +60 -16
- package/node_modules/goah-runner-pi/dist/pi-worker.js.map +1 -1
- package/node_modules/goah-runner-pi/dist/test-helpers.d.ts.map +1 -1
- package/node_modules/goah-runner-pi/dist/test-helpers.js +1 -0
- package/node_modules/goah-runner-pi/dist/test-helpers.js.map +1 -1
- package/node_modules/goah-supervisor/dist/context-view.d.ts.map +1 -1
- package/node_modules/goah-supervisor/dist/context-view.js +1 -0
- package/node_modules/goah-supervisor/dist/context-view.js.map +1 -1
- package/node_modules/goah-supervisor/dist/index.d.ts +7 -2
- package/node_modules/goah-supervisor/dist/index.d.ts.map +1 -1
- package/node_modules/goah-supervisor/dist/index.js +185 -34
- package/node_modules/goah-supervisor/dist/index.js.map +1 -1
- package/node_modules/goah-supervisor/dist/roles.js +2 -2
- package/node_modules/goah-supervisor/dist/roles.js.map +1 -1
- package/node_modules/goah-testkit/dist/faux-runner-worker.js +34 -7
- package/node_modules/goah-testkit/dist/faux-runner-worker.js.map +1 -1
- package/node_modules/goah-testkit/dist/index.d.ts +1 -0
- package/node_modules/goah-testkit/dist/index.d.ts.map +1 -1
- package/node_modules/goah-testkit/dist/index.js +5 -5
- package/node_modules/goah-testkit/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,7 +46,7 @@ Error generating stack: `+l.message+`
|
|
|
46
46
|
`)},mp=function(){var a=parseInt(document.body.getAttribute(Ba)||"0",10);return isFinite(a)?a:0},$x=function(){y.useEffect(function(){return document.body.setAttribute(Ba,(mp()+1).toString()),function(){var a=mp()-1;a<=0?document.body.removeAttribute(Ba):document.body.setAttribute(Ba,a.toString())}},[])},Ix=function(a){var i=a.noRelative,r=a.noImportant,c=a.gapMode,s=c===void 0?"margin":c;$x();var f=y.useMemo(function(){return Qx(s)},[s]);return y.createElement(Zx,{styles:Kx(f,!i,s,r?"":"!important")})},ef=!1;if(typeof window<"u")try{var Ec=Object.defineProperty({},"passive",{get:function(){return ef=!0,!0}});window.addEventListener("test",Ec,Ec),window.removeEventListener("test",Ec,Ec)}catch{ef=!1}var Ua=ef?{passive:!1}:!1,Px=function(a){return a.tagName==="TEXTAREA"},Ug=function(a,i){if(!(a instanceof Element))return!1;var r=window.getComputedStyle(a);return r[i]!=="hidden"&&!(r.overflowY===r.overflowX&&!Px(a)&&r[i]==="visible")},Jx=function(a){return Ug(a,"overflowY")},Wx=function(a){return Ug(a,"overflowX")},vp=function(a,i){var r=i.ownerDocument,c=i;do{typeof ShadowRoot<"u"&&c instanceof ShadowRoot&&(c=c.host);var s=Hg(a,c);if(s){var f=Lg(a,c),m=f[1],p=f[2];if(m>p)return!0}c=c.parentNode}while(c&&c!==r.body);return!1},Fx=function(a){var i=a.scrollTop,r=a.scrollHeight,c=a.clientHeight;return[i,r,c]},e2=function(a){var i=a.scrollLeft,r=a.scrollWidth,c=a.clientWidth;return[i,r,c]},Hg=function(a,i){return a==="v"?Jx(i):Wx(i)},Lg=function(a,i){return a==="v"?Fx(i):e2(i)},t2=function(a,i){return a==="h"&&i==="rtl"?-1:1},n2=function(a,i,r,c,s){var f=t2(a,window.getComputedStyle(i).direction),m=f*c,p=r.target,g=i.contains(p),v=!1,x=m>0,S=0,E=0;do{if(!p)break;var C=Lg(a,p),A=C[0],T=C[1],O=C[2],j=T-O-f*A;(A||j)&&Hg(a,p)&&(S+=j,E+=A);var z=p.parentNode;p=z&&z.nodeType===Node.DOCUMENT_FRAGMENT_NODE?z.host:z}while(!g&&p!==document.body||g&&(i.contains(p)||i===p));return(x&&Math.abs(S)<1||!x&&Math.abs(E)<1)&&(v=!0),v},Cc=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},pp=function(a){return[a.deltaX,a.deltaY]},gp=function(a){return a&&"current"in a?a.current:a},l2=function(a,i){return a[0]===i[0]&&a[1]===i[1]},a2=function(a){return`
|
|
47
47
|
.block-interactivity-`.concat(a,` {pointer-events: none;}
|
|
48
48
|
.allow-interactivity-`).concat(a,` {pointer-events: all;}
|
|
49
|
-
`)},i2=0,Ha=[];function o2(a){var i=y.useRef([]),r=y.useRef([0,0]),c=y.useRef(),s=y.useState(i2++)[0],f=y.useState(zg)[0],m=y.useRef(a);y.useEffect(function(){m.current=a},[a]),y.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(s));var T=Ox([a.lockRef.current],(a.shards||[]).map(gp),!0).filter(Boolean);return T.forEach(function(O){return O.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),T.forEach(function(O){return O.classList.remove("allow-interactivity-".concat(s))})}}},[a.inert,a.lockRef.current,a.shards]);var p=y.useCallback(function(T,O){if("touches"in T&&T.touches.length===2||T.type==="wheel"&&T.ctrlKey)return!m.current.allowPinchZoom;var j=Cc(T),z=r.current,D="deltaX"in T?T.deltaX:z[0]-j[0],M="deltaY"in T?T.deltaY:z[1]-j[1],k,G=T.target,K=Math.abs(D)>Math.abs(M)?"h":"v";if("touches"in T&&K==="h"&&G.type==="range")return!1;var J=window.getSelection(),P=J&&J.anchorNode,ee=P?P===G||P.contains(G):!1;if(ee)return!1;var le=vp(K,G);if(!le)return!0;if(le?k=K:(k=K==="v"?"h":"v",le=vp(K,G)),!le)return!1;if(!c.current&&"changedTouches"in T&&(D||M)&&(c.current=k),!k)return!0;var W=c.current||k;return n2(W,O,T,W==="h"?D:M)},[]),g=y.useCallback(function(T){var O=T;if(!(!Ha.length||Ha[Ha.length-1]!==f)){var j="deltaY"in O?pp(O):Cc(O),z=i.current.filter(function(k){return k.name===O.type&&(k.target===O.target||O.target===k.shadowParent)&&l2(k.delta,j)})[0];if(z&&z.should){O.cancelable&&O.preventDefault();return}if(!z){var D=(m.current.shards||[]).map(gp).filter(Boolean).filter(function(k){return k.contains(O.target)}),M=D.length>0?p(O,D[0]):!m.current.noIsolation;M&&O.cancelable&&O.preventDefault()}}},[]),v=y.useCallback(function(T,O,j,z){var D={name:T,delta:O,target:j,should:z,shadowParent:c2(j)};i.current.push(D),setTimeout(function(){i.current=i.current.filter(function(M){return M!==D})},1)},[]),x=y.useCallback(function(T){r.current=Cc(T),c.current=void 0},[]),S=y.useCallback(function(T){v(T.type,pp(T),T.target,p(T,a.lockRef.current))},[]),E=y.useCallback(function(T){v(T.type,Cc(T),T.target,p(T,a.lockRef.current))},[]);y.useEffect(function(){return Ha.push(f),a.setCallbacks({onScrollCapture:S,onWheelCapture:S,onTouchMoveCapture:E}),document.addEventListener("wheel",g,Ua),document.addEventListener("touchmove",g,Ua),document.addEventListener("touchstart",x,Ua),function(){Ha=Ha.filter(function(T){return T!==f}),document.removeEventListener("wheel",g,Ua),document.removeEventListener("touchmove",g,Ua),document.removeEventListener("touchstart",x,Ua)}},[]);var C=a.removeScrollBar,A=a.inert;return y.createElement(y.Fragment,null,A?y.createElement(f,{styles:a2(s)}):null,C?y.createElement(Ix,{noRelative:a.noRelative,gapMode:a.gapMode}):null)}function c2(a){for(var i=null;a!==null;)a instanceof ShadowRoot&&(i=a.host,a=a.host),a=a.parentNode;return i}const r2=Hx(Mg,o2);var Ef=y.forwardRef(function(a,i){return y.createElement(Kc,sn({},a,{ref:i,sideCar:r2}))});Ef.classNames=Kc.classNames;var u2=function(a){if(typeof document>"u")return null;var i=Array.isArray(a)?a[0]:a;return i.ownerDocument.body},La=new WeakMap,Ac=new WeakMap,wc={},zs=0,qg=function(a){return a&&(a.host||qg(a.parentNode))},s2=function(a,i){return i.map(function(r){if(a.contains(r))return r;var c=qg(r);return c&&a.contains(c)?c:(console.error("aria-hidden",r,"in not contained inside",a,". Doing nothing"),null)}).filter(function(r){return!!r})},f2=function(a,i,r,c){var s=s2(i,Array.isArray(a)?a:[a]);wc[r]||(wc[r]=new WeakMap);var f=wc[r],m=[],p=new Set,g=new Set(s),v=function(S){!S||p.has(S)||(p.add(S),v(S.parentNode))};s.forEach(v);var x=function(S){!S||g.has(S)||Array.prototype.forEach.call(S.children,function(E){if(p.has(E))x(E);else try{var C=E.getAttribute(c),A=C!==null&&C!=="false",T=(La.get(E)||0)+1,O=(f.get(E)||0)+1;La.set(E,T),f.set(E,O),m.push(E),T===1&&A&&Ac.set(E,!0),O===1&&E.setAttribute(r,"true"),A||E.setAttribute(c,"true")}catch(j){console.error("aria-hidden: cannot operate on ",E,j)}})};return x(i),p.clear(),zs++,function(){m.forEach(function(S){var E=La.get(S)-1,C=f.get(S)-1;La.set(S,E),f.set(S,C),E||(Ac.has(S)||S.removeAttribute(c),Ac.delete(S)),C||S.removeAttribute(r)}),zs--,zs||(La=new WeakMap,La=new WeakMap,Ac=new WeakMap,wc={})}},Bg=function(a,i,r){r===void 0&&(r="data-aria-hidden");var c=Array.from(Array.isArray(a)?a:[a]),s=u2(a);return s?(c.push.apply(c,Array.from(s.querySelectorAll("[aria-live], script"))),f2(c,s,r,"aria-hidden")):function(){return null}},d2=Object.defineProperty,Wt=(a,i)=>d2(a,"name",{value:i,configurable:!0}),Cf="Dialog",[Vg,$A]=ln(Cf),[h2,gn]=Vg(Cf),m2=Wt(a=>{const{__scopeDialog:i,children:r,open:c,defaultOpen:s,onOpenChange:f,modal:m=!0}=a,p=y.useRef(null),g=y.useRef(null),[v,x]=Vn({prop:c,defaultProp:s??!1,onChange:f,caller:Cf}),[S,E]=y.useState(0),[C,A]=y.useState(0);return d.jsx(h2,{scope:i,triggerRef:p,contentRef:g,contentId:dn(),titleId:dn(),descriptionId:dn(),titlePresent:S>0,descriptionPresent:C>0,setTitleCount:E,setDescriptionCount:A,open:v,onOpenChange:x,onOpenToggle:y.useCallback(()=>x(T=>!T),[x]),modal:m,children:r})},"Dialog"),Yg="DialogPortal",[v2,Gg]=Vg(Yg,{forceMount:void 0}),p2=Wt(a=>{const{__scopeDialog:i,forceMount:r,children:c,container:s}=a,f=gn(Yg,i);return d.jsx(v2,{scope:i,forceMount:r,children:y.Children.map(c,m=>d.jsx(vn,{present:r||f.open,children:d.jsx(jg,{asChild:!0,container:s,children:m})}))})},"DialogPortal"),tf="DialogOverlay",g2=y.forwardRef(Wt(function(i,r){const c=Gg(tf,i.__scopeDialog),{forceMount:s=c.forceMount,...f}=i,m=gn(tf,i.__scopeDialog);return m.modal?d.jsx(vn,{present:s||m.open,children:d.jsx(S2,{...f,ref:r})}):null},"DialogOverlay")),y2=Sl("DialogOverlay.RemoveScroll"),S2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(tf,c),m=bg(),p=De(r,m);return d.jsx(Ef,{as:y2,allowPinchZoom:!0,shards:[f.contentRef],children:d.jsx(Te.div,{"data-state":Af(f.open),...s,ref:p,style:{pointerEvents:"auto",...s.style}})})},"DialogOverlayImpl")),ki="DialogContent",b2=y.forwardRef(Wt(function(i,r){const c=Gg(ki,i.__scopeDialog),{forceMount:s=c.forceMount,...f}=i,m=gn(ki,i.__scopeDialog);return d.jsx(vn,{present:s||m.open,children:m.modal?d.jsx(x2,{...f,ref:r}):d.jsx(E2,{...f,ref:r})})},"DialogContent")),x2=y.forwardRef(Wt(function(i,r){const c=gn(ki,i.__scopeDialog),s=y.useRef(null),f=De(r,c.contentRef,s);return y.useEffect(()=>{const m=s.current;if(m)return Bg(m)},[]),d.jsx(Xg,{...i,ref:f,trapFocus:c.open,disableOutsidePointerEvents:c.open,onCloseAutoFocus:ye(i.onCloseAutoFocus,m=>{m.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:ye(i.onPointerDownOutside,m=>{const p=m.detail.originalEvent,g=p.button===0&&p.ctrlKey===!0;(p.button===2||g)&&m.preventDefault()}),onFocusOutside:ye(i.onFocusOutside,m=>m.preventDefault())})},"DialogContentModal")),E2=y.forwardRef(Wt(function(i,r){const c=gn(ki,i.__scopeDialog),s=y.useRef(!1),f=y.useRef(!1);return d.jsx(Xg,{...i,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:m=>{i.onCloseAutoFocus?.(m),m.defaultPrevented||(s.current||c.triggerRef.current?.focus(),m.preventDefault()),s.current=!1,f.current=!1},onInteractOutside:m=>{i.onInteractOutside?.(m),m.defaultPrevented||(s.current=!0,m.detail.originalEvent.type==="pointerdown"&&(f.current=!0));const p=m.target;c.triggerRef.current?.contains(p)&&m.preventDefault(),m.detail.originalEvent.type==="focusin"&&f.current&&m.preventDefault()}})},"DialogContentNonModal")),Xg=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,trapFocus:s,onOpenAutoFocus:f,onCloseAutoFocus:m,...p}=i,g=gn(ki,c);return Zc(),d.jsx(d.Fragment,{children:d.jsx(Cg,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:f,onUnmountAutoFocus:m,children:d.jsx(Sg,{role:"dialog",id:g.contentId,"aria-describedby":g.descriptionPresent?g.descriptionId:void 0,"aria-labelledby":g.titlePresent?g.titleId:void 0,"data-state":Af(g.open),...p,ref:r,deferPointerDownOutside:!0,onDismiss:()=>g.onOpenChange(!1)})})})},"DialogContentImpl")),C2="DialogTitle",A2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(C2,c),{setTitleCount:m}=f;return et(()=>(m(p=>p+1),()=>m(p=>p-1)),[m]),d.jsx(Te.h2,{id:f.titleId,...s,ref:r})},"DialogTitle")),w2="DialogDescription",T2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(w2,c),{setDescriptionCount:m}=f;return et(()=>(m(p=>p+1),()=>m(p=>p-1)),[m]),d.jsx(Te.p,{id:f.descriptionId,...s,ref:r})},"DialogDescription")),O2="DialogClose",R2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(O2,c);return d.jsx(Te.button,{type:"button",...s,ref:r,onClick:ye(i.onClick,()=>f.onOpenChange(!1))})},"DialogClose"));function Af(a){return a?"open":"closed"}Wt(Af,"getState");var _2=Object.defineProperty,j2=(a,i)=>_2(a,"name",{value:i,configurable:!0});function zc(a,[i,r]){return Math.min(r,Math.max(i,a))}j2(zc,"clamp");var D2=Object.defineProperty,we=(a,i)=>D2(a,"name",{value:i,configurable:!0});function kg(a,i){return y.useReducer((r,c)=>i[r][c]??r,a)}we(kg,"useStateMachine");var Qg="ScrollArea",[Zg,IA]=ln(Qg),[N2,yn]=Zg(Qg),M2=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,type:s="hover",dir:f,scrollHideDelay:m=600,...p}=i,[g,v]=y.useState(null),[x,S]=y.useState(null),[E,C]=y.useState(null),[A,T]=y.useState(null),[O,j]=y.useState(null),[z,D]=y.useState(0),[M,k]=y.useState(0),[G,K]=y.useState(!1),[J,P]=y.useState(!1),ee=De(r,v),le=Qa(f);return d.jsx(N2,{scope:c,type:s,dir:le,scrollHideDelay:m,scrollArea:g,viewport:x,onViewportChange:S,content:E,onContentChange:C,scrollbarX:A,onScrollbarXChange:T,scrollbarXEnabled:G,onScrollbarXEnabledChange:K,scrollbarY:O,onScrollbarYChange:j,scrollbarYEnabled:J,onScrollbarYEnabledChange:P,onCornerWidthChange:D,onCornerHeightChange:k,children:d.jsx(Te.div,{dir:le,...p,ref:ee,style:{position:"relative","--radix-scroll-area-corner-width":z+"px","--radix-scroll-area-corner-height":M+"px",...i.style}})})},"ScrollArea")),z2="ScrollAreaViewport",U2=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,children:s,nonce:f,...m}=i,p=yn(z2,c),g=y.useRef(null),v=De(r,g,p.onViewportChange);return d.jsxs(d.Fragment,{children:[d.jsx(H2,{nonce:f}),d.jsx(Te.div,{"data-radix-scroll-area-viewport":"",...m,ref:v,style:{overflowX:p.scrollbarXEnabled?"scroll":"hidden",overflowY:p.scrollbarYEnabled?"scroll":"hidden",...i.style},children:d.jsx("div",{ref:p.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})},"ScrollAreaViewport")),H2=y.memo(we(function({nonce:i}){return d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i})},"ScrollAreaViewportStyle"),(a,i)=>a.nonce===i.nonce),Xn="ScrollAreaScrollbar",L2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=yn(Xn,i.__scopeScrollArea),{onScrollbarXEnabledChange:m,onScrollbarYEnabledChange:p}=f,g=i.orientation==="horizontal";return y.useEffect(()=>(g?m(!0):p(!0),()=>{g?m(!1):p(!1)}),[g,m,p]),f.type==="hover"?d.jsx(q2,{...s,ref:r,forceMount:c}):f.type==="scroll"?d.jsx(B2,{...s,ref:r,forceMount:c}):f.type==="auto"?d.jsx(Kg,{...s,ref:r,forceMount:c}):f.type==="always"?d.jsx(wf,{...s,ref:r,"data-state":"visible"}):null},"ScrollAreaScrollbar")),q2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=yn(Xn,i.__scopeScrollArea),[m,p]=y.useState(!1);return y.useEffect(()=>{const g=f.scrollArea;let v=0;if(g){const x=we(()=>{window.clearTimeout(v),p(!0)},"handlePointerEnter"),S=we(()=>{v=window.setTimeout(()=>p(!1),f.scrollHideDelay)},"handlePointerLeave");return g.addEventListener("pointerenter",x),g.addEventListener("pointerleave",S),()=>{window.clearTimeout(v),g.removeEventListener("pointerenter",x),g.removeEventListener("pointerleave",S)}}},[f.scrollArea,f.scrollHideDelay]),d.jsx(vn,{present:c||m,children:d.jsx(Kg,{"data-state":m?"visible":"hidden",...s,ref:r})})},"ScrollAreaScrollbarHover")),B2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=yn(Xn,i.__scopeScrollArea),m=i.orientation==="horizontal",p=Fi(()=>v("SCROLL_END"),100),[g,v]=kg("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(g==="idle"){const x=window.setTimeout(()=>v("HIDE"),f.scrollHideDelay);return()=>window.clearTimeout(x)}},[g,f.scrollHideDelay,v]),y.useEffect(()=>{const x=f.viewport,S=m?"scrollLeft":"scrollTop";if(x){let E=x[S];const C=we(()=>{const A=x[S];E!==A&&(v("SCROLL"),p()),E=A},"handleScroll");return x.addEventListener("scroll",C),()=>x.removeEventListener("scroll",C)}},[f.viewport,m,v,p]),d.jsx(vn,{present:c||g!=="hidden",children:d.jsx(wf,{"data-state":g==="hidden"?"hidden":"visible",...s,ref:r,onPointerEnter:ye(i.onPointerEnter,()=>v("POINTER_ENTER")),onPointerLeave:ye(i.onPointerLeave,()=>v("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),Kg=y.forwardRef(we(function(i,r){const c=yn(Xn,i.__scopeScrollArea),{forceMount:s,...f}=i,[m,p]=y.useState(!1),g=i.orientation==="horizontal",v=Fi(()=>{if(c.viewport){const x=c.viewport.offsetWidth<c.viewport.scrollWidth,S=c.viewport.offsetHeight<c.viewport.scrollHeight;p(g?x:S)}},10);return Zi(c.viewport,v),Zi(c.content,v),d.jsx(vn,{present:s||m,children:d.jsx(wf,{"data-state":m?"visible":"hidden",...f,ref:r})})},"ScrollAreaScrollbarAuto")),wf=y.forwardRef(we(function(i,r){const{orientation:c="vertical",...s}=i,f=yn(Xn,i.__scopeScrollArea),m=y.useRef(null),p=y.useRef(0),[g,v]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),x=Tf(g.viewport,g.content),S={...s,sizes:g,onSizesChange:v,hasThumb:x>0&&x<1,onThumbChange:we(C=>m.current=C,"onThumbChange"),onThumbPointerUp:we(()=>p.current=0,"onThumbPointerUp"),onThumbPointerDown:we(C=>p.current=C,"onThumbPointerDown")};function E(C,A){return Pg(C,p.current,g,A)}return we(E,"getScrollPosition"),c==="horizontal"?d.jsx(V2,{...S,ref:r,onThumbPositionChange:()=>{if(f.viewport&&m.current){const C=f.viewport.scrollLeft,A=lf(C,g,f.dir);m.current.style.transform=`translate3d(${A}px, 0, 0)`}},onWheelScroll:C=>{f.viewport&&(f.viewport.scrollLeft=C)},onDragScroll:C=>{f.viewport&&(f.viewport.scrollLeft=E(C,f.dir))}}):c==="vertical"?d.jsx(Y2,{...S,ref:r,onThumbPositionChange:()=>{if(f.viewport&&m.current){const C=f.viewport.scrollTop,A=lf(C,g);m.current.style.transform=`translate3d(0, ${A}px, 0)`}},onWheelScroll:C=>{f.viewport&&(f.viewport.scrollTop=C)},onDragScroll:C=>{f.viewport&&(f.viewport.scrollTop=E(C))}}):null},"ScrollAreaScrollbarVisible")),V2=y.forwardRef(we(function(i,r){const{sizes:c,onSizesChange:s,...f}=i,m=yn(Xn,i.__scopeScrollArea),[p,g]=y.useState(),v=y.useRef(null),x=De(r,v,m.onScrollbarXChange);return y.useEffect(()=>{v.current&&g(getComputedStyle(v.current))},[v]),d.jsx(Ig,{"data-orientation":"horizontal",...f,ref:x,sizes:c,style:{bottom:0,left:m.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:m.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Wi(c)+"px",...i.style},onThumbPointerDown:S=>i.onThumbPointerDown(S.x),onDragScroll:S=>i.onDragScroll(S.x),onWheelScroll:(S,E)=>{if(m.viewport){const C=m.viewport.scrollLeft+S.deltaX;i.onWheelScroll(C),Rf(C,E)&&S.preventDefault()}},onResize:()=>{v.current&&m.viewport&&p&&s({content:m.viewport.scrollWidth,viewport:m.viewport.offsetWidth,scrollbar:{size:v.current.clientWidth,paddingStart:Qi(p.paddingLeft),paddingEnd:Qi(p.paddingRight)}})}})},"ScrollAreaScrollbarX")),Y2=y.forwardRef(we(function(i,r){const{sizes:c,onSizesChange:s,...f}=i,m=yn(Xn,i.__scopeScrollArea),[p,g]=y.useState(),v=y.useRef(null),x=De(r,v,m.onScrollbarYChange);return y.useEffect(()=>{v.current&&g(getComputedStyle(v.current))},[v]),d.jsx(Ig,{"data-orientation":"vertical",...f,ref:x,sizes:c,style:{top:0,right:m.dir==="ltr"?0:void 0,left:m.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Wi(c)+"px",...i.style},onThumbPointerDown:S=>i.onThumbPointerDown(S.y),onDragScroll:S=>i.onDragScroll(S.y),onWheelScroll:(S,E)=>{if(m.viewport){const C=m.viewport.scrollTop+S.deltaY;i.onWheelScroll(C),Rf(C,E)&&S.preventDefault()}},onResize:()=>{v.current&&m.viewport&&p&&s({content:m.viewport.scrollHeight,viewport:m.viewport.offsetHeight,scrollbar:{size:v.current.clientHeight,paddingStart:Qi(p.paddingTop),paddingEnd:Qi(p.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[G2,$g]=Zg(Xn),Ig=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,sizes:s,hasThumb:f,onThumbChange:m,onThumbPointerUp:p,onThumbPointerDown:g,onThumbPositionChange:v,onDragScroll:x,onWheelScroll:S,onResize:E,...C}=i,A=yn(Xn,c),[T,O]=y.useState(null),j=De(r,O),z=y.useRef(null),D=y.useRef(""),M=A.viewport,k=s.content-s.viewport,G=ct(S),K=ct(v),J=Fi(E,10);function P(ee){if(z.current){const le=ee.clientX-z.current.left,W=ee.clientY-z.current.top;x({x:le,y:W})}}return we(P,"handleDragScroll"),y.useEffect(()=>{const ee=we(le=>{const W=le.target;T?.contains(W)&&G(le,k)},"handleWheel");return document.addEventListener("wheel",ee,{passive:!1}),()=>document.removeEventListener("wheel",ee,{passive:!1})},[M,T,k,G]),y.useEffect(K,[s,K]),Zi(T,J),Zi(A.content,J),d.jsx(G2,{scope:c,scrollbar:T,hasThumb:f,onThumbChange:ct(m),onThumbPointerUp:ct(p),onThumbPositionChange:K,onThumbPointerDown:ct(g),children:d.jsx(Te.div,{...C,ref:j,style:{position:"absolute",...C.style},onPointerDown:ye(i.onPointerDown,ee=>{ee.button===0&&(ee.target.setPointerCapture(ee.pointerId),z.current=T.getBoundingClientRect(),D.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",A.viewport&&(A.viewport.style.scrollBehavior="auto"),P(ee))}),onPointerMove:ye(i.onPointerMove,P),onPointerUp:ye(i.onPointerUp,ee=>{const le=ee.target;le.hasPointerCapture(ee.pointerId)&&le.releasePointerCapture(ee.pointerId),document.body.style.webkitUserSelect=D.current,A.viewport&&(A.viewport.style.scrollBehavior=""),z.current=null})})})},"ScrollAreaScrollbarImpl")),nf="ScrollAreaThumb",X2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=$g(nf,i.__scopeScrollArea);return d.jsx(vn,{present:c||f.hasThumb,children:d.jsx(k2,{ref:r,...s})})},"ScrollAreaThumb")),k2=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,style:s,...f}=i,m=yn(nf,c),p=$g(nf,c),{onThumbPositionChange:g}=p,v=De(r,p.onThumbChange),x=y.useRef(void 0),S=Fi(()=>{x.current&&(x.current(),x.current=void 0)},100);return y.useEffect(()=>{const E=m.viewport;if(E){const C=we(()=>{if(S(),!x.current){const A=Q2(E,g);x.current=A,g()}},"handleScroll");return g(),E.addEventListener("scroll",C),()=>E.removeEventListener("scroll",C)}},[m.viewport,S,g]),d.jsx(Te.div,{"data-state":p.hasThumb?"visible":"hidden",...f,ref:v,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:ye(i.onPointerDownCapture,E=>{const A=E.target.getBoundingClientRect(),T=E.clientX-A.left,O=E.clientY-A.top;p.onThumbPointerDown({x:T,y:O})}),onPointerUp:ye(i.onPointerUp,p.onThumbPointerUp)})},"ScrollAreaThumbImpl"));function Qi(a){return a?parseInt(a,10):0}we(Qi,"toInt");function Tf(a,i){const r=a/i;return isNaN(r)?0:r}we(Tf,"getThumbRatio");function Wi(a){const i=Tf(a.viewport,a.content),r=a.scrollbar.paddingStart+a.scrollbar.paddingEnd,c=(a.scrollbar.size-r)*i;return Math.max(c,18)}we(Wi,"getThumbSize");function Pg(a,i,r,c="ltr"){const s=Wi(r),f=s/2,m=i||f,p=s-m,g=r.scrollbar.paddingStart+m,v=r.scrollbar.size-r.scrollbar.paddingEnd-p,x=r.content-r.viewport,S=c==="ltr"?[0,x]:[x*-1,0];return Of([g,v],S)(a)}we(Pg,"getScrollPositionFromPointer");function lf(a,i,r="ltr"){const c=Wi(i),s=i.scrollbar.paddingStart+i.scrollbar.paddingEnd,f=i.scrollbar.size-s,m=i.content-i.viewport,p=f-c,g=r==="ltr"?[0,m]:[m*-1,0],v=zc(a,g);return Of([0,m],[0,p])(v)}we(lf,"getThumbOffsetFromScroll");function Of(a,i){return r=>{if(a[0]===a[1]||i[0]===i[1])return i[0];const c=(i[1]-i[0])/(a[1]-a[0]);return i[0]+c*(r-a[0])}}we(Of,"linearScale");function Rf(a,i){return a>0&&a<i}we(Rf,"isScrollingWithinScrollbarBounds");var Q2=we((a,i=()=>{})=>{let r={left:a.scrollLeft,top:a.scrollTop},c=0;return we((function s(){const f={left:a.scrollLeft,top:a.scrollTop},m=r.left!==f.left,p=r.top!==f.top;(m||p)&&i(),r=f,c=window.requestAnimationFrame(s)}),"loop")(),()=>window.cancelAnimationFrame(c)},"addUnlinkedScrollListener");function Fi(a,i){const r=ct(a),c=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(c.current),[]),y.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(r,i)},[r,i])}we(Fi,"useDebounceCallback");function Zi(a,i){const r=ct(i);et(()=>{let c=0;if(a){const s=new ResizeObserver(()=>{cancelAnimationFrame(c),c=window.requestAnimationFrame(r)});return s.observe(a),()=>{window.cancelAnimationFrame(c),s.unobserve(a)}}},[a,r])}we(Zi,"useResizeObserver");var Z2=M2,K2=U2,$2=L2,I2=X2;const P2=["top","right","bottom","left"],bl=Math.min,qn=Math.max,Uc=Math.round,Tc=Math.floor,Bn=a=>({x:a,y:a}),J2={left:"right",right:"left",bottom:"top",top:"bottom"};function Jg(a,i,r){return qn(a,bl(i,r))}function Gn(a,i){return typeof a=="function"?a(i):a}function xl(a){return a.split("-")[0]}function Za(a){return a.split("-")[1]}function _f(a){return a==="x"?"y":"x"}function jf(a){return a==="y"?"height":"width"}function fn(a){const i=a[0];return i==="t"||i==="b"?"y":"x"}function Df(a){return _f(fn(a))}function W2(a,i,r){r===void 0&&(r=!1);const c=Za(a),s=Df(a),f=jf(s);let m=s==="x"?c===(r?"end":"start")?"right":"left":c==="start"?"bottom":"top";return i.reference[f]>i.floating[f]&&(m=Hc(m)),[m,Hc(m)]}function F2(a){const i=Hc(a);return[af(a),i,af(i)]}function af(a){return a.includes("start")?a.replace("start","end"):a.replace("end","start")}const yp=["left","right"],Sp=["right","left"],eE=["top","bottom"],tE=["bottom","top"];function nE(a,i,r){switch(a){case"top":case"bottom":return r?i?Sp:yp:i?yp:Sp;case"left":case"right":return i?eE:tE;default:return[]}}function lE(a,i,r,c){const s=Za(a);let f=nE(xl(a),r==="start",c);return s&&(f=f.map(m=>m+"-"+s),i&&(f=f.concat(f.map(af)))),f}function Hc(a){const i=xl(a);return J2[i]+a.slice(i.length)}function aE(a){var i,r,c,s;return{top:(i=a.top)!=null?i:0,right:(r=a.right)!=null?r:0,bottom:(c=a.bottom)!=null?c:0,left:(s=a.left)!=null?s:0}}function Wg(a){return typeof a!="number"?aE(a):{top:a,right:a,bottom:a,left:a}}function Lc(a){const{x:i,y:r,width:c,height:s}=a;return{width:c,height:s,top:r,left:i,right:i+c,bottom:r+s,x:i,y:r}}function bp(a,i,r){let{reference:c,floating:s}=a;const f=fn(i),m=Df(i),p=jf(m),g=xl(i),v=f==="y",x=c.x+c.width/2-s.width/2,S=c.y+c.height/2-s.height/2,E=c[p]/2-s[p]/2;let C;switch(g){case"top":C={x,y:c.y-s.height};break;case"bottom":C={x,y:c.y+c.height};break;case"right":C={x:c.x+c.width,y:S};break;case"left":C={x:c.x-s.width,y:S};break;default:C={x:c.x,y:c.y}}const A=Za(i);return A&&(C[m]+=E*(A==="end"?1:-1)*(r&&v?-1:1)),C}async function iE(a,i){var r;i===void 0&&(i={});const{x:c,y:s,platform:f,rects:m,elements:p,strategy:g}=a,{boundary:v="clippingAncestors",rootBoundary:x="viewport",elementContext:S="floating",altBoundary:E=!1,padding:C=0}=Gn(i,a),A=Wg(C),O=p[E?S==="floating"?"reference":"floating":S],j=Lc(await f.getClippingRect({element:(r=await(f.isElement==null?void 0:f.isElement(O)))==null||r?O:O.contextElement||await(f.getDocumentElement==null?void 0:f.getDocumentElement(p.floating)),boundary:v,rootBoundary:x,strategy:g})),z=S==="floating"?{x:c,y:s,width:m.floating.width,height:m.floating.height}:m.reference,D=await(f.getOffsetParent==null?void 0:f.getOffsetParent(p.floating)),M=await(f.isElement==null?void 0:f.isElement(D))&&await(f.getScale==null?void 0:f.getScale(D))||{x:1,y:1},k=Lc(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:z,offsetParent:D,strategy:g}):z);return{top:(j.top-k.top+A.top)/M.y,bottom:(k.bottom-j.bottom+A.bottom)/M.y,left:(j.left-k.left+A.left)/M.x,right:(k.right-j.right+A.right)/M.x}}const oE=50,cE=async(a,i,r)=>{const{placement:c="bottom",strategy:s="absolute",middleware:f=[],platform:m}=r,p=m.detectOverflow?m:{...m,detectOverflow:iE},g=await(m.isRTL==null?void 0:m.isRTL(i));let v=await m.getElementRects({reference:a,floating:i,strategy:s}),{x,y:S}=bp(v,c,g),E=c,C=0;const A={};for(let T=0;T<f.length;T++){const O=f[T];if(!O)continue;const{name:j,fn:z}=O,{x:D,y:M,data:k,reset:G}=await z({x,y:S,initialPlacement:c,placement:E,strategy:s,middlewareData:A,rects:v,platform:p,elements:{reference:a,floating:i}});x=D??x,S=M??S,A[j]={...A[j],...k},G&&C<oE&&(C++,typeof G=="object"&&(G.placement&&(E=G.placement),G.rects&&(v=G.rects===!0?await m.getElementRects({reference:a,floating:i,strategy:s}):G.rects),{x,y:S}=bp(v,E,g)),T=-1)}return{x,y:S,placement:E,strategy:s,middlewareData:A}},rE=a=>({name:"arrow",options:a,async fn(i){const{x:r,y:c,placement:s,rects:f,platform:m,elements:p,middlewareData:g}=i,{element:v,padding:x=0}=Gn(a,i)||{};if(v==null)return{};const S=Wg(x),E={x:r,y:c},C=Df(s),A=jf(C),T=await m.getDimensions(v),O=C==="y",j=O?"top":"left",z=O?"bottom":"right",D=O?"clientHeight":"clientWidth",M=f.reference[A]+f.reference[C]-E[C]-f.floating[A],k=E[C]-f.reference[C],G=await(m.getOffsetParent==null?void 0:m.getOffsetParent(v));let K=G?G[D]:0;(!K||!await(m.isElement==null?void 0:m.isElement(G)))&&(K=p.floating[D]||f.floating[A]);const J=M/2-k/2,P=K/2-T[A]/2-1,ee=bl(S[j],P),le=bl(S[z],P),W=K-T[A]-le,ce=K/2-T[A]/2+J,fe=Jg(ee,ce,W),ge=!g.arrow&&Za(s)!=null&&ce!==fe&&f.reference[A]/2-(ce<ee?ee:le)-T[A]/2<0,U=ge?ce<ee?ce-ee:ce-W:0;return{[C]:E[C]+U,data:{[C]:fe,centerOffset:ce-fe-U,...ge&&{alignmentOffset:U}},reset:ge}}}),uE=function(a){return a===void 0&&(a={}),{name:"flip",options:a,async fn(i){var r,c;const{placement:s,middlewareData:f,rects:m,initialPlacement:p,platform:g,elements:v}=i,{mainAxis:x=!0,crossAxis:S=!0,fallbackPlacements:E,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:A="none",flipAlignment:T=!0,...O}=Gn(a,i);if((r=f.arrow)!=null&&r.alignmentOffset)return{};const j=xl(s),z=fn(p),D=xl(p)===p,M=await(g.isRTL==null?void 0:g.isRTL(v.floating)),k=E||(D||!T?[Hc(p)]:F2(p)),G=A!=="none";!E&&G&&k.push(...lE(p,T,A,M));const K=[p,...k],J=await g.detectOverflow(i,O),P=[];let ee=((c=f.flip)==null?void 0:c.overflows)||[];if(x&&P.push(J[j]),S){const fe=W2(s,m,M);P.push(J[fe[0]],J[fe[1]])}if(ee=[...ee,{placement:s,overflows:P}],!P.every(fe=>fe<=0)){var le,W;const fe=(((le=f.flip)==null?void 0:le.index)||0)+1,ge=K[fe];if(ge&&(!(S==="alignment"?z!==fn(ge):!1)||ee.every($=>fn($.placement)===z?$.overflows[0]>0:!0)))return{data:{index:fe,overflows:ee},reset:{placement:ge}};let U=(W=ee.filter(Q=>Q.overflows[0]<=0).sort((Q,$)=>Q.overflows[1]-$.overflows[1])[0])==null?void 0:W.placement;if(!U)switch(C){case"bestFit":{var ce;const Q=(ce=ee.filter($=>{if(G){const ae=fn($.placement);return ae===z||ae==="y"}return!0}).map($=>[$.placement,$.overflows.filter(ae=>ae>0).reduce((ae,re)=>ae+re,0)]).sort(($,ae)=>$[1]-ae[1])[0])==null?void 0:ce[0];Q&&(U=Q);break}case"initialPlacement":U=p;break}if(s!==U)return{reset:{placement:U}}}return{}}}};function xp(a,i){return{top:a.top-i.height,right:a.right-i.width,bottom:a.bottom-i.height,left:a.left-i.width}}function Ep(a){return P2.some(i=>a[i]>=0)}const sE=function(a){return a===void 0&&(a={}),{name:"hide",options:a,async fn(i){const{rects:r,platform:c}=i,{strategy:s="referenceHidden",...f}=Gn(a,i);switch(s){case"referenceHidden":{const m=await c.detectOverflow(i,{...f,elementContext:"reference"}),p=xp(m,r.reference);return{data:{referenceHiddenOffsets:p,referenceHidden:Ep(p)}}}case"escaped":{const m=await c.detectOverflow(i,{...f,altBoundary:!0}),p=xp(m,r.floating);return{data:{escapedOffsets:p,escaped:Ep(p)}}}default:return{}}}}},Fg=new Set(["left","top"]);async function fE(a,i){const{placement:r,platform:c,elements:s}=a,f=await(c.isRTL==null?void 0:c.isRTL(s.floating)),m=xl(r),p=Za(r),g=fn(r)==="y",v=Fg.has(m)?-1:1,x=f&&g?-1:1,S=Gn(i,a);let{mainAxis:E,crossAxis:C,alignmentAxis:A}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:S.mainAxis||0,crossAxis:S.crossAxis||0,alignmentAxis:S.alignmentAxis};return p&&typeof A=="number"&&(C=p==="end"?A*-1:A),g?{x:C*x,y:E*v}:{x:E*v,y:C*x}}const dE=function(a){return a===void 0&&(a=0),{name:"offset",options:a,async fn(i){var r,c;const{x:s,y:f,placement:m,middlewareData:p}=i,g=await fE(i,a);return m===((r=p.offset)==null?void 0:r.placement)&&(c=p.arrow)!=null&&c.alignmentOffset?{}:{x:s+g.x,y:f+g.y,data:{...g,placement:m}}}}},hE=function(a){return a===void 0&&(a={}),{name:"shift",options:a,async fn(i){const{x:r,y:c,placement:s,platform:f}=i,{mainAxis:m=!0,crossAxis:p=!1,limiter:g={fn:z=>{let{x:D,y:M}=z;return{x:D,y:M}}},...v}=Gn(a,i),x={x:r,y:c},S=await f.detectOverflow(i,v),E=fn(s),C=_f(E);let A=x[C],T=x[E];const O=(z,D)=>Jg(D+S[z==="y"?"top":"left"],D,D-S[z==="y"?"bottom":"right"]);m&&(A=O(C,A)),p&&(T=O(E,T));const j=g.fn({...i,[C]:A,[E]:T});return{...j,data:{x:j.x-r,y:j.y-c,enabled:{[C]:m,[E]:p}}}}}},mE=function(a){return a===void 0&&(a={}),{options:a,fn(i){var r,c;const{x:s,y:f,placement:m,rects:p,middlewareData:g}=i,{offset:v=0,mainAxis:x=!0,crossAxis:S=!0}=Gn(a,i),E={x:s,y:f},C=fn(m),A=_f(C);let T=E[A],O=E[C];const j=Gn(v,i),z=typeof j=="number"?{mainAxis:j,crossAxis:0}:{mainAxis:(r=j.mainAxis)!=null?r:0,crossAxis:(c=j.crossAxis)!=null?c:0};if(x){const k=A==="y"?"height":"width",G=p.reference[A]-p.floating[k]+z.mainAxis,K=p.reference[A]+p.reference[k]-z.mainAxis;T<G?T=G:T>K&&(T=K)}if(S){var D,M;const k=A==="y"?"width":"height",G=Fg.has(xl(m)),K=p.reference[C]-p.floating[k]+(G&&((D=g.offset)==null?void 0:D[C])||0)+(G?0:z.crossAxis),J=p.reference[C]+p.reference[k]+(G?0:((M=g.offset)==null?void 0:M[C])||0)-(G?z.crossAxis:0);O<K?O=K:O>J&&(O=J)}return{[A]:T,[C]:O}}}},vE=function(a){return a===void 0&&(a={}),{name:"size",options:a,async fn(i){const{placement:r,rects:c,platform:s,elements:f}=i,{apply:m=()=>{},...p}=Gn(a,i),g=await s.detectOverflow(i,p),v=xl(r),x=Za(r),S=fn(r)==="y",{width:E,height:C}=c.floating;let A,T;v==="top"||v==="bottom"?(A=v,T=x===(await(s.isRTL==null?void 0:s.isRTL(f.floating))?"start":"end")?"left":"right"):(T=v,A=x==="end"?"top":"bottom");const O=C-g.top-g.bottom,j=E-g.left-g.right,z=bl(C-g[A],O),D=bl(E-g[T],j),M=i.middlewareData.shift,k=!M;let G=z,K=D;M!=null&&M.enabled.x&&(K=j),M!=null&&M.enabled.y&&(G=O),k&&!x&&(S?K=E-2*qn(g.left,g.right):G=C-2*qn(g.top,g.bottom)),await m({...i,availableWidth:K,availableHeight:G});const J=await s.getDimensions(f.floating);return E!==J.width||C!==J.height?{reset:{rects:!0}}:{}}}};function $c(){return typeof window<"u"}function Ka(a){return ey(a)?(a.nodeName||"").toLowerCase():"#document"}function Rt(a){var i;return(a==null||(i=a.ownerDocument)==null?void 0:i.defaultView)||window}function kn(a){var i;return(i=(ey(a)?a.ownerDocument:a.document)||window.document)==null?void 0:i.documentElement}function ey(a){return $c()?a instanceof Node||a instanceof Rt(a).Node:!1}function hn(a){return $c()?a instanceof Element||a instanceof Rt(a).Element:!1}function El(a){return $c()?a instanceof HTMLElement||a instanceof Rt(a).HTMLElement:!1}function Cp(a){return!$c()||typeof ShadowRoot>"u"?!1:a instanceof ShadowRoot||a instanceof Rt(a).ShadowRoot}function Ic(a){const{overflow:i,overflowX:r,overflowY:c,display:s}=mn(a);return/auto|scroll|overlay|hidden|clip/.test(i+c+r)&&s!=="inline"&&s!=="contents"}function pE(a){return/^(table|td|th)$/.test(Ka(a))}function Pc(a){try{if(a.matches(":popover-open"))return!0}catch{}try{return a.matches(":modal")}catch{return!1}}const gE=/transform|translate|scale|rotate|perspective|filter/,yE=/paint|layout|strict|content/,Xl=a=>!!a&&a!=="none";let Us;function Nf(a){const i=hn(a)?mn(a):a;return Xl(i.transform)||Xl(i.translate)||Xl(i.scale)||Xl(i.rotate)||Xl(i.perspective)||!Mf()&&(Xl(i.backdropFilter)||Xl(i.filter))||gE.test(i.willChange||"")||yE.test(i.contain||"")}function SE(a){let i=kl(a);for(;El(i)&&!Ki(i);){if(Nf(i))return i;if(Pc(i))return null;i=kl(i)}return null}function Mf(){return Us==null&&(Us=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Us}function Ki(a){return/^(html|body|#document)$/.test(Ka(a))}function mn(a){return Rt(a).getComputedStyle(a)}function Jc(a){return hn(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function kl(a){if(Ka(a)==="html")return a;const i=a.assignedSlot||a.parentNode||Cp(a)&&a.host||kn(a);return Cp(i)?i.host:i}function ty(a){const i=kl(a);return Ki(i)?(a.ownerDocument||a).body:El(i)&&Ic(i)?i:ty(i)}function $i(a,i,r){var c;i===void 0&&(i=[]),r===void 0&&(r=!0);const s=ty(a),f=s===((c=a.ownerDocument)==null?void 0:c.body),m=Rt(s);if(f){const p=of(m);return i.concat(m,m.visualViewport||[],Ic(s)?s:[],p&&r?$i(p):[])}else return i.concat(s,$i(s,[],r))}function of(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function ny(a){const i=mn(a);let r=parseFloat(i.width)||0,c=parseFloat(i.height)||0;const s=El(a),f=s?a.offsetWidth:r,m=s?a.offsetHeight:c,p=Uc(r)!==f||Uc(c)!==m;return p&&(r=f,c=m),{width:r,height:c,$:p}}function zf(a){return hn(a)?a:a.contextElement}function Va(a){const i=zf(a);if(!El(i))return Bn(1);const r=i.getBoundingClientRect(),{width:c,height:s,$:f}=ny(i);let m=(f?Uc(r.width):r.width)/c,p=(f?Uc(r.height):r.height)/s;return(!m||!Number.isFinite(m))&&(m=1),(!p||!Number.isFinite(p))&&(p=1),{x:m,y:p}}const bE=Bn(0);function ly(a){const i=Rt(a);return!Mf()||!i.visualViewport?bE:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function xE(a,i,r){return i===void 0&&(i=!1),!!r&&i&&r===Rt(a)}function Ql(a,i,r,c){i===void 0&&(i=!1),r===void 0&&(r=!1);const s=a.getBoundingClientRect(),f=zf(a);let m=Bn(1);i&&(c?hn(c)&&(m=Va(c)):m=Va(a));const p=xE(f,r,c)?ly(f):Bn(0);let g=(s.left+p.x)/m.x,v=(s.top+p.y)/m.y,x=s.width/m.x,S=s.height/m.y;if(f&&c){const E=Rt(f),C=hn(c)?Rt(c):c;let A=E,T=of(A);for(;T&&C!==A;){const O=Va(T),j=T.getBoundingClientRect(),z=mn(T),D=j.left+(T.clientLeft+parseFloat(z.paddingLeft))*O.x,M=j.top+(T.clientTop+parseFloat(z.paddingTop))*O.y;g*=O.x,v*=O.y,x*=O.x,S*=O.y,g+=D,v+=M,A=Rt(T),T=of(A)}}return Lc({width:x,height:S,x:g,y:v})}function Wc(a,i){const r=Jc(a).scrollLeft;return i?i.left+r:Ql(kn(a)).left+r}function ay(a,i){const r=a.getBoundingClientRect(),c=r.left+i.scrollLeft-Wc(a,r),s=r.top+i.scrollTop;return{x:c,y:s}}function EE(a){let{elements:i,rect:r,offsetParent:c,strategy:s}=a;const f=s==="fixed",m=kn(c),p=i?Pc(i.floating):!1;if(c===m||p&&f)return r;let g={scrollLeft:0,scrollTop:0},v=Bn(1);const x=Bn(0),S=El(c);if((S||!f)&&((Ka(c)!=="body"||Ic(m))&&(g=Jc(c)),S)){const C=Ql(c);v=Va(c),x.x=C.x+c.clientLeft,x.y=C.y+c.clientTop}const E=m&&!S&&!f?ay(m,g):Bn(0);return{width:r.width*v.x,height:r.height*v.y,x:r.x*v.x-g.scrollLeft*v.x+x.x+E.x,y:r.y*v.y-g.scrollTop*v.y+x.y+E.y}}function CE(a){return a.getClientRects?Array.from(a.getClientRects()):[]}function AE(a){const i=Jc(a),r=a.ownerDocument.body,c=qn(a.scrollWidth,a.clientWidth,r.scrollWidth,r.clientWidth),s=qn(a.scrollHeight,a.clientHeight,r.scrollHeight,r.clientHeight);let f=-i.scrollLeft+Wc(a);const m=-i.scrollTop;return mn(r).direction==="rtl"&&(f+=qn(a.clientWidth,r.clientWidth)-c),{width:c,height:s,x:f,y:m}}const wE=25;function TE(a,i,r){r===void 0&&(r="viewport");const c=r==="layoutViewport",s=Rt(a),f=kn(a),m=s.visualViewport;let p=f.clientWidth,g=f.clientHeight,v=0,x=0;if(m){const E=!Mf()||i==="fixed";c?E||(v=-m.offsetLeft,x=-m.offsetTop):(p=m.width,g=m.height,E&&(v=m.offsetLeft,x=m.offsetTop))}if(Wc(f)<=0){const E=f.ownerDocument,C=E.body,A=getComputedStyle(C),T=E.compatMode==="CSS1Compat"&&parseFloat(A.marginLeft)+parseFloat(A.marginRight)||0,O=Math.abs(f.clientWidth-C.clientWidth-T),j=getComputedStyle(f).scrollbarGutter==="stable both-edges"?O/2:O;j<=wE&&(p-=j)}return{width:p,height:g,x:v,y:x}}function OE(a,i){const r=Ql(a,!0,i==="fixed"),c=r.top+a.clientTop,s=r.left+a.clientLeft,f=Va(a),m=a.clientWidth*f.x,p=a.clientHeight*f.y,g=s*f.x,v=c*f.y;return{width:m,height:p,x:g,y:v}}function Ap(a,i,r){let c;if(i==="viewport"||i==="layoutViewport")c=TE(a,r,i);else if(i==="document")c=AE(kn(a));else if(hn(i))c=OE(i,r);else{const s=ly(a);c={x:i.x-s.x,y:i.y-s.y,width:i.width,height:i.height}}return Lc(c)}function RE(a,i){const r=i.get(a);if(r)return r;let c=$i(a,[],!1).filter(p=>hn(p)&&Ka(p)!=="body"),s=null;const f=mn(a).position==="fixed";let m=f?kl(a):a;for(;hn(m)&&!Ki(m);){const p=mn(m),g=Nf(m),v=s?s.position:f?"fixed":"";!g&&(v==="fixed"||v==="absolute"&&p.position==="static")?c=c.filter(S=>S!==m):s=p,m=kl(m)}return i.set(a,c),c}function _E(a){let{element:i,boundary:r,rootBoundary:c,strategy:s}=a;const m=[...r==="clippingAncestors"?Pc(i)?[]:RE(i,this._c):[].concat(r),c],p=Ap(i,m[0],s);let g=p.top,v=p.right,x=p.bottom,S=p.left;for(let E=1;E<m.length;E++){const C=Ap(i,m[E],s);g=qn(C.top,g),v=bl(C.right,v),x=bl(C.bottom,x),S=qn(C.left,S)}return{width:v-S,height:x-g,x:S,y:g}}function jE(a){const{width:i,height:r}=ny(a);return{width:i,height:r}}function DE(a,i,r){const c=El(i),s=kn(i),f=r==="fixed",m=Ql(a,!0,f,i);let p={scrollLeft:0,scrollTop:0};const g=Bn(0);if((c||!f)&&((Ka(i)!=="body"||Ic(s))&&(p=Jc(i)),c)){const E=Ql(i,!0,f,i);g.x=E.x+i.clientLeft,g.y=E.y+i.clientTop}!c&&s&&(g.x=Wc(s));const v=s&&!c&&!f?ay(s,p):Bn(0),x=m.left+p.scrollLeft-g.x-v.x,S=m.top+p.scrollTop-g.y-v.y;return{x,y:S,width:m.width,height:m.height}}function Hs(a){return mn(a).position==="static"}function wp(a,i){if(!El(a)||mn(a).position==="fixed")return null;if(i)return i(a);let r=a.offsetParent;return kn(a)===r&&(r=r.ownerDocument.body),r}function iy(a,i){const r=Rt(a);if(Pc(a))return r;if(!El(a)){let s=kl(a);for(;s&&!Ki(s);){if(hn(s)&&!Hs(s))return s;s=kl(s)}return r}let c=wp(a,i);for(;c&&pE(c)&&Hs(c);)c=wp(c,i);return c&&Ki(c)&&Hs(c)&&!Nf(c)?r:c||SE(a)||r}const NE=async function(a){const i=this.getOffsetParent||iy,r=this.getDimensions,c=await r(a.floating);return{reference:DE(a.reference,await i(a.floating),a.strategy),floating:{x:0,y:0,width:c.width,height:c.height}}};function ME(a){return mn(a).direction==="rtl"}const zE={convertOffsetParentRelativeRectToViewportRelativeRect:EE,getDocumentElement:kn,getClippingRect:_E,getOffsetParent:iy,getElementRects:NE,getClientRects:CE,getDimensions:jE,getScale:Va,isElement:hn,isRTL:ME};function oy(a,i){return a.x===i.x&&a.y===i.y&&a.width===i.width&&a.height===i.height}function UE(a,i,r){let c=null,s;const f=kn(a);function m(){var x;clearTimeout(s),(x=c)==null||x.disconnect(),c=null}function p(x,S){x===void 0&&(x=!1),S===void 0&&(S=1),m();const E=a.getBoundingClientRect(),{left:C,top:A,width:T,height:O}=E;if(x||i(),!T||!O)return;const j=Tc(A),z=Tc(f.clientWidth-(C+T)),D=Tc(f.clientHeight-(A+O)),M=Tc(C),G={rootMargin:-j+"px "+-z+"px "+-D+"px "+-M+"px",threshold:qn(0,bl(1,S))||1};let K=!0;function J(P){const ee=P[0].intersectionRatio;if(!oy(E,a.getBoundingClientRect()))return p();if(ee!==S){if(!K)return p();ee?p(!1,ee):s=setTimeout(()=>{p(!1,1e-7)},1e3)}K=!1}try{c=new IntersectionObserver(J,{...G,root:f.ownerDocument})}catch{c=new IntersectionObserver(J,G)}c.observe(a)}const g=Rt(a),v=()=>p(r);return g.addEventListener("resize",v),p(!0),()=>{g.removeEventListener("resize",v),m()}}function HE(a,i,r,c){c===void 0&&(c={});const{ancestorScroll:s=!0,ancestorResize:f=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:p=typeof IntersectionObserver=="function",animationFrame:g=!1}=c,v=zf(a),x=s||f?[...v?$i(v):[],...i?$i(i):[]]:[];x.forEach(j=>{s&&j.addEventListener("scroll",r),f&&j.addEventListener("resize",r)});const S=v&&p?UE(v,r,f):null;let E=-1,C=null;m&&(C=new ResizeObserver(j=>{let[z]=j;z&&z.target===v&&C&&i&&(C.unobserve(i),cancelAnimationFrame(E),E=requestAnimationFrame(()=>{var D;(D=C)==null||D.observe(i)})),r()}),v&&!g&&C.observe(v),i&&C.observe(i));let A,T=g?Ql(a):null;g&&O();function O(){const j=Ql(a);T&&!oy(T,j)&&r(),T=j,A=requestAnimationFrame(O)}return r(),()=>{var j;x.forEach(z=>{s&&z.removeEventListener("scroll",r),f&&z.removeEventListener("resize",r)}),S?.(),(j=C)==null||j.disconnect(),C=null,g&&cancelAnimationFrame(A)}}const LE=dE,qE=hE,BE=uE,VE=vE,YE=sE,Tp=rE,GE=mE,XE=(a,i,r)=>{const c=new Map,s=r??{},f={...zE,...s.platform,_c:c};return cE(a,i,{...s,platform:f})};var kE=typeof document<"u",QE=function(){},Nc=kE?y.useLayoutEffect:QE;function qc(a,i){if(a===i)return!0;if(typeof a!=typeof i)return!1;if(typeof a=="function"&&a.toString()===i.toString())return!0;let r,c,s;if(a&&i&&typeof a=="object"){if(Array.isArray(a)){if(r=a.length,r!==i.length)return!1;for(c=r;c--!==0;)if(!qc(a[c],i[c]))return!1;return!0}if(s=Object.keys(a),r=s.length,r!==Object.keys(i).length)return!1;for(c=r;c--!==0;)if(!{}.hasOwnProperty.call(i,s[c]))return!1;for(c=r;c--!==0;){const f=s[c];if(!(f==="_owner"&&a.$$typeof)&&!qc(a[f],i[f]))return!1}return!0}return a!==a&&i!==i}function cy(a){return typeof window>"u"?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function Op(a,i){const r=cy(a);return Math.round(i*r)/r}function Ls(a){const i=y.useRef(a);return Nc(()=>{i.current=a}),i}function ZE(a){a===void 0&&(a={});const{placement:i="bottom",strategy:r="absolute",middleware:c=[],platform:s,elements:{reference:f,floating:m}={},transform:p=!0,whileElementsMounted:g,open:v}=a,[x,S]=y.useState({x:0,y:0,strategy:r,placement:i,middlewareData:{},isPositioned:!1}),[E,C]=y.useState(c);qc(E,c)||C(c);const[A,T]=y.useState(null),[O,j]=y.useState(null),z=y.useCallback($=>{$!==G.current&&(G.current=$,T($))},[]),D=y.useCallback($=>{$!==K.current&&(K.current=$,j($))},[]),M=f||A,k=m||O,G=y.useRef(null),K=y.useRef(null),J=y.useRef(x),P=g!=null,ee=Ls(g),le=Ls(s),W=Ls(v),ce=y.useCallback(()=>{if(!G.current||!K.current)return;const $={placement:i,strategy:r,middleware:E};le.current&&($.platform=le.current),XE(G.current,K.current,$).then(ae=>{const re={...ae,isPositioned:W.current!==!1};fe.current&&!qc(J.current,re)&&(J.current=re,Pi.flushSync(()=>{S(re)}))})},[E,i,r,le,W]);Nc(()=>{v===!1&&J.current.isPositioned&&(J.current.isPositioned=!1,S($=>({...$,isPositioned:!1})))},[v]);const fe=y.useRef(!1);Nc(()=>(fe.current=!0,()=>{fe.current=!1}),[]),Nc(()=>{if(M&&(G.current=M),k&&(K.current=k),M&&k){if(ee.current)return ee.current(M,k,ce);ce()}},[M,k,ce,ee,P]);const ge=y.useMemo(()=>({reference:G,floating:K,setReference:z,setFloating:D}),[z,D]),U=y.useMemo(()=>({reference:M,floating:k}),[M,k]),Q=y.useMemo(()=>{const $={position:r,left:0,top:0};if(!U.floating)return $;const ae=Op(U.floating,x.x),re=Op(U.floating,x.y);return p?{...$,transform:"translate("+ae+"px, "+re+"px)",...cy(U.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:ae,top:re}},[r,p,U.floating,x.x,x.y]);return y.useMemo(()=>({...x,update:ce,refs:ge,elements:U,floatingStyles:Q}),[x,ce,ge,U,Q])}const KE=a=>{function i(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:a,fn(r){const{element:c,padding:s}=typeof a=="function"?a(r):a;return c&&i(c)?c.current!=null?Tp({element:c.current,padding:s}).fn(r):{}:c?Tp({element:c,padding:s}).fn(r):{}}}},$E=(a,i)=>{const r=LE(a);return{name:r.name,fn:r.fn,options:[a,i]}},IE=(a,i)=>{const r=qE(a);return{name:r.name,fn:r.fn,options:[a,i]}},PE=(a,i)=>({fn:GE(a).fn,options:[a,i]}),JE=(a,i)=>{const r=BE(a);return{name:r.name,fn:r.fn,options:[a,i]}},WE=(a,i)=>{const r=VE(a);return{name:r.name,fn:r.fn,options:[a,i]}},FE=(a,i)=>{const r=YE(a);return{name:r.name,fn:r.fn,options:[a,i]}},eC=(a,i)=>{const r=KE(a);return{name:r.name,fn:r.fn,options:[a,i]}};var tC=Object.defineProperty,nC=(a,i)=>tC(a,"name",{value:i,configurable:!0});function ry(a){const[i,r]=y.useState(void 0);return et(()=>{if(a){r({width:a.offsetWidth,height:a.offsetHeight});const c=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const f=s[0];let m,p;if("borderBoxSize"in f){const g=f.borderBoxSize,v=Array.isArray(g)?g[0]:g;m=v.inlineSize,p=v.blockSize}else m=a.offsetWidth,p=a.offsetHeight;r({width:m,height:p})});return c.observe(a,{box:"border-box"}),()=>c.unobserve(a)}else r(void 0)},[a]),i}nC(ry,"useSize");var lC=Object.defineProperty,gl=(a,i)=>lC(a,"name",{value:i,configurable:!0}),uy="Popper",[sy,fy]=ln(uy),[aC,dy]=sy(uy),iC=gl(a=>{const{__scopePopper:i,children:r}=a,[c,s]=y.useState(null),[f,m]=y.useState(void 0);return d.jsx(aC,{scope:i,anchor:c,onAnchorChange:s,placementState:f,setPlacementState:m,children:r})},"Popper"),oC="PopperAnchor",cC=y.forwardRef(gl(function(i,r){const{__scopePopper:c,virtualRef:s,...f}=i,m=dy(oC,c),p=y.useRef(null),g=m.onAnchorChange,v=y.useCallback(T=>{p.current=T,T&&g(T)},[g]),x=De(r,v),S=y.useRef(null);y.useEffect(()=>{if(!s)return;const T=S.current;S.current=s.current,T!==S.current&&g(S.current)});const E=m.placementState&&Fc(m.placementState),C=E?.[0],A=E?.[1];return s?null:d.jsx(Te.div,{"data-radix-popper-side":C,"data-radix-popper-align":A,...f,ref:x})},"PopperAnchor")),hy="PopperContent",[rC,PA]=sy(hy),uC=y.forwardRef(gl(function(i,r){const{__scopePopper:c,side:s="bottom",sideOffset:f=0,align:m="center",alignOffset:p=0,arrowPadding:g=0,avoidCollisions:v=!0,collisionBoundary:x=[],collisionPadding:S=0,sticky:E="partial",hideWhenDetached:C=!1,updatePositionStrategy:A="optimized",onPlaced:T,...O}=i,j=dy(hy,c),[z,D]=y.useState(null),M=De(r,D),[k,G]=y.useState(null),K=ry(k),J=K?.width??0,P=K?.height??0,ee=s+(m!=="center"?"-"+m:""),le=typeof S=="number"?S:{top:0,right:0,bottom:0,left:0,...S},W=Array.isArray(x)?x:[x],ce=W.length>0,fe={padding:le,boundary:W.filter(my),altBoundary:ce},{refs:ge,floatingStyles:U,placement:Q,isPositioned:$,middlewareData:ae}=ZE({strategy:"fixed",placement:ee,whileElementsMounted:gl((...de)=>HE(...de,{animationFrame:A==="always"}),"whileElementsMounted"),elements:{reference:j.anchor},middleware:[$E({mainAxis:f+P,alignmentAxis:p}),v&&IE({mainAxis:!0,crossAxis:!1,limiter:E==="partial"?PE():void 0,...fe}),v&&JE({...fe}),WE({...fe,apply:gl(({elements:de,rects:ke,availableWidth:je,availableHeight:ze})=>{const{width:Xe,height:rt}=ke.reference,vt=de.floating.style;vt.setProperty("--radix-popper-available-width",`${je}px`),vt.setProperty("--radix-popper-available-height",`${ze}px`),vt.setProperty("--radix-popper-anchor-width",`${Xe}px`),vt.setProperty("--radix-popper-anchor-height",`${rt}px`)},"apply")}),k&&eC({element:k,padding:g}),sC({arrowWidth:J,arrowHeight:P}),C&&FE({strategy:"referenceHidden",...fe,boundary:ce?fe.boundary:void 0})]}),re=j.setPlacementState;et(()=>(re(Q),()=>{re(void 0)}),[Q,re]);const[R,V]=Fc(Q),I=ct(T);et(()=>{$&&I?.()},[$,I]);const F=ae.arrow?.x,ue=ae.arrow?.y,he=ae.arrow?.centerOffset!==0,[Se,ie]=y.useState();return et(()=>{z&&ie(window.getComputedStyle(z).zIndex)},[z]),d.jsx("div",{ref:ge.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:$?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[ae.transformOrigin?.x,ae.transformOrigin?.y].join(" "),...ae.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:i.dir,children:d.jsx(rC,{scope:c,placedSide:R,placedAlign:V,onArrowChange:G,arrowX:F,arrowY:ue,shouldHideArrow:he,children:d.jsx(Te.div,{"data-side":R,"data-align":V,...O,ref:M,style:{...O.style,animation:$?O.style?.animation:"none"}})})})},"PopperContent"));function my(a){return a!==null}gl(my,"isNotNull");var sC=gl(a=>({name:"transformOrigin",options:a,fn(i){const{placement:r,rects:c,middlewareData:s}=i,m=s.arrow?.centerOffset!==0,p=m?0:a.arrowWidth,g=m?0:a.arrowHeight,[v,x]=Fc(r),S={start:"0%",center:"50%",end:"100%"}[x],E=(s.arrow?.x??0)+p/2,C=(s.arrow?.y??0)+g/2;let A="",T="";return v==="bottom"?(A=m?S:`${E}px`,T=`${-g}px`):v==="top"?(A=m?S:`${E}px`,T=`${c.floating.height+g}px`):v==="right"?(A=`${-g}px`,T=m?S:`${C}px`):v==="left"&&(A=`${c.floating.width+g}px`,T=m?S:`${C}px`),{data:{x:A,y:T}}}}),"transformOrigin");function Fc(a){const[i,r="center"]=a.split("-");return[i,r]}gl(Fc,"getSideAndAlignFromPlacement");var fC=iC,dC=cC,hC=uC,mC=Object.defineProperty,vC=(a,i)=>mC(a,"name",{value:i,configurable:!0});function vy(a){const i=y.useRef({value:a,previous:a});return y.useMemo(()=>(i.current.value!==a&&(i.current.previous=i.current.value,i.current.value=a),i.current.previous),[a])}vC(vy,"usePrevious");var pC=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),gC=Object.defineProperty,qe=(a,i)=>gC(a,"name",{value:i,configurable:!0}),yC=[" ","Enter","ArrowUp","ArrowDown"],SC=[" ","Enter"],Ya="Select",[er,Uf,bC]=Gc(Ya),[Kl,JA]=ln(Ya,[bC,fy]),Hf=fy(),[xC,Cl]=Kl(Ya),[EC,CC]=Kl(Ya);function py(a){const{__scopeSelect:i,children:r,open:c,defaultOpen:s,onOpenChange:f,value:m,defaultValue:p,onValueChange:g,dir:v,name:x,autoComplete:S,disabled:E,required:C,form:A,internal_do_not_use_render:T}=a,O=Hf(i),[j,z]=y.useState(null),[D,M]=y.useState(null),[k,G]=y.useState(!1),K=Qa(v),[J,P]=Vn({prop:c,defaultProp:s??!1,onChange:f,caller:Ya}),[ee,le]=Vn({prop:m,defaultProp:p,onChange:g,caller:Ya}),W=y.useRef(null),ce=y.useRef(ee);y.useEffect(()=>{const V=A?j?.ownerDocument.getElementById(A):j?.form;if(V instanceof HTMLFormElement){const I=qe(()=>le(ce.current),"reset");return V.addEventListener("reset",I),()=>V.removeEventListener("reset",I)}},[A,j,le]);const fe=j?!!A||!!j.closest("form"):!0,[ge,U]=y.useState(new Set),Q=dn(),$=Array.from(ge).map(V=>V.props.value).join(";"),ae=y.useCallback(V=>{U(I=>new Set(I).add(V))},[]),re=y.useCallback(V=>{U(I=>{const F=new Set(I);return F.delete(V),F})},[]),R={required:C,trigger:j,onTriggerChange:z,valueNode:D,onValueNodeChange:M,valueNodeHasChildren:k,onValueNodeHasChildrenChange:G,contentId:Q,value:ee,onValueChange:le,open:J,onOpenChange:P,dir:K,triggerPointerDownPosRef:W,disabled:E,name:x,autoComplete:S,form:A,nativeOptions:ge,nativeSelectKey:$,isFormControl:fe};return d.jsx(fC,{...O,children:d.jsx(xC,{scope:i,...R,children:d.jsx(er.Provider,{scope:i,children:d.jsx(EC,{scope:i,onNativeOptionAdd:ae,onNativeOptionRemove:re,children:_y(T)?T(R):r})})})})}qe(py,"SelectProvider");var gy=qe(a=>{const{__scopeSelect:i,children:r,...c}=a;return d.jsx(py,{__scopeSelect:i,...c,internal_do_not_use_render:({isFormControl:s})=>d.jsxs(d.Fragment,{children:[r,s?d.jsx(BC,{__scopeSelect:i}):null]})})},"Select"),AC="SelectTrigger",yy=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,disabled:s=!1,...f}=i,m=Hf(c),p=Cl(AC,c),g=p.disabled||s,v=De(r,p.onTriggerChange),x=Uf(c),S=y.useRef("touch"),[E,C,A]=Lf(O=>{const j=x().filter(M=>!M.disabled),z=j.find(M=>M.value===p.value),D=qf(j,O,z);D!==void 0&&p.onValueChange(D.value)}),T=qe(O=>{g||(p.onOpenChange(!0),A()),O&&(p.triggerPointerDownPosRef.current={x:Math.round(O.pageX),y:Math.round(O.pageY)})},"handleOpen");return d.jsx(dC,{asChild:!0,...m,children:d.jsx(Te.button,{type:"button",role:"combobox","aria-controls":p.open?p.contentId:void 0,"aria-expanded":p.open,"aria-required":p.required,"aria-autocomplete":"none",dir:p.dir,"data-state":p.open?"open":"closed",disabled:g,"data-disabled":g?"":void 0,"data-placeholder":eo(p.value)?"":void 0,...f,ref:v,onClick:ye(f.onClick,O=>{O.currentTarget.focus(),S.current!=="mouse"&&T(O)}),onPointerDown:ye(f.onPointerDown,O=>{S.current=O.pointerType;const j=O.target;j.hasPointerCapture(O.pointerId)&&j.releasePointerCapture(O.pointerId),O.button===0&&O.ctrlKey===!1&&O.pointerType==="mouse"&&(T(O),O.preventDefault())}),onKeyDown:ye(f.onKeyDown,O=>{const j=E.current!=="";!(O.ctrlKey||O.altKey||O.metaKey)&&O.key.length===1&&C(O.key),!(j&&O.key===" ")&&yC.includes(O.key)&&(T(),O.preventDefault())})})})},"SelectTrigger")),wC="SelectValue",Sy=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,className:s,style:f,children:m,placeholder:p="",...g}=i,v=Cl(wC,c),{onValueNodeHasChildrenChange:x}=v,S=m!==void 0,E=De(r,v.onValueNodeChange);et(()=>{x(S)},[x,S]);const C=eo(v.value);return d.jsx(Te.span,{...g,asChild:C?!1:g.asChild,ref:E,style:{pointerEvents:"none"},children:d.jsx(y.Fragment,{children:C?p:m},C?"placeholder":"value")})},"SelectValue")),by=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,children:s,...f}=i;return d.jsx(Te.span,{"aria-hidden":!0,...f,ref:r,children:s||"▼"})},"SelectIcon")),TC="SelectPortal",[OC,RC]=Kl(TC,{forceMount:void 0}),xy=qe(a=>{const{__scopeSelect:i,forceMount:r,...c}=a;return d.jsx(OC,{scope:a.__scopeSelect,forceMount:r,children:d.jsx(jg,{asChild:!0,...c})})},"SelectPortal"),Zl="SelectContent",Ey=y.forwardRef(qe(function(i,r){const c=RC(Zl,i.__scopeSelect),{forceMount:s=c.forceMount,...f}=i,m=Cl(Zl,i.__scopeSelect),[p,g]=y.useState();return et(()=>{g(new DocumentFragment)},[]),d.jsx(vn,{present:s||m.open,children:({present:v})=>v?d.jsx(DC,{...f,ref:r}):d.jsx(_C,{...f,fragment:p})})},"SelectContent")),_C=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,children:s,fragment:f}=i;return f?Pi.createPortal(d.jsx(Cy,{scope:c,children:d.jsx(er.Slot,{scope:c,children:d.jsx("div",{ref:r,children:s})})}),f):null},"SelectContentFragment")),nn=10,[Cy,tr]=Kl(Zl),jC=Sl("SelectContent.RemoveScroll"),DC=y.forwardRef(qe(function(i,r){const{__scopeSelect:c}=i,{position:s="item-aligned",onCloseAutoFocus:f,onEscapeKeyDown:m,onPointerDownOutside:p,side:g,sideOffset:v,align:x,alignOffset:S,arrowPadding:E,collisionBoundary:C,collisionPadding:A,sticky:T,hideWhenDetached:O,avoidCollisions:j,...z}=i,D=Cl(Zl,c),[M,k]=y.useState(null),[G,K]=y.useState(null),J=De(r,k),[P,ee]=y.useState(null),[le,W]=y.useState(null),ce=Uf(c),[fe,ge]=y.useState(!1),U=y.useRef(!1);y.useEffect(()=>{if(M)return Bg(M)},[M]),Zc();const Q=y.useCallback(ie=>{const[de,...ke]=ce().map(Xe=>Xe.ref.current),[je]=ke.slice(-1),ze=document.activeElement;for(const Xe of ie)if(Xe===ze||(Xe?.scrollIntoView({block:"nearest"}),Xe===de&&G&&(G.scrollTop=0),Xe===je&&G&&(G.scrollTop=G.scrollHeight),Xe?.focus(),document.activeElement!==ze))return},[ce,G]),$=y.useCallback(()=>Q([P,M]),[Q,P,M]);y.useEffect(()=>{fe&&$()},[fe,$]);const{onOpenChange:ae,triggerPointerDownPosRef:re}=D;y.useEffect(()=>{if(M){let ie={x:0,y:0};const de=qe(je=>{ie={x:Math.abs(Math.round(je.pageX)-(re.current?.x??0)),y:Math.abs(Math.round(je.pageY)-(re.current?.y??0))}},"handlePointerMove"),ke=qe(je=>{ie.x<=10&&ie.y<=10?je.preventDefault():je.composedPath().includes(M)||ae(!1),document.removeEventListener("pointermove",de),re.current=null},"handlePointerUp");return re.current!==null&&(document.addEventListener("pointermove",de),document.addEventListener("pointerup",ke,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",de),document.removeEventListener("pointerup",ke,{capture:!0})}}},[M,ae,re]),y.useEffect(()=>{const ie=qe(()=>ae(!1),"close");return window.addEventListener("blur",ie),window.addEventListener("resize",ie),()=>{window.removeEventListener("blur",ie),window.removeEventListener("resize",ie)}},[ae]);const[R,V]=Lf(ie=>{const de=ce().filter(ze=>!ze.disabled),ke=de.find(ze=>ze.ref.current===document.activeElement),je=qf(de,ie,ke);je&&setTimeout(()=>je.ref.current?.focus())}),I=y.useCallback((ie,de,ke)=>{const je=!U.current&&!ke;(D.value!==void 0&&D.value===de||je)&&(ee(ie),je&&(U.current=!0))},[D.value]),F=y.useCallback(()=>M?.focus(),[M]),ue=y.useCallback((ie,de,ke)=>{const je=!U.current&&!ke;(D.value!==void 0&&D.value===de||je)&&W(ie)},[D.value]),he=s==="popper"?Rp:NC,Se=he===Rp?{side:g,sideOffset:v,align:x,alignOffset:S,arrowPadding:E,collisionBoundary:C,collisionPadding:A,sticky:T,hideWhenDetached:O,avoidCollisions:j}:{};return d.jsx(Cy,{scope:c,content:M,viewport:G,onViewportChange:K,itemRefCallback:I,selectedItem:P,onItemLeave:F,itemTextRefCallback:ue,focusSelectedItem:$,selectedItemText:le,position:s,isPositioned:fe,searchRef:R,children:d.jsx(Ef,{as:jC,allowPinchZoom:!0,children:d.jsx(Cg,{asChild:!0,trapped:D.open,onMountAutoFocus:ie=>{ie.preventDefault()},onUnmountAutoFocus:ye(f,ie=>{D.trigger?.focus({preventScroll:!0}),ie.preventDefault()}),children:d.jsx(Sg,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:m,onPointerDownOutside:p,onFocusOutside:ie=>ie.preventDefault(),onDismiss:()=>D.onOpenChange(!1),children:d.jsx(he,{role:"listbox",id:D.contentId,"data-state":D.open?"open":"closed",dir:D.dir,onContextMenu:ie=>ie.preventDefault(),...z,...Se,onPlaced:()=>ge(!0),ref:J,style:{display:"flex",flexDirection:"column",outline:"none",...z.style},onKeyDown:ye(z.onKeyDown,ie=>{const de=ie.ctrlKey||ie.altKey||ie.metaKey;if(ie.key==="Tab"&&ie.preventDefault(),!de&&ie.key.length===1&&V(ie.key),["ArrowUp","ArrowDown","Home","End"].includes(ie.key)){let je=ce().filter(ze=>!ze.disabled).map(ze=>ze.ref.current);if(["ArrowUp","End"].includes(ie.key)&&(je=je.slice().reverse()),["ArrowUp","ArrowDown"].includes(ie.key)){const ze=ie.target,Xe=je.indexOf(ze);je=je.slice(Xe+1)}setTimeout(()=>Q(je)),ie.preventDefault()}})})})})})})},"SelectContentImpl")),NC=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,onPlaced:s,...f}=i,m=Cl(Zl,c),p=tr(Zl,c),[g,v]=y.useState(null),[x,S]=y.useState(null),E=De(r,S),C=Uf(c),A=y.useRef(!1),T=y.useRef(!0),{viewport:O,selectedItem:j,selectedItemText:z,focusSelectedItem:D}=p,M=y.useCallback(()=>{if(m.trigger&&m.valueNode&&g&&x&&O&&j&&z){const J=m.trigger.getBoundingClientRect(),P=x.getBoundingClientRect(),ee=m.valueNode.getBoundingClientRect(),le=z.getBoundingClientRect();if(m.dir!=="rtl"){const ze=le.left-P.left,Xe=ee.left-ze,rt=J.left-Xe,vt=J.width+rt,Al=Math.max(vt,P.width),Ia=window.innerWidth-nn,Il=zc(Xe,[nn,Math.max(nn,Ia-Al)]);g.style.minWidth=vt+"px",g.style.left=Il+"px"}else{const ze=P.right-le.right,Xe=window.innerWidth-ee.right-ze,rt=window.innerWidth-J.right-Xe,vt=J.width+rt,Al=Math.max(vt,P.width),Ia=window.innerWidth-nn,Il=zc(Xe,[nn,Math.max(nn,Ia-Al)]);g.style.minWidth=vt+"px",g.style.right=Il+"px"}const W=C(),ce=window.innerHeight-nn*2,fe=O.scrollHeight,ge=window.getComputedStyle(x),U=parseInt(ge.borderTopWidth,10),Q=parseInt(ge.paddingTop,10),$=parseInt(ge.borderBottomWidth,10),ae=parseInt(ge.paddingBottom,10),re=U+Q+fe+ae+$,R=Math.min(j.offsetHeight*5,re),V=window.getComputedStyle(O),I=parseInt(V.paddingTop,10),F=parseInt(V.paddingBottom,10),ue=J.top+J.height/2-nn,he=ce-ue,Se=j.offsetHeight/2,ie=j.offsetTop+Se,de=U+Q+ie,ke=re-de;if(de<=ue){const ze=W.length>0&&j===W[W.length-1].ref.current;g.style.bottom="0px";const Xe=x.clientHeight-O.offsetTop-O.offsetHeight,rt=Math.max(he,Se+(ze?F:0)+Xe+$),vt=de+rt;g.style.height=vt+"px"}else{const ze=W.length>0&&j===W[0].ref.current;g.style.top="0px";const rt=Math.max(ue,U+O.offsetTop+(ze?I:0)+Se)+ke;g.style.height=rt+"px",O.scrollTop=de-ue+O.offsetTop}g.style.margin=`${nn}px 0`,g.style.minHeight=R+"px",g.style.maxHeight=ce+"px",s?.(),requestAnimationFrame(()=>A.current=!0)}},[C,m.trigger,m.valueNode,g,x,O,j,z,m.dir,s]);et(()=>M(),[M]);const[k,G]=y.useState();et(()=>{x&&G(window.getComputedStyle(x).zIndex)},[x]);const K=y.useCallback(J=>{J&&T.current===!0&&(M(),D?.(),T.current=!1)},[M,D]);return d.jsx(MC,{scope:c,contentWrapper:g,shouldExpandOnScrollRef:A,onScrollButtonChange:K,children:d.jsx("div",{ref:v,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:d.jsx(Te.div,{...f,ref:E,style:{boxSizing:"border-box",maxHeight:"100%",...f.style}})})})},"SelectItemAlignedPosition")),Rp=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,align:s="start",collisionPadding:f=nn,...m}=i,p=Hf(c);return d.jsx(hC,{...p,...m,ref:r,align:s,collisionPadding:f,style:{boxSizing:"border-box",...m.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[MC,zC]=Kl(Zl,{}),_p="SelectViewport",Ay=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,nonce:s,...f}=i,m=tr(_p,c),p=zC(_p,c),g=De(r,m.onViewportChange),v=y.useRef(0);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),d.jsx(er.Slot,{scope:c,children:d.jsx(Te.div,{"data-radix-select-viewport":"",role:"presentation",...f,ref:g,style:{position:"relative",flex:1,overflow:"hidden auto",...f.style},onScroll:ye(f.onScroll,x=>{const S=x.currentTarget,{contentWrapper:E,shouldExpandOnScrollRef:C}=p;if(C?.current&&E){const A=Math.abs(v.current-S.scrollTop);if(A>0){const T=window.innerHeight-nn*2,O=parseFloat(E.style.minHeight),j=parseFloat(E.style.height),z=Math.max(O,j);if(z<T){const D=z+A,M=Math.min(T,D),k=D-M;E.style.height=M+"px",E.style.bottom==="0px"&&(S.scrollTop=k>0?k:0,E.style.justifyContent="flex-end")}}}v.current=S.scrollTop})})})]})},"SelectViewport")),UC="SelectGroup",[WA,FA]=Kl(UC),cf="SelectItem",[HC,wy]=Kl(cf),Ty=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,value:s,disabled:f=!1,textValue:m,...p}=i,g=Cl(cf,c),v=tr(cf,c),x=g.value===s,[S,E]=y.useState(m??""),[C,A]=y.useState(!1),T=ct(M=>v.itemRefCallback?.(M,s,f)),O=De(r,T),j=dn(),z=y.useRef("touch"),D=qe(()=>{f||(g.onValueChange(s),g.onOpenChange(!1))},"handleSelect");return d.jsx(HC,{scope:c,value:s,disabled:f,textId:j,isSelected:x,onItemTextChange:y.useCallback(M=>{E(k=>k||(M?.textContent??"").trim())},[]),children:d.jsx(er.ItemSlot,{scope:c,value:s,disabled:f,textValue:S,children:d.jsx(Te.div,{role:"option","aria-labelledby":j,"data-highlighted":C?"":void 0,"aria-selected":x&&C,"data-state":x?"checked":"unchecked","aria-disabled":f||void 0,"data-disabled":f?"":void 0,tabIndex:f?void 0:-1,...p,ref:O,onFocus:ye(p.onFocus,()=>A(!0)),onBlur:ye(p.onBlur,()=>A(!1)),onClick:ye(p.onClick,()=>{z.current!=="mouse"&&D()}),onPointerUp:ye(p.onPointerUp,()=>{z.current==="mouse"&&D()}),onPointerDown:ye(p.onPointerDown,M=>{z.current=M.pointerType}),onPointerMove:ye(p.onPointerMove,M=>{z.current=M.pointerType,f?v.onItemLeave?.():z.current==="mouse"&&M.currentTarget.focus({preventScroll:!0})}),onPointerLeave:ye(p.onPointerLeave,M=>{M.currentTarget===document.activeElement&&v.onItemLeave?.()}),onKeyDown:ye(p.onKeyDown,M=>{f||M.target!==M.currentTarget||v.searchRef?.current!==""&&M.key===" "||(SC.includes(M.key)&&D(),M.key===" "&&M.preventDefault())})})})})},"SelectItem")),Oc="SelectItemText",Oy=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,className:s,style:f,...m}=i,p=Cl(Oc,c),g=tr(Oc,c),v=wy(Oc,c),x=CC(Oc,c),[S,E]=y.useState(null),C=ct(D=>g.itemTextRefCallback?.(D,v.value,v.disabled)),A=De(r,E,v.onItemTextChange,C),T=S?.textContent,O=y.useMemo(()=>d.jsx("option",{value:v.value,disabled:v.disabled,children:T},v.value),[v.disabled,v.value,T]),{onNativeOptionAdd:j,onNativeOptionRemove:z}=x;return et(()=>(j(O),()=>z(O)),[j,z,O]),d.jsxs(d.Fragment,{children:[d.jsx(Te.span,{id:v.textId,...m,ref:A}),v.isSelected&&p.valueNode&&!p.valueNodeHasChildren&&!eo(p.value)?Pi.createPortal(m.children,p.valueNode):null]})},"SelectItemText")),LC="SelectItemIndicator",Ry=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,...s}=i;return wy(LC,c).isSelected?d.jsx(Te.span,{"aria-hidden":!0,...s,ref:r}):null},"SelectItemIndicator")),qC="SelectBubbleInput",BC=y.forwardRef(qe(function({__scopeSelect:i,...r},c){const s=Cl(qC,i),{value:f,onValueChange:m,required:p,disabled:g,name:v,autoComplete:x,form:S}=s,{nativeOptions:E,nativeSelectKey:C}=s,A=y.useRef(null),T=De(c,A),O=f??"",j=vy(O),z=Array.from(E).some(D=>(D.props.value??"")==="");return y.useEffect(()=>{const D=A.current;if(!D)return;const M=window.HTMLSelectElement.prototype,G=Object.getOwnPropertyDescriptor(M,"value").set;if(j!==O&&G){const K=new Event("change",{bubbles:!0});G.call(D,O),D.dispatchEvent(K)}},[j,O]),d.jsxs(Te.select,{"aria-hidden":!0,required:p,tabIndex:-1,name:v,autoComplete:x,disabled:g,form:S,onChange:D=>m(D.target.value),...r,style:{...pC,...r.style},ref:T,defaultValue:O,children:[eo(f)&&!z?d.jsx("option",{value:""}):null,Array.from(E)]},C)},"SelectBubbleInput"));function _y(a){return typeof a=="function"}qe(_y,"isFunction");function eo(a){return a===""||a===void 0}qe(eo,"shouldShowPlaceholder");function Lf(a){const i=ct(a),r=y.useRef(""),c=y.useRef(0),s=y.useCallback(m=>{const p=r.current+m;i(p),qe((function g(v){r.current=v,window.clearTimeout(c.current),v!==""&&(c.current=window.setTimeout(()=>g(""),1e3))}),"updateSearch")(p)},[i]),f=y.useCallback(()=>{r.current="",window.clearTimeout(c.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(c.current),[]),[r,s,f]}qe(Lf,"useTypeaheadSearch");function qf(a,i,r){const s=i.length>1&&Array.from(i).every(v=>v===i[0])?i[0]:i,f=r?a.indexOf(r):-1;let m=jy(a,Math.max(f,0));s.length===1&&(m=m.filter(v=>v!==r));const g=m.find(v=>v.textValue.toLowerCase().startsWith(s.toLowerCase()));return g!==r?g:void 0}qe(qf,"findNextItem");function jy(a,i){return a.map((r,c)=>a[(i+c)%a.length])}qe(jy,"wrapArray");var VC=Object.defineProperty,Bf=(a,i)=>VC(a,"name",{value:i,configurable:!0}),qs=!1;function Dy(){const[a,i]=y.useState(qs);return y.useEffect(()=>{qs||(qs=!0,i(!0))},[]),a}Bf(Dy,"useIsHydrated");var Ny=Xa[" useSyncExternalStore ".trim().toString()];function My(){return()=>{}}Bf(My,"subscribe");function zy(){return Ny(My,()=>!0,()=>!1)}Bf(zy,"useIsHydratedModern");var YC=typeof Ny=="function"?zy:Dy,GC=Object.defineProperty,$l=(a,i)=>GC(a,"name",{value:i,configurable:!0}),Bs="rovingFocusGroup.onEntryFocus",XC={bubbles:!1,cancelable:!0},nr="RovingFocusGroup",[rf,Uy,kC]=Gc(nr),[QC,Hy]=ln(nr,[kC]),[ZC,KC]=QC(nr),$C=y.forwardRef($l(function(i,r){return d.jsx(rf.Provider,{scope:i.__scopeRovingFocusGroup,children:d.jsx(rf.Slot,{scope:i.__scopeRovingFocusGroup,children:d.jsx(IC,{...i,ref:r})})})},"RovingFocusGroup")),IC=y.forwardRef($l(function(i,r){const{__scopeRovingFocusGroup:c,orientation:s,loop:f=!1,dir:m,currentTabStopId:p,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:v,onEntryFocus:x,preventScrollOnEntryFocus:S=!1,...E}=i,C=y.useRef(null),A=De(r,C),T=Qa(m),[O,j]=Vn({prop:p,defaultProp:g??null,onChange:v,caller:nr}),[z,D]=y.useState(!1),M=ct(x),k=Uy(c),G=y.useRef(!1),[K,J]=y.useState(0);return y.useEffect(()=>{const P=C.current;if(P)return P.addEventListener(Bs,M),()=>P.removeEventListener(Bs,M)},[M]),d.jsx(ZC,{scope:c,orientation:s,dir:T,loop:f,currentTabStopId:O,onItemFocus:y.useCallback(P=>j(P),[j]),onItemShiftTab:y.useCallback(()=>D(!0),[]),onFocusableItemAdd:y.useCallback(()=>J(P=>P+1),[]),onFocusableItemRemove:y.useCallback(()=>J(P=>P-1),[]),children:d.jsx(Te.div,{tabIndex:z||K===0?-1:0,"data-orientation":s,...E,ref:A,style:{outline:"none",...i.style},onMouseDown:ye(i.onMouseDown,()=>{G.current=!0}),onFocus:ye(i.onFocus,P=>{const ee=!G.current;if(P.target===P.currentTarget&&ee&&!z){const le=new CustomEvent(Bs,XC);if(P.currentTarget.dispatchEvent(le),!le.defaultPrevented){const W=k().filter(Q=>Q.focusable),ce=W.find(Q=>Q.active),fe=W.find(Q=>Q.id===O),U=[ce,fe,...W].filter(Boolean).map(Q=>Q.ref.current);Vf(U,S)}}G.current=!1}),onBlur:ye(i.onBlur,()=>D(!1))})})},"RovingFocusGroupImpl")),PC="RovingFocusGroupItem",JC=y.forwardRef($l(function(i,r){const{__scopeRovingFocusGroup:c,focusable:s=!0,active:f=!1,tabStopId:m,children:p,...g}=i,v=dn(),x=m||v,S=KC(PC,c),E=S.currentTabStopId===x,C=Uy(c),{onFocusableItemAdd:A,onFocusableItemRemove:T,currentTabStopId:O}=S,j=YC();return et(()=>{if(!(!j||!s))return A(),()=>T()},[j,s,A,T]),y.useEffect(()=>{if(!(j||!s))return A(),()=>T()},[j,s,A,T]),d.jsx(rf.ItemSlot,{scope:c,id:x,focusable:s,active:f,children:d.jsx(Te.span,{tabIndex:E?0:-1,"data-orientation":S.orientation,...g,ref:r,onMouseDown:ye(i.onMouseDown,z=>{s?S.onItemFocus(x):z.preventDefault()}),onFocus:ye(i.onFocus,()=>S.onItemFocus(x)),onKeyDown:ye(i.onKeyDown,z=>{if(z.key==="Tab"&&z.shiftKey){S.onItemShiftTab();return}if(z.target!==z.currentTarget)return;const D=qy(z,S.orientation,S.dir);if(D!==void 0){if(z.metaKey||z.ctrlKey||z.altKey||z.shiftKey)return;z.preventDefault();let k=C().filter(G=>G.focusable).map(G=>G.ref.current);if(D==="last")k.reverse();else if(D==="prev"||D==="next"){D==="prev"&&k.reverse();const G=k.indexOf(z.currentTarget);k=S.loop?By(k,G+1):k.slice(G+1)}setTimeout(()=>Vf(k))}}),children:typeof p=="function"?p({isCurrentTabStop:E,hasTabStop:O!=null}):p})})},"RovingFocusGroupItem")),WC={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ly(a,i){return i!=="rtl"?a:a==="ArrowLeft"?"ArrowRight":a==="ArrowRight"?"ArrowLeft":a}$l(Ly,"getDirectionAwareKey");function qy(a,i,r){const c=Ly(a.key,r);if(!(i==="vertical"&&["ArrowLeft","ArrowRight"].includes(c))&&!(i==="horizontal"&&["ArrowUp","ArrowDown"].includes(c)))return WC[c]}$l(qy,"getFocusIntent");function Vf(a,i=!1){const r=document.activeElement;for(const c of a)if(c===r||(c.focus({preventScroll:i}),document.activeElement!==r))return}$l(Vf,"focusFirst");function By(a,i){return a.map((r,c)=>a[(i+c)%a.length])}$l(By,"wrapArray");var FC=$C,eA=JC,tA=Object.defineProperty,$a=(a,i)=>tA(a,"name",{value:i,configurable:!0}),Yf="Tabs",[nA,ew]=ln(Yf,[Hy]),Vy=Hy(),[lA,Gf]=nA(Yf),aA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,value:s,onValueChange:f,defaultValue:m,orientation:p="horizontal",dir:g,activationMode:v="automatic",...x}=i,S=Qa(g),[E,C]=Vn({prop:s,onChange:f,defaultProp:m??"",caller:Yf});return d.jsx(lA,{scope:c,baseId:dn(),value:E,onValueChange:C,orientation:p,dir:S,activationMode:v,children:d.jsx(Te.div,{dir:S,"data-orientation":p,...x,ref:r})})},"Tabs")),iA="TabsList",oA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,loop:s=!0,...f}=i,m=Gf(iA,c),p=Vy(c);return d.jsx(FC,{asChild:!0,...p,orientation:m.orientation,dir:m.dir,loop:s,children:d.jsx(Te.div,{role:"tablist","aria-orientation":m.orientation,...f,ref:r})})},"TabsList")),cA="TabsTrigger",rA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,value:s,disabled:f=!1,...m}=i,p=Gf(cA,c),g=Vy(c),v=Xf(p.baseId,s),x=kf(p.baseId,s),S=s===p.value;return d.jsx(eA,{asChild:!0,...g,focusable:!f,active:S,children:d.jsx(Te.button,{type:"button",role:"tab","aria-selected":S,"aria-controls":x,"data-state":S?"active":"inactive","data-disabled":f?"":void 0,disabled:f,id:v,...m,ref:r,onMouseDown:ye(i.onMouseDown,E=>{!f&&E.button===0&&E.ctrlKey===!1?p.onValueChange(s):E.preventDefault()}),onKeyDown:ye(i.onKeyDown,E=>{f||E.target!==E.currentTarget||[" ","Enter"].includes(E.key)&&p.onValueChange(s)}),onFocus:ye(i.onFocus,()=>{const E=p.activationMode!=="manual";!S&&!f&&E&&p.onValueChange(s)})})})},"TabsTrigger")),uA="TabsContent",sA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,value:s,forceMount:f,children:m,...p}=i,g=Gf(uA,c),v=Xf(g.baseId,s),x=kf(g.baseId,s),S=s===g.value,E=y.useRef(S);return y.useEffect(()=>{const C=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(C)},[]),d.jsx(vn,{present:f||S,children:({present:C})=>d.jsx(Te.div,{"data-state":S?"active":"inactive","data-orientation":g.orientation,role:"tabpanel","aria-labelledby":v,hidden:!C,id:x,tabIndex:0,...p,ref:r,style:{...i.style,animationDuration:E.current?"0s":void 0},children:C&&m})})},"TabsContent"));function Xf(a,i){return`${a}-trigger-${i}`}$a(Xf,"makeTriggerId");function kf(a,i){return`${a}-content-${i}`}$a(kf,"makeContentId");var fA=aA,dA=oA,jp=rA,Dp=sA;const hA=[{seq:12835,streamId:"wake:operations-3",streamSeq:19,ts:"2026-08-20T14:10:22.000+08:00",actor:"operations",type:"handoff.recorded",data:{observations:["Fulfillment p95 is 41 hours","Support SLA is 96%"],results:["Carrier backlog cleared","Refund queue is stable"],nextSteps:["Recheck fulfillment window at 14:30"]}},{seq:12836,streamId:"wake:web-3",streamSeq:17,ts:"2026-08-20T14:11:12.000+08:00",actor:"web",type:"handoff.recorded",data:{observations:["Production smoke test passed"],results:["Storefront v1 is ready to publish"],nextSteps:["Request human approval for publish.storefront"]}},{seq:12841,streamId:"goal:storefront",streamSeq:4,ts:"2026-08-20T14:12:31.000+08:00",actor:"ceo",type:"goal.delegated",data:{goalId:"storefront",owner:"web",reason:"Launch acquisition surface"}},{seq:12842,streamId:"metric:orders",streamSeq:18,ts:"2026-08-20T14:12:57.000+08:00",actor:"operations",type:"metric.evaluated",data:{status:"passed",summary:"Orders p95 fulfillment ≤ 48h"}},{seq:12843,streamId:"wake:growth-7",streamSeq:31,ts:"2026-08-20T14:13:21.000+08:00",actor:"growth",type:"handoff.recorded",data:{observations:["342 paying users"],results:["ROAS 2.8"],nextSteps:["Scale winning channel"]}},{seq:12844,streamId:"wake:web-4",streamSeq:1,ts:"2026-08-20T14:14:18.000+08:00",actor:"web",type:"wake.enqueued",data:{reason:"Launch storefront",nextWakeAt:"2026-08-20T14:30:00.000+08:00"}},{seq:12845,streamId:"action:publish-storefront",streamSeq:1,ts:"2026-08-20T14:16:21.000+08:00",actor:"web",type:"action.requested",data:{kind:"publish.storefront",reason:"Validated landing page is ready"}},{seq:12846,streamId:"mail:decision-growth",streamSeq:1,ts:"2026-08-20T14:17:04.000+08:00",actor:"ceo",type:"mail.sent",data:{to:"growth",level:"decision",summary:"Increase paid acquisition carefully"}},{seq:12847,streamId:"wake:growth-8",streamSeq:2,ts:"2026-08-20T14:18:02.000+08:00",actor:"growth",type:"wake.running",data:{runnerPid:21874,triggerRef:"mail:decision-growth"}},{seq:12848,streamId:"wake:growth-8",streamSeq:3,ts:"2026-08-20T14:18:03.000+08:00",actor:"growth",type:"request.prepared",data:{activeContext:"Goal: Acquire 500 paying users. Observation method: count paid Stripe users and require 30-day ROAS ≥ 2.0. CEO decision: increase paid acquisition carefully.",provider:"faux",model:"faux-goah"}},{seq:12849,streamId:"wake:growth-8",streamSeq:4,ts:"2026-08-20T14:18:04.000+08:00",actor:"growth",type:"message.user",data:{message:{id:"growth-u1",role:"user",content:"Continue the paid acquisition goal using the confirmed observation method."}}},{seq:12850,streamId:"wake:growth-8",streamSeq:5,ts:"2026-08-20T14:18:07.000+08:00",actor:"growth",type:"message.assistant.completed",data:{message:{id:"growth-a1",role:"assistant",content:"I’ll inspect the latest paid-user and channel evidence before changing spend."}}},{seq:12851,streamId:"wake:growth-8",streamSeq:6,ts:"2026-08-20T14:18:08.000+08:00",actor:"growth",type:"tool.called",data:{callId:"read-metrics",name:"bash",arguments:{command:"node scripts/acquisition-report.mjs --window 30d"}}},{seq:12852,streamId:"wake:growth-8",streamSeq:7,ts:"2026-08-20T14:18:10.000+08:00",actor:"growth",type:"tool.completed",data:{callId:"read-metrics",name:"bash",result:{paidUsers:342,roas:2.8,bestChannel:"Meta Ads",stale:!1}}},{seq:12853,streamId:"wake:growth-8",streamSeq:8,ts:"2026-08-20T14:18:12.000+08:00",actor:"growth",type:"message.assistant.completed",data:{message:{id:"growth-a2",role:"assistant",content:"The observation passes: 342 paid users and ROAS 2.8. I’ll preserve the current winner and prepare a bounded spend increase for approval."}}},{seq:12854,streamId:"wake:growth-8",streamSeq:9,ts:"2026-08-20T14:18:13.000+08:00",actor:"growth",type:"tool.called",data:{callId:"write-plan",name:"write",arguments:{path:"growth/next-experiment.md",content:"Scale Meta Ads by 12% with a 48-hour ROAS guardrail."}}},{seq:12855,streamId:"wake:growth-8",streamSeq:10,ts:"2026-08-20T14:18:14.000+08:00",actor:"growth",type:"tool.completed",data:{callId:"write-plan",name:"write",result:{path:"growth/next-experiment.md",bytes:68}}},{seq:12856,streamId:"wake:growth-8",streamSeq:11,ts:"2026-08-20T14:18:16.000+08:00",actor:"growth",type:"message.assistant.completed",data:{message:{id:"growth-a3",role:"assistant",content:"Experiment plan recorded. The spend increase remains gated; no external action was replayed."}}},{seq:12857,streamId:"wake:growth-8",streamSeq:12,ts:"2026-08-20T14:18:18.000+08:00",actor:"growth",type:"handoff.recorded",data:{observations:["342 paid users","30-day ROAS 2.8"],results:["Prepared a guarded 12% Meta Ads scale experiment"],nextSteps:["Request approval","Re-observe after 48 hours"],material:!0}}],mA={seq:12857,now:"2026-08-20T14:18:22.000+08:00",goals:[{id:"company",parentId:null,objective:"Launch a profitable store",observationMethod:"Revenue ≥ $10k MRR for 3 consecutive days with CAC:LTV ≥ 1:3. Verify against paid orders, refunds, acquisition spend, and retained revenue.",owner:"ceo",phase:"active",revision:3},{id:"growth",parentId:"company",objective:"Acquire 500 paying users",observationMethod:"Count paid users in Stripe and require 30-day ROAS ≥ 2.0.",owner:"growth",phase:"active",revision:2},{id:"orders",parentId:"company",objective:"Fulfill orders reliably",observationMethod:"Require order fulfillment p95 ≤ 48 hours and support SLA ≥ 95%.",owner:"operations",phase:"active",revision:1},{id:"storefront",parentId:"company",objective:"Launch storefront",observationMethod:"Run storefront checks and require a successful production smoke test.",owner:"web",phase:"active",revision:1}],team:[{agent:"ceo",goalIds:["company"],status:"running",lastHandoffSeq:12841,lastWakeStatus:"done",nextWakeAt:null},{agent:"growth",goalIds:["growth"],status:"running",lastHandoffSeq:12857,lastWakeStatus:"running",nextWakeAt:null},{agent:"operations",goalIds:["orders"],status:"scheduled",lastHandoffSeq:12835,lastWakeStatus:"done",nextWakeAt:"2026-08-20T14:30:00.000+08:00"},{agent:"web",goalIds:["storefront"],status:"queued",lastHandoffSeq:12836,lastWakeStatus:"queued",nextWakeAt:"2026-08-20T14:30:00.000+08:00"}],wakes:[{id:"growth-8",agent:"growth",triggerRef:"mail:decision-growth",status:"running",leaseUntil:"2026-08-20T14:19:00.000+08:00",startedAt:"2026-08-20T14:11:00.000+08:00",endedAt:null,runnerPid:21874,enqueuedSeq:12846},{id:"web-4",agent:"web",triggerRef:"goal:storefront",status:"queued",leaseUntil:null,startedAt:null,endedAt:null,runnerPid:null,enqueuedSeq:12844}],actions:[{id:"publish-storefront",agent:"web",kind:"publish.storefront",connector:"web",reason:"Validated landing page is ready",status:"requested",gated:!0,evidence:[12841,12844]}],schedules:[{id:"schedule:operations",agent:"operations",nextWakeAt:"2026-08-20T14:30:00.000+08:00",reason:"Check fulfillment window",setBy:"operations"},{id:"schedule:web",agent:"web",nextWakeAt:"2026-08-20T14:30:00.000+08:00",reason:"Continue storefront launch",setBy:"ceo"}],mailbox:[{id:"decision-growth",to:"growth",from:"ceo",level:"decision",body:{summary:"Increase paid acquisition carefully"},readAt:"2026-08-20T14:17:30.000+08:00"}],events:hA},Yy=new URLSearchParams(window.location.search),pl=Yy.has("demo"),Vs=Yy.get("view"),vA=Vs&&["overview","chat","trajectory","session","ledger","agents","settings"].includes(Vs)?Vs:"overview";function pA(){const[a,i]=y.useState(pl?mA:null),[r,c]=y.useState(vA),[s,f]=y.useState("growth"),[m,p]=y.useState(null),[g,v]=y.useState(pl?"live":"loading"),[x,S]=y.useState(!1),E=y.useCallback(async()=>{if(!pl)try{const T=await fetch("/api/snapshot",{cache:"no-store"});if(!T.ok)throw new Error(`snapshot request failed (${T.status})`);const O=await T.json();i(O),v("live")}catch{v("error")}},[]);if(y.useEffect(()=>{if(pl)return;E();const T=window.setInterval(E,2e3);return()=>{window.clearInterval(T)}},[E]),!a)return d.jsx(HA,{connection:g});const C=a.goals.find(T=>T.parentId===null)??a.goals[0]??null,A=T=>{p(T),c("session")};return d.jsxs("div",{className:"console-shell",children:[d.jsx(gA,{view:r,onView:c}),d.jsxs("main",{className:"console-main",children:[g==="error"&&d.jsx("div",{className:"connection-banner",children:"Live refresh paused. Retrying the local Supervisor…"}),r==="overview"&&d.jsx(yA,{snapshot:a,root:C,onView:c,onTalk:()=>c("chat"),onApprovals:()=>S(!0)}),r==="chat"&&d.jsx(MA,{snapshot:a,onRefresh:E}),r==="trajectory"&&d.jsx(bA,{snapshot:a,onOpenSession:A}),r==="session"&&d.jsx(EA,{snapshot:a,selectedWakeId:m,onSelectWake:p,onBack:()=>c("trajectory")}),r==="ledger"&&d.jsx(TA,{snapshot:a}),r==="agents"&&d.jsx(OA,{snapshot:a,selected:s,onSelect:f,onOpenSession:A}),r==="settings"&&d.jsx(DA,{snapshot:a})]}),x&&d.jsx(UA,{snapshot:a,onRefresh:E,onClose:()=>S(!1)})]})}function gA({view:a,onView:i}){const r=[{id:"overview",label:"Overview",icon:Jb},{id:"chat",label:"Chat",icon:Vp},{id:"trajectory",label:"Trajectory",icon:Yp},{id:"ledger",label:"Ledger",icon:Ib},{id:"agents",label:"Agents",icon:r1}];return d.jsxs("aside",{className:"sidebar",children:[d.jsxs("div",{className:"brand",children:[d.jsx("img",{src:"/goah-orbital-mark.png",alt:""}),d.jsx("span",{children:"Goah Console"})]}),d.jsx("nav",{"aria-label":"Console views",children:r.map(({id:c,label:s,icon:f})=>d.jsxs("button",{className:a===c||c==="trajectory"&&a==="session"?"nav-item active":"nav-item",onClick:()=>i(c),children:[d.jsx(f,{"aria-hidden":"true"}),d.jsx("span",{children:s})]},c))}),d.jsxs("button",{className:a==="settings"?"nav-item settings active":"nav-item settings",onClick:()=>i("settings"),children:[d.jsx(o1,{"aria-hidden":"true"}),d.jsx("span",{children:"Settings"})]}),d.jsx("div",{className:"sidebar-status",children:d.jsxs("p",{children:[d.jsx("i",{className:"health-dot"})," System healthy"]})})]})}function yA({snapshot:a,root:i,onView:r,onTalk:c,onApprovals:s}){const f=a.goals.filter(S=>S.parentId===i?.id),m=a.team.find(S=>S.agent==="ceo"),p=a.actions.filter(S=>["requested","unknown"].includes(S.status)),g=new Set(a.wakes.flatMap(S=>{const E=S.triggerRef.startsWith("recovery:")?S.triggerRef.slice(9):S.triggerRef.startsWith("retry:")?S.triggerRef.slice(6).split("@")[0]:null;return E?[E]:[]})),v=a.wakes.filter(S=>["abnormal","merge_blocked"].includes(S.status)&&!g.has(S.id)),x=Xy(a.events).slice(-3).reverse();return d.jsx("div",{className:"overview-layout",children:d.jsxs("section",{className:"overview-content",children:[d.jsxs("header",{className:"goal-header",children:[d.jsx("p",{children:"Top-level goal"}),d.jsxs("div",{className:"goal-header-row",children:[d.jsxs("div",{className:"goal-title-row",children:[d.jsx("h1",{children:i?.objective??"No active root goal"}),i&&d.jsxs(d.Fragment,{children:[d.jsx(yl,{status:i.phase}),d.jsxs("span",{className:"metadata",children:["Rev ",i.revision]})]})]}),d.jsxs("button",{className:"header-action",onClick:c,children:[d.jsx(Vp,{})," Talk to CEO"]})]}),d.jsxs("p",{className:"observation",children:[d.jsx("strong",{children:"Observation:"})," ",i?.observationMethod??"Waiting for the CEO to propose an observation method."]}),(p[0]||v[0])&&d.jsxs("button",{type:"button",className:"attention-strip attention-link",onClick:s,children:[p[0]&&d.jsxs("span",{children:[d.jsx(Xb,{})," Approval needed: ",d.jsx("strong",{children:p[0].kind})]}),v[0]&&d.jsxs("span",{className:"danger",children:[d.jsx(e1,{})," Recovery needed: ",d.jsx("strong",{children:yt(v[0].agent)})]})]})]}),d.jsxs("section",{className:"organization","aria-labelledby":"organization-title",children:[d.jsx("h2",{id:"organization-title",className:"sr-only",children:"Organization motion"}),d.jsxs("div",{className:"org-tree",children:[d.jsxs("article",{className:"tree-root",children:[d.jsx("img",{src:"/goah-orbital-mark.png",alt:""}),d.jsxs("div",{children:[d.jsx("strong",{children:"CEO"}),d.jsx("span",{children:i?.objective??"Waiting for a root goal"})]}),d.jsx(yl,{status:m?.status??"waiting"})]}),d.jsxs("div",{className:"tree-children",children:[f.map(S=>d.jsx(SA,{goal:S,member:a.team.find(E=>E.agent===S.owner),now:a.now},S.id)),f.length===0&&d.jsx(Ga,{text:"The CEO has not delegated child goals yet."})]})]})]}),d.jsxs("section",{className:"trajectory-preview",children:[d.jsxs("div",{className:"section-heading",children:[d.jsx("h2",{children:"Organization trajectory"}),d.jsx("button",{onClick:()=>r("trajectory"),children:"View all"})]}),d.jsx("div",{className:"trajectory-list",children:x.map(S=>d.jsxs("button",{className:"trajectory-row",onClick:()=>r("trajectory"),children:[d.jsx("i",{className:`event-dot ${Qy(S)}`}),d.jsx("time",{children:ar(S.ts)}),d.jsx("span",{className:"actor",children:yt(S.actor)}),d.jsx("strong",{children:ky(S)}),d.jsxs("small",{children:["Seq #",S.seq]})]},S.seq))})]})]})})}function SA({goal:a,member:i,now:r}){return d.jsxs("article",{className:"tree-agent",children:[d.jsx(Mc,{}),d.jsxs("div",{children:[d.jsx("strong",{children:yt(a.owner)}),d.jsx("span",{children:a.objective})]}),d.jsx(yl,{status:i?.status??a.phase}),d.jsx("small",{children:i?.nextWakeAt?`Next ${ar(i.nextWakeAt)} · ${BA(i.nextWakeAt,r)}`:""})]})}function bA({snapshot:a,onOpenSession:i}){const[r,c]=y.useState("all"),[s,f]=y.useState("all"),[m,p]=y.useState(null),[g,v]=y.useState(!1),x=LA(a).filter(C=>(r==="all"||C.agent===r)&&(s==="all"||C.event.type.startsWith(`${s}.`)));y.useEffect(()=>{if(pl)return;let C=!0;v(!0);const A=new URLSearchParams({limit:"100"});return r!=="all"&&A.set("agent",r),s!=="all"&&A.set("type",s),fetch(`/api/trajectory?${A}`,{cache:"no-store"}).then(T=>{if(!T.ok)throw new Error(`trajectory request failed (${T.status})`);return T.json()}).then(T=>{C&&p(T)}).catch(()=>{C&&p(null)}).finally(()=>{C&&v(!1)}),()=>{C=!1}},[r,s]);const S=pl?x:m?.items??x,E=async()=>{if(!m?.nextBeforeSeq||g)return;v(!0);const C=new URLSearchParams({limit:"100",beforeSeq:String(m.nextBeforeSeq)});r!=="all"&&C.set("agent",r),s!=="all"&&C.set("type",s);try{const A=await fetch(`/api/trajectory?${C}`,{cache:"no-store"});if(!A.ok)throw new Error(`trajectory request failed (${A.status})`);const T=await A.json();p({items:[...m.items,...T.items],nextBeforeSeq:T.nextBeforeSeq})}finally{v(!1)}};return d.jsxs(to,{title:"Organization trajectory",description:"Goal, wake, handoff, mail, action, and observation milestones across every agent.",children:[d.jsxs("div",{className:"org-trajectory-toolbar",children:[d.jsx(Np,{label:"Agent",value:r,onValueChange:c,options:[{value:"all",label:"All agents"},...a.team.map(C=>({value:C.agent,label:yt(C.agent)}))]}),d.jsx(Np,{label:"Event",value:s,onValueChange:f,options:[{value:"all",label:"All milestones"},...["goal","delegation","wake","handoff","mail","schedule","action","metric"].map(C=>({value:C,label:lr(C)}))]})]}),d.jsxs("div",{className:"org-event-list",children:[S.map(C=>d.jsx(xA,{item:C,wake:C.wakeId?a.wakes.find(A=>A.id===C.wakeId):void 0,onOpenSession:i},C.event.seq)),!S.length&&d.jsx(Ga,{text:"No organization milestones match these filters."})]}),m?.nextBeforeSeq&&d.jsx("button",{className:"load-older",disabled:g,onClick:E,children:g?"Loading…":"Load older events"})]})}function Np({label:a,value:i,onValueChange:r,options:c}){return d.jsxs("div",{className:"trajectory-filter",children:[d.jsx("span",{children:a}),d.jsxs(gy,{value:i,onValueChange:r,children:[d.jsxs(yy,{"aria-label":a,children:[d.jsx(Sy,{}),d.jsx(by,{children:d.jsx(Bp,{})})]}),d.jsx(xy,{children:d.jsx(Ey,{className:"session-select-content",position:"popper",sideOffset:6,children:d.jsx(Ay,{children:c.map(s=>d.jsxs(Ty,{className:"session-select-item",value:s.value,children:[d.jsx(Oy,{children:s.label}),d.jsx(Ry,{className:"session-check",children:d.jsx(Vc,{})})]},s.value))})})})]})]})}function xA({item:a,wake:i,onOpenSession:r}){return d.jsxs("article",{className:"org-event",children:[d.jsx("time",{children:Qf(a.event.ts)}),d.jsx("i",{className:`event-dot ${Qy(a.event)}`}),d.jsxs("div",{children:[d.jsxs("header",{children:[d.jsx("strong",{children:yt(a.agent)}),d.jsx("span",{children:a.event.type})]}),d.jsx("p",{children:ky(a.event,a.agent)}),d.jsxs("small",{children:["Seq #",a.event.seq]})]}),i&&a.wakeId&&d.jsxs("button",{onClick:()=>r(a.wakeId),children:["Session",d.jsx(Yc,{})]}),i&&d.jsx(yl,{status:i.status})]})}function EA({snapshot:a,selectedWakeId:i,onSelectWake:r,onBack:c}){const s=a.wakes,f=s.find(j=>j.id===i)??s.find(j=>j.status==="running")??s[0],[m,p]=y.useState(""),[g,v]=y.useState(null);y.useEffect(()=>{if(pl||!f)return;let j=!0;const z=async()=>{const M=await fetch(`/api/sessions/${encodeURIComponent(f.id)}`,{cache:"no-store"});if(!M.ok)return;const k=await M.json();j&&v(k)};z();const D=window.setInterval(z,2e3);return()=>{j=!1,window.clearInterval(D)}},[f?.id]);const S=(!pl&&g?.wake.id===f?.id?g.events:a.events.filter(j=>j.streamId===`wake:${f?.id}`)).filter(YA),E=S.filter(j=>`${j.type} ${JSON.stringify(j.data)}`.toLowerCase().includes(m.toLowerCase())),C=Up(E),A=Up(S).at(-1)?.turn??0,T=S.filter(j=>j.type==="tool.called").length,O=j=>{p(""),r(j)};return d.jsxs(to,{title:"Session",description:"One wake, turn by turn.",children:[d.jsxs("button",{className:"back-to-trajectory",onClick:c,children:[d.jsx(Lb,{})," Organization trajectory"]}),d.jsxs("div",{className:"trace-toolbar",children:[d.jsxs("div",{className:"session-field",children:[d.jsx("span",{children:"Session"}),d.jsxs(gy,{value:f?.id??"",onValueChange:O,children:[d.jsxs(yy,{className:"session-select","aria-label":"Session",children:[d.jsx(Sy,{}),d.jsx(by,{children:d.jsx(Bp,{})})]}),d.jsx(xy,{children:d.jsx(Ey,{className:"session-select-content",position:"popper",sideOffset:6,children:d.jsx(Ay,{children:s.map(j=>d.jsxs(Ty,{className:"session-select-item",value:j.id,children:[d.jsxs(Oy,{children:[yt(j.agent)," · ",j.id," · ",j.status]}),d.jsx(Ry,{className:"session-check",children:d.jsx(Vc,{})})]},j.id))})})})]})]}),d.jsxs("div",{className:"trace-stats",children:[d.jsxs("span",{children:[d.jsx(Qb,{})," ",kA(S)]}),d.jsxs("span",{children:[d.jsx(Yp,{})," ",A," turns"]}),d.jsxs("span",{children:[d.jsx(qp,{})," ",T," calls"]})]}),d.jsxs("label",{className:"trace-search",children:[d.jsx(sf,{}),d.jsx("input",{value:m,onChange:j=>p(j.target.value),placeholder:"Search this session"})]})]}),S.length===0?d.jsx(AA,{wake:f}):d.jsxs("section",{className:"trace-surface",children:[d.jsx(RA,{events:S}),E.length===0?d.jsx(wA,{query:m}):d.jsx(CA,{rows:C})]})]})}function CA({rows:a}){return d.jsxs(Z2,{className:"trace-scroll",children:[d.jsx(K2,{children:d.jsx("div",{className:"trace-list",children:a.map(({event:i,turnStart:r,turn:c})=>d.jsx(_A,{event:i,turnStart:r,turn:c},i.seq))})}),d.jsx($2,{className:"trace-scrollbar",orientation:"vertical",children:d.jsx(I2,{})})]})}function AA({wake:a}){const i=a?.status==="queued";return d.jsxs("section",{className:"trace-empty-state",children:[d.jsx(qp,{}),d.jsx("h2",{children:i?"Trace begins when this wake runs":"No session trace yet"}),d.jsx("p",{children:i?`${yt(a.agent)} is queued. Input, model, and tool events will appear after the Supervisor starts this wake.`:"The Supervisor has not recorded any input, model, or tool events for this wake."}),a&&d.jsx(yl,{status:a.status})]})}function wA({query:a}){return d.jsxs("section",{className:"trace-no-results",children:[d.jsx(sf,{}),d.jsxs("p",{children:["No events match “",a,"”."]})]})}function TA({snapshot:a}){const[i,r]=y.useState("work"),[c,s]=y.useState("all"),[f,m]=y.useState(""),p=a.events.filter(v=>v.type==="handoff.recorded"&&`${v.actor} ${JSON.stringify(v.data)}`.toLowerCase().includes(f.toLowerCase())).reverse(),g=a.events.filter(v=>(c==="all"||v.type.startsWith(`${c}.`))&&`${v.actor} ${v.type} ${v.streamId} ${JSON.stringify(v.data)}`.toLowerCase().includes(f.toLowerCase())).reverse();return d.jsx(to,{title:"Work Ledger",description:"Agent-authored records. Raw events remain available for audit.",children:d.jsxs(fA,{value:i,onValueChange:v=>r(v),children:[d.jsxs("div",{className:"ledger-mode",children:[d.jsxs(dA,{"aria-label":"Ledger view",children:[d.jsx(jp,{value:"work",children:"Work records"}),d.jsx(jp,{value:"raw",children:"Raw events"})]}),d.jsxs("label",{children:[d.jsx(sf,{}),d.jsx("input",{value:f,onChange:v=>m(v.target.value),placeholder:i==="work"?"Search work records":"Search events"})]})]}),d.jsx(Dp,{value:"work",children:d.jsxs("div",{className:"work-ledger",children:[p.map(v=>d.jsx(Gy,{event:v,onRaw:()=>r("raw")},v.seq)),!p.length&&d.jsx(Ga,{text:"No agent-authored work records yet."})]})}),d.jsxs(Dp,{value:"raw",children:[d.jsx("div",{className:"ledger-toolbar",children:d.jsx("div",{children:["all","goal","wake","mail","action","session"].map(v=>d.jsx("button",{className:c===v?"selected":"",onClick:()=>s(v),children:lr(v)},v))})}),d.jsxs("div",{className:"ledger-table",role:"table",children:[d.jsxs("div",{className:"ledger-head",role:"row",children:[d.jsx("span",{children:"Seq"}),d.jsx("span",{children:"Local time"}),d.jsx("span",{children:"Stream"}),d.jsx("span",{children:"Actor"}),d.jsx("span",{children:"Event"}),d.jsx("span",{children:"Fact"})]}),g.map(v=>d.jsxs("div",{className:"ledger-row",role:"row",children:[d.jsx("code",{children:v.seq}),d.jsx("time",{children:ar(v.ts)}),d.jsx("code",{children:v.streamId}),d.jsx("span",{children:yt(v.actor)}),d.jsx("strong",{children:v.type}),d.jsx("span",{children:$y(v.data)})]},v.seq)),!g.length&&d.jsx(Ga,{text:"No matching events."})]})]})]})})}function OA({snapshot:a,selected:i,onSelect:r,onOpenSession:c}){const s=a.team.find(g=>g.agent===i)??a.team[0],f=a.goals.filter(g=>g.owner===s?.agent),m=a.wakes.filter(g=>g.agent===s?.agent).sort((g,v)=>v.enqueuedSeq-g.enqueuedSeq),p=a.events.filter(g=>g.actor===s?.agent&&g.type==="handoff.recorded").reverse();return d.jsx(to,{title:"Agents",children:d.jsxs("div",{className:"agents-workbench",children:[d.jsx("div",{className:"agent-roster",children:a.team.map(g=>d.jsxs("button",{className:g.agent===s?.agent?"selected":"",onClick:()=>r(g.agent),children:[d.jsx(Mc,{}),d.jsxs("span",{children:[d.jsx("strong",{children:yt(g.agent)}),d.jsx("small",{children:a.goals.find(v=>v.owner===g.agent)?.objective??"No owned goal"})]}),d.jsx(yl,{status:g.status})]},g.agent))}),s&&d.jsxs("div",{className:"agent-detail",children:[d.jsxs("div",{className:"agent-detail-head",children:[d.jsx(Mc,{}),d.jsxs("div",{children:[d.jsx("h2",{children:yt(s.agent)}),d.jsx(yl,{status:s.status})]})]}),d.jsxs("section",{children:[d.jsx("h3",{children:"Owned goals"}),f.map(g=>d.jsxs("div",{className:"owned-goal",children:[d.jsx("strong",{children:g.objective}),d.jsx("span",{children:g.observationMethod??"Observation method pending"})]},g.id))]}),d.jsxs("section",{children:[d.jsx("h3",{children:"Sessions"}),d.jsxs("div",{className:"session-list",children:[m.map(g=>d.jsxs("button",{onClick:()=>c(g.id),children:[d.jsxs("span",{children:[d.jsx("strong",{children:g.id}),d.jsx("small",{children:g.triggerRef})]}),d.jsx(yl,{status:g.status}),d.jsx(Yc,{})]},g.id)),!m.length&&d.jsx(Ga,{text:"No sessions for this agent yet."})]})]}),d.jsxs("section",{children:[d.jsx("h3",{children:"Work records"}),p.map(g=>d.jsx(Gy,{event:g,compact:!0,onOpen:()=>c(g.streamId.replace("wake:",""))},g.seq)),!p.length&&d.jsx(Ga,{text:"No agent-authored work records yet."})]})]})]})})}function RA({events:a}){return d.jsxs("section",{className:"trace-map","aria-label":"Session activity map",children:[d.jsxs("div",{className:"trace-labels",children:[d.jsx("span",{children:"Input"}),d.jsx("span",{children:"Model"}),d.jsx("span",{children:"Tools"})]}),d.jsx("div",{className:"trace-lanes",children:["input","model","tool"].map(i=>d.jsx("div",{className:`trace-lane ${i}`,children:a.map(r=>d.jsx("i",{className:GA(r)===i?"filled":""},`${i}-${r.seq}`))},i))})]})}function _A({event:a,turnStart:i,turn:r}){const c=XA(a),s=["tool.called","tool.completed"].includes(a.type),f=d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"trace-rail-cell",children:[i&&d.jsxs("span",{className:"turn-label",children:["Turn ",r]}),d.jsx("i",{className:"trace-node"})]}),d.jsx("span",{className:`trace-kind trace-${c.toLowerCase()}`,children:c}),d.jsx("div",{className:"trace-content",children:d.jsx("strong",{children:zp(a)})}),d.jsx("time",{children:ar(a.ts)}),d.jsxs("code",{className:"trace-seq",children:["#",a.seq]})]});return s?d.jsxs(dg,{className:i?"trace-collapsible turn-start":"trace-collapsible",children:[d.jsxs(hg,{className:"trace-row trace-row-trigger","aria-label":`Show payload for ${zp(a)}`,children:[f,d.jsx(Yc,{className:"trace-expand"})]}),d.jsx(mg,{className:"trace-payload",children:d.jsx(jA,{value:a.data})})]}):d.jsx("div",{className:i?"trace-row turn-start":"trace-row",children:f})}function jA({value:a}){const[i,r]=y.useState(!1),c=QA(a),s=async()=>{await navigator.clipboard.writeText(c),r(!0),window.setTimeout(()=>r(!1),1200)};return d.jsxs("div",{className:"trace-payload-inner",children:[d.jsxs("header",{children:[d.jsx("span",{children:"Full payload"}),d.jsxs("button",{onClick:s,children:[i?d.jsx(Vc,{}):d.jsx(Kb,{}),i?"Copied":"Copy"]})]}),d.jsx("pre",{children:d.jsx("code",{children:c})})]})}function Gy({event:a,compact:i=!1,onOpen:r,onRaw:c}){const s=mt(a.data),f=Gs(s.observations),m=Gs(s.results),p=Gs(s.nextSteps),g=typeof s.blocker=="string"?s.blocker:null,v=m[0]??f[0]??"Work recorded";return d.jsx(fx,{className:i?"work-record compact":"work-record",type:"single",collapsible:!0,children:d.jsxs(dx,{value:`record-${a.seq}`,children:[d.jsx(hx,{children:d.jsxs(mx,{className:"work-record-summary",children:[d.jsx(Mc,{}),d.jsxs("span",{className:"record-agent",children:[d.jsx("strong",{children:yt(a.actor)}),d.jsxs("small",{children:[Qf(a.ts)," · #",a.seq]})]}),d.jsx("span",{className:"record-outcome",children:v}),p[0]&&d.jsxs("span",{className:"record-next",children:["Next: ",p[0]]}),d.jsx(Yc,{})]})}),d.jsxs(vx,{className:"work-record-content",children:[d.jsxs("div",{className:"work-record-body",children:[d.jsx(Rc,{title:"Observed",values:f}),d.jsx(Rc,{title:"Completed",values:m}),d.jsx(Rc,{title:"Next",values:p}),g&&d.jsx(Rc,{title:"Blocked",values:[g],tone:"danger"})]}),(r||c)&&d.jsxs("footer",{children:[r&&d.jsx("button",{onClick:r,children:"Open session"}),c&&d.jsx("button",{onClick:c,children:"Raw events"})]})]})]})})}function Rc({title:a,values:i,tone:r}){return i.length?d.jsxs("section",{className:r==="danger"?"record-section danger":"record-section",children:[d.jsx("h3",{children:a}),i.map(c=>d.jsx("p",{children:c},c))]}):null}function DA({snapshot:a}){return d.jsx(to,{title:"Settings",description:"Local Console runtime details. Agent and connector configuration remains authoritative in goah.config.json.",children:d.jsxs("div",{className:"settings-list",children:[d.jsxs("div",{children:[d.jsx("span",{children:"Mode"}),d.jsx("strong",{children:"Local, loopback only"})]}),d.jsxs("div",{children:[d.jsx("span",{children:"Refresh"}),d.jsx("strong",{children:"Every 2 seconds"})]}),d.jsxs("div",{children:[d.jsx("span",{children:"Latest event"}),d.jsxs("strong",{children:["Seq #",a.seq]})]}),d.jsxs("div",{children:[d.jsx("span",{children:"Event payloads"}),d.jsx("strong",{children:"Redacted by default"})]})]})})}function NA(a){const i=[];for(const r of a.events)if(r.type==="mail.put"){const c=mt(mt(r.data).snapshot);c.to==="ceo"&&c.from==="human"&&i.push({kind:"user",seq:r.seq,text:VA(c.body)})}else r.type==="handoff.recorded"&&r.actor==="ceo"&&i.push({kind:"ceo",seq:r.seq,text:"",handoff:Zy(r.data)});return i.sort((r,c)=>r.seq-c.seq)}function MA({snapshot:a,onRefresh:i}){const r=y.useMemo(()=>NA(a),[a]),[c,s]=y.useState(""),[f,m]=y.useState(null),p=y.useRef(null);y.useEffect(()=>{p.current?.scrollIntoView({behavior:"smooth"})},[r.length,f?.text,f?.lines.length]);const g=async()=>{const v=c.trim();if(!(!v||f?.status==="running")){s(""),m({status:"running",text:"",lines:["CEO wake queued"],handoff:void 0});try{const x=await fetch("/api/chat",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({message:v})});if(!x.ok||!x.body)throw new Error(`chat request failed (${x.status})`);const S=x.body.getReader(),E=new TextDecoder;let C="";for(;;){const{value:A,done:T}=await S.read();if(T)break;C+=E.decode(A,{stream:!0});const O=C.split(`
|
|
49
|
+
`)},i2=0,Ha=[];function o2(a){var i=y.useRef([]),r=y.useRef([0,0]),c=y.useRef(),s=y.useState(i2++)[0],f=y.useState(zg)[0],m=y.useRef(a);y.useEffect(function(){m.current=a},[a]),y.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(s));var T=Ox([a.lockRef.current],(a.shards||[]).map(gp),!0).filter(Boolean);return T.forEach(function(O){return O.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),T.forEach(function(O){return O.classList.remove("allow-interactivity-".concat(s))})}}},[a.inert,a.lockRef.current,a.shards]);var p=y.useCallback(function(T,O){if("touches"in T&&T.touches.length===2||T.type==="wheel"&&T.ctrlKey)return!m.current.allowPinchZoom;var j=Cc(T),z=r.current,D="deltaX"in T?T.deltaX:z[0]-j[0],M="deltaY"in T?T.deltaY:z[1]-j[1],k,G=T.target,K=Math.abs(D)>Math.abs(M)?"h":"v";if("touches"in T&&K==="h"&&G.type==="range")return!1;var J=window.getSelection(),P=J&&J.anchorNode,ee=P?P===G||P.contains(G):!1;if(ee)return!1;var le=vp(K,G);if(!le)return!0;if(le?k=K:(k=K==="v"?"h":"v",le=vp(K,G)),!le)return!1;if(!c.current&&"changedTouches"in T&&(D||M)&&(c.current=k),!k)return!0;var W=c.current||k;return n2(W,O,T,W==="h"?D:M)},[]),g=y.useCallback(function(T){var O=T;if(!(!Ha.length||Ha[Ha.length-1]!==f)){var j="deltaY"in O?pp(O):Cc(O),z=i.current.filter(function(k){return k.name===O.type&&(k.target===O.target||O.target===k.shadowParent)&&l2(k.delta,j)})[0];if(z&&z.should){O.cancelable&&O.preventDefault();return}if(!z){var D=(m.current.shards||[]).map(gp).filter(Boolean).filter(function(k){return k.contains(O.target)}),M=D.length>0?p(O,D[0]):!m.current.noIsolation;M&&O.cancelable&&O.preventDefault()}}},[]),v=y.useCallback(function(T,O,j,z){var D={name:T,delta:O,target:j,should:z,shadowParent:c2(j)};i.current.push(D),setTimeout(function(){i.current=i.current.filter(function(M){return M!==D})},1)},[]),x=y.useCallback(function(T){r.current=Cc(T),c.current=void 0},[]),S=y.useCallback(function(T){v(T.type,pp(T),T.target,p(T,a.lockRef.current))},[]),E=y.useCallback(function(T){v(T.type,Cc(T),T.target,p(T,a.lockRef.current))},[]);y.useEffect(function(){return Ha.push(f),a.setCallbacks({onScrollCapture:S,onWheelCapture:S,onTouchMoveCapture:E}),document.addEventListener("wheel",g,Ua),document.addEventListener("touchmove",g,Ua),document.addEventListener("touchstart",x,Ua),function(){Ha=Ha.filter(function(T){return T!==f}),document.removeEventListener("wheel",g,Ua),document.removeEventListener("touchmove",g,Ua),document.removeEventListener("touchstart",x,Ua)}},[]);var C=a.removeScrollBar,A=a.inert;return y.createElement(y.Fragment,null,A?y.createElement(f,{styles:a2(s)}):null,C?y.createElement(Ix,{noRelative:a.noRelative,gapMode:a.gapMode}):null)}function c2(a){for(var i=null;a!==null;)a instanceof ShadowRoot&&(i=a.host,a=a.host),a=a.parentNode;return i}const r2=Hx(Mg,o2);var Ef=y.forwardRef(function(a,i){return y.createElement(Kc,sn({},a,{ref:i,sideCar:r2}))});Ef.classNames=Kc.classNames;var u2=function(a){if(typeof document>"u")return null;var i=Array.isArray(a)?a[0]:a;return i.ownerDocument.body},La=new WeakMap,Ac=new WeakMap,wc={},zs=0,qg=function(a){return a&&(a.host||qg(a.parentNode))},s2=function(a,i){return i.map(function(r){if(a.contains(r))return r;var c=qg(r);return c&&a.contains(c)?c:(console.error("aria-hidden",r,"in not contained inside",a,". Doing nothing"),null)}).filter(function(r){return!!r})},f2=function(a,i,r,c){var s=s2(i,Array.isArray(a)?a:[a]);wc[r]||(wc[r]=new WeakMap);var f=wc[r],m=[],p=new Set,g=new Set(s),v=function(S){!S||p.has(S)||(p.add(S),v(S.parentNode))};s.forEach(v);var x=function(S){!S||g.has(S)||Array.prototype.forEach.call(S.children,function(E){if(p.has(E))x(E);else try{var C=E.getAttribute(c),A=C!==null&&C!=="false",T=(La.get(E)||0)+1,O=(f.get(E)||0)+1;La.set(E,T),f.set(E,O),m.push(E),T===1&&A&&Ac.set(E,!0),O===1&&E.setAttribute(r,"true"),A||E.setAttribute(c,"true")}catch(j){console.error("aria-hidden: cannot operate on ",E,j)}})};return x(i),p.clear(),zs++,function(){m.forEach(function(S){var E=La.get(S)-1,C=f.get(S)-1;La.set(S,E),f.set(S,C),E||(Ac.has(S)||S.removeAttribute(c),Ac.delete(S)),C||S.removeAttribute(r)}),zs--,zs||(La=new WeakMap,La=new WeakMap,Ac=new WeakMap,wc={})}},Bg=function(a,i,r){r===void 0&&(r="data-aria-hidden");var c=Array.from(Array.isArray(a)?a:[a]),s=u2(a);return s?(c.push.apply(c,Array.from(s.querySelectorAll("[aria-live], script"))),f2(c,s,r,"aria-hidden")):function(){return null}},d2=Object.defineProperty,Wt=(a,i)=>d2(a,"name",{value:i,configurable:!0}),Cf="Dialog",[Vg,$A]=ln(Cf),[h2,gn]=Vg(Cf),m2=Wt(a=>{const{__scopeDialog:i,children:r,open:c,defaultOpen:s,onOpenChange:f,modal:m=!0}=a,p=y.useRef(null),g=y.useRef(null),[v,x]=Vn({prop:c,defaultProp:s??!1,onChange:f,caller:Cf}),[S,E]=y.useState(0),[C,A]=y.useState(0);return d.jsx(h2,{scope:i,triggerRef:p,contentRef:g,contentId:dn(),titleId:dn(),descriptionId:dn(),titlePresent:S>0,descriptionPresent:C>0,setTitleCount:E,setDescriptionCount:A,open:v,onOpenChange:x,onOpenToggle:y.useCallback(()=>x(T=>!T),[x]),modal:m,children:r})},"Dialog"),Yg="DialogPortal",[v2,Gg]=Vg(Yg,{forceMount:void 0}),p2=Wt(a=>{const{__scopeDialog:i,forceMount:r,children:c,container:s}=a,f=gn(Yg,i);return d.jsx(v2,{scope:i,forceMount:r,children:y.Children.map(c,m=>d.jsx(vn,{present:r||f.open,children:d.jsx(jg,{asChild:!0,container:s,children:m})}))})},"DialogPortal"),tf="DialogOverlay",g2=y.forwardRef(Wt(function(i,r){const c=Gg(tf,i.__scopeDialog),{forceMount:s=c.forceMount,...f}=i,m=gn(tf,i.__scopeDialog);return m.modal?d.jsx(vn,{present:s||m.open,children:d.jsx(S2,{...f,ref:r})}):null},"DialogOverlay")),y2=Sl("DialogOverlay.RemoveScroll"),S2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(tf,c),m=bg(),p=De(r,m);return d.jsx(Ef,{as:y2,allowPinchZoom:!0,shards:[f.contentRef],children:d.jsx(Te.div,{"data-state":Af(f.open),...s,ref:p,style:{pointerEvents:"auto",...s.style}})})},"DialogOverlayImpl")),ki="DialogContent",b2=y.forwardRef(Wt(function(i,r){const c=Gg(ki,i.__scopeDialog),{forceMount:s=c.forceMount,...f}=i,m=gn(ki,i.__scopeDialog);return d.jsx(vn,{present:s||m.open,children:m.modal?d.jsx(x2,{...f,ref:r}):d.jsx(E2,{...f,ref:r})})},"DialogContent")),x2=y.forwardRef(Wt(function(i,r){const c=gn(ki,i.__scopeDialog),s=y.useRef(null),f=De(r,c.contentRef,s);return y.useEffect(()=>{const m=s.current;if(m)return Bg(m)},[]),d.jsx(Xg,{...i,ref:f,trapFocus:c.open,disableOutsidePointerEvents:c.open,onCloseAutoFocus:ye(i.onCloseAutoFocus,m=>{m.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:ye(i.onPointerDownOutside,m=>{const p=m.detail.originalEvent,g=p.button===0&&p.ctrlKey===!0;(p.button===2||g)&&m.preventDefault()}),onFocusOutside:ye(i.onFocusOutside,m=>m.preventDefault())})},"DialogContentModal")),E2=y.forwardRef(Wt(function(i,r){const c=gn(ki,i.__scopeDialog),s=y.useRef(!1),f=y.useRef(!1);return d.jsx(Xg,{...i,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:m=>{i.onCloseAutoFocus?.(m),m.defaultPrevented||(s.current||c.triggerRef.current?.focus(),m.preventDefault()),s.current=!1,f.current=!1},onInteractOutside:m=>{i.onInteractOutside?.(m),m.defaultPrevented||(s.current=!0,m.detail.originalEvent.type==="pointerdown"&&(f.current=!0));const p=m.target;c.triggerRef.current?.contains(p)&&m.preventDefault(),m.detail.originalEvent.type==="focusin"&&f.current&&m.preventDefault()}})},"DialogContentNonModal")),Xg=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,trapFocus:s,onOpenAutoFocus:f,onCloseAutoFocus:m,...p}=i,g=gn(ki,c);return Zc(),d.jsx(d.Fragment,{children:d.jsx(Cg,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:f,onUnmountAutoFocus:m,children:d.jsx(Sg,{role:"dialog",id:g.contentId,"aria-describedby":g.descriptionPresent?g.descriptionId:void 0,"aria-labelledby":g.titlePresent?g.titleId:void 0,"data-state":Af(g.open),...p,ref:r,deferPointerDownOutside:!0,onDismiss:()=>g.onOpenChange(!1)})})})},"DialogContentImpl")),C2="DialogTitle",A2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(C2,c),{setTitleCount:m}=f;return et(()=>(m(p=>p+1),()=>m(p=>p-1)),[m]),d.jsx(Te.h2,{id:f.titleId,...s,ref:r})},"DialogTitle")),w2="DialogDescription",T2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(w2,c),{setDescriptionCount:m}=f;return et(()=>(m(p=>p+1),()=>m(p=>p-1)),[m]),d.jsx(Te.p,{id:f.descriptionId,...s,ref:r})},"DialogDescription")),O2="DialogClose",R2=y.forwardRef(Wt(function(i,r){const{__scopeDialog:c,...s}=i,f=gn(O2,c);return d.jsx(Te.button,{type:"button",...s,ref:r,onClick:ye(i.onClick,()=>f.onOpenChange(!1))})},"DialogClose"));function Af(a){return a?"open":"closed"}Wt(Af,"getState");var _2=Object.defineProperty,j2=(a,i)=>_2(a,"name",{value:i,configurable:!0});function zc(a,[i,r]){return Math.min(r,Math.max(i,a))}j2(zc,"clamp");var D2=Object.defineProperty,we=(a,i)=>D2(a,"name",{value:i,configurable:!0});function kg(a,i){return y.useReducer((r,c)=>i[r][c]??r,a)}we(kg,"useStateMachine");var Qg="ScrollArea",[Zg,IA]=ln(Qg),[N2,yn]=Zg(Qg),M2=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,type:s="hover",dir:f,scrollHideDelay:m=600,...p}=i,[g,v]=y.useState(null),[x,S]=y.useState(null),[E,C]=y.useState(null),[A,T]=y.useState(null),[O,j]=y.useState(null),[z,D]=y.useState(0),[M,k]=y.useState(0),[G,K]=y.useState(!1),[J,P]=y.useState(!1),ee=De(r,v),le=Qa(f);return d.jsx(N2,{scope:c,type:s,dir:le,scrollHideDelay:m,scrollArea:g,viewport:x,onViewportChange:S,content:E,onContentChange:C,scrollbarX:A,onScrollbarXChange:T,scrollbarXEnabled:G,onScrollbarXEnabledChange:K,scrollbarY:O,onScrollbarYChange:j,scrollbarYEnabled:J,onScrollbarYEnabledChange:P,onCornerWidthChange:D,onCornerHeightChange:k,children:d.jsx(Te.div,{dir:le,...p,ref:ee,style:{position:"relative","--radix-scroll-area-corner-width":z+"px","--radix-scroll-area-corner-height":M+"px",...i.style}})})},"ScrollArea")),z2="ScrollAreaViewport",U2=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,children:s,nonce:f,...m}=i,p=yn(z2,c),g=y.useRef(null),v=De(r,g,p.onViewportChange);return d.jsxs(d.Fragment,{children:[d.jsx(H2,{nonce:f}),d.jsx(Te.div,{"data-radix-scroll-area-viewport":"",...m,ref:v,style:{overflowX:p.scrollbarXEnabled?"scroll":"hidden",overflowY:p.scrollbarYEnabled?"scroll":"hidden",...i.style},children:d.jsx("div",{ref:p.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})},"ScrollAreaViewport")),H2=y.memo(we(function({nonce:i}){return d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i})},"ScrollAreaViewportStyle"),(a,i)=>a.nonce===i.nonce),Xn="ScrollAreaScrollbar",L2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=yn(Xn,i.__scopeScrollArea),{onScrollbarXEnabledChange:m,onScrollbarYEnabledChange:p}=f,g=i.orientation==="horizontal";return y.useEffect(()=>(g?m(!0):p(!0),()=>{g?m(!1):p(!1)}),[g,m,p]),f.type==="hover"?d.jsx(q2,{...s,ref:r,forceMount:c}):f.type==="scroll"?d.jsx(B2,{...s,ref:r,forceMount:c}):f.type==="auto"?d.jsx(Kg,{...s,ref:r,forceMount:c}):f.type==="always"?d.jsx(wf,{...s,ref:r,"data-state":"visible"}):null},"ScrollAreaScrollbar")),q2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=yn(Xn,i.__scopeScrollArea),[m,p]=y.useState(!1);return y.useEffect(()=>{const g=f.scrollArea;let v=0;if(g){const x=we(()=>{window.clearTimeout(v),p(!0)},"handlePointerEnter"),S=we(()=>{v=window.setTimeout(()=>p(!1),f.scrollHideDelay)},"handlePointerLeave");return g.addEventListener("pointerenter",x),g.addEventListener("pointerleave",S),()=>{window.clearTimeout(v),g.removeEventListener("pointerenter",x),g.removeEventListener("pointerleave",S)}}},[f.scrollArea,f.scrollHideDelay]),d.jsx(vn,{present:c||m,children:d.jsx(Kg,{"data-state":m?"visible":"hidden",...s,ref:r})})},"ScrollAreaScrollbarHover")),B2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=yn(Xn,i.__scopeScrollArea),m=i.orientation==="horizontal",p=Fi(()=>v("SCROLL_END"),100),[g,v]=kg("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(g==="idle"){const x=window.setTimeout(()=>v("HIDE"),f.scrollHideDelay);return()=>window.clearTimeout(x)}},[g,f.scrollHideDelay,v]),y.useEffect(()=>{const x=f.viewport,S=m?"scrollLeft":"scrollTop";if(x){let E=x[S];const C=we(()=>{const A=x[S];E!==A&&(v("SCROLL"),p()),E=A},"handleScroll");return x.addEventListener("scroll",C),()=>x.removeEventListener("scroll",C)}},[f.viewport,m,v,p]),d.jsx(vn,{present:c||g!=="hidden",children:d.jsx(wf,{"data-state":g==="hidden"?"hidden":"visible",...s,ref:r,onPointerEnter:ye(i.onPointerEnter,()=>v("POINTER_ENTER")),onPointerLeave:ye(i.onPointerLeave,()=>v("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),Kg=y.forwardRef(we(function(i,r){const c=yn(Xn,i.__scopeScrollArea),{forceMount:s,...f}=i,[m,p]=y.useState(!1),g=i.orientation==="horizontal",v=Fi(()=>{if(c.viewport){const x=c.viewport.offsetWidth<c.viewport.scrollWidth,S=c.viewport.offsetHeight<c.viewport.scrollHeight;p(g?x:S)}},10);return Zi(c.viewport,v),Zi(c.content,v),d.jsx(vn,{present:s||m,children:d.jsx(wf,{"data-state":m?"visible":"hidden",...f,ref:r})})},"ScrollAreaScrollbarAuto")),wf=y.forwardRef(we(function(i,r){const{orientation:c="vertical",...s}=i,f=yn(Xn,i.__scopeScrollArea),m=y.useRef(null),p=y.useRef(0),[g,v]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),x=Tf(g.viewport,g.content),S={...s,sizes:g,onSizesChange:v,hasThumb:x>0&&x<1,onThumbChange:we(C=>m.current=C,"onThumbChange"),onThumbPointerUp:we(()=>p.current=0,"onThumbPointerUp"),onThumbPointerDown:we(C=>p.current=C,"onThumbPointerDown")};function E(C,A){return Pg(C,p.current,g,A)}return we(E,"getScrollPosition"),c==="horizontal"?d.jsx(V2,{...S,ref:r,onThumbPositionChange:()=>{if(f.viewport&&m.current){const C=f.viewport.scrollLeft,A=lf(C,g,f.dir);m.current.style.transform=`translate3d(${A}px, 0, 0)`}},onWheelScroll:C=>{f.viewport&&(f.viewport.scrollLeft=C)},onDragScroll:C=>{f.viewport&&(f.viewport.scrollLeft=E(C,f.dir))}}):c==="vertical"?d.jsx(Y2,{...S,ref:r,onThumbPositionChange:()=>{if(f.viewport&&m.current){const C=f.viewport.scrollTop,A=lf(C,g);m.current.style.transform=`translate3d(0, ${A}px, 0)`}},onWheelScroll:C=>{f.viewport&&(f.viewport.scrollTop=C)},onDragScroll:C=>{f.viewport&&(f.viewport.scrollTop=E(C))}}):null},"ScrollAreaScrollbarVisible")),V2=y.forwardRef(we(function(i,r){const{sizes:c,onSizesChange:s,...f}=i,m=yn(Xn,i.__scopeScrollArea),[p,g]=y.useState(),v=y.useRef(null),x=De(r,v,m.onScrollbarXChange);return y.useEffect(()=>{v.current&&g(getComputedStyle(v.current))},[v]),d.jsx(Ig,{"data-orientation":"horizontal",...f,ref:x,sizes:c,style:{bottom:0,left:m.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:m.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Wi(c)+"px",...i.style},onThumbPointerDown:S=>i.onThumbPointerDown(S.x),onDragScroll:S=>i.onDragScroll(S.x),onWheelScroll:(S,E)=>{if(m.viewport){const C=m.viewport.scrollLeft+S.deltaX;i.onWheelScroll(C),Rf(C,E)&&S.preventDefault()}},onResize:()=>{v.current&&m.viewport&&p&&s({content:m.viewport.scrollWidth,viewport:m.viewport.offsetWidth,scrollbar:{size:v.current.clientWidth,paddingStart:Qi(p.paddingLeft),paddingEnd:Qi(p.paddingRight)}})}})},"ScrollAreaScrollbarX")),Y2=y.forwardRef(we(function(i,r){const{sizes:c,onSizesChange:s,...f}=i,m=yn(Xn,i.__scopeScrollArea),[p,g]=y.useState(),v=y.useRef(null),x=De(r,v,m.onScrollbarYChange);return y.useEffect(()=>{v.current&&g(getComputedStyle(v.current))},[v]),d.jsx(Ig,{"data-orientation":"vertical",...f,ref:x,sizes:c,style:{top:0,right:m.dir==="ltr"?0:void 0,left:m.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Wi(c)+"px",...i.style},onThumbPointerDown:S=>i.onThumbPointerDown(S.y),onDragScroll:S=>i.onDragScroll(S.y),onWheelScroll:(S,E)=>{if(m.viewport){const C=m.viewport.scrollTop+S.deltaY;i.onWheelScroll(C),Rf(C,E)&&S.preventDefault()}},onResize:()=>{v.current&&m.viewport&&p&&s({content:m.viewport.scrollHeight,viewport:m.viewport.offsetHeight,scrollbar:{size:v.current.clientHeight,paddingStart:Qi(p.paddingTop),paddingEnd:Qi(p.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[G2,$g]=Zg(Xn),Ig=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,sizes:s,hasThumb:f,onThumbChange:m,onThumbPointerUp:p,onThumbPointerDown:g,onThumbPositionChange:v,onDragScroll:x,onWheelScroll:S,onResize:E,...C}=i,A=yn(Xn,c),[T,O]=y.useState(null),j=De(r,O),z=y.useRef(null),D=y.useRef(""),M=A.viewport,k=s.content-s.viewport,G=ct(S),K=ct(v),J=Fi(E,10);function P(ee){if(z.current){const le=ee.clientX-z.current.left,W=ee.clientY-z.current.top;x({x:le,y:W})}}return we(P,"handleDragScroll"),y.useEffect(()=>{const ee=we(le=>{const W=le.target;T?.contains(W)&&G(le,k)},"handleWheel");return document.addEventListener("wheel",ee,{passive:!1}),()=>document.removeEventListener("wheel",ee,{passive:!1})},[M,T,k,G]),y.useEffect(K,[s,K]),Zi(T,J),Zi(A.content,J),d.jsx(G2,{scope:c,scrollbar:T,hasThumb:f,onThumbChange:ct(m),onThumbPointerUp:ct(p),onThumbPositionChange:K,onThumbPointerDown:ct(g),children:d.jsx(Te.div,{...C,ref:j,style:{position:"absolute",...C.style},onPointerDown:ye(i.onPointerDown,ee=>{ee.button===0&&(ee.target.setPointerCapture(ee.pointerId),z.current=T.getBoundingClientRect(),D.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",A.viewport&&(A.viewport.style.scrollBehavior="auto"),P(ee))}),onPointerMove:ye(i.onPointerMove,P),onPointerUp:ye(i.onPointerUp,ee=>{const le=ee.target;le.hasPointerCapture(ee.pointerId)&&le.releasePointerCapture(ee.pointerId),document.body.style.webkitUserSelect=D.current,A.viewport&&(A.viewport.style.scrollBehavior=""),z.current=null})})})},"ScrollAreaScrollbarImpl")),nf="ScrollAreaThumb",X2=y.forwardRef(we(function(i,r){const{forceMount:c,...s}=i,f=$g(nf,i.__scopeScrollArea);return d.jsx(vn,{present:c||f.hasThumb,children:d.jsx(k2,{ref:r,...s})})},"ScrollAreaThumb")),k2=y.forwardRef(we(function(i,r){const{__scopeScrollArea:c,style:s,...f}=i,m=yn(nf,c),p=$g(nf,c),{onThumbPositionChange:g}=p,v=De(r,p.onThumbChange),x=y.useRef(void 0),S=Fi(()=>{x.current&&(x.current(),x.current=void 0)},100);return y.useEffect(()=>{const E=m.viewport;if(E){const C=we(()=>{if(S(),!x.current){const A=Q2(E,g);x.current=A,g()}},"handleScroll");return g(),E.addEventListener("scroll",C),()=>E.removeEventListener("scroll",C)}},[m.viewport,S,g]),d.jsx(Te.div,{"data-state":p.hasThumb?"visible":"hidden",...f,ref:v,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:ye(i.onPointerDownCapture,E=>{const A=E.target.getBoundingClientRect(),T=E.clientX-A.left,O=E.clientY-A.top;p.onThumbPointerDown({x:T,y:O})}),onPointerUp:ye(i.onPointerUp,p.onThumbPointerUp)})},"ScrollAreaThumbImpl"));function Qi(a){return a?parseInt(a,10):0}we(Qi,"toInt");function Tf(a,i){const r=a/i;return isNaN(r)?0:r}we(Tf,"getThumbRatio");function Wi(a){const i=Tf(a.viewport,a.content),r=a.scrollbar.paddingStart+a.scrollbar.paddingEnd,c=(a.scrollbar.size-r)*i;return Math.max(c,18)}we(Wi,"getThumbSize");function Pg(a,i,r,c="ltr"){const s=Wi(r),f=s/2,m=i||f,p=s-m,g=r.scrollbar.paddingStart+m,v=r.scrollbar.size-r.scrollbar.paddingEnd-p,x=r.content-r.viewport,S=c==="ltr"?[0,x]:[x*-1,0];return Of([g,v],S)(a)}we(Pg,"getScrollPositionFromPointer");function lf(a,i,r="ltr"){const c=Wi(i),s=i.scrollbar.paddingStart+i.scrollbar.paddingEnd,f=i.scrollbar.size-s,m=i.content-i.viewport,p=f-c,g=r==="ltr"?[0,m]:[m*-1,0],v=zc(a,g);return Of([0,m],[0,p])(v)}we(lf,"getThumbOffsetFromScroll");function Of(a,i){return r=>{if(a[0]===a[1]||i[0]===i[1])return i[0];const c=(i[1]-i[0])/(a[1]-a[0]);return i[0]+c*(r-a[0])}}we(Of,"linearScale");function Rf(a,i){return a>0&&a<i}we(Rf,"isScrollingWithinScrollbarBounds");var Q2=we((a,i=()=>{})=>{let r={left:a.scrollLeft,top:a.scrollTop},c=0;return we((function s(){const f={left:a.scrollLeft,top:a.scrollTop},m=r.left!==f.left,p=r.top!==f.top;(m||p)&&i(),r=f,c=window.requestAnimationFrame(s)}),"loop")(),()=>window.cancelAnimationFrame(c)},"addUnlinkedScrollListener");function Fi(a,i){const r=ct(a),c=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(c.current),[]),y.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(r,i)},[r,i])}we(Fi,"useDebounceCallback");function Zi(a,i){const r=ct(i);et(()=>{let c=0;if(a){const s=new ResizeObserver(()=>{cancelAnimationFrame(c),c=window.requestAnimationFrame(r)});return s.observe(a),()=>{window.cancelAnimationFrame(c),s.unobserve(a)}}},[a,r])}we(Zi,"useResizeObserver");var Z2=M2,K2=U2,$2=L2,I2=X2;const P2=["top","right","bottom","left"],bl=Math.min,qn=Math.max,Uc=Math.round,Tc=Math.floor,Bn=a=>({x:a,y:a}),J2={left:"right",right:"left",bottom:"top",top:"bottom"};function Jg(a,i,r){return qn(a,bl(i,r))}function Gn(a,i){return typeof a=="function"?a(i):a}function xl(a){return a.split("-")[0]}function Za(a){return a.split("-")[1]}function _f(a){return a==="x"?"y":"x"}function jf(a){return a==="y"?"height":"width"}function fn(a){const i=a[0];return i==="t"||i==="b"?"y":"x"}function Df(a){return _f(fn(a))}function W2(a,i,r){r===void 0&&(r=!1);const c=Za(a),s=Df(a),f=jf(s);let m=s==="x"?c===(r?"end":"start")?"right":"left":c==="start"?"bottom":"top";return i.reference[f]>i.floating[f]&&(m=Hc(m)),[m,Hc(m)]}function F2(a){const i=Hc(a);return[af(a),i,af(i)]}function af(a){return a.includes("start")?a.replace("start","end"):a.replace("end","start")}const yp=["left","right"],Sp=["right","left"],eE=["top","bottom"],tE=["bottom","top"];function nE(a,i,r){switch(a){case"top":case"bottom":return r?i?Sp:yp:i?yp:Sp;case"left":case"right":return i?eE:tE;default:return[]}}function lE(a,i,r,c){const s=Za(a);let f=nE(xl(a),r==="start",c);return s&&(f=f.map(m=>m+"-"+s),i&&(f=f.concat(f.map(af)))),f}function Hc(a){const i=xl(a);return J2[i]+a.slice(i.length)}function aE(a){var i,r,c,s;return{top:(i=a.top)!=null?i:0,right:(r=a.right)!=null?r:0,bottom:(c=a.bottom)!=null?c:0,left:(s=a.left)!=null?s:0}}function Wg(a){return typeof a!="number"?aE(a):{top:a,right:a,bottom:a,left:a}}function Lc(a){const{x:i,y:r,width:c,height:s}=a;return{width:c,height:s,top:r,left:i,right:i+c,bottom:r+s,x:i,y:r}}function bp(a,i,r){let{reference:c,floating:s}=a;const f=fn(i),m=Df(i),p=jf(m),g=xl(i),v=f==="y",x=c.x+c.width/2-s.width/2,S=c.y+c.height/2-s.height/2,E=c[p]/2-s[p]/2;let C;switch(g){case"top":C={x,y:c.y-s.height};break;case"bottom":C={x,y:c.y+c.height};break;case"right":C={x:c.x+c.width,y:S};break;case"left":C={x:c.x-s.width,y:S};break;default:C={x:c.x,y:c.y}}const A=Za(i);return A&&(C[m]+=E*(A==="end"?1:-1)*(r&&v?-1:1)),C}async function iE(a,i){var r;i===void 0&&(i={});const{x:c,y:s,platform:f,rects:m,elements:p,strategy:g}=a,{boundary:v="clippingAncestors",rootBoundary:x="viewport",elementContext:S="floating",altBoundary:E=!1,padding:C=0}=Gn(i,a),A=Wg(C),O=p[E?S==="floating"?"reference":"floating":S],j=Lc(await f.getClippingRect({element:(r=await(f.isElement==null?void 0:f.isElement(O)))==null||r?O:O.contextElement||await(f.getDocumentElement==null?void 0:f.getDocumentElement(p.floating)),boundary:v,rootBoundary:x,strategy:g})),z=S==="floating"?{x:c,y:s,width:m.floating.width,height:m.floating.height}:m.reference,D=await(f.getOffsetParent==null?void 0:f.getOffsetParent(p.floating)),M=await(f.isElement==null?void 0:f.isElement(D))&&await(f.getScale==null?void 0:f.getScale(D))||{x:1,y:1},k=Lc(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:z,offsetParent:D,strategy:g}):z);return{top:(j.top-k.top+A.top)/M.y,bottom:(k.bottom-j.bottom+A.bottom)/M.y,left:(j.left-k.left+A.left)/M.x,right:(k.right-j.right+A.right)/M.x}}const oE=50,cE=async(a,i,r)=>{const{placement:c="bottom",strategy:s="absolute",middleware:f=[],platform:m}=r,p=m.detectOverflow?m:{...m,detectOverflow:iE},g=await(m.isRTL==null?void 0:m.isRTL(i));let v=await m.getElementRects({reference:a,floating:i,strategy:s}),{x,y:S}=bp(v,c,g),E=c,C=0;const A={};for(let T=0;T<f.length;T++){const O=f[T];if(!O)continue;const{name:j,fn:z}=O,{x:D,y:M,data:k,reset:G}=await z({x,y:S,initialPlacement:c,placement:E,strategy:s,middlewareData:A,rects:v,platform:p,elements:{reference:a,floating:i}});x=D??x,S=M??S,A[j]={...A[j],...k},G&&C<oE&&(C++,typeof G=="object"&&(G.placement&&(E=G.placement),G.rects&&(v=G.rects===!0?await m.getElementRects({reference:a,floating:i,strategy:s}):G.rects),{x,y:S}=bp(v,E,g)),T=-1)}return{x,y:S,placement:E,strategy:s,middlewareData:A}},rE=a=>({name:"arrow",options:a,async fn(i){const{x:r,y:c,placement:s,rects:f,platform:m,elements:p,middlewareData:g}=i,{element:v,padding:x=0}=Gn(a,i)||{};if(v==null)return{};const S=Wg(x),E={x:r,y:c},C=Df(s),A=jf(C),T=await m.getDimensions(v),O=C==="y",j=O?"top":"left",z=O?"bottom":"right",D=O?"clientHeight":"clientWidth",M=f.reference[A]+f.reference[C]-E[C]-f.floating[A],k=E[C]-f.reference[C],G=await(m.getOffsetParent==null?void 0:m.getOffsetParent(v));let K=G?G[D]:0;(!K||!await(m.isElement==null?void 0:m.isElement(G)))&&(K=p.floating[D]||f.floating[A]);const J=M/2-k/2,P=K/2-T[A]/2-1,ee=bl(S[j],P),le=bl(S[z],P),W=K-T[A]-le,ce=K/2-T[A]/2+J,fe=Jg(ee,ce,W),ge=!g.arrow&&Za(s)!=null&&ce!==fe&&f.reference[A]/2-(ce<ee?ee:le)-T[A]/2<0,U=ge?ce<ee?ce-ee:ce-W:0;return{[C]:E[C]+U,data:{[C]:fe,centerOffset:ce-fe-U,...ge&&{alignmentOffset:U}},reset:ge}}}),uE=function(a){return a===void 0&&(a={}),{name:"flip",options:a,async fn(i){var r,c;const{placement:s,middlewareData:f,rects:m,initialPlacement:p,platform:g,elements:v}=i,{mainAxis:x=!0,crossAxis:S=!0,fallbackPlacements:E,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:A="none",flipAlignment:T=!0,...O}=Gn(a,i);if((r=f.arrow)!=null&&r.alignmentOffset)return{};const j=xl(s),z=fn(p),D=xl(p)===p,M=await(g.isRTL==null?void 0:g.isRTL(v.floating)),k=E||(D||!T?[Hc(p)]:F2(p)),G=A!=="none";!E&&G&&k.push(...lE(p,T,A,M));const K=[p,...k],J=await g.detectOverflow(i,O),P=[];let ee=((c=f.flip)==null?void 0:c.overflows)||[];if(x&&P.push(J[j]),S){const fe=W2(s,m,M);P.push(J[fe[0]],J[fe[1]])}if(ee=[...ee,{placement:s,overflows:P}],!P.every(fe=>fe<=0)){var le,W;const fe=(((le=f.flip)==null?void 0:le.index)||0)+1,ge=K[fe];if(ge&&(!(S==="alignment"?z!==fn(ge):!1)||ee.every($=>fn($.placement)===z?$.overflows[0]>0:!0)))return{data:{index:fe,overflows:ee},reset:{placement:ge}};let U=(W=ee.filter(Q=>Q.overflows[0]<=0).sort((Q,$)=>Q.overflows[1]-$.overflows[1])[0])==null?void 0:W.placement;if(!U)switch(C){case"bestFit":{var ce;const Q=(ce=ee.filter($=>{if(G){const ae=fn($.placement);return ae===z||ae==="y"}return!0}).map($=>[$.placement,$.overflows.filter(ae=>ae>0).reduce((ae,re)=>ae+re,0)]).sort(($,ae)=>$[1]-ae[1])[0])==null?void 0:ce[0];Q&&(U=Q);break}case"initialPlacement":U=p;break}if(s!==U)return{reset:{placement:U}}}return{}}}};function xp(a,i){return{top:a.top-i.height,right:a.right-i.width,bottom:a.bottom-i.height,left:a.left-i.width}}function Ep(a){return P2.some(i=>a[i]>=0)}const sE=function(a){return a===void 0&&(a={}),{name:"hide",options:a,async fn(i){const{rects:r,platform:c}=i,{strategy:s="referenceHidden",...f}=Gn(a,i);switch(s){case"referenceHidden":{const m=await c.detectOverflow(i,{...f,elementContext:"reference"}),p=xp(m,r.reference);return{data:{referenceHiddenOffsets:p,referenceHidden:Ep(p)}}}case"escaped":{const m=await c.detectOverflow(i,{...f,altBoundary:!0}),p=xp(m,r.floating);return{data:{escapedOffsets:p,escaped:Ep(p)}}}default:return{}}}}},Fg=new Set(["left","top"]);async function fE(a,i){const{placement:r,platform:c,elements:s}=a,f=await(c.isRTL==null?void 0:c.isRTL(s.floating)),m=xl(r),p=Za(r),g=fn(r)==="y",v=Fg.has(m)?-1:1,x=f&&g?-1:1,S=Gn(i,a);let{mainAxis:E,crossAxis:C,alignmentAxis:A}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:S.mainAxis||0,crossAxis:S.crossAxis||0,alignmentAxis:S.alignmentAxis};return p&&typeof A=="number"&&(C=p==="end"?A*-1:A),g?{x:C*x,y:E*v}:{x:E*v,y:C*x}}const dE=function(a){return a===void 0&&(a=0),{name:"offset",options:a,async fn(i){var r,c;const{x:s,y:f,placement:m,middlewareData:p}=i,g=await fE(i,a);return m===((r=p.offset)==null?void 0:r.placement)&&(c=p.arrow)!=null&&c.alignmentOffset?{}:{x:s+g.x,y:f+g.y,data:{...g,placement:m}}}}},hE=function(a){return a===void 0&&(a={}),{name:"shift",options:a,async fn(i){const{x:r,y:c,placement:s,platform:f}=i,{mainAxis:m=!0,crossAxis:p=!1,limiter:g={fn:z=>{let{x:D,y:M}=z;return{x:D,y:M}}},...v}=Gn(a,i),x={x:r,y:c},S=await f.detectOverflow(i,v),E=fn(s),C=_f(E);let A=x[C],T=x[E];const O=(z,D)=>Jg(D+S[z==="y"?"top":"left"],D,D-S[z==="y"?"bottom":"right"]);m&&(A=O(C,A)),p&&(T=O(E,T));const j=g.fn({...i,[C]:A,[E]:T});return{...j,data:{x:j.x-r,y:j.y-c,enabled:{[C]:m,[E]:p}}}}}},mE=function(a){return a===void 0&&(a={}),{options:a,fn(i){var r,c;const{x:s,y:f,placement:m,rects:p,middlewareData:g}=i,{offset:v=0,mainAxis:x=!0,crossAxis:S=!0}=Gn(a,i),E={x:s,y:f},C=fn(m),A=_f(C);let T=E[A],O=E[C];const j=Gn(v,i),z=typeof j=="number"?{mainAxis:j,crossAxis:0}:{mainAxis:(r=j.mainAxis)!=null?r:0,crossAxis:(c=j.crossAxis)!=null?c:0};if(x){const k=A==="y"?"height":"width",G=p.reference[A]-p.floating[k]+z.mainAxis,K=p.reference[A]+p.reference[k]-z.mainAxis;T<G?T=G:T>K&&(T=K)}if(S){var D,M;const k=A==="y"?"width":"height",G=Fg.has(xl(m)),K=p.reference[C]-p.floating[k]+(G&&((D=g.offset)==null?void 0:D[C])||0)+(G?0:z.crossAxis),J=p.reference[C]+p.reference[k]+(G?0:((M=g.offset)==null?void 0:M[C])||0)-(G?z.crossAxis:0);O<K?O=K:O>J&&(O=J)}return{[A]:T,[C]:O}}}},vE=function(a){return a===void 0&&(a={}),{name:"size",options:a,async fn(i){const{placement:r,rects:c,platform:s,elements:f}=i,{apply:m=()=>{},...p}=Gn(a,i),g=await s.detectOverflow(i,p),v=xl(r),x=Za(r),S=fn(r)==="y",{width:E,height:C}=c.floating;let A,T;v==="top"||v==="bottom"?(A=v,T=x===(await(s.isRTL==null?void 0:s.isRTL(f.floating))?"start":"end")?"left":"right"):(T=v,A=x==="end"?"top":"bottom");const O=C-g.top-g.bottom,j=E-g.left-g.right,z=bl(C-g[A],O),D=bl(E-g[T],j),M=i.middlewareData.shift,k=!M;let G=z,K=D;M!=null&&M.enabled.x&&(K=j),M!=null&&M.enabled.y&&(G=O),k&&!x&&(S?K=E-2*qn(g.left,g.right):G=C-2*qn(g.top,g.bottom)),await m({...i,availableWidth:K,availableHeight:G});const J=await s.getDimensions(f.floating);return E!==J.width||C!==J.height?{reset:{rects:!0}}:{}}}};function $c(){return typeof window<"u"}function Ka(a){return ey(a)?(a.nodeName||"").toLowerCase():"#document"}function Rt(a){var i;return(a==null||(i=a.ownerDocument)==null?void 0:i.defaultView)||window}function kn(a){var i;return(i=(ey(a)?a.ownerDocument:a.document)||window.document)==null?void 0:i.documentElement}function ey(a){return $c()?a instanceof Node||a instanceof Rt(a).Node:!1}function hn(a){return $c()?a instanceof Element||a instanceof Rt(a).Element:!1}function El(a){return $c()?a instanceof HTMLElement||a instanceof Rt(a).HTMLElement:!1}function Cp(a){return!$c()||typeof ShadowRoot>"u"?!1:a instanceof ShadowRoot||a instanceof Rt(a).ShadowRoot}function Ic(a){const{overflow:i,overflowX:r,overflowY:c,display:s}=mn(a);return/auto|scroll|overlay|hidden|clip/.test(i+c+r)&&s!=="inline"&&s!=="contents"}function pE(a){return/^(table|td|th)$/.test(Ka(a))}function Pc(a){try{if(a.matches(":popover-open"))return!0}catch{}try{return a.matches(":modal")}catch{return!1}}const gE=/transform|translate|scale|rotate|perspective|filter/,yE=/paint|layout|strict|content/,Xl=a=>!!a&&a!=="none";let Us;function Nf(a){const i=hn(a)?mn(a):a;return Xl(i.transform)||Xl(i.translate)||Xl(i.scale)||Xl(i.rotate)||Xl(i.perspective)||!Mf()&&(Xl(i.backdropFilter)||Xl(i.filter))||gE.test(i.willChange||"")||yE.test(i.contain||"")}function SE(a){let i=kl(a);for(;El(i)&&!Ki(i);){if(Nf(i))return i;if(Pc(i))return null;i=kl(i)}return null}function Mf(){return Us==null&&(Us=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Us}function Ki(a){return/^(html|body|#document)$/.test(Ka(a))}function mn(a){return Rt(a).getComputedStyle(a)}function Jc(a){return hn(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function kl(a){if(Ka(a)==="html")return a;const i=a.assignedSlot||a.parentNode||Cp(a)&&a.host||kn(a);return Cp(i)?i.host:i}function ty(a){const i=kl(a);return Ki(i)?(a.ownerDocument||a).body:El(i)&&Ic(i)?i:ty(i)}function $i(a,i,r){var c;i===void 0&&(i=[]),r===void 0&&(r=!0);const s=ty(a),f=s===((c=a.ownerDocument)==null?void 0:c.body),m=Rt(s);if(f){const p=of(m);return i.concat(m,m.visualViewport||[],Ic(s)?s:[],p&&r?$i(p):[])}else return i.concat(s,$i(s,[],r))}function of(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function ny(a){const i=mn(a);let r=parseFloat(i.width)||0,c=parseFloat(i.height)||0;const s=El(a),f=s?a.offsetWidth:r,m=s?a.offsetHeight:c,p=Uc(r)!==f||Uc(c)!==m;return p&&(r=f,c=m),{width:r,height:c,$:p}}function zf(a){return hn(a)?a:a.contextElement}function Va(a){const i=zf(a);if(!El(i))return Bn(1);const r=i.getBoundingClientRect(),{width:c,height:s,$:f}=ny(i);let m=(f?Uc(r.width):r.width)/c,p=(f?Uc(r.height):r.height)/s;return(!m||!Number.isFinite(m))&&(m=1),(!p||!Number.isFinite(p))&&(p=1),{x:m,y:p}}const bE=Bn(0);function ly(a){const i=Rt(a);return!Mf()||!i.visualViewport?bE:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function xE(a,i,r){return i===void 0&&(i=!1),!!r&&i&&r===Rt(a)}function Ql(a,i,r,c){i===void 0&&(i=!1),r===void 0&&(r=!1);const s=a.getBoundingClientRect(),f=zf(a);let m=Bn(1);i&&(c?hn(c)&&(m=Va(c)):m=Va(a));const p=xE(f,r,c)?ly(f):Bn(0);let g=(s.left+p.x)/m.x,v=(s.top+p.y)/m.y,x=s.width/m.x,S=s.height/m.y;if(f&&c){const E=Rt(f),C=hn(c)?Rt(c):c;let A=E,T=of(A);for(;T&&C!==A;){const O=Va(T),j=T.getBoundingClientRect(),z=mn(T),D=j.left+(T.clientLeft+parseFloat(z.paddingLeft))*O.x,M=j.top+(T.clientTop+parseFloat(z.paddingTop))*O.y;g*=O.x,v*=O.y,x*=O.x,S*=O.y,g+=D,v+=M,A=Rt(T),T=of(A)}}return Lc({width:x,height:S,x:g,y:v})}function Wc(a,i){const r=Jc(a).scrollLeft;return i?i.left+r:Ql(kn(a)).left+r}function ay(a,i){const r=a.getBoundingClientRect(),c=r.left+i.scrollLeft-Wc(a,r),s=r.top+i.scrollTop;return{x:c,y:s}}function EE(a){let{elements:i,rect:r,offsetParent:c,strategy:s}=a;const f=s==="fixed",m=kn(c),p=i?Pc(i.floating):!1;if(c===m||p&&f)return r;let g={scrollLeft:0,scrollTop:0},v=Bn(1);const x=Bn(0),S=El(c);if((S||!f)&&((Ka(c)!=="body"||Ic(m))&&(g=Jc(c)),S)){const C=Ql(c);v=Va(c),x.x=C.x+c.clientLeft,x.y=C.y+c.clientTop}const E=m&&!S&&!f?ay(m,g):Bn(0);return{width:r.width*v.x,height:r.height*v.y,x:r.x*v.x-g.scrollLeft*v.x+x.x+E.x,y:r.y*v.y-g.scrollTop*v.y+x.y+E.y}}function CE(a){return a.getClientRects?Array.from(a.getClientRects()):[]}function AE(a){const i=Jc(a),r=a.ownerDocument.body,c=qn(a.scrollWidth,a.clientWidth,r.scrollWidth,r.clientWidth),s=qn(a.scrollHeight,a.clientHeight,r.scrollHeight,r.clientHeight);let f=-i.scrollLeft+Wc(a);const m=-i.scrollTop;return mn(r).direction==="rtl"&&(f+=qn(a.clientWidth,r.clientWidth)-c),{width:c,height:s,x:f,y:m}}const wE=25;function TE(a,i,r){r===void 0&&(r="viewport");const c=r==="layoutViewport",s=Rt(a),f=kn(a),m=s.visualViewport;let p=f.clientWidth,g=f.clientHeight,v=0,x=0;if(m){const E=!Mf()||i==="fixed";c?E||(v=-m.offsetLeft,x=-m.offsetTop):(p=m.width,g=m.height,E&&(v=m.offsetLeft,x=m.offsetTop))}if(Wc(f)<=0){const E=f.ownerDocument,C=E.body,A=getComputedStyle(C),T=E.compatMode==="CSS1Compat"&&parseFloat(A.marginLeft)+parseFloat(A.marginRight)||0,O=Math.abs(f.clientWidth-C.clientWidth-T),j=getComputedStyle(f).scrollbarGutter==="stable both-edges"?O/2:O;j<=wE&&(p-=j)}return{width:p,height:g,x:v,y:x}}function OE(a,i){const r=Ql(a,!0,i==="fixed"),c=r.top+a.clientTop,s=r.left+a.clientLeft,f=Va(a),m=a.clientWidth*f.x,p=a.clientHeight*f.y,g=s*f.x,v=c*f.y;return{width:m,height:p,x:g,y:v}}function Ap(a,i,r){let c;if(i==="viewport"||i==="layoutViewport")c=TE(a,r,i);else if(i==="document")c=AE(kn(a));else if(hn(i))c=OE(i,r);else{const s=ly(a);c={x:i.x-s.x,y:i.y-s.y,width:i.width,height:i.height}}return Lc(c)}function RE(a,i){const r=i.get(a);if(r)return r;let c=$i(a,[],!1).filter(p=>hn(p)&&Ka(p)!=="body"),s=null;const f=mn(a).position==="fixed";let m=f?kl(a):a;for(;hn(m)&&!Ki(m);){const p=mn(m),g=Nf(m),v=s?s.position:f?"fixed":"";!g&&(v==="fixed"||v==="absolute"&&p.position==="static")?c=c.filter(S=>S!==m):s=p,m=kl(m)}return i.set(a,c),c}function _E(a){let{element:i,boundary:r,rootBoundary:c,strategy:s}=a;const m=[...r==="clippingAncestors"?Pc(i)?[]:RE(i,this._c):[].concat(r),c],p=Ap(i,m[0],s);let g=p.top,v=p.right,x=p.bottom,S=p.left;for(let E=1;E<m.length;E++){const C=Ap(i,m[E],s);g=qn(C.top,g),v=bl(C.right,v),x=bl(C.bottom,x),S=qn(C.left,S)}return{width:v-S,height:x-g,x:S,y:g}}function jE(a){const{width:i,height:r}=ny(a);return{width:i,height:r}}function DE(a,i,r){const c=El(i),s=kn(i),f=r==="fixed",m=Ql(a,!0,f,i);let p={scrollLeft:0,scrollTop:0};const g=Bn(0);if((c||!f)&&((Ka(i)!=="body"||Ic(s))&&(p=Jc(i)),c)){const E=Ql(i,!0,f,i);g.x=E.x+i.clientLeft,g.y=E.y+i.clientTop}!c&&s&&(g.x=Wc(s));const v=s&&!c&&!f?ay(s,p):Bn(0),x=m.left+p.scrollLeft-g.x-v.x,S=m.top+p.scrollTop-g.y-v.y;return{x,y:S,width:m.width,height:m.height}}function Hs(a){return mn(a).position==="static"}function wp(a,i){if(!El(a)||mn(a).position==="fixed")return null;if(i)return i(a);let r=a.offsetParent;return kn(a)===r&&(r=r.ownerDocument.body),r}function iy(a,i){const r=Rt(a);if(Pc(a))return r;if(!El(a)){let s=kl(a);for(;s&&!Ki(s);){if(hn(s)&&!Hs(s))return s;s=kl(s)}return r}let c=wp(a,i);for(;c&&pE(c)&&Hs(c);)c=wp(c,i);return c&&Ki(c)&&Hs(c)&&!Nf(c)?r:c||SE(a)||r}const NE=async function(a){const i=this.getOffsetParent||iy,r=this.getDimensions,c=await r(a.floating);return{reference:DE(a.reference,await i(a.floating),a.strategy),floating:{x:0,y:0,width:c.width,height:c.height}}};function ME(a){return mn(a).direction==="rtl"}const zE={convertOffsetParentRelativeRectToViewportRelativeRect:EE,getDocumentElement:kn,getClippingRect:_E,getOffsetParent:iy,getElementRects:NE,getClientRects:CE,getDimensions:jE,getScale:Va,isElement:hn,isRTL:ME};function oy(a,i){return a.x===i.x&&a.y===i.y&&a.width===i.width&&a.height===i.height}function UE(a,i,r){let c=null,s;const f=kn(a);function m(){var x;clearTimeout(s),(x=c)==null||x.disconnect(),c=null}function p(x,S){x===void 0&&(x=!1),S===void 0&&(S=1),m();const E=a.getBoundingClientRect(),{left:C,top:A,width:T,height:O}=E;if(x||i(),!T||!O)return;const j=Tc(A),z=Tc(f.clientWidth-(C+T)),D=Tc(f.clientHeight-(A+O)),M=Tc(C),G={rootMargin:-j+"px "+-z+"px "+-D+"px "+-M+"px",threshold:qn(0,bl(1,S))||1};let K=!0;function J(P){const ee=P[0].intersectionRatio;if(!oy(E,a.getBoundingClientRect()))return p();if(ee!==S){if(!K)return p();ee?p(!1,ee):s=setTimeout(()=>{p(!1,1e-7)},1e3)}K=!1}try{c=new IntersectionObserver(J,{...G,root:f.ownerDocument})}catch{c=new IntersectionObserver(J,G)}c.observe(a)}const g=Rt(a),v=()=>p(r);return g.addEventListener("resize",v),p(!0),()=>{g.removeEventListener("resize",v),m()}}function HE(a,i,r,c){c===void 0&&(c={});const{ancestorScroll:s=!0,ancestorResize:f=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:p=typeof IntersectionObserver=="function",animationFrame:g=!1}=c,v=zf(a),x=s||f?[...v?$i(v):[],...i?$i(i):[]]:[];x.forEach(j=>{s&&j.addEventListener("scroll",r),f&&j.addEventListener("resize",r)});const S=v&&p?UE(v,r,f):null;let E=-1,C=null;m&&(C=new ResizeObserver(j=>{let[z]=j;z&&z.target===v&&C&&i&&(C.unobserve(i),cancelAnimationFrame(E),E=requestAnimationFrame(()=>{var D;(D=C)==null||D.observe(i)})),r()}),v&&!g&&C.observe(v),i&&C.observe(i));let A,T=g?Ql(a):null;g&&O();function O(){const j=Ql(a);T&&!oy(T,j)&&r(),T=j,A=requestAnimationFrame(O)}return r(),()=>{var j;x.forEach(z=>{s&&z.removeEventListener("scroll",r),f&&z.removeEventListener("resize",r)}),S?.(),(j=C)==null||j.disconnect(),C=null,g&&cancelAnimationFrame(A)}}const LE=dE,qE=hE,BE=uE,VE=vE,YE=sE,Tp=rE,GE=mE,XE=(a,i,r)=>{const c=new Map,s=r??{},f={...zE,...s.platform,_c:c};return cE(a,i,{...s,platform:f})};var kE=typeof document<"u",QE=function(){},Nc=kE?y.useLayoutEffect:QE;function qc(a,i){if(a===i)return!0;if(typeof a!=typeof i)return!1;if(typeof a=="function"&&a.toString()===i.toString())return!0;let r,c,s;if(a&&i&&typeof a=="object"){if(Array.isArray(a)){if(r=a.length,r!==i.length)return!1;for(c=r;c--!==0;)if(!qc(a[c],i[c]))return!1;return!0}if(s=Object.keys(a),r=s.length,r!==Object.keys(i).length)return!1;for(c=r;c--!==0;)if(!{}.hasOwnProperty.call(i,s[c]))return!1;for(c=r;c--!==0;){const f=s[c];if(!(f==="_owner"&&a.$$typeof)&&!qc(a[f],i[f]))return!1}return!0}return a!==a&&i!==i}function cy(a){return typeof window>"u"?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function Op(a,i){const r=cy(a);return Math.round(i*r)/r}function Ls(a){const i=y.useRef(a);return Nc(()=>{i.current=a}),i}function ZE(a){a===void 0&&(a={});const{placement:i="bottom",strategy:r="absolute",middleware:c=[],platform:s,elements:{reference:f,floating:m}={},transform:p=!0,whileElementsMounted:g,open:v}=a,[x,S]=y.useState({x:0,y:0,strategy:r,placement:i,middlewareData:{},isPositioned:!1}),[E,C]=y.useState(c);qc(E,c)||C(c);const[A,T]=y.useState(null),[O,j]=y.useState(null),z=y.useCallback($=>{$!==G.current&&(G.current=$,T($))},[]),D=y.useCallback($=>{$!==K.current&&(K.current=$,j($))},[]),M=f||A,k=m||O,G=y.useRef(null),K=y.useRef(null),J=y.useRef(x),P=g!=null,ee=Ls(g),le=Ls(s),W=Ls(v),ce=y.useCallback(()=>{if(!G.current||!K.current)return;const $={placement:i,strategy:r,middleware:E};le.current&&($.platform=le.current),XE(G.current,K.current,$).then(ae=>{const re={...ae,isPositioned:W.current!==!1};fe.current&&!qc(J.current,re)&&(J.current=re,Pi.flushSync(()=>{S(re)}))})},[E,i,r,le,W]);Nc(()=>{v===!1&&J.current.isPositioned&&(J.current.isPositioned=!1,S($=>({...$,isPositioned:!1})))},[v]);const fe=y.useRef(!1);Nc(()=>(fe.current=!0,()=>{fe.current=!1}),[]),Nc(()=>{if(M&&(G.current=M),k&&(K.current=k),M&&k){if(ee.current)return ee.current(M,k,ce);ce()}},[M,k,ce,ee,P]);const ge=y.useMemo(()=>({reference:G,floating:K,setReference:z,setFloating:D}),[z,D]),U=y.useMemo(()=>({reference:M,floating:k}),[M,k]),Q=y.useMemo(()=>{const $={position:r,left:0,top:0};if(!U.floating)return $;const ae=Op(U.floating,x.x),re=Op(U.floating,x.y);return p?{...$,transform:"translate("+ae+"px, "+re+"px)",...cy(U.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:ae,top:re}},[r,p,U.floating,x.x,x.y]);return y.useMemo(()=>({...x,update:ce,refs:ge,elements:U,floatingStyles:Q}),[x,ce,ge,U,Q])}const KE=a=>{function i(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:a,fn(r){const{element:c,padding:s}=typeof a=="function"?a(r):a;return c&&i(c)?c.current!=null?Tp({element:c.current,padding:s}).fn(r):{}:c?Tp({element:c,padding:s}).fn(r):{}}}},$E=(a,i)=>{const r=LE(a);return{name:r.name,fn:r.fn,options:[a,i]}},IE=(a,i)=>{const r=qE(a);return{name:r.name,fn:r.fn,options:[a,i]}},PE=(a,i)=>({fn:GE(a).fn,options:[a,i]}),JE=(a,i)=>{const r=BE(a);return{name:r.name,fn:r.fn,options:[a,i]}},WE=(a,i)=>{const r=VE(a);return{name:r.name,fn:r.fn,options:[a,i]}},FE=(a,i)=>{const r=YE(a);return{name:r.name,fn:r.fn,options:[a,i]}},eC=(a,i)=>{const r=KE(a);return{name:r.name,fn:r.fn,options:[a,i]}};var tC=Object.defineProperty,nC=(a,i)=>tC(a,"name",{value:i,configurable:!0});function ry(a){const[i,r]=y.useState(void 0);return et(()=>{if(a){r({width:a.offsetWidth,height:a.offsetHeight});const c=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const f=s[0];let m,p;if("borderBoxSize"in f){const g=f.borderBoxSize,v=Array.isArray(g)?g[0]:g;m=v.inlineSize,p=v.blockSize}else m=a.offsetWidth,p=a.offsetHeight;r({width:m,height:p})});return c.observe(a,{box:"border-box"}),()=>c.unobserve(a)}else r(void 0)},[a]),i}nC(ry,"useSize");var lC=Object.defineProperty,gl=(a,i)=>lC(a,"name",{value:i,configurable:!0}),uy="Popper",[sy,fy]=ln(uy),[aC,dy]=sy(uy),iC=gl(a=>{const{__scopePopper:i,children:r}=a,[c,s]=y.useState(null),[f,m]=y.useState(void 0);return d.jsx(aC,{scope:i,anchor:c,onAnchorChange:s,placementState:f,setPlacementState:m,children:r})},"Popper"),oC="PopperAnchor",cC=y.forwardRef(gl(function(i,r){const{__scopePopper:c,virtualRef:s,...f}=i,m=dy(oC,c),p=y.useRef(null),g=m.onAnchorChange,v=y.useCallback(T=>{p.current=T,T&&g(T)},[g]),x=De(r,v),S=y.useRef(null);y.useEffect(()=>{if(!s)return;const T=S.current;S.current=s.current,T!==S.current&&g(S.current)});const E=m.placementState&&Fc(m.placementState),C=E?.[0],A=E?.[1];return s?null:d.jsx(Te.div,{"data-radix-popper-side":C,"data-radix-popper-align":A,...f,ref:x})},"PopperAnchor")),hy="PopperContent",[rC,PA]=sy(hy),uC=y.forwardRef(gl(function(i,r){const{__scopePopper:c,side:s="bottom",sideOffset:f=0,align:m="center",alignOffset:p=0,arrowPadding:g=0,avoidCollisions:v=!0,collisionBoundary:x=[],collisionPadding:S=0,sticky:E="partial",hideWhenDetached:C=!1,updatePositionStrategy:A="optimized",onPlaced:T,...O}=i,j=dy(hy,c),[z,D]=y.useState(null),M=De(r,D),[k,G]=y.useState(null),K=ry(k),J=K?.width??0,P=K?.height??0,ee=s+(m!=="center"?"-"+m:""),le=typeof S=="number"?S:{top:0,right:0,bottom:0,left:0,...S},W=Array.isArray(x)?x:[x],ce=W.length>0,fe={padding:le,boundary:W.filter(my),altBoundary:ce},{refs:ge,floatingStyles:U,placement:Q,isPositioned:$,middlewareData:ae}=ZE({strategy:"fixed",placement:ee,whileElementsMounted:gl((...de)=>HE(...de,{animationFrame:A==="always"}),"whileElementsMounted"),elements:{reference:j.anchor},middleware:[$E({mainAxis:f+P,alignmentAxis:p}),v&&IE({mainAxis:!0,crossAxis:!1,limiter:E==="partial"?PE():void 0,...fe}),v&&JE({...fe}),WE({...fe,apply:gl(({elements:de,rects:ke,availableWidth:je,availableHeight:ze})=>{const{width:Xe,height:rt}=ke.reference,vt=de.floating.style;vt.setProperty("--radix-popper-available-width",`${je}px`),vt.setProperty("--radix-popper-available-height",`${ze}px`),vt.setProperty("--radix-popper-anchor-width",`${Xe}px`),vt.setProperty("--radix-popper-anchor-height",`${rt}px`)},"apply")}),k&&eC({element:k,padding:g}),sC({arrowWidth:J,arrowHeight:P}),C&&FE({strategy:"referenceHidden",...fe,boundary:ce?fe.boundary:void 0})]}),re=j.setPlacementState;et(()=>(re(Q),()=>{re(void 0)}),[Q,re]);const[R,V]=Fc(Q),I=ct(T);et(()=>{$&&I?.()},[$,I]);const F=ae.arrow?.x,ue=ae.arrow?.y,he=ae.arrow?.centerOffset!==0,[Se,ie]=y.useState();return et(()=>{z&&ie(window.getComputedStyle(z).zIndex)},[z]),d.jsx("div",{ref:ge.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:$?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[ae.transformOrigin?.x,ae.transformOrigin?.y].join(" "),...ae.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:i.dir,children:d.jsx(rC,{scope:c,placedSide:R,placedAlign:V,onArrowChange:G,arrowX:F,arrowY:ue,shouldHideArrow:he,children:d.jsx(Te.div,{"data-side":R,"data-align":V,...O,ref:M,style:{...O.style,animation:$?O.style?.animation:"none"}})})})},"PopperContent"));function my(a){return a!==null}gl(my,"isNotNull");var sC=gl(a=>({name:"transformOrigin",options:a,fn(i){const{placement:r,rects:c,middlewareData:s}=i,m=s.arrow?.centerOffset!==0,p=m?0:a.arrowWidth,g=m?0:a.arrowHeight,[v,x]=Fc(r),S={start:"0%",center:"50%",end:"100%"}[x],E=(s.arrow?.x??0)+p/2,C=(s.arrow?.y??0)+g/2;let A="",T="";return v==="bottom"?(A=m?S:`${E}px`,T=`${-g}px`):v==="top"?(A=m?S:`${E}px`,T=`${c.floating.height+g}px`):v==="right"?(A=`${-g}px`,T=m?S:`${C}px`):v==="left"&&(A=`${c.floating.width+g}px`,T=m?S:`${C}px`),{data:{x:A,y:T}}}}),"transformOrigin");function Fc(a){const[i,r="center"]=a.split("-");return[i,r]}gl(Fc,"getSideAndAlignFromPlacement");var fC=iC,dC=cC,hC=uC,mC=Object.defineProperty,vC=(a,i)=>mC(a,"name",{value:i,configurable:!0});function vy(a){const i=y.useRef({value:a,previous:a});return y.useMemo(()=>(i.current.value!==a&&(i.current.previous=i.current.value,i.current.value=a),i.current.previous),[a])}vC(vy,"usePrevious");var pC=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),gC=Object.defineProperty,qe=(a,i)=>gC(a,"name",{value:i,configurable:!0}),yC=[" ","Enter","ArrowUp","ArrowDown"],SC=[" ","Enter"],Ya="Select",[er,Uf,bC]=Gc(Ya),[Kl,JA]=ln(Ya,[bC,fy]),Hf=fy(),[xC,Cl]=Kl(Ya),[EC,CC]=Kl(Ya);function py(a){const{__scopeSelect:i,children:r,open:c,defaultOpen:s,onOpenChange:f,value:m,defaultValue:p,onValueChange:g,dir:v,name:x,autoComplete:S,disabled:E,required:C,form:A,internal_do_not_use_render:T}=a,O=Hf(i),[j,z]=y.useState(null),[D,M]=y.useState(null),[k,G]=y.useState(!1),K=Qa(v),[J,P]=Vn({prop:c,defaultProp:s??!1,onChange:f,caller:Ya}),[ee,le]=Vn({prop:m,defaultProp:p,onChange:g,caller:Ya}),W=y.useRef(null),ce=y.useRef(ee);y.useEffect(()=>{const V=A?j?.ownerDocument.getElementById(A):j?.form;if(V instanceof HTMLFormElement){const I=qe(()=>le(ce.current),"reset");return V.addEventListener("reset",I),()=>V.removeEventListener("reset",I)}},[A,j,le]);const fe=j?!!A||!!j.closest("form"):!0,[ge,U]=y.useState(new Set),Q=dn(),$=Array.from(ge).map(V=>V.props.value).join(";"),ae=y.useCallback(V=>{U(I=>new Set(I).add(V))},[]),re=y.useCallback(V=>{U(I=>{const F=new Set(I);return F.delete(V),F})},[]),R={required:C,trigger:j,onTriggerChange:z,valueNode:D,onValueNodeChange:M,valueNodeHasChildren:k,onValueNodeHasChildrenChange:G,contentId:Q,value:ee,onValueChange:le,open:J,onOpenChange:P,dir:K,triggerPointerDownPosRef:W,disabled:E,name:x,autoComplete:S,form:A,nativeOptions:ge,nativeSelectKey:$,isFormControl:fe};return d.jsx(fC,{...O,children:d.jsx(xC,{scope:i,...R,children:d.jsx(er.Provider,{scope:i,children:d.jsx(EC,{scope:i,onNativeOptionAdd:ae,onNativeOptionRemove:re,children:_y(T)?T(R):r})})})})}qe(py,"SelectProvider");var gy=qe(a=>{const{__scopeSelect:i,children:r,...c}=a;return d.jsx(py,{__scopeSelect:i,...c,internal_do_not_use_render:({isFormControl:s})=>d.jsxs(d.Fragment,{children:[r,s?d.jsx(BC,{__scopeSelect:i}):null]})})},"Select"),AC="SelectTrigger",yy=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,disabled:s=!1,...f}=i,m=Hf(c),p=Cl(AC,c),g=p.disabled||s,v=De(r,p.onTriggerChange),x=Uf(c),S=y.useRef("touch"),[E,C,A]=Lf(O=>{const j=x().filter(M=>!M.disabled),z=j.find(M=>M.value===p.value),D=qf(j,O,z);D!==void 0&&p.onValueChange(D.value)}),T=qe(O=>{g||(p.onOpenChange(!0),A()),O&&(p.triggerPointerDownPosRef.current={x:Math.round(O.pageX),y:Math.round(O.pageY)})},"handleOpen");return d.jsx(dC,{asChild:!0,...m,children:d.jsx(Te.button,{type:"button",role:"combobox","aria-controls":p.open?p.contentId:void 0,"aria-expanded":p.open,"aria-required":p.required,"aria-autocomplete":"none",dir:p.dir,"data-state":p.open?"open":"closed",disabled:g,"data-disabled":g?"":void 0,"data-placeholder":eo(p.value)?"":void 0,...f,ref:v,onClick:ye(f.onClick,O=>{O.currentTarget.focus(),S.current!=="mouse"&&T(O)}),onPointerDown:ye(f.onPointerDown,O=>{S.current=O.pointerType;const j=O.target;j.hasPointerCapture(O.pointerId)&&j.releasePointerCapture(O.pointerId),O.button===0&&O.ctrlKey===!1&&O.pointerType==="mouse"&&(T(O),O.preventDefault())}),onKeyDown:ye(f.onKeyDown,O=>{const j=E.current!=="";!(O.ctrlKey||O.altKey||O.metaKey)&&O.key.length===1&&C(O.key),!(j&&O.key===" ")&&yC.includes(O.key)&&(T(),O.preventDefault())})})})},"SelectTrigger")),wC="SelectValue",Sy=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,className:s,style:f,children:m,placeholder:p="",...g}=i,v=Cl(wC,c),{onValueNodeHasChildrenChange:x}=v,S=m!==void 0,E=De(r,v.onValueNodeChange);et(()=>{x(S)},[x,S]);const C=eo(v.value);return d.jsx(Te.span,{...g,asChild:C?!1:g.asChild,ref:E,style:{pointerEvents:"none"},children:d.jsx(y.Fragment,{children:C?p:m},C?"placeholder":"value")})},"SelectValue")),by=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,children:s,...f}=i;return d.jsx(Te.span,{"aria-hidden":!0,...f,ref:r,children:s||"▼"})},"SelectIcon")),TC="SelectPortal",[OC,RC]=Kl(TC,{forceMount:void 0}),xy=qe(a=>{const{__scopeSelect:i,forceMount:r,...c}=a;return d.jsx(OC,{scope:a.__scopeSelect,forceMount:r,children:d.jsx(jg,{asChild:!0,...c})})},"SelectPortal"),Zl="SelectContent",Ey=y.forwardRef(qe(function(i,r){const c=RC(Zl,i.__scopeSelect),{forceMount:s=c.forceMount,...f}=i,m=Cl(Zl,i.__scopeSelect),[p,g]=y.useState();return et(()=>{g(new DocumentFragment)},[]),d.jsx(vn,{present:s||m.open,children:({present:v})=>v?d.jsx(DC,{...f,ref:r}):d.jsx(_C,{...f,fragment:p})})},"SelectContent")),_C=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,children:s,fragment:f}=i;return f?Pi.createPortal(d.jsx(Cy,{scope:c,children:d.jsx(er.Slot,{scope:c,children:d.jsx("div",{ref:r,children:s})})}),f):null},"SelectContentFragment")),nn=10,[Cy,tr]=Kl(Zl),jC=Sl("SelectContent.RemoveScroll"),DC=y.forwardRef(qe(function(i,r){const{__scopeSelect:c}=i,{position:s="item-aligned",onCloseAutoFocus:f,onEscapeKeyDown:m,onPointerDownOutside:p,side:g,sideOffset:v,align:x,alignOffset:S,arrowPadding:E,collisionBoundary:C,collisionPadding:A,sticky:T,hideWhenDetached:O,avoidCollisions:j,...z}=i,D=Cl(Zl,c),[M,k]=y.useState(null),[G,K]=y.useState(null),J=De(r,k),[P,ee]=y.useState(null),[le,W]=y.useState(null),ce=Uf(c),[fe,ge]=y.useState(!1),U=y.useRef(!1);y.useEffect(()=>{if(M)return Bg(M)},[M]),Zc();const Q=y.useCallback(ie=>{const[de,...ke]=ce().map(Xe=>Xe.ref.current),[je]=ke.slice(-1),ze=document.activeElement;for(const Xe of ie)if(Xe===ze||(Xe?.scrollIntoView({block:"nearest"}),Xe===de&&G&&(G.scrollTop=0),Xe===je&&G&&(G.scrollTop=G.scrollHeight),Xe?.focus(),document.activeElement!==ze))return},[ce,G]),$=y.useCallback(()=>Q([P,M]),[Q,P,M]);y.useEffect(()=>{fe&&$()},[fe,$]);const{onOpenChange:ae,triggerPointerDownPosRef:re}=D;y.useEffect(()=>{if(M){let ie={x:0,y:0};const de=qe(je=>{ie={x:Math.abs(Math.round(je.pageX)-(re.current?.x??0)),y:Math.abs(Math.round(je.pageY)-(re.current?.y??0))}},"handlePointerMove"),ke=qe(je=>{ie.x<=10&&ie.y<=10?je.preventDefault():je.composedPath().includes(M)||ae(!1),document.removeEventListener("pointermove",de),re.current=null},"handlePointerUp");return re.current!==null&&(document.addEventListener("pointermove",de),document.addEventListener("pointerup",ke,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",de),document.removeEventListener("pointerup",ke,{capture:!0})}}},[M,ae,re]),y.useEffect(()=>{const ie=qe(()=>ae(!1),"close");return window.addEventListener("blur",ie),window.addEventListener("resize",ie),()=>{window.removeEventListener("blur",ie),window.removeEventListener("resize",ie)}},[ae]);const[R,V]=Lf(ie=>{const de=ce().filter(ze=>!ze.disabled),ke=de.find(ze=>ze.ref.current===document.activeElement),je=qf(de,ie,ke);je&&setTimeout(()=>je.ref.current?.focus())}),I=y.useCallback((ie,de,ke)=>{const je=!U.current&&!ke;(D.value!==void 0&&D.value===de||je)&&(ee(ie),je&&(U.current=!0))},[D.value]),F=y.useCallback(()=>M?.focus(),[M]),ue=y.useCallback((ie,de,ke)=>{const je=!U.current&&!ke;(D.value!==void 0&&D.value===de||je)&&W(ie)},[D.value]),he=s==="popper"?Rp:NC,Se=he===Rp?{side:g,sideOffset:v,align:x,alignOffset:S,arrowPadding:E,collisionBoundary:C,collisionPadding:A,sticky:T,hideWhenDetached:O,avoidCollisions:j}:{};return d.jsx(Cy,{scope:c,content:M,viewport:G,onViewportChange:K,itemRefCallback:I,selectedItem:P,onItemLeave:F,itemTextRefCallback:ue,focusSelectedItem:$,selectedItemText:le,position:s,isPositioned:fe,searchRef:R,children:d.jsx(Ef,{as:jC,allowPinchZoom:!0,children:d.jsx(Cg,{asChild:!0,trapped:D.open,onMountAutoFocus:ie=>{ie.preventDefault()},onUnmountAutoFocus:ye(f,ie=>{D.trigger?.focus({preventScroll:!0}),ie.preventDefault()}),children:d.jsx(Sg,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:m,onPointerDownOutside:p,onFocusOutside:ie=>ie.preventDefault(),onDismiss:()=>D.onOpenChange(!1),children:d.jsx(he,{role:"listbox",id:D.contentId,"data-state":D.open?"open":"closed",dir:D.dir,onContextMenu:ie=>ie.preventDefault(),...z,...Se,onPlaced:()=>ge(!0),ref:J,style:{display:"flex",flexDirection:"column",outline:"none",...z.style},onKeyDown:ye(z.onKeyDown,ie=>{const de=ie.ctrlKey||ie.altKey||ie.metaKey;if(ie.key==="Tab"&&ie.preventDefault(),!de&&ie.key.length===1&&V(ie.key),["ArrowUp","ArrowDown","Home","End"].includes(ie.key)){let je=ce().filter(ze=>!ze.disabled).map(ze=>ze.ref.current);if(["ArrowUp","End"].includes(ie.key)&&(je=je.slice().reverse()),["ArrowUp","ArrowDown"].includes(ie.key)){const ze=ie.target,Xe=je.indexOf(ze);je=je.slice(Xe+1)}setTimeout(()=>Q(je)),ie.preventDefault()}})})})})})})},"SelectContentImpl")),NC=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,onPlaced:s,...f}=i,m=Cl(Zl,c),p=tr(Zl,c),[g,v]=y.useState(null),[x,S]=y.useState(null),E=De(r,S),C=Uf(c),A=y.useRef(!1),T=y.useRef(!0),{viewport:O,selectedItem:j,selectedItemText:z,focusSelectedItem:D}=p,M=y.useCallback(()=>{if(m.trigger&&m.valueNode&&g&&x&&O&&j&&z){const J=m.trigger.getBoundingClientRect(),P=x.getBoundingClientRect(),ee=m.valueNode.getBoundingClientRect(),le=z.getBoundingClientRect();if(m.dir!=="rtl"){const ze=le.left-P.left,Xe=ee.left-ze,rt=J.left-Xe,vt=J.width+rt,Al=Math.max(vt,P.width),Ia=window.innerWidth-nn,Il=zc(Xe,[nn,Math.max(nn,Ia-Al)]);g.style.minWidth=vt+"px",g.style.left=Il+"px"}else{const ze=P.right-le.right,Xe=window.innerWidth-ee.right-ze,rt=window.innerWidth-J.right-Xe,vt=J.width+rt,Al=Math.max(vt,P.width),Ia=window.innerWidth-nn,Il=zc(Xe,[nn,Math.max(nn,Ia-Al)]);g.style.minWidth=vt+"px",g.style.right=Il+"px"}const W=C(),ce=window.innerHeight-nn*2,fe=O.scrollHeight,ge=window.getComputedStyle(x),U=parseInt(ge.borderTopWidth,10),Q=parseInt(ge.paddingTop,10),$=parseInt(ge.borderBottomWidth,10),ae=parseInt(ge.paddingBottom,10),re=U+Q+fe+ae+$,R=Math.min(j.offsetHeight*5,re),V=window.getComputedStyle(O),I=parseInt(V.paddingTop,10),F=parseInt(V.paddingBottom,10),ue=J.top+J.height/2-nn,he=ce-ue,Se=j.offsetHeight/2,ie=j.offsetTop+Se,de=U+Q+ie,ke=re-de;if(de<=ue){const ze=W.length>0&&j===W[W.length-1].ref.current;g.style.bottom="0px";const Xe=x.clientHeight-O.offsetTop-O.offsetHeight,rt=Math.max(he,Se+(ze?F:0)+Xe+$),vt=de+rt;g.style.height=vt+"px"}else{const ze=W.length>0&&j===W[0].ref.current;g.style.top="0px";const rt=Math.max(ue,U+O.offsetTop+(ze?I:0)+Se)+ke;g.style.height=rt+"px",O.scrollTop=de-ue+O.offsetTop}g.style.margin=`${nn}px 0`,g.style.minHeight=R+"px",g.style.maxHeight=ce+"px",s?.(),requestAnimationFrame(()=>A.current=!0)}},[C,m.trigger,m.valueNode,g,x,O,j,z,m.dir,s]);et(()=>M(),[M]);const[k,G]=y.useState();et(()=>{x&&G(window.getComputedStyle(x).zIndex)},[x]);const K=y.useCallback(J=>{J&&T.current===!0&&(M(),D?.(),T.current=!1)},[M,D]);return d.jsx(MC,{scope:c,contentWrapper:g,shouldExpandOnScrollRef:A,onScrollButtonChange:K,children:d.jsx("div",{ref:v,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:d.jsx(Te.div,{...f,ref:E,style:{boxSizing:"border-box",maxHeight:"100%",...f.style}})})})},"SelectItemAlignedPosition")),Rp=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,align:s="start",collisionPadding:f=nn,...m}=i,p=Hf(c);return d.jsx(hC,{...p,...m,ref:r,align:s,collisionPadding:f,style:{boxSizing:"border-box",...m.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[MC,zC]=Kl(Zl,{}),_p="SelectViewport",Ay=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,nonce:s,...f}=i,m=tr(_p,c),p=zC(_p,c),g=De(r,m.onViewportChange),v=y.useRef(0);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),d.jsx(er.Slot,{scope:c,children:d.jsx(Te.div,{"data-radix-select-viewport":"",role:"presentation",...f,ref:g,style:{position:"relative",flex:1,overflow:"hidden auto",...f.style},onScroll:ye(f.onScroll,x=>{const S=x.currentTarget,{contentWrapper:E,shouldExpandOnScrollRef:C}=p;if(C?.current&&E){const A=Math.abs(v.current-S.scrollTop);if(A>0){const T=window.innerHeight-nn*2,O=parseFloat(E.style.minHeight),j=parseFloat(E.style.height),z=Math.max(O,j);if(z<T){const D=z+A,M=Math.min(T,D),k=D-M;E.style.height=M+"px",E.style.bottom==="0px"&&(S.scrollTop=k>0?k:0,E.style.justifyContent="flex-end")}}}v.current=S.scrollTop})})})]})},"SelectViewport")),UC="SelectGroup",[WA,FA]=Kl(UC),cf="SelectItem",[HC,wy]=Kl(cf),Ty=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,value:s,disabled:f=!1,textValue:m,...p}=i,g=Cl(cf,c),v=tr(cf,c),x=g.value===s,[S,E]=y.useState(m??""),[C,A]=y.useState(!1),T=ct(M=>v.itemRefCallback?.(M,s,f)),O=De(r,T),j=dn(),z=y.useRef("touch"),D=qe(()=>{f||(g.onValueChange(s),g.onOpenChange(!1))},"handleSelect");return d.jsx(HC,{scope:c,value:s,disabled:f,textId:j,isSelected:x,onItemTextChange:y.useCallback(M=>{E(k=>k||(M?.textContent??"").trim())},[]),children:d.jsx(er.ItemSlot,{scope:c,value:s,disabled:f,textValue:S,children:d.jsx(Te.div,{role:"option","aria-labelledby":j,"data-highlighted":C?"":void 0,"aria-selected":x&&C,"data-state":x?"checked":"unchecked","aria-disabled":f||void 0,"data-disabled":f?"":void 0,tabIndex:f?void 0:-1,...p,ref:O,onFocus:ye(p.onFocus,()=>A(!0)),onBlur:ye(p.onBlur,()=>A(!1)),onClick:ye(p.onClick,()=>{z.current!=="mouse"&&D()}),onPointerUp:ye(p.onPointerUp,()=>{z.current==="mouse"&&D()}),onPointerDown:ye(p.onPointerDown,M=>{z.current=M.pointerType}),onPointerMove:ye(p.onPointerMove,M=>{z.current=M.pointerType,f?v.onItemLeave?.():z.current==="mouse"&&M.currentTarget.focus({preventScroll:!0})}),onPointerLeave:ye(p.onPointerLeave,M=>{M.currentTarget===document.activeElement&&v.onItemLeave?.()}),onKeyDown:ye(p.onKeyDown,M=>{f||M.target!==M.currentTarget||v.searchRef?.current!==""&&M.key===" "||(SC.includes(M.key)&&D(),M.key===" "&&M.preventDefault())})})})})},"SelectItem")),Oc="SelectItemText",Oy=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,className:s,style:f,...m}=i,p=Cl(Oc,c),g=tr(Oc,c),v=wy(Oc,c),x=CC(Oc,c),[S,E]=y.useState(null),C=ct(D=>g.itemTextRefCallback?.(D,v.value,v.disabled)),A=De(r,E,v.onItemTextChange,C),T=S?.textContent,O=y.useMemo(()=>d.jsx("option",{value:v.value,disabled:v.disabled,children:T},v.value),[v.disabled,v.value,T]),{onNativeOptionAdd:j,onNativeOptionRemove:z}=x;return et(()=>(j(O),()=>z(O)),[j,z,O]),d.jsxs(d.Fragment,{children:[d.jsx(Te.span,{id:v.textId,...m,ref:A}),v.isSelected&&p.valueNode&&!p.valueNodeHasChildren&&!eo(p.value)?Pi.createPortal(m.children,p.valueNode):null]})},"SelectItemText")),LC="SelectItemIndicator",Ry=y.forwardRef(qe(function(i,r){const{__scopeSelect:c,...s}=i;return wy(LC,c).isSelected?d.jsx(Te.span,{"aria-hidden":!0,...s,ref:r}):null},"SelectItemIndicator")),qC="SelectBubbleInput",BC=y.forwardRef(qe(function({__scopeSelect:i,...r},c){const s=Cl(qC,i),{value:f,onValueChange:m,required:p,disabled:g,name:v,autoComplete:x,form:S}=s,{nativeOptions:E,nativeSelectKey:C}=s,A=y.useRef(null),T=De(c,A),O=f??"",j=vy(O),z=Array.from(E).some(D=>(D.props.value??"")==="");return y.useEffect(()=>{const D=A.current;if(!D)return;const M=window.HTMLSelectElement.prototype,G=Object.getOwnPropertyDescriptor(M,"value").set;if(j!==O&&G){const K=new Event("change",{bubbles:!0});G.call(D,O),D.dispatchEvent(K)}},[j,O]),d.jsxs(Te.select,{"aria-hidden":!0,required:p,tabIndex:-1,name:v,autoComplete:x,disabled:g,form:S,onChange:D=>m(D.target.value),...r,style:{...pC,...r.style},ref:T,defaultValue:O,children:[eo(f)&&!z?d.jsx("option",{value:""}):null,Array.from(E)]},C)},"SelectBubbleInput"));function _y(a){return typeof a=="function"}qe(_y,"isFunction");function eo(a){return a===""||a===void 0}qe(eo,"shouldShowPlaceholder");function Lf(a){const i=ct(a),r=y.useRef(""),c=y.useRef(0),s=y.useCallback(m=>{const p=r.current+m;i(p),qe((function g(v){r.current=v,window.clearTimeout(c.current),v!==""&&(c.current=window.setTimeout(()=>g(""),1e3))}),"updateSearch")(p)},[i]),f=y.useCallback(()=>{r.current="",window.clearTimeout(c.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(c.current),[]),[r,s,f]}qe(Lf,"useTypeaheadSearch");function qf(a,i,r){const s=i.length>1&&Array.from(i).every(v=>v===i[0])?i[0]:i,f=r?a.indexOf(r):-1;let m=jy(a,Math.max(f,0));s.length===1&&(m=m.filter(v=>v!==r));const g=m.find(v=>v.textValue.toLowerCase().startsWith(s.toLowerCase()));return g!==r?g:void 0}qe(qf,"findNextItem");function jy(a,i){return a.map((r,c)=>a[(i+c)%a.length])}qe(jy,"wrapArray");var VC=Object.defineProperty,Bf=(a,i)=>VC(a,"name",{value:i,configurable:!0}),qs=!1;function Dy(){const[a,i]=y.useState(qs);return y.useEffect(()=>{qs||(qs=!0,i(!0))},[]),a}Bf(Dy,"useIsHydrated");var Ny=Xa[" useSyncExternalStore ".trim().toString()];function My(){return()=>{}}Bf(My,"subscribe");function zy(){return Ny(My,()=>!0,()=>!1)}Bf(zy,"useIsHydratedModern");var YC=typeof Ny=="function"?zy:Dy,GC=Object.defineProperty,$l=(a,i)=>GC(a,"name",{value:i,configurable:!0}),Bs="rovingFocusGroup.onEntryFocus",XC={bubbles:!1,cancelable:!0},nr="RovingFocusGroup",[rf,Uy,kC]=Gc(nr),[QC,Hy]=ln(nr,[kC]),[ZC,KC]=QC(nr),$C=y.forwardRef($l(function(i,r){return d.jsx(rf.Provider,{scope:i.__scopeRovingFocusGroup,children:d.jsx(rf.Slot,{scope:i.__scopeRovingFocusGroup,children:d.jsx(IC,{...i,ref:r})})})},"RovingFocusGroup")),IC=y.forwardRef($l(function(i,r){const{__scopeRovingFocusGroup:c,orientation:s,loop:f=!1,dir:m,currentTabStopId:p,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:v,onEntryFocus:x,preventScrollOnEntryFocus:S=!1,...E}=i,C=y.useRef(null),A=De(r,C),T=Qa(m),[O,j]=Vn({prop:p,defaultProp:g??null,onChange:v,caller:nr}),[z,D]=y.useState(!1),M=ct(x),k=Uy(c),G=y.useRef(!1),[K,J]=y.useState(0);return y.useEffect(()=>{const P=C.current;if(P)return P.addEventListener(Bs,M),()=>P.removeEventListener(Bs,M)},[M]),d.jsx(ZC,{scope:c,orientation:s,dir:T,loop:f,currentTabStopId:O,onItemFocus:y.useCallback(P=>j(P),[j]),onItemShiftTab:y.useCallback(()=>D(!0),[]),onFocusableItemAdd:y.useCallback(()=>J(P=>P+1),[]),onFocusableItemRemove:y.useCallback(()=>J(P=>P-1),[]),children:d.jsx(Te.div,{tabIndex:z||K===0?-1:0,"data-orientation":s,...E,ref:A,style:{outline:"none",...i.style},onMouseDown:ye(i.onMouseDown,()=>{G.current=!0}),onFocus:ye(i.onFocus,P=>{const ee=!G.current;if(P.target===P.currentTarget&&ee&&!z){const le=new CustomEvent(Bs,XC);if(P.currentTarget.dispatchEvent(le),!le.defaultPrevented){const W=k().filter(Q=>Q.focusable),ce=W.find(Q=>Q.active),fe=W.find(Q=>Q.id===O),U=[ce,fe,...W].filter(Boolean).map(Q=>Q.ref.current);Vf(U,S)}}G.current=!1}),onBlur:ye(i.onBlur,()=>D(!1))})})},"RovingFocusGroupImpl")),PC="RovingFocusGroupItem",JC=y.forwardRef($l(function(i,r){const{__scopeRovingFocusGroup:c,focusable:s=!0,active:f=!1,tabStopId:m,children:p,...g}=i,v=dn(),x=m||v,S=KC(PC,c),E=S.currentTabStopId===x,C=Uy(c),{onFocusableItemAdd:A,onFocusableItemRemove:T,currentTabStopId:O}=S,j=YC();return et(()=>{if(!(!j||!s))return A(),()=>T()},[j,s,A,T]),y.useEffect(()=>{if(!(j||!s))return A(),()=>T()},[j,s,A,T]),d.jsx(rf.ItemSlot,{scope:c,id:x,focusable:s,active:f,children:d.jsx(Te.span,{tabIndex:E?0:-1,"data-orientation":S.orientation,...g,ref:r,onMouseDown:ye(i.onMouseDown,z=>{s?S.onItemFocus(x):z.preventDefault()}),onFocus:ye(i.onFocus,()=>S.onItemFocus(x)),onKeyDown:ye(i.onKeyDown,z=>{if(z.key==="Tab"&&z.shiftKey){S.onItemShiftTab();return}if(z.target!==z.currentTarget)return;const D=qy(z,S.orientation,S.dir);if(D!==void 0){if(z.metaKey||z.ctrlKey||z.altKey||z.shiftKey)return;z.preventDefault();let k=C().filter(G=>G.focusable).map(G=>G.ref.current);if(D==="last")k.reverse();else if(D==="prev"||D==="next"){D==="prev"&&k.reverse();const G=k.indexOf(z.currentTarget);k=S.loop?By(k,G+1):k.slice(G+1)}setTimeout(()=>Vf(k))}}),children:typeof p=="function"?p({isCurrentTabStop:E,hasTabStop:O!=null}):p})})},"RovingFocusGroupItem")),WC={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ly(a,i){return i!=="rtl"?a:a==="ArrowLeft"?"ArrowRight":a==="ArrowRight"?"ArrowLeft":a}$l(Ly,"getDirectionAwareKey");function qy(a,i,r){const c=Ly(a.key,r);if(!(i==="vertical"&&["ArrowLeft","ArrowRight"].includes(c))&&!(i==="horizontal"&&["ArrowUp","ArrowDown"].includes(c)))return WC[c]}$l(qy,"getFocusIntent");function Vf(a,i=!1){const r=document.activeElement;for(const c of a)if(c===r||(c.focus({preventScroll:i}),document.activeElement!==r))return}$l(Vf,"focusFirst");function By(a,i){return a.map((r,c)=>a[(i+c)%a.length])}$l(By,"wrapArray");var FC=$C,eA=JC,tA=Object.defineProperty,$a=(a,i)=>tA(a,"name",{value:i,configurable:!0}),Yf="Tabs",[nA,ew]=ln(Yf,[Hy]),Vy=Hy(),[lA,Gf]=nA(Yf),aA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,value:s,onValueChange:f,defaultValue:m,orientation:p="horizontal",dir:g,activationMode:v="automatic",...x}=i,S=Qa(g),[E,C]=Vn({prop:s,onChange:f,defaultProp:m??"",caller:Yf});return d.jsx(lA,{scope:c,baseId:dn(),value:E,onValueChange:C,orientation:p,dir:S,activationMode:v,children:d.jsx(Te.div,{dir:S,"data-orientation":p,...x,ref:r})})},"Tabs")),iA="TabsList",oA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,loop:s=!0,...f}=i,m=Gf(iA,c),p=Vy(c);return d.jsx(FC,{asChild:!0,...p,orientation:m.orientation,dir:m.dir,loop:s,children:d.jsx(Te.div,{role:"tablist","aria-orientation":m.orientation,...f,ref:r})})},"TabsList")),cA="TabsTrigger",rA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,value:s,disabled:f=!1,...m}=i,p=Gf(cA,c),g=Vy(c),v=Xf(p.baseId,s),x=kf(p.baseId,s),S=s===p.value;return d.jsx(eA,{asChild:!0,...g,focusable:!f,active:S,children:d.jsx(Te.button,{type:"button",role:"tab","aria-selected":S,"aria-controls":x,"data-state":S?"active":"inactive","data-disabled":f?"":void 0,disabled:f,id:v,...m,ref:r,onMouseDown:ye(i.onMouseDown,E=>{!f&&E.button===0&&E.ctrlKey===!1?p.onValueChange(s):E.preventDefault()}),onKeyDown:ye(i.onKeyDown,E=>{f||E.target!==E.currentTarget||[" ","Enter"].includes(E.key)&&p.onValueChange(s)}),onFocus:ye(i.onFocus,()=>{const E=p.activationMode!=="manual";!S&&!f&&E&&p.onValueChange(s)})})})},"TabsTrigger")),uA="TabsContent",sA=y.forwardRef($a(function(i,r){const{__scopeTabs:c,value:s,forceMount:f,children:m,...p}=i,g=Gf(uA,c),v=Xf(g.baseId,s),x=kf(g.baseId,s),S=s===g.value,E=y.useRef(S);return y.useEffect(()=>{const C=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(C)},[]),d.jsx(vn,{present:f||S,children:({present:C})=>d.jsx(Te.div,{"data-state":S?"active":"inactive","data-orientation":g.orientation,role:"tabpanel","aria-labelledby":v,hidden:!C,id:x,tabIndex:0,...p,ref:r,style:{...i.style,animationDuration:E.current?"0s":void 0},children:C&&m})})},"TabsContent"));function Xf(a,i){return`${a}-trigger-${i}`}$a(Xf,"makeTriggerId");function kf(a,i){return`${a}-content-${i}`}$a(kf,"makeContentId");var fA=aA,dA=oA,jp=rA,Dp=sA;const hA=[{seq:12835,streamId:"wake:operations-3",streamSeq:19,ts:"2026-08-20T14:10:22.000+08:00",actor:"operations",type:"handoff.recorded",data:{observations:["Fulfillment p95 is 41 hours","Support SLA is 96%"],results:["Carrier backlog cleared","Refund queue is stable"],nextSteps:["Recheck fulfillment window at 14:30"]}},{seq:12836,streamId:"wake:web-3",streamSeq:17,ts:"2026-08-20T14:11:12.000+08:00",actor:"web",type:"handoff.recorded",data:{observations:["Production smoke test passed"],results:["Storefront v1 is ready to publish"],nextSteps:["Request human approval for publish.storefront"]}},{seq:12841,streamId:"goal:storefront",streamSeq:4,ts:"2026-08-20T14:12:31.000+08:00",actor:"ceo",type:"goal.delegated",data:{goalId:"storefront",owner:"web",reason:"Launch acquisition surface"}},{seq:12842,streamId:"metric:orders",streamSeq:18,ts:"2026-08-20T14:12:57.000+08:00",actor:"operations",type:"metric.evaluated",data:{status:"passed",summary:"Orders p95 fulfillment ≤ 48h"}},{seq:12843,streamId:"wake:growth-7",streamSeq:31,ts:"2026-08-20T14:13:21.000+08:00",actor:"growth",type:"handoff.recorded",data:{observations:["342 paying users"],results:["ROAS 2.8"],nextSteps:["Scale winning channel"]}},{seq:12844,streamId:"wake:web-4",streamSeq:1,ts:"2026-08-20T14:14:18.000+08:00",actor:"web",type:"wake.enqueued",data:{reason:"Launch storefront",nextWakeAt:"2026-08-20T14:30:00.000+08:00"}},{seq:12845,streamId:"action:publish-storefront",streamSeq:1,ts:"2026-08-20T14:16:21.000+08:00",actor:"web",type:"action.requested",data:{kind:"publish.storefront",reason:"Validated landing page is ready"}},{seq:12846,streamId:"mail:decision-growth",streamSeq:1,ts:"2026-08-20T14:17:04.000+08:00",actor:"ceo",type:"mail.sent",data:{to:"growth",level:"decision",summary:"Increase paid acquisition carefully"}},{seq:12847,streamId:"wake:growth-8",streamSeq:2,ts:"2026-08-20T14:18:02.000+08:00",actor:"growth",type:"wake.running",data:{runnerPid:21874,triggerRef:"mail:decision-growth"}},{seq:12848,streamId:"wake:growth-8",streamSeq:3,ts:"2026-08-20T14:18:03.000+08:00",actor:"growth",type:"request.prepared",data:{activeContext:"Goal: Acquire 500 paying users. Observation method: count paid Stripe users and require 30-day ROAS ≥ 2.0. CEO decision: increase paid acquisition carefully.",provider:"faux",model:"faux-goah"}},{seq:12849,streamId:"wake:growth-8",streamSeq:4,ts:"2026-08-20T14:18:04.000+08:00",actor:"growth",type:"message.user",data:{message:{id:"growth-u1",role:"user",content:"Continue the paid acquisition goal using the confirmed observation method."}}},{seq:12850,streamId:"wake:growth-8",streamSeq:5,ts:"2026-08-20T14:18:07.000+08:00",actor:"growth",type:"message.assistant.completed",data:{message:{id:"growth-a1",role:"assistant",content:"I’ll inspect the latest paid-user and channel evidence before changing spend."}}},{seq:12851,streamId:"wake:growth-8",streamSeq:6,ts:"2026-08-20T14:18:08.000+08:00",actor:"growth",type:"tool.called",data:{callId:"read-metrics",name:"bash",arguments:{command:"node scripts/acquisition-report.mjs --window 30d"}}},{seq:12852,streamId:"wake:growth-8",streamSeq:7,ts:"2026-08-20T14:18:10.000+08:00",actor:"growth",type:"tool.completed",data:{callId:"read-metrics",name:"bash",result:{paidUsers:342,roas:2.8,bestChannel:"Meta Ads",stale:!1}}},{seq:12853,streamId:"wake:growth-8",streamSeq:8,ts:"2026-08-20T14:18:12.000+08:00",actor:"growth",type:"message.assistant.completed",data:{message:{id:"growth-a2",role:"assistant",content:"The observation passes: 342 paid users and ROAS 2.8. I’ll preserve the current winner and prepare a bounded spend increase for approval."}}},{seq:12854,streamId:"wake:growth-8",streamSeq:9,ts:"2026-08-20T14:18:13.000+08:00",actor:"growth",type:"tool.called",data:{callId:"write-plan",name:"write",arguments:{path:"growth/next-experiment.md",content:"Scale Meta Ads by 12% with a 48-hour ROAS guardrail."}}},{seq:12855,streamId:"wake:growth-8",streamSeq:10,ts:"2026-08-20T14:18:14.000+08:00",actor:"growth",type:"tool.completed",data:{callId:"write-plan",name:"write",result:{path:"growth/next-experiment.md",bytes:68}}},{seq:12856,streamId:"wake:growth-8",streamSeq:11,ts:"2026-08-20T14:18:16.000+08:00",actor:"growth",type:"message.assistant.completed",data:{message:{id:"growth-a3",role:"assistant",content:"Experiment plan recorded. The spend increase remains gated; no external action was replayed."}}},{seq:12857,streamId:"wake:growth-8",streamSeq:12,ts:"2026-08-20T14:18:18.000+08:00",actor:"growth",type:"handoff.recorded",data:{observations:["342 paid users","30-day ROAS 2.8"],results:["Prepared a guarded 12% Meta Ads scale experiment"],nextSteps:["Request approval","Re-observe after 48 hours"],material:!0}}],mA={seq:12857,now:"2026-08-20T14:18:22.000+08:00",goals:[{id:"company",parentId:null,objective:"Launch a profitable store",observationMethod:"Read paid orders, refunds, acquisition spend, and retained revenue.",verificationMethod:"Revenue ≥ $10k MRR for 3 consecutive days with CAC:LTV ≥ 1:3.",owner:"ceo",phase:"active",revision:3},{id:"growth",parentId:"company",objective:"Acquire 500 paying users",observationMethod:"Count paid users in Stripe and require 30-day ROAS ≥ 2.0.",verificationMethod:"Count paid users in Stripe and require 30-day ROAS ≥ 2.0.",owner:"growth",phase:"active",revision:2},{id:"orders",parentId:"company",objective:"Fulfill orders reliably",observationMethod:"Require order fulfillment p95 ≤ 48 hours and support SLA ≥ 95%.",verificationMethod:"Require order fulfillment p95 ≤ 48 hours and support SLA ≥ 95%.",owner:"operations",phase:"active",revision:1},{id:"storefront",parentId:"company",objective:"Launch storefront",observationMethod:"Run storefront checks and require a successful production smoke test.",verificationMethod:"Run storefront checks and require a successful production smoke test.",owner:"web",phase:"active",revision:1}],team:[{agent:"ceo",goalIds:["company"],status:"running",lastHandoffSeq:12841,lastWakeStatus:"done",nextWakeAt:null},{agent:"growth",goalIds:["growth"],status:"running",lastHandoffSeq:12857,lastWakeStatus:"running",nextWakeAt:null},{agent:"operations",goalIds:["orders"],status:"scheduled",lastHandoffSeq:12835,lastWakeStatus:"done",nextWakeAt:"2026-08-20T14:30:00.000+08:00"},{agent:"web",goalIds:["storefront"],status:"queued",lastHandoffSeq:12836,lastWakeStatus:"queued",nextWakeAt:"2026-08-20T14:30:00.000+08:00"}],wakes:[{id:"growth-8",agent:"growth",triggerRef:"mail:decision-growth",status:"running",leaseUntil:"2026-08-20T14:19:00.000+08:00",startedAt:"2026-08-20T14:11:00.000+08:00",endedAt:null,runnerPid:21874,enqueuedSeq:12846},{id:"web-4",agent:"web",triggerRef:"goal:storefront",status:"queued",leaseUntil:null,startedAt:null,endedAt:null,runnerPid:null,enqueuedSeq:12844}],actions:[{id:"publish-storefront",agent:"web",kind:"publish.storefront",connector:"web",reason:"Validated landing page is ready",status:"requested",gated:!0,evidence:[12841,12844]}],schedules:[{id:"schedule:operations",agent:"operations",nextWakeAt:"2026-08-20T14:30:00.000+08:00",reason:"Check fulfillment window",setBy:"operations"},{id:"schedule:web",agent:"web",nextWakeAt:"2026-08-20T14:30:00.000+08:00",reason:"Continue storefront launch",setBy:"ceo"}],mailbox:[{id:"decision-growth",to:"growth",from:"ceo",level:"decision",body:{summary:"Increase paid acquisition carefully"},readAt:"2026-08-20T14:17:30.000+08:00"}],events:hA},Yy=new URLSearchParams(window.location.search),pl=Yy.has("demo"),Vs=Yy.get("view"),vA=Vs&&["overview","chat","trajectory","session","ledger","agents","settings"].includes(Vs)?Vs:"overview";function pA(){const[a,i]=y.useState(pl?mA:null),[r,c]=y.useState(vA),[s,f]=y.useState("growth"),[m,p]=y.useState(null),[g,v]=y.useState(pl?"live":"loading"),[x,S]=y.useState(!1),E=y.useCallback(async()=>{if(!pl)try{const T=await fetch("/api/snapshot",{cache:"no-store"});if(!T.ok)throw new Error(`snapshot request failed (${T.status})`);const O=await T.json();i(O),v("live")}catch{v("error")}},[]);if(y.useEffect(()=>{if(pl)return;E();const T=window.setInterval(E,2e3);return()=>{window.clearInterval(T)}},[E]),!a)return d.jsx(HA,{connection:g});const C=a.goals.find(T=>T.parentId===null)??a.goals[0]??null,A=T=>{p(T),c("session")};return d.jsxs("div",{className:"console-shell",children:[d.jsx(gA,{view:r,onView:c}),d.jsxs("main",{className:"console-main",children:[g==="error"&&d.jsx("div",{className:"connection-banner",children:"Live refresh paused. Retrying the local Supervisor…"}),r==="overview"&&d.jsx(yA,{snapshot:a,root:C,onView:c,onTalk:()=>c("chat"),onApprovals:()=>S(!0)}),r==="chat"&&d.jsx(MA,{snapshot:a,onRefresh:E}),r==="trajectory"&&d.jsx(bA,{snapshot:a,onOpenSession:A}),r==="session"&&d.jsx(EA,{snapshot:a,selectedWakeId:m,onSelectWake:p,onBack:()=>c("trajectory")}),r==="ledger"&&d.jsx(TA,{snapshot:a}),r==="agents"&&d.jsx(OA,{snapshot:a,selected:s,onSelect:f,onOpenSession:A}),r==="settings"&&d.jsx(DA,{snapshot:a})]}),x&&d.jsx(UA,{snapshot:a,onRefresh:E,onClose:()=>S(!1)})]})}function gA({view:a,onView:i}){const r=[{id:"overview",label:"Overview",icon:Jb},{id:"chat",label:"Chat",icon:Vp},{id:"trajectory",label:"Trajectory",icon:Yp},{id:"ledger",label:"Ledger",icon:Ib},{id:"agents",label:"Agents",icon:r1}];return d.jsxs("aside",{className:"sidebar",children:[d.jsxs("div",{className:"brand",children:[d.jsx("img",{src:"/goah-orbital-mark.png",alt:""}),d.jsx("span",{children:"Goah Console"})]}),d.jsx("nav",{"aria-label":"Console views",children:r.map(({id:c,label:s,icon:f})=>d.jsxs("button",{className:a===c||c==="trajectory"&&a==="session"?"nav-item active":"nav-item",onClick:()=>i(c),children:[d.jsx(f,{"aria-hidden":"true"}),d.jsx("span",{children:s})]},c))}),d.jsxs("button",{className:a==="settings"?"nav-item settings active":"nav-item settings",onClick:()=>i("settings"),children:[d.jsx(o1,{"aria-hidden":"true"}),d.jsx("span",{children:"Settings"})]}),d.jsx("div",{className:"sidebar-status",children:d.jsxs("p",{children:[d.jsx("i",{className:"health-dot"})," System healthy"]})})]})}function yA({snapshot:a,root:i,onView:r,onTalk:c,onApprovals:s}){const f=a.goals.filter(S=>S.parentId===i?.id),m=a.team.find(S=>S.agent==="ceo"),p=a.actions.filter(S=>["requested","unknown"].includes(S.status)),g=new Set(a.wakes.flatMap(S=>{const E=S.triggerRef.startsWith("recovery:")?S.triggerRef.slice(9):S.triggerRef.startsWith("retry:")?S.triggerRef.slice(6).split("@")[0]:null;return E?[E]:[]})),v=a.wakes.filter(S=>["abnormal","merge_blocked"].includes(S.status)&&!g.has(S.id)),x=Xy(a.events).slice(-3).reverse();return d.jsx("div",{className:"overview-layout",children:d.jsxs("section",{className:"overview-content",children:[d.jsxs("header",{className:"goal-header",children:[d.jsx("p",{children:"Top-level goal"}),d.jsxs("div",{className:"goal-header-row",children:[d.jsxs("div",{className:"goal-title-row",children:[d.jsx("h1",{children:i?.objective??"No active root goal"}),i&&d.jsxs(d.Fragment,{children:[d.jsx(yl,{status:i.phase}),d.jsxs("span",{className:"metadata",children:["Rev ",i.revision]})]})]}),d.jsxs("button",{className:"header-action",onClick:c,children:[d.jsx(Vp,{})," Talk to CEO"]})]}),d.jsxs("p",{className:"observation",children:[d.jsx("strong",{children:"Observation:"})," ",i?.observationMethod??"Waiting for the CEO to propose an observation method."]}),(p[0]||v[0])&&d.jsxs("button",{type:"button",className:"attention-strip attention-link",onClick:s,children:[p[0]&&d.jsxs("span",{children:[d.jsx(Xb,{})," Approval needed: ",d.jsx("strong",{children:p[0].kind})]}),v[0]&&d.jsxs("span",{className:"danger",children:[d.jsx(e1,{})," Recovery needed: ",d.jsx("strong",{children:yt(v[0].agent)})]})]})]}),d.jsxs("section",{className:"organization","aria-labelledby":"organization-title",children:[d.jsx("h2",{id:"organization-title",className:"sr-only",children:"Organization motion"}),d.jsxs("div",{className:"org-tree",children:[d.jsxs("article",{className:"tree-root",children:[d.jsx("img",{src:"/goah-orbital-mark.png",alt:""}),d.jsxs("div",{children:[d.jsx("strong",{children:"CEO"}),d.jsx("span",{children:i?.objective??"Waiting for a root goal"})]}),d.jsx(yl,{status:m?.status??"waiting"})]}),d.jsxs("div",{className:"tree-children",children:[f.map(S=>d.jsx(SA,{goal:S,member:a.team.find(E=>E.agent===S.owner),now:a.now},S.id)),f.length===0&&d.jsx(Ga,{text:"The CEO has not delegated child goals yet."})]})]})]}),d.jsxs("section",{className:"trajectory-preview",children:[d.jsxs("div",{className:"section-heading",children:[d.jsx("h2",{children:"Organization trajectory"}),d.jsx("button",{onClick:()=>r("trajectory"),children:"View all"})]}),d.jsx("div",{className:"trajectory-list",children:x.map(S=>d.jsxs("button",{className:"trajectory-row",onClick:()=>r("trajectory"),children:[d.jsx("i",{className:`event-dot ${Qy(S)}`}),d.jsx("time",{children:ar(S.ts)}),d.jsx("span",{className:"actor",children:yt(S.actor)}),d.jsx("strong",{children:ky(S)}),d.jsxs("small",{children:["Seq #",S.seq]})]},S.seq))})]})]})})}function SA({goal:a,member:i,now:r}){return d.jsxs("article",{className:"tree-agent",children:[d.jsx(Mc,{}),d.jsxs("div",{children:[d.jsx("strong",{children:yt(a.owner)}),d.jsx("span",{children:a.objective})]}),d.jsx(yl,{status:i?.status??a.phase}),d.jsx("small",{children:i?.nextWakeAt?`Next ${ar(i.nextWakeAt)} · ${BA(i.nextWakeAt,r)}`:""})]})}function bA({snapshot:a,onOpenSession:i}){const[r,c]=y.useState("all"),[s,f]=y.useState("all"),[m,p]=y.useState(null),[g,v]=y.useState(!1),x=LA(a).filter(C=>(r==="all"||C.agent===r)&&(s==="all"||C.event.type.startsWith(`${s}.`)));y.useEffect(()=>{if(pl)return;let C=!0;v(!0);const A=new URLSearchParams({limit:"100"});return r!=="all"&&A.set("agent",r),s!=="all"&&A.set("type",s),fetch(`/api/trajectory?${A}`,{cache:"no-store"}).then(T=>{if(!T.ok)throw new Error(`trajectory request failed (${T.status})`);return T.json()}).then(T=>{C&&p(T)}).catch(()=>{C&&p(null)}).finally(()=>{C&&v(!1)}),()=>{C=!1}},[r,s]);const S=pl?x:m?.items??x,E=async()=>{if(!m?.nextBeforeSeq||g)return;v(!0);const C=new URLSearchParams({limit:"100",beforeSeq:String(m.nextBeforeSeq)});r!=="all"&&C.set("agent",r),s!=="all"&&C.set("type",s);try{const A=await fetch(`/api/trajectory?${C}`,{cache:"no-store"});if(!A.ok)throw new Error(`trajectory request failed (${A.status})`);const T=await A.json();p({items:[...m.items,...T.items],nextBeforeSeq:T.nextBeforeSeq})}finally{v(!1)}};return d.jsxs(to,{title:"Organization trajectory",description:"Goal, wake, handoff, mail, action, and observation milestones across every agent.",children:[d.jsxs("div",{className:"org-trajectory-toolbar",children:[d.jsx(Np,{label:"Agent",value:r,onValueChange:c,options:[{value:"all",label:"All agents"},...a.team.map(C=>({value:C.agent,label:yt(C.agent)}))]}),d.jsx(Np,{label:"Event",value:s,onValueChange:f,options:[{value:"all",label:"All milestones"},...["goal","delegation","wake","handoff","mail","schedule","action","metric"].map(C=>({value:C,label:lr(C)}))]})]}),d.jsxs("div",{className:"org-event-list",children:[S.map(C=>d.jsx(xA,{item:C,wake:C.wakeId?a.wakes.find(A=>A.id===C.wakeId):void 0,onOpenSession:i},C.event.seq)),!S.length&&d.jsx(Ga,{text:"No organization milestones match these filters."})]}),m?.nextBeforeSeq&&d.jsx("button",{className:"load-older",disabled:g,onClick:E,children:g?"Loading…":"Load older events"})]})}function Np({label:a,value:i,onValueChange:r,options:c}){return d.jsxs("div",{className:"trajectory-filter",children:[d.jsx("span",{children:a}),d.jsxs(gy,{value:i,onValueChange:r,children:[d.jsxs(yy,{"aria-label":a,children:[d.jsx(Sy,{}),d.jsx(by,{children:d.jsx(Bp,{})})]}),d.jsx(xy,{children:d.jsx(Ey,{className:"session-select-content",position:"popper",sideOffset:6,children:d.jsx(Ay,{children:c.map(s=>d.jsxs(Ty,{className:"session-select-item",value:s.value,children:[d.jsx(Oy,{children:s.label}),d.jsx(Ry,{className:"session-check",children:d.jsx(Vc,{})})]},s.value))})})})]})]})}function xA({item:a,wake:i,onOpenSession:r}){return d.jsxs("article",{className:"org-event",children:[d.jsx("time",{children:Qf(a.event.ts)}),d.jsx("i",{className:`event-dot ${Qy(a.event)}`}),d.jsxs("div",{children:[d.jsxs("header",{children:[d.jsx("strong",{children:yt(a.agent)}),d.jsx("span",{children:a.event.type})]}),d.jsx("p",{children:ky(a.event,a.agent)}),d.jsxs("small",{children:["Seq #",a.event.seq]})]}),i&&a.wakeId&&d.jsxs("button",{onClick:()=>r(a.wakeId),children:["Session",d.jsx(Yc,{})]}),i&&d.jsx(yl,{status:i.status})]})}function EA({snapshot:a,selectedWakeId:i,onSelectWake:r,onBack:c}){const s=a.wakes,f=s.find(j=>j.id===i)??s.find(j=>j.status==="running")??s[0],[m,p]=y.useState(""),[g,v]=y.useState(null);y.useEffect(()=>{if(pl||!f)return;let j=!0;const z=async()=>{const M=await fetch(`/api/sessions/${encodeURIComponent(f.id)}`,{cache:"no-store"});if(!M.ok)return;const k=await M.json();j&&v(k)};z();const D=window.setInterval(z,2e3);return()=>{j=!1,window.clearInterval(D)}},[f?.id]);const S=(!pl&&g?.wake.id===f?.id?g.events:a.events.filter(j=>j.streamId===`wake:${f?.id}`)).filter(YA),E=S.filter(j=>`${j.type} ${JSON.stringify(j.data)}`.toLowerCase().includes(m.toLowerCase())),C=Up(E),A=Up(S).at(-1)?.turn??0,T=S.filter(j=>j.type==="tool.called").length,O=j=>{p(""),r(j)};return d.jsxs(to,{title:"Session",description:"One wake, turn by turn.",children:[d.jsxs("button",{className:"back-to-trajectory",onClick:c,children:[d.jsx(Lb,{})," Organization trajectory"]}),d.jsxs("div",{className:"trace-toolbar",children:[d.jsxs("div",{className:"session-field",children:[d.jsx("span",{children:"Session"}),d.jsxs(gy,{value:f?.id??"",onValueChange:O,children:[d.jsxs(yy,{className:"session-select","aria-label":"Session",children:[d.jsx(Sy,{}),d.jsx(by,{children:d.jsx(Bp,{})})]}),d.jsx(xy,{children:d.jsx(Ey,{className:"session-select-content",position:"popper",sideOffset:6,children:d.jsx(Ay,{children:s.map(j=>d.jsxs(Ty,{className:"session-select-item",value:j.id,children:[d.jsxs(Oy,{children:[yt(j.agent)," · ",j.id," · ",j.status]}),d.jsx(Ry,{className:"session-check",children:d.jsx(Vc,{})})]},j.id))})})})]})]}),d.jsxs("div",{className:"trace-stats",children:[d.jsxs("span",{children:[d.jsx(Qb,{})," ",kA(S)]}),d.jsxs("span",{children:[d.jsx(Yp,{})," ",A," turns"]}),d.jsxs("span",{children:[d.jsx(qp,{})," ",T," calls"]})]}),d.jsxs("label",{className:"trace-search",children:[d.jsx(sf,{}),d.jsx("input",{value:m,onChange:j=>p(j.target.value),placeholder:"Search this session"})]})]}),S.length===0?d.jsx(AA,{wake:f}):d.jsxs("section",{className:"trace-surface",children:[d.jsx(RA,{events:S}),E.length===0?d.jsx(wA,{query:m}):d.jsx(CA,{rows:C})]})]})}function CA({rows:a}){return d.jsxs(Z2,{className:"trace-scroll",children:[d.jsx(K2,{children:d.jsx("div",{className:"trace-list",children:a.map(({event:i,turnStart:r,turn:c})=>d.jsx(_A,{event:i,turnStart:r,turn:c},i.seq))})}),d.jsx($2,{className:"trace-scrollbar",orientation:"vertical",children:d.jsx(I2,{})})]})}function AA({wake:a}){const i=a?.status==="queued";return d.jsxs("section",{className:"trace-empty-state",children:[d.jsx(qp,{}),d.jsx("h2",{children:i?"Trace begins when this wake runs":"No session trace yet"}),d.jsx("p",{children:i?`${yt(a.agent)} is queued. Input, model, and tool events will appear after the Supervisor starts this wake.`:"The Supervisor has not recorded any input, model, or tool events for this wake."}),a&&d.jsx(yl,{status:a.status})]})}function wA({query:a}){return d.jsxs("section",{className:"trace-no-results",children:[d.jsx(sf,{}),d.jsxs("p",{children:["No events match “",a,"”."]})]})}function TA({snapshot:a}){const[i,r]=y.useState("work"),[c,s]=y.useState("all"),[f,m]=y.useState(""),p=a.events.filter(v=>v.type==="handoff.recorded"&&`${v.actor} ${JSON.stringify(v.data)}`.toLowerCase().includes(f.toLowerCase())).reverse(),g=a.events.filter(v=>(c==="all"||v.type.startsWith(`${c}.`))&&`${v.actor} ${v.type} ${v.streamId} ${JSON.stringify(v.data)}`.toLowerCase().includes(f.toLowerCase())).reverse();return d.jsx(to,{title:"Work Ledger",description:"Agent-authored records. Raw events remain available for audit.",children:d.jsxs(fA,{value:i,onValueChange:v=>r(v),children:[d.jsxs("div",{className:"ledger-mode",children:[d.jsxs(dA,{"aria-label":"Ledger view",children:[d.jsx(jp,{value:"work",children:"Work records"}),d.jsx(jp,{value:"raw",children:"Raw events"})]}),d.jsxs("label",{children:[d.jsx(sf,{}),d.jsx("input",{value:f,onChange:v=>m(v.target.value),placeholder:i==="work"?"Search work records":"Search events"})]})]}),d.jsx(Dp,{value:"work",children:d.jsxs("div",{className:"work-ledger",children:[p.map(v=>d.jsx(Gy,{event:v,onRaw:()=>r("raw")},v.seq)),!p.length&&d.jsx(Ga,{text:"No agent-authored work records yet."})]})}),d.jsxs(Dp,{value:"raw",children:[d.jsx("div",{className:"ledger-toolbar",children:d.jsx("div",{children:["all","goal","wake","mail","action","session"].map(v=>d.jsx("button",{className:c===v?"selected":"",onClick:()=>s(v),children:lr(v)},v))})}),d.jsxs("div",{className:"ledger-table",role:"table",children:[d.jsxs("div",{className:"ledger-head",role:"row",children:[d.jsx("span",{children:"Seq"}),d.jsx("span",{children:"Local time"}),d.jsx("span",{children:"Stream"}),d.jsx("span",{children:"Actor"}),d.jsx("span",{children:"Event"}),d.jsx("span",{children:"Fact"})]}),g.map(v=>d.jsxs("div",{className:"ledger-row",role:"row",children:[d.jsx("code",{children:v.seq}),d.jsx("time",{children:ar(v.ts)}),d.jsx("code",{children:v.streamId}),d.jsx("span",{children:yt(v.actor)}),d.jsx("strong",{children:v.type}),d.jsx("span",{children:$y(v.data)})]},v.seq)),!g.length&&d.jsx(Ga,{text:"No matching events."})]})]})]})})}function OA({snapshot:a,selected:i,onSelect:r,onOpenSession:c}){const s=a.team.find(g=>g.agent===i)??a.team[0],f=a.goals.filter(g=>g.owner===s?.agent),m=a.wakes.filter(g=>g.agent===s?.agent).sort((g,v)=>v.enqueuedSeq-g.enqueuedSeq),p=a.events.filter(g=>g.actor===s?.agent&&g.type==="handoff.recorded").reverse();return d.jsx(to,{title:"Agents",children:d.jsxs("div",{className:"agents-workbench",children:[d.jsx("div",{className:"agent-roster",children:a.team.map(g=>d.jsxs("button",{className:g.agent===s?.agent?"selected":"",onClick:()=>r(g.agent),children:[d.jsx(Mc,{}),d.jsxs("span",{children:[d.jsx("strong",{children:yt(g.agent)}),d.jsx("small",{children:a.goals.find(v=>v.owner===g.agent)?.objective??"No owned goal"})]}),d.jsx(yl,{status:g.status})]},g.agent))}),s&&d.jsxs("div",{className:"agent-detail",children:[d.jsxs("div",{className:"agent-detail-head",children:[d.jsx(Mc,{}),d.jsxs("div",{children:[d.jsx("h2",{children:yt(s.agent)}),d.jsx(yl,{status:s.status})]})]}),d.jsxs("section",{children:[d.jsx("h3",{children:"Owned goals"}),f.map(g=>d.jsxs("div",{className:"owned-goal",children:[d.jsx("strong",{children:g.objective}),d.jsx("span",{children:g.observationMethod??"Observation method pending"})]},g.id))]}),d.jsxs("section",{children:[d.jsx("h3",{children:"Sessions"}),d.jsxs("div",{className:"session-list",children:[m.map(g=>d.jsxs("button",{onClick:()=>c(g.id),children:[d.jsxs("span",{children:[d.jsx("strong",{children:g.id}),d.jsx("small",{children:g.triggerRef})]}),d.jsx(yl,{status:g.status}),d.jsx(Yc,{})]},g.id)),!m.length&&d.jsx(Ga,{text:"No sessions for this agent yet."})]})]}),d.jsxs("section",{children:[d.jsx("h3",{children:"Work records"}),p.map(g=>d.jsx(Gy,{event:g,compact:!0,onOpen:()=>c(g.streamId.replace("wake:",""))},g.seq)),!p.length&&d.jsx(Ga,{text:"No agent-authored work records yet."})]})]})]})})}function RA({events:a}){return d.jsxs("section",{className:"trace-map","aria-label":"Session activity map",children:[d.jsxs("div",{className:"trace-labels",children:[d.jsx("span",{children:"Input"}),d.jsx("span",{children:"Model"}),d.jsx("span",{children:"Tools"})]}),d.jsx("div",{className:"trace-lanes",children:["input","model","tool"].map(i=>d.jsx("div",{className:`trace-lane ${i}`,children:a.map(r=>d.jsx("i",{className:GA(r)===i?"filled":""},`${i}-${r.seq}`))},i))})]})}function _A({event:a,turnStart:i,turn:r}){const c=XA(a),s=["tool.called","tool.completed"].includes(a.type),f=d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"trace-rail-cell",children:[i&&d.jsxs("span",{className:"turn-label",children:["Turn ",r]}),d.jsx("i",{className:"trace-node"})]}),d.jsx("span",{className:`trace-kind trace-${c.toLowerCase()}`,children:c}),d.jsx("div",{className:"trace-content",children:d.jsx("strong",{children:zp(a)})}),d.jsx("time",{children:ar(a.ts)}),d.jsxs("code",{className:"trace-seq",children:["#",a.seq]})]});return s?d.jsxs(dg,{className:i?"trace-collapsible turn-start":"trace-collapsible",children:[d.jsxs(hg,{className:"trace-row trace-row-trigger","aria-label":`Show payload for ${zp(a)}`,children:[f,d.jsx(Yc,{className:"trace-expand"})]}),d.jsx(mg,{className:"trace-payload",children:d.jsx(jA,{value:a.data})})]}):d.jsx("div",{className:i?"trace-row turn-start":"trace-row",children:f})}function jA({value:a}){const[i,r]=y.useState(!1),c=QA(a),s=async()=>{await navigator.clipboard.writeText(c),r(!0),window.setTimeout(()=>r(!1),1200)};return d.jsxs("div",{className:"trace-payload-inner",children:[d.jsxs("header",{children:[d.jsx("span",{children:"Full payload"}),d.jsxs("button",{onClick:s,children:[i?d.jsx(Vc,{}):d.jsx(Kb,{}),i?"Copied":"Copy"]})]}),d.jsx("pre",{children:d.jsx("code",{children:c})})]})}function Gy({event:a,compact:i=!1,onOpen:r,onRaw:c}){const s=mt(a.data),f=Gs(s.observations),m=Gs(s.results),p=Gs(s.nextSteps),g=typeof s.blocker=="string"?s.blocker:null,v=m[0]??f[0]??"Work recorded";return d.jsx(fx,{className:i?"work-record compact":"work-record",type:"single",collapsible:!0,children:d.jsxs(dx,{value:`record-${a.seq}`,children:[d.jsx(hx,{children:d.jsxs(mx,{className:"work-record-summary",children:[d.jsx(Mc,{}),d.jsxs("span",{className:"record-agent",children:[d.jsx("strong",{children:yt(a.actor)}),d.jsxs("small",{children:[Qf(a.ts)," · #",a.seq]})]}),d.jsx("span",{className:"record-outcome",children:v}),p[0]&&d.jsxs("span",{className:"record-next",children:["Next: ",p[0]]}),d.jsx(Yc,{})]})}),d.jsxs(vx,{className:"work-record-content",children:[d.jsxs("div",{className:"work-record-body",children:[d.jsx(Rc,{title:"Observed",values:f}),d.jsx(Rc,{title:"Completed",values:m}),d.jsx(Rc,{title:"Next",values:p}),g&&d.jsx(Rc,{title:"Blocked",values:[g],tone:"danger"})]}),(r||c)&&d.jsxs("footer",{children:[r&&d.jsx("button",{onClick:r,children:"Open session"}),c&&d.jsx("button",{onClick:c,children:"Raw events"})]})]})]})})}function Rc({title:a,values:i,tone:r}){return i.length?d.jsxs("section",{className:r==="danger"?"record-section danger":"record-section",children:[d.jsx("h3",{children:a}),i.map(c=>d.jsx("p",{children:c},c))]}):null}function DA({snapshot:a}){return d.jsx(to,{title:"Settings",description:"Local Console runtime details. Agent and connector configuration remains authoritative in goah.config.json.",children:d.jsxs("div",{className:"settings-list",children:[d.jsxs("div",{children:[d.jsx("span",{children:"Mode"}),d.jsx("strong",{children:"Local, loopback only"})]}),d.jsxs("div",{children:[d.jsx("span",{children:"Refresh"}),d.jsx("strong",{children:"Every 2 seconds"})]}),d.jsxs("div",{children:[d.jsx("span",{children:"Latest event"}),d.jsxs("strong",{children:["Seq #",a.seq]})]}),d.jsxs("div",{children:[d.jsx("span",{children:"Event payloads"}),d.jsx("strong",{children:"Redacted by default"})]})]})})}function NA(a){const i=[];for(const r of a.events)if(r.type==="mail.put"){const c=mt(mt(r.data).snapshot);c.to==="ceo"&&c.from==="human"&&i.push({kind:"user",seq:r.seq,text:VA(c.body)})}else r.type==="handoff.recorded"&&r.actor==="ceo"&&i.push({kind:"ceo",seq:r.seq,text:"",handoff:Zy(r.data)});return i.sort((r,c)=>r.seq-c.seq)}function MA({snapshot:a,onRefresh:i}){const r=y.useMemo(()=>NA(a),[a]),[c,s]=y.useState(""),[f,m]=y.useState(null),p=y.useRef(null);y.useEffect(()=>{p.current?.scrollIntoView({behavior:"smooth"})},[r.length,f?.text,f?.lines.length]);const g=async()=>{const v=c.trim();if(!(!v||f?.status==="running")){s(""),m({status:"running",text:"",lines:["CEO wake queued"],handoff:void 0});try{const x=await fetch("/api/chat",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({message:v})});if(!x.ok||!x.body)throw new Error(`chat request failed (${x.status})`);const S=x.body.getReader(),E=new TextDecoder;let C="";for(;;){const{value:A,done:T}=await S.read();if(T)break;C+=E.decode(A,{stream:!0});const O=C.split(`
|
|
50
50
|
|
|
51
51
|
`);C=O.pop()??"";for(const j of O)j.startsWith("data: ")&&zA(JSON.parse(j.slice(6)),m)}}catch{m(x=>x&&{...x,status:"error",lines:[...x.lines,"连接中断"]})}finally{m(x=>x&&x.status==="running"?{...x,status:"done"}:x),i()}}};return d.jsxs("section",{className:"chat",children:[d.jsxs("header",{className:"chat-header",children:[d.jsxs("div",{children:[d.jsx("h1",{children:"CEO"}),d.jsx("p",{children:"Messages become durable decision mail. The CEO wake streams here, then lands in the ledger."})]}),d.jsx("span",{className:`chat-live-pill ${f?.status==="running"?"busy":""}`,children:f?.status==="running"?"Working…":"Ready"})]}),d.jsxs("div",{className:"chat-scroll",children:[r.length===0&&!f&&d.jsx("p",{className:"chat-empty",children:"还没有对话。说一句话开始——它会成为 CEO 的 decision mail。"}),r.map(v=>v.kind==="user"?d.jsxs("article",{className:"chat-entry user",children:[d.jsx("p",{children:v.text}),d.jsxs("small",{children:["You · #",v.seq]})]},v.seq):d.jsx("article",{className:"chat-entry ceo",children:v.handoff&&d.jsx(Mp,{handoff:v.handoff,seq:v.seq})},v.seq)),f&&d.jsxs("article",{className:"chat-entry ceo live",children:[f.lines.length>0&&d.jsx("div",{className:"chat-activity",children:f.lines.map(v=>d.jsx("span",{children:v},v))}),f.text&&d.jsx("p",{className:"chat-stream",children:f.text}),f.handoff&&d.jsx(Mp,{handoff:f.handoff,seq:0}),f.status==="error"&&d.jsx("p",{className:"chat-error",children:"连接中断,wake 结果以账本为准。"})]}),d.jsx("div",{ref:p})]}),d.jsxs("footer",{className:"chat-input-bar",children:[d.jsx("textarea",{value:c,onChange:v=>s(v.target.value),onKeyDown:v=>{v.key==="Enter"&&(v.metaKey||v.ctrlKey)&&g()},placeholder:"改变目标、报告约束、或问下一步会发生什么…",disabled:f?.status==="running"}),d.jsxs("div",{children:[d.jsx("span",{children:"⌘↩ 发送 · 成为 durable decision mail"}),d.jsxs("button",{className:"primary",disabled:!c.trim()||f?.status==="running",onClick:()=>{g()},children:[d.jsx(a1,{})," 发送"]})]})]})]})}function zA(a,i){if(a.type==="accepted")return;if(a.type==="error"){i(c=>c&&{...c,status:"error",lines:[...c.lines,a.error??"error"]});return}if(a.type==="result"){const c=mt(a.value),s=mt(c.wake);i(f=>f&&{...f,status:"done",lines:[...f.lines,s.status==="done"?"Wake completed":`Wake ${String(s.status??"finished")}`]});return}const r=a.event;if(r)if(r.type==="message.assistant.completed"){const c=Ky(mt(r.data).message);c&&i(s=>s&&{...s,text:c})}else if(r.type==="message.assistant.delta"){const c=mt(mt(r.data).delta),s=typeof c.delta=="string"?c.delta:null;s&&i(f=>f&&{...f,text:f.text+s})}else if(r.type==="tool.called"){const c=mt(r.data);i(s=>s&&{...s,lines:[...s.lines,`→ ${String(c.name??"tool")}`]})}else r.type==="handoff.recorded"?i(c=>c&&{...c,handoff:Zy(r.data)}):r.type==="wake.abnormal_reason"&&i(c=>c&&{...c,lines:[...c.lines,`! ${JSON.stringify(r.data)}`]})}function Mp({handoff:a,seq:i}){return d.jsxs("div",{className:"chat-handoff",children:[a.observations.length>0&&d.jsxs("section",{children:[d.jsx("h3",{children:"Observed"}),a.observations.map(r=>d.jsx("p",{children:r},r))]}),a.results.length>0&&d.jsxs("section",{children:[d.jsx("h3",{children:"Completed"}),a.results.map(r=>d.jsx("p",{children:r},r))]}),a.nextSteps.length>0&&d.jsxs("section",{children:[d.jsx("h3",{children:"Next"}),a.nextSteps.map(r=>d.jsx("p",{children:r},r))]}),a.blocker&&d.jsxs("section",{className:"danger",children:[d.jsx("h3",{children:"Blocked"}),d.jsx("p",{children:a.blocker})]}),i>0&&d.jsxs("small",{children:["Handoff · #",i]})]})}function UA({snapshot:a,onRefresh:i,onClose:r}){const c=a.actions.filter(v=>["requested","unknown"].includes(v.status)),[s,f]=y.useState({}),[m,p]=y.useState(null),g=async(v,x)=>{const S=c.find(C=>C.id===v);if(!S)return;const E=(s[v]??"").trim()||(x==="approve"?"Approved from Console":"Rejected from Console");p(v);try{if(!(await fetch("/api/action",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({id:v,decision:x,reason:E,evidence:S.evidence})})).ok)throw new Error("decision failed");i()}catch{window.alert("提交失败,请重试")}finally{p(null)}};return d.jsx(m2,{open:!0,onOpenChange:v=>{v||r()},children:d.jsxs(p2,{children:[d.jsx(g2,{className:"modal-backdrop"}),d.jsxs(b2,{className:"approval-dialog",children:[d.jsx(R2,{className:"close","aria-label":"Close",children:d.jsx(s1,{})}),d.jsx(A2,{children:"需要决策的动作"}),d.jsx(T2,{className:"sr-only",children:"审查外部动作的理由和证据,然后批准或拒绝。"}),c.length===0&&d.jsx("p",{className:"chat-empty",children:"没有待决策动作。"}),c.map(v=>d.jsxs("article",{className:"approval-card",children:[d.jsxs("header",{children:[d.jsx("strong",{children:v.kind}),d.jsxs("span",{className:`status ${v.status==="unknown"?"status-blocked":""}`,children:[d.jsx("i",{}),v.status]})]}),d.jsxs("dl",{children:[d.jsxs("div",{children:[d.jsx("dt",{children:"Agent"}),d.jsx("dd",{children:yt(v.agent)})]}),d.jsxs("div",{children:[d.jsx("dt",{children:"Connector"}),d.jsx("dd",{children:v.connector})]}),d.jsxs("div",{children:[d.jsx("dt",{children:"Evidence"}),d.jsx("dd",{children:v.evidence.join(", ")||"none"})]})]}),d.jsx("p",{className:"approval-reason",children:v.reason}),d.jsx("textarea",{value:s[v.id]??"",onChange:x=>f(S=>({...S,[v.id]:x.target.value})),placeholder:"你的决定理由(默认提供一条)"}),d.jsxs("footer",{children:[d.jsxs("button",{className:"primary",disabled:m===v.id,onClick:()=>{g(v.id,"approve")},children:[d.jsx(Vc,{})," 批准"]}),d.jsx("button",{className:"reject",disabled:m===v.id,onClick:()=>{g(v.id,"reject")},children:"拒绝"})]})]},v.id))]})]})})}function to({title:a,description:i,children:r}){return d.jsxs("section",{className:"page",children:[d.jsxs("header",{children:[d.jsx("h1",{children:a}),i&&d.jsx("span",{children:i})]}),r]})}function yl({status:a}){return d.jsxs("span",{className:`status status-${a}`,children:[d.jsx("i",{}),lr(a.replaceAll("_"," "))]})}function Ga({text:a}){return d.jsx("p",{className:"empty",children:a})}function HA({connection:a}){return d.jsxs("main",{className:"loading",children:[d.jsx("img",{src:"/goah-orbital-mark.png",alt:""}),d.jsx("h1",{children:"Goah Console"}),d.jsx("p",{children:a==="error"?"Could not reach the local Supervisor.":"Connecting to the local Supervisor…"})]})}function Xy(a){return a.filter(i=>qA(i.type))}function LA(a){const i=new Map(a.wakes.map(r=>[r.id,r.agent]));return Xy(a.events).slice().reverse().map(r=>{const c=r.streamId.startsWith("wake:")?r.streamId.slice(5):null;return{event:r,wakeId:c,agent:c?i.get(c)??r.actor:r.actor}})}function qA(a){return["wake.lease_renewed","wake.runner_attached"].includes(a)?!1:["goal.","delegation.","handoff.","wake.","mail.","schedule.","action.","metric.","observation.","ceo.","human."].some(i=>a.startsWith(i))}function ky(a,i=a.actor){const r=mt(a.data);if(a.type==="handoff.recorded")return`Handoff: ${Bc(r.results)||Bc(r.observations)||"work recorded"}`;if(a.type==="goal.delegated")return`CEO delegated: ${String(r.reason??r.goalId??"child goal")}`;if(a.type==="delegation.created")return`Delegated a child goal: ${String(r.reason??r.goalId??"new responsibility")}`;if(a.type==="goal.put"){const c=mt(r.snapshot);return`Goal ${String(c.phase??"updated")}: ${String(c.objective??"goal state changed")}`}if(a.type==="goal.reassigned")return`Reassigned goal from ${yt(String(r.oldOwner??"unknown"))} to ${yt(String(r.newOwner??"unknown"))}`;if(a.type==="metric.evaluated"||a.type==="observation.confirmed")return`Observation confirmed: ${String(r.summary??r.status??"evidence recorded")}`;if(a.type==="action.requested")return`Action awaiting approval: ${String(r.kind??"external action")}`;if(a.type==="wake.enqueued")return"Wake queued";if(a.type==="wake.running")return"Wake started";if(a.type==="wake.done")return"Wake completed";if(a.type==="wake.abnormal"||a.type==="wake.expired_abnormal"||a.type==="wake.abnormal_reason")return"Wake became abnormal";if(a.type==="schedule.put"){const c=mt(r.snapshot);return`Next wake scheduled for ${Qf(String(c.nextWakeAt??""))}: ${String(c.reason??"scheduled work")}`}if(a.type==="mail.put"){const c=mt(r.snapshot);return`Mail from ${yt(String(c.from??a.actor))} to ${yt(String(c.to??"unknown"))}`}return a.type==="mail.sent"||a.type==="mail.delivered"?`Mail delivered: ${String(r.summary??r.level??"message")}`:`${a.type.replaceAll("."," ")}: ${$y(a.data)}`}function Qy(a){return a.type.includes("abnormal")||a.type.includes("failed")?"danger":a.type.startsWith("action.")?"attention-tone":a.type.startsWith("metric.")||a.type.includes("confirmed")?"success":"active-tone"}function yt(a){return a==="ceo"?"CEO":a==="human"?"Human":a==="supervisor"?"Supervisor":`${lr(a.replaceAll("-"," "))} Agent`}function lr(a){return a&&a[0].toUpperCase()+a.slice(1)}function ar(a){const i=new Date(a);return Number.isNaN(i.getTime())?"—":i.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1})}function Qf(a){const i=new Date(a);return Number.isNaN(i.getTime())?"—":i.toLocaleString([],{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})}function BA(a,i=new Date().toISOString()){const r=Math.round((new Date(a).getTime()-new Date(i).getTime())/6e4);return r>0?`in ${r}m`:r===0?"now":`${Math.abs(r)}m ago`}function mt(a){return a&&typeof a=="object"&&!Array.isArray(a)?a:{}}function VA(a){const i=mt(a);return typeof i.message=="string"&&i.message.trim()?i.message:JSON.stringify(a)}function Zy(a){const i=mt(a);return{observations:Ys(i.observations),results:Ys(i.results),nextSteps:Ys(i.nextSteps),...typeof i.blocker=="string"&&i.blocker?{blocker:i.blocker}:{}}}function Ys(a){return Array.isArray(a)?a.filter(i=>typeof i=="string"):[]}function Bc(a){return Array.isArray(a)&&typeof a[0]=="string"?a[0]:""}function Gs(a){return Array.isArray(a)?a.filter(i=>typeof i=="string"):[]}function YA(a){return["session.started","request.prepared","turn.started","message.user","message.assistant.completed","tool.called","tool.completed","context.compacted","turn.completed","handoff.recorded","session.completed","session.interrupted"].includes(a.type)}function GA(a){return["message.user","request.prepared","context.compacted"].includes(a.type)?"input":a.type.startsWith("message.assistant")?"model":a.type.startsWith("tool.")?"tool":"none"}function XA(a){return a.type==="message.user"?"User":a.type==="message.assistant.completed"?"Assistant":a.type==="request.prepared"?"Context":a.type==="context.compacted"?"Compact":a.type.startsWith("tool.")?"Tool":a.type==="handoff.recorded"?"Handoff":"System"}function zp(a){const i=mt(a.data);return a.type==="message.user"||a.type==="message.assistant.completed"?Ky(i.message):a.type==="request.prepared"?typeof i.activeContext=="string"?i.activeContext:"Model request prepared from Active Context":a.type==="context.compacted"?typeof i.summary=="string"?i.summary:"Earlier messages compacted into a summary":a.type==="tool.called"?`${String(i.name??"tool")} called`:a.type==="tool.completed"?`${String(i.name??"tool")} completed${i.isError?" with error":""}`:a.type==="handoff.recorded"?`Work record: ${Bc(i.results)||Bc(i.observations)||"handoff recorded"}`:a.type.replaceAll("."," ")}function Ky(a){const r=mt(a).content;return typeof r=="string"?r:Array.isArray(r)?r.map(c=>typeof c=="string"?c:typeof c=="object"&&c!==null&&"text"in c?String(c.text??""):"").filter(Boolean).join(" "):"Message recorded"}function Up(a){let i=0;return a.map((r,c)=>{const s=r.type==="message.user"||r.type==="turn.started"||i===0&&c===0;return s&&(i+=1),{event:r,turnStart:s,turn:Math.max(i,1)}})}function kA(a){if(a.length<2)return"0s";const i=new Date(a.at(-1).ts).getTime()-new Date(a[0].ts).getTime(),r=Math.max(0,Math.round(i/1e3));return r>=60?`${Math.floor(r/60)}m ${r%60}s`:`${r}s`}function $y(a){const i=typeof a=="string"?a:JSON.stringify(a);return i.length>110?`${i.slice(0,107)}…`:i}function QA(a){return typeof a=="string"?a:JSON.stringify(a,null,2)}Rb.createRoot(document.getElementById("root")).render(d.jsx(y.StrictMode,{children:d.jsx(pA,{})}));
|
|
52
|
-
//# sourceMappingURL=index-
|
|
52
|
+
//# sourceMappingURL=index-BJTGvlCH.js.map
|