@lunora/studio 1.0.0-alpha.118 → 1.0.0-alpha.119

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.
Files changed (107) hide show
  1. package/dist/index.d.ts +3 -2
  2. package/dist/index.js +1 -1
  3. package/dist/mount.js +1 -1
  4. package/dist/packem_chunks/AdvisorHealthPanel.js +1 -1
  5. package/dist/packem_chunks/ApiTab.js +1 -1
  6. package/dist/packem_chunks/AuditPanel.js +1 -1
  7. package/dist/packem_chunks/ExportImportPanel.js +1 -1
  8. package/dist/packem_chunks/FileBrowser.js +1 -1
  9. package/dist/packem_chunks/FunctionRunner.js +1 -1
  10. package/dist/packem_chunks/FunctionStatsPanel.js +1 -1
  11. package/dist/packem_chunks/HealthPanel.js +1 -1
  12. package/dist/packem_chunks/InsightsPanel.js +1 -1
  13. package/dist/packem_chunks/LogsPanel.js +1 -1
  14. package/dist/packem_chunks/MailPanel.js +1 -1
  15. package/dist/packem_chunks/MetricsPanel.js +1 -1
  16. package/dist/packem_chunks/NotificationsPanel.js +1 -1
  17. package/dist/packem_chunks/PitrPanel.js +1 -1
  18. package/dist/packem_chunks/SchemaViewer.js +1 -1
  19. package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -1
  20. package/dist/packem_chunks/SettingsPanel.js +1 -1
  21. package/dist/packem_chunks/SqlEditorPanel.js +1 -1
  22. package/dist/packem_chunks/TableEditor.js +1 -1
  23. package/dist/packem_chunks/agents-panel.js +1 -1
  24. package/dist/packem_chunks/auth-audit-panel.js +1 -1
  25. package/dist/packem_chunks/containers-panel.js +1 -1
  26. package/dist/packem_chunks/dashboards-panel.js +1 -1
  27. package/dist/packem_chunks/evals-panel.js +1 -1
  28. package/dist/packem_chunks/fanout-panel.js +1 -1
  29. package/dist/packem_chunks/flags-panel.js +1 -1
  30. package/dist/packem_chunks/issues-panel.js +1 -1
  31. package/dist/packem_chunks/kv-browser.js +1 -1
  32. package/dist/packem_chunks/migrations-route.js +1 -1
  33. package/dist/packem_chunks/payments-panel.js +1 -1
  34. package/dist/packem_chunks/permissions-panel.js +1 -1
  35. package/dist/packem_chunks/queues-panel.js +1 -1
  36. package/dist/packem_chunks/reactors-panel.js +1 -0
  37. package/dist/packem_chunks/rls-panel.js +1 -1
  38. package/dist/packem_chunks/storage-rules-panel.js +1 -1
  39. package/dist/packem_chunks/subscriptions-panel.js +1 -1
  40. package/dist/packem_chunks/traces-panel.js +1 -1
  41. package/dist/packem_chunks/workflows-panel.js +1 -1
  42. package/dist/packem_shared/ADMIN_FUNCTIONS-B6z7VLYt.js +1 -0
  43. package/dist/packem_shared/{ApiDocsPanel-C_dZt4ve.js → ApiDocsPanel-BMzLPgvv.js} +1 -1
  44. package/dist/packem_shared/{DataBrowser-BPCr2f8V.js → DataBrowser-C68K5QHO.js} +1 -1
  45. package/dist/packem_shared/{HomePanel-B8U_LJkK.js → HomePanel-B-tcMcTZ.js} +1 -1
  46. package/dist/packem_shared/{MigrationsPanel-CF73xHke.js → MigrationsPanel-CLRWwPyL.js} +1 -1
  47. package/dist/packem_shared/{Studio-RFVDC2sC.js → Studio-BYdUxnM5.js} +1 -1
  48. package/dist/packem_shared/{StudioApp-jTW-QnDo.js → StudioApp-Bxmtp-Fi.js} +1 -1
  49. package/dist/packem_shared/{home-panel-DywiFhDs.js → home-panel-ecz6-nHV.js} +1 -1
  50. package/dist/packem_shared/studio-Cvdwfzxm.js +2 -0
  51. package/dist/packem_shared/{use-sql-assistant-DFO2i-n-.js → use-sql-assistant-CXgVX_PP.js} +1 -1
  52. package/dist/standalone/{chunk-FN5OO2OT.js → chunk-2F6FYL5O.js} +1 -1
  53. package/dist/standalone/{chunk-4ZTQORBY.js → chunk-2RASQG3R.js} +1 -1
  54. package/dist/standalone/{chunk-ZYWLKW7L.js → chunk-2VLBFSIX.js} +1 -1
  55. package/dist/standalone/{chunk-YIEWRRZG.js → chunk-4DJQV5UA.js} +1 -1
  56. package/dist/standalone/{chunk-IN2BDO6Y.js → chunk-4LVLLM6B.js} +1 -1
  57. package/dist/standalone/{chunk-GQJOXK25.js → chunk-4Y2QHI65.js} +1 -1
  58. package/dist/standalone/{chunk-5QLWJ2DD.js → chunk-5COHJLQF.js} +1 -1
  59. package/dist/standalone/{chunk-XZACOGRP.js → chunk-5JF2HAU4.js} +1 -1
  60. package/dist/standalone/chunk-5QAT5NQ4.js +1 -0
  61. package/dist/standalone/{chunk-HT7B3NZN.js → chunk-6J5TEYI5.js} +1 -1
  62. package/dist/standalone/{chunk-NWXW4JWB.js → chunk-6KJLNWPJ.js} +1 -1
  63. package/dist/standalone/{chunk-OHYP4OEU.js → chunk-6QKKYBML.js} +1 -1
  64. package/dist/standalone/{chunk-P2GOC5GL.js → chunk-7CVIN6KU.js} +1 -1
  65. package/dist/standalone/{chunk-3HLSTC4J.js → chunk-A44VDLY3.js} +1 -1
  66. package/dist/standalone/{chunk-5GFVNJR5.js → chunk-ATGYWQUI.js} +1 -1
  67. package/dist/standalone/{chunk-ILRATMDS.js → chunk-BKW7FMAU.js} +1 -1
  68. package/dist/standalone/{chunk-NXHRLXOC.js → chunk-BYJZGWWY.js} +1 -1
  69. package/dist/standalone/{chunk-QBVBJKLV.js → chunk-CFQQSG6L.js} +1 -1
  70. package/dist/standalone/{chunk-G4FZNPHS.js → chunk-D3ZLKFO4.js} +1 -1
  71. package/dist/standalone/{chunk-DVHN4KWR.js → chunk-DYKGLIBC.js} +1 -1
  72. package/dist/standalone/chunk-DZGOHOOE.js +1 -0
  73. package/dist/standalone/{chunk-O2VDNK4B.js → chunk-FJ6G6FNE.js} +1 -1
  74. package/dist/standalone/{chunk-HFDJ2FL3.js → chunk-GTEXP4P3.js} +1 -1
  75. package/dist/standalone/{chunk-45MGKKVR.js → chunk-J2GQE4PW.js} +1 -1
  76. package/dist/standalone/{chunk-O6N6T57Q.js → chunk-JIPVSPSG.js} +1 -1
  77. package/dist/standalone/{chunk-AWYHNGHI.js → chunk-KPQROFH5.js} +1 -1
  78. package/dist/standalone/{chunk-FQX3BSPP.js → chunk-KWGHNORP.js} +1 -1
  79. package/dist/standalone/{chunk-5PU6Q4DG.js → chunk-P54YTPHL.js} +1 -1
  80. package/dist/standalone/{chunk-XUVD6ILO.js → chunk-PS66CRK5.js} +1 -1
  81. package/dist/standalone/{chunk-EIWJYMNM.js → chunk-QDGAB4R2.js} +1 -1
  82. package/dist/standalone/{chunk-MZ6O7Z67.js → chunk-QKN5EHEF.js} +1 -1
  83. package/dist/standalone/{chunk-ELJFDMV3.js → chunk-QXLU6YPU.js} +1 -1
  84. package/dist/standalone/{chunk-TDCEPDQ3.js → chunk-R3G55P4J.js} +1 -1
  85. package/dist/standalone/chunk-R4HRS232.js +1 -0
  86. package/dist/standalone/{chunk-22LNEQ5H.js → chunk-R52YOHVU.js} +1 -1
  87. package/dist/standalone/{chunk-4PCLBPH4.js → chunk-RK5XWYUL.js} +1 -1
  88. package/dist/standalone/{chunk-EG6CI6JJ.js → chunk-RSG2DVHH.js} +1 -1
  89. package/dist/standalone/{chunk-O5FM6GKY.js → chunk-T5SC5RAD.js} +1 -1
  90. package/dist/standalone/{chunk-HUGJ4X52.js → chunk-TCKQ4E5Y.js} +1 -1
  91. package/dist/standalone/{chunk-TYOIBCR6.js → chunk-UBT2FIU5.js} +1 -1
  92. package/dist/standalone/{chunk-FD7DEJMJ.js → chunk-VDSFYFDH.js} +1 -1
  93. package/dist/standalone/{chunk-ZBGI3UQN.js → chunk-WFABZPAK.js} +1 -1
  94. package/dist/standalone/{chunk-MKZV6X4G.js → chunk-WIFYD4A6.js} +1 -1
  95. package/dist/standalone/{chunk-2UP5EBFR.js → chunk-WYSR5F77.js} +1 -1
  96. package/dist/standalone/{chunk-4SM4AD63.js → chunk-XFU6YBYL.js} +1 -1
  97. package/dist/standalone/{chunk-PWN4NIIK.js → chunk-XRC7KEEN.js} +1 -1
  98. package/dist/standalone/{chunk-5FS4HLRG.js → chunk-XTNSQYXW.js} +1 -1
  99. package/dist/standalone/chunk-XUX7B54Z.js +1 -0
  100. package/dist/standalone/{chunk-GEX7IWQL.js → chunk-YN2KHW3B.js} +1 -1
  101. package/dist/standalone/studio.js +1 -1
  102. package/package.json +5 -5
  103. package/dist/packem_shared/ADMIN_FUNCTIONS-4aE59aDq.js +0 -1
  104. package/dist/packem_shared/studio-BdV57x3O.js +0 -2
  105. package/dist/standalone/chunk-7VYPO4TI.js +0 -1
  106. package/dist/standalone/chunk-OQS4HFKC.js +0 -1
  107. package/dist/standalone/chunk-VDW32UET.js +0 -1
@@ -1 +1 @@
1
- import{a as tn}from"./chunk-CN2AINNY.js";import{a as ce,b as Zo,c as en}from"./chunk-CP4ZFBVW.js";import{a as lo,b as So,d as No,e as Oo,f as Do,g as Lo,h as Jo,i as Xo}from"./chunk-EDHW2EEG.js";import{$ as ko,A as nt,C as po,E as mo,F as fo,H as go,J as Ro,K as xo,N as Mo,O as ho,P as bo,Q as Co,S as vo,T as Io,U as Eo,V as yo,X as Po,Z as To,aa as rt,ba as wo,ca as _o,da as st,ea as Vo,fa as At,ga as Bo,ha as at,ja as Fo,ka as Go,ma as Ho,n as Dt,na as jo,oa as Yo,p as no,pa as zo,q as ro,ra as Ko,s as so,sa as $o,t as et,ta as Wo,u as tt,v as io,w as ot,x as ao,y as uo,z as co}from"./chunk-ZSOLGJFC.js";import{b as Uo}from"./chunk-DUDQV6XJ.js";import{i as qo,k as Qo}from"./chunk-DKSLOJDQ.js";import{B as ye,G as to,H as Ge,J as oo,K as Qe,L as Ze,N as v,O as se,d as wt,e as te,h as qe,o as _t}from"./chunk-AOAJGSYZ.js";import{a as it,b as Ao,c as Ue}from"./chunk-74ASA4WU.js";import{a as he,c as Fe,i as Qt,q as Zt,t as eo,w as ze}from"./chunk-XQS7KSHL.js";import{a as Me,c as F,d as qt,e as Xe,g as Le,h as Ye,i as ue,j as N}from"./chunk-7PIHTTND.js";import{a as o,c as Zn,d as M,e as C,f as er,g as me,i as Be}from"./chunk-R5ZTCHCE.js";var _e=M(er(),1);var oe={};Zn(oe,{Arrow:()=>nn,Backdrop:()=>sn,CheckboxItem:()=>dn,CheckboxItemIndicator:()=>pn,Group:()=>fn,GroupLabel:()=>Rn,Handle:()=>Je,Item:()=>Mn,LinkItem:()=>hn,Popup:()=>Cn,Portal:()=>En,Positioner:()=>yn,RadioGroup:()=>Sn,RadioItem:()=>Tn,RadioItemIndicator:()=>kn,Root:()=>Ot,Separator:()=>tn,SubmenuRoot:()=>Bn,SubmenuTrigger:()=>zn,Trigger:()=>Hn,Viewport:()=>Yn,createHandle:()=>Kn});var on=M(C(),1);var ut=M(C(),1);var Vt=ut.createContext(void 0);function W(t){let e=ut.useContext(Vt);if(e===void 0&&!t)throw new Error(F(33));return e}o(W,"useMenuPositionerContext");var ct=M(C(),1);var Bt=ct.createContext(void 0);function k(t){let e=ct.useContext(Bt);if(e===void 0&&!t)throw new Error(F(36));return e}o(k,"useMenuRootContext");var nn=on.forwardRef(o(function(e,n){let{render:i,className:u,style:a,...d}=e,{store:p}=k(),{arrowRef:r,side:m,align:g,arrowUncentered:R,arrowStyles:h}=W(),I={open:p.useState("open"),side:m,align:g,uncentered:R};return N("div",e,{ref:[r,n],stateAttributesMapping:Bo,state:I,props:{style:h,"aria-hidden":!0,...d}})},"MenuArrow"));var rn=M(C(),1);var dt=M(C(),1);var tr=dt.createContext(void 0);function Pe(t=!0){let e=dt.useContext(tr);if(e===void 0&&!t)throw new Error(F(25));return e}o(Pe,"useContextMenuRootContext");var sn=rn.forwardRef(o(function(e,n){let{render:i,className:u,style:a,...d}=e,{store:p}=k(),r=p.useState("open"),m=p.useState("mounted"),g=p.useState("transitionStatus"),R=p.useState("lastOpenChangeReason"),h=Pe(),x={open:r,transitionStatus:g};return N("div",e,{ref:h?.backdropRef?[n,h.backdropRef]:n,state:x,stateAttributesMapping:at,props:[{role:"presentation",hidden:!m,style:{pointerEvents:R===v.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},d]})},"MenuBackdrop"));var mt=M(C(),1);var pt=M(C(),1);var Lt=pt.createContext(void 0);function an(){let t=pt.useContext(Lt);if(t===void 0)throw new Error(F(30));return t}o(an,"useMenuCheckboxItemContext");var He=M(C(),1);var un=M(C(),1);function lt(t){let{closeOnClick:e,highlighted:n,id:i,nodeId:u,store:a,typingRef:d,itemRef:p,itemMetadata:r}=t,{events:m}=a.useState("floatingTreeRoot"),g=a.useState("open"),R=Pe(!0),h=R!==void 0;return un.useMemo(()=>({id:i,role:"menuitem",tabIndex:g&&n?0:-1,onKeyDown(x){x.key===" "&&d?.current&&x.preventDefault()},onMouseMove(x){u&&m.emit("itemhover",{nodeId:u,target:x.currentTarget})},onClick(x){e&&m.emit("close",{domEvent:x,reason:v.itemPress})},onMouseUp(x){if(R){let I=R.initialCursorPointRef.current;if(R.initialCursorPointRef.current=null,h&&I&&Math.abs(x.clientX-I.x)<=1&&Math.abs(x.clientY-I.y)<=1||h&&!qe.os.mac&&x.button===2)return}p.current&&a.context.allowMouseUpTriggerRef.current&&(!h||x.button===2)&&r.type==="regular-item"&&Ao(p.current,x,{detail:1})}}),[e,n,i,m,u,g,a,d,p,R,h,r])}o(lt,"useMenuItemCommonProps");var Se={type:"regular-item"};function Ne(t){let{closeOnClick:e,disabled:n,highlighted:i,id:u,store:a,typingRef:d=a.context.typingRef,nativeButton:p,itemMetadata:r,nodeId:m}=t,g=He.useRef(null),{getButtonProps:R,buttonRef:h}=Ue({disabled:n,focusableWhenDisabled:!0,native:p,composite:!0}),x=lt({closeOnClick:e,highlighted:i,id:u,nodeId:m,store:a,typingRef:d,itemRef:g,itemMetadata:r}),I=He.useCallback(_=>Me(x,{onMouseEnter(){r.type==="submenu-trigger"&&r.setActive()}},_,R),[x,R,r]),y=Xe(g,h);return He.useMemo(()=>({getItemProps:I,itemRef:y}),[I,y])}o(Ne,"useMenuItem");var Ft=(function(t){return t.checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t})({});var Oe={checked(t){return t?{[Ft.checked]:""}:{[Ft.unchecked]:""}},...oo};var cn=M(me(),1);var dn=mt.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,nativeButton:p=!1,disabled:r=!1,closeOnClick:m=!1,checked:g,defaultChecked:R,onCheckedChange:h,style:x,...I}=e,y=ce({guess:!0,label:d}),_=W(!0),c=te(a),{store:f}=k(),l=f.useState("disabled"),D=r||l,E=f.useState("isActive",y.index),s=f.useState("itemProps"),[V,b]=Ze({controlled:g,default:R??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:H,itemRef:A}=Ne({closeOnClick:m,disabled:D,highlighted:E,id:c,store:f,nativeButton:p,nodeId:_?.context.nodeId,itemMetadata:Se}),P=mt.useMemo(()=>({disabled:D,highlighted:E,checked:V}),[D,E,V]);function L(z){let j=se(v.itemPress,z.nativeEvent,void 0,{preventUnmountOnClose:Le});h?.(!V,j),!j.isCanceled&&b(O=>!O)}o(L,"handleClick");let G=N("div",e,{state:P,stateAttributesMapping:Oe,props:[s,{role:"menuitemcheckbox","aria-checked":V,onClick:L},I,H],ref:[A,n,y.ref]});return(0,cn.jsx)(Lt.Provider,{value:P,children:G})},"MenuCheckboxItem"));var ft=M(C(),1);var pn=ft.forwardRef(o(function(e,n){let{render:i,className:u,style:a,keepMounted:d=!1,...p}=e,r=an(),m=ft.useRef(null),{transitionStatus:g,mounted:R,setMounted:h}=Qe(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||h(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:g};return N("span",e,{state:x,ref:[n,m],stateAttributesMapping:Oe,props:{"aria-hidden":!0,...p},enabled:d||R})},"MenuCheckboxItemIndicator"));var Rt=M(C(),1);var gt=M(C(),1);var Ke=gt.createContext(void 0);function ln(){let t=gt.useContext(Ke);if(t===void 0)throw new Error(F(31));return t}o(ln,"useMenuGroupRootContext");var mn=M(me(),1);var fn=Rt.forwardRef(o(function(e,n){let{render:i,className:u,style:a,...d}=e,[p,r]=Rt.useState(void 0),m=N("div",e,{ref:n,props:{role:"group","aria-labelledby":p,...d}});return(0,mn.jsx)(Ke.Provider,{value:r,children:m})},"MenuGroup"));var gn=M(C(),1);var Rn=gn.forwardRef(o(function(e,n){let{render:i,className:u,style:a,id:d,...p}=e,r=te(d),m=ln();return he(()=>(m(r),()=>{m(g=>g===r?void 0:g)}),[m,r]),N("div",e,{ref:n,props:{id:r,role:"presentation",...p}})},"MenuGroupLabel"));var xn=M(C(),1);var Mn=xn.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,nativeButton:p=!1,disabled:r=!1,closeOnClick:m=!0,style:g,...R}=e,h=ce({guess:!0,label:d}),x=W(!0),I=te(a),{store:y}=k(),_=y.useState("disabled"),c=r||_,f=y.useState("isActive",h.index),l=y.useState("itemProps"),{getItemProps:D,itemRef:E}=Ne({closeOnClick:m,disabled:c,highlighted:f,id:I,store:y,nativeButton:p,nodeId:x?.context.nodeId,itemMetadata:Se});return N("div",e,{state:{disabled:c,highlighted:f},props:[l,R,D],ref:[E,n,h.ref]})},"MenuItem"));var xt=M(C(),1);var hn=xt.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,closeOnClick:p=!1,style:r,...m}=e,g=xt.useRef(null),R=ce({guess:!0,label:d}),x=W(!0)?.context.nodeId,I=te(a),{store:y}=k(),_=y.useState("isActive",R.index),c=y.useState("itemProps"),f=y.context.typingRef,{getButtonProps:l,buttonRef:D}=Ue({native:!1,composite:!0}),E=lt({closeOnClick:p,highlighted:_,id:I,nodeId:x,store:y,typingRef:f,itemRef:g,itemMetadata:Se});function s(b){return Me(E,b,l)}return o(s,"getItemProps"),N("a",e,{state:{highlighted:_},props:[c,m,s],ref:[g,D,n,R.ref]})},"MenuLinkItem"));var Mt=M(C(),1);var bn=M(me(),1);var Cn=Mt.forwardRef(o(function(e,n){let{render:i,className:u,style:a,finalFocus:d,...p}=e,{store:r}=k(),{side:m,align:g}=W(),R=Wo(!0)!=null,h=r.useState("open"),x=r.useState("transitionStatus"),I=r.useState("popupProps"),y=r.useState("mounted"),_=r.useState("instantType"),c=r.useState("activeTriggerElement"),f=r.useState("parent"),l=r.useState("lastOpenChangeReason"),D=r.useState("rootId"),E=r.useState("floatingRootContext"),s=r.useState("floatingTreeRoot"),V=r.useState("closeDelay"),b=r.useState("hoverEnabled"),H=r.useState("disabled"),A=r.useState("openMethod"),P=f.type==="context-menu";Ge({open:h,ref:r.context.popupRef,onComplete(){h&&r.context.onOpenChangeComplete?.(!0)}}),Mt.useEffect(()=>{function O(fe){r.setOpen(!1,se(fe.reason,fe.domEvent))}return o(O,"handleClose"),s.events.on("close",O),()=>{s.events.off("close",O)}},[s.events,r]),ko(E,{enabled:b&&!H&&!P&&f.type!=="menubar",closeDelay:V});let L=r.useStateSetter("popupElement"),G={transitionStatus:x,side:m,align:g,open:h,nested:f.type==="menu",instant:_},z=N("div",e,{state:G,ref:[n,r.context.popupRef,L],stateAttributesMapping:at,props:[I,{onKeyDown(O){R&&$o.has(O.key)&&O.stopPropagation()}},Yo(x),p,{"data-rootownerid":D}]}),j=f.type===void 0||P;return(c||f.type==="menubar"&&l!==v.outsidePress)&&(j=!0),(0,bn.jsx)(co,{context:E,openInteractionType:A,modal:P,disabled:!y,returnFocus:d===void 0?j:d,initialFocus:f.type!=="menu",restoreFocus:!0,externalTree:f.type!=="menubar"?s:void 0,previousFocusableElement:c,nextFocusableElement:f.type===void 0?r.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:f.type===void 0?r.context.beforeContentFocusGuardRef:void 0,children:z})},"MenuPopup"));var In=M(C(),1);var ht=M(C(),1);var Gt=ht.createContext(void 0);function vn(){let t=ht.useContext(Gt);if(t===void 0)throw new Error(F(32));return t}o(vn,"useMenuPortalContext");var Ut=M(me(),1);var En=In.forwardRef(o(function(e,n){let{keepMounted:i=!1,...u}=e,{store:a}=k();return a.useState("mounted")||i?(0,Ut.jsx)(Gt.Provider,{value:i,children:(0,Ut.jsx)(so,{ref:n,...u})}):null},"MenuPortal"));var be=M(C(),1);var je=M(me(),1);var yn=be.forwardRef(o(function(e,n){let{anchor:i,positionMethod:u="absolute",className:a,render:d,side:p,align:r,sideOffset:m=0,alignOffset:g=0,collisionBoundary:R="clipping-ancestors",collisionPadding:h=5,arrowPadding:x=5,sticky:I=!1,disableAnchorTracking:y=!1,collisionAvoidance:_=no,style:c,...f}=e,{store:l}=k(),D=vn(),E=Pe(!0),s=l.useState("parent"),V=l.useState("floatingRootContext"),b=l.useState("floatingTreeRoot"),H=l.useState("mounted"),A=l.useState("open"),P=l.useState("modal"),L=l.useState("openMethod"),G=l.useState("activeTriggerElement"),z=l.useState("transitionStatus"),j=l.useState("positionerElement"),O=l.useState("instantType"),fe=l.useState("adaptiveOrigin"),T=l.useState("lastOpenChangeReason"),X=l.useState("floatingNodeId"),Ee=l.useState("floatingParentNodeId"),ne=V.useState("domReferenceElement"),ge=be.useRef(null),ie=to(j),re=i,Re=m,ve=g,xe=r,de=_;s.type==="context-menu"&&(re=i??s.context?.anchor,xe=xe??"start",!p&&xe!=="center"&&(ve=e.alignOffset??2,Re=e.sideOffset??-5));let q=p,pe=xe;s.type==="menu"?(q=q??"inline-end",pe=pe??"start",de=e.collisionAvoidance??ro):s.type==="menubar"&&(q=q??(s.context.orientation==="vertical"?"inline-end":"bottom"),pe=pe??"start");let Y=s.type==="context-menu",K=Ho({anchor:re,floatingRootContext:V,positionMethod:E?"fixed":u,mounted:H,side:q,sideOffset:Re,align:pe,alignOffset:ve,arrowPadding:Y?0:x,collisionBoundary:R,collisionPadding:h,sticky:I,nodeId:X,keepMounted:D,disableAnchorTracking:y,collisionAvoidance:de,shift:Y?{crossAxis:!("side"in de&&de.side==="flip"),rootBoundary:"layoutViewport"}:void 0,externalTree:b,adaptiveOrigin:fe});be.useEffect(()=>{function B(w){w.open&&(w.parentNodeId===X&&l.set("hoverEnabled",!1),w.nodeId!==X&&w.parentNodeId===l.select("floatingParentNodeId")&&l.setOpen(!1,se(v.siblingOpen)))}return o(B,"onMenuOpenChange"),b.events.on("menuopenchange",B),()=>{b.events.off("menuopenchange",B)}},[l,b.events,X]),be.useEffect(()=>{if(l.select("floatingParentNodeId")==null)return;function B(w){if(w.open||w.nodeId!==l.select("floatingParentNodeId"))return;let Ie=w.reason??v.siblingOpen;l.setOpen(!1,se(Ie))}return o(B,"onParentClose"),b.events.on("menuopenchange",B),()=>{b.events.off("menuopenchange",B)}},[b.events,l]);let ae=ye();be.useEffect(()=>{A||ae.clear()},[A,ae]),be.useEffect(()=>{function B(w){if(!(!A||w.nodeId!==l.select("floatingParentNodeId")))if(w.target&&G&&G!==w.target){let Ie=l.select("closeDelay");Ie>0?ae.isStarted()||ae.start(Ie,()=>{l.setOpen(!1,se(v.siblingOpen))}):l.setOpen(!1,se(v.siblingOpen))}else ae.clear()}return o(B,"onItemHover"),b.events.on("itemhover",B),()=>{b.events.off("itemhover",B)}},[b.events,A,G,l,ae]),be.useEffect(()=>{let B={open:A,nodeId:X,parentNodeId:Ee,reason:l.select("lastOpenChangeReason")};b.events.emit("menuopenchange",B)},[b.events,A,l,X,Ee]),he(()=>{let B=ne,w=ge.current;if(B&&(ge.current=B),w&&B&&B!==w){l.set("instantType",void 0);let Ie=new AbortController;return ie(()=>{l.set("instantType","trigger-change")},Ie.signal),()=>{Ie.abort()}}},[ne,ie,l]);let De={open:A,side:K.side,align:K.align,anchorHidden:K.anchorHidden,nested:s.type==="menu",instant:O},we=s.type==="menubar"&&s.context.modal,le=P&&T!==v.triggerHover;Ko(A&&(we||le),L==="touch",j,G);let Ae=zo(e,De,{styles:K.positionerStyles,transitionStatus:z,props:f,refs:[n,l.useStateSetter("positionerElement")],hidden:!H,inert:!A}),Ve=H&&s.type!=="menu"&&(s.type!=="menubar"&&P&&T!==v.triggerHover||s.type==="menubar"&&s.context.modal),Z=null;return s.type==="menubar"?Z=s.context.contentElement:s.type===void 0&&(Z=G),(0,je.jsxs)(Vt.Provider,{value:K,children:[Ve&&(0,je.jsx)(jo,{ref:s.type==="context-menu"||s.type==="nested-context-menu"?s.context.internalBackdropRef:null,inert:Go(!A),cutout:Z}),(0,je.jsx)(ao,{id:X,children:(0,je.jsx)(Zo,{elementsRef:l.context.itemDomElements,labelsRef:l.context.itemLabels,children:Ae})})]})},"MenuPositioner"));var Te=M(C(),1);var bt=M(C(),1);var Ht=bt.createContext(void 0);function Pn(){let t=bt.useContext(Ht);if(t===void 0)throw new Error(F(34));return t}o(Pn,"useMenuRadioGroupContext");var jt=M(me(),1);var Sn=Te.memo(Te.forwardRef(o(function(e,n){let{render:i,className:u,value:a,defaultValue:d,onValueChange:p,disabled:r=!1,style:m,"aria-labelledby":g,...R}=e,[h,x]=Te.useState(void 0),[I,y]=Ze({controlled:a,default:d,name:"MenuRadioGroup"}),_=Fe((D,E)=>{p?.(D,E),!E.isCanceled&&y(D)}),f=N("div",e,{state:{disabled:r},ref:n,props:{role:"group","aria-labelledby":g??h,"aria-disabled":r||void 0,...R}}),l=Te.useMemo(()=>({value:I,setValue:_,disabled:r}),[I,_,r]);return(0,jt.jsx)(Ke.Provider,{value:x,children:(0,jt.jsx)(Ht.Provider,{value:l,children:f})})},"MenuRadioGroup")));var vt=M(C(),1);var Ct=M(C(),1);var Yt=Ct.createContext(void 0);function Nn(){let t=Ct.useContext(Yt);if(t===void 0)throw new Error(F(35));return t}o(Nn,"useMenuRadioItemContext");var On=M(me(),1);var Tn=vt.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,nativeButton:p=!1,disabled:r=!1,closeOnClick:m=!1,value:g,style:R,...h}=e,x=ce({guess:!0,label:d}),I=W(!0),y=te(a),{store:_}=k(),c=_.useState("isActive",x.index),f=_.useState("itemProps"),{value:l,setValue:D,disabled:E}=Pn(),s=_.useState("disabled"),V=r||E||s,b=l===g,{getItemProps:H,itemRef:A}=Ne({closeOnClick:m,disabled:V,highlighted:c,id:y,store:_,nativeButton:p,nodeId:I?.context.nodeId,itemMetadata:Se}),P=vt.useMemo(()=>({disabled:V,highlighted:c,checked:b}),[V,c,b]);function L(z){let j=se(v.itemPress,z.nativeEvent,void 0,{preventUnmountOnClose:Le});D(g,j)}o(L,"handleClick");let G=N("div",e,{state:P,stateAttributesMapping:Oe,props:[f,{role:"menuitemradio","aria-checked":b,onClick:L},h,H],ref:[A,n,x.ref]});return(0,On.jsx)(Yt.Provider,{value:P,children:G})},"MenuRadioItem"));var It=M(C(),1);var kn=It.forwardRef(o(function(e,n){let{render:i,className:u,style:a,keepMounted:d=!1,...p}=e,r=Nn(),m=It.useRef(null),{transitionStatus:g,mounted:R,setMounted:h}=Qe(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||h(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:g};return N("span",e,{state:x,stateAttributesMapping:Oe,ref:[n,m],props:{"aria-hidden":!0,...p},enabled:d||R})},"MenuRadioItemIndicator"));var U=M(C(),1);var Et=M(C(),1);var or=Et.createContext(null);function yt(t){let e=Et.useContext(or);if(e===null&&!t)throw new Error(F(5));return e}o(yt,"useMenubarContext");var $e=M(C(),1);var wn={...No,disabled:o(t=>t.parent.type==="menubar"&&t.parent.context.disabled||t.disabled,"disabled"),modal:o(t=>(t.parent.type===void 0||t.parent.type==="context-menu")&&(t.modal??!0),"modal"),openMethod:o(t=>t.openMethod,"openMethod"),allowMouseEnter:o(t=>t.allowMouseEnter,"allowMouseEnter"),highlightItemOnHover:o(t=>t.highlightItemOnHover,"highlightItemOnHover"),parent:o(t=>t.parent,"parent"),rootId:o(t=>t.parent.type==="menu"?t.parent.store.select("rootId"):t.parent.type!==void 0?t.parent.context.rootId:t.rootId,"rootId"),activeIndex:o(t=>t.activeIndex,"activeIndex"),isActive:o((t,e)=>t.activeIndex===e,"isActive"),hoverEnabled:o(t=>t.hoverEnabled,"hoverEnabled"),instantType:o(t=>t.instantType,"instantType"),lastOpenChangeReason:o(t=>t.openChangeReason,"lastOpenChangeReason"),floatingTreeRoot:o(t=>t.parent.type==="menu"?t.parent.store.select("floatingTreeRoot"):t.floatingTreeRoot,"floatingTreeRoot"),floatingNodeId:o(t=>t.floatingNodeId,"floatingNodeId"),floatingParentNodeId:o(t=>t.floatingParentNodeId,"floatingParentNodeId"),itemProps:o(t=>t.itemProps,"itemProps"),closeDelay:o(t=>t.closeDelay,"closeDelay"),adaptiveOrigin:o(t=>t.adaptiveOrigin,"adaptiveOrigin"),keyboardEventRelay:o(t=>{if(t.keyboardEventRelay)return t.keyboardEventRelay;if(t.parent.type==="menu")return t.parent.store.select("keyboardEventRelay")},"keyboardEventRelay")},Pt=class extends go{static{o(this,"MenuStore")}constructor(e){super({...An(),...e},Dn(),wn),this.unsubscribeParentListener=this.observe("parent",n=>{if(this.unsubscribeParentListener?.(),n.type==="menu"){let i=n.store.select("rootId"),u=n.store.select("floatingTreeRoot"),a=n.store.select("keyboardEventRelay");this.unsubscribeParentListener=n.store.subscribe(()=>{let d=n.store.select("rootId"),p=n.store.select("floatingTreeRoot"),r=n.store.select("keyboardEventRelay");i===d&&u===p&&a===r||(i=d,u=p,a=r,this.notifyAll())}),this.context.allowMouseUpTriggerRef=n.store.context.allowMouseUpTriggerRef;return}n.type!==void 0&&(this.context.allowMouseUpTriggerRef=n.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,n){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:n})}unsubscribeParentListener=null};function _n(){let t=new Do(Object.freeze(An()),Object.freeze(Dn()),wn);return Object.assign(t,{setOpen:Le})}o(_n,"createNullMenuStore");function Dn(){return{positionerRef:$e.createRef(),popupRef:$e.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:$e.createRef(),beforeContentFocusGuardRef:$e.createRef(),onOpenChangeComplete:void 0,triggerElements:new Po}}o(Dn,"createInitialContext");function An(){return{...So(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new et,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:ue,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0}}o(An,"createInitialState");var St=M(C(),1);var zt=St.createContext(void 0);function Nt(){return St.useContext(zt)}o(Nt,"useMenuSubmenuRootContext");var We=M(me(),1);var Ot=mo(o(function(e){let{children:n,open:i,onOpenChange:u,onOpenChangeComplete:a,defaultOpen:d=!1,disabled:p=!1,modal:r,loopFocus:m=!0,orientation:g="vertical",actionsRef:R,closeParentOnEsc:h=!1,handle:x,triggerId:I,defaultTriggerId:y=null,highlightItemOnHover:_=!0}=e,c=Pe(!0),f=k(!0),l=yt(!0),D=Nt(),E=U.useMemo(()=>D&&f?{type:"menu",store:f.store}:l?{type:"menubar",context:l}:c&&!f?{type:"context-menu",context:c}:{type:void 0},[c,f,l,D]),s=nr({open:d,openProp:i,activeTriggerId:y,triggerIdProp:I,parent:E});s.useControlledProp("openProp",i),s.useControlledProp("triggerIdProp",I),s.useContextCallback("onOpenChangeComplete",a);let V=wt(),b=wt(),H=s.useState("floatingTreeRoot"),A=ot(H),P=tt(),L=s.useState("open"),G=s.useState("activeTriggerElement"),z=s.useState("positionerElement"),j=s.useState("hoverEnabled"),O=s.useState("disabled"),fe=s.useState("lastOpenChangeReason"),T=s.useState("parent"),X=s.useState("activeIndex"),Ee=s.useState("payload"),ne=s.useState("floatingParentNodeId"),ge=U.useRef(null),ie=U.useRef(T.type!=="context-menu"),re=ye(),Re=U.useRef(!0),ve=ye(),xe=ne!=null,{openMethod:de,triggerProps:q}=Fo(L);s.useSyncedValues({disabled:p,highlightItemOnHover:_,modal:T.type===void 0?r:void 0,openMethod:de,rootId:V}),Io(s);let{forceUnmount:pe}=Eo(L,s,()=>{s.set("allowMouseEnter",!1)});he(()=>{c&&!f?s.update({parent:{type:"context-menu",context:c},floatingNodeId:A,floatingParentNodeId:P}):f&&s.update({floatingNodeId:A,floatingParentNodeId:P})},[c,f,A,P,s]),U.useEffect(()=>{if(L||(ge.current=null),T.type==="context-menu"){if(!L){re.clear(),ie.current=!1;return}re.start(500,()=>{ie.current=!0})}},[re,L,T.type]),he(()=>{!L&&!j&&s.set("hoverEnabled",!0)},[L,j,s]);let Y=Fe((S,$)=>{let ee=$.reason;if(!S&&!s.select("open")||L===S&&$.trigger===G&&fe===ee)return;let qn=Co($);if(!S&&$.trigger==null&&($.trigger=G??void 0),u?.(S,$),$.isCanceled)return;s.state.floatingRootContext.dispatchOpenChange(S,$);let kt=$.event;if(S===!1&&kt?.type==="click"&&kt.pointerType==="touch"&&!Re.current)return;S&&ee===v.triggerFocus?(Re.current=!1,ve.start(300,()=>{Re.current=!0})):(Re.current=!0,ve.clear());let Jt=(ee===v.triggerPress||ee===v.itemPress)&&kt.detail===0,Qn=!S&&(ee===v.escapeKey||ee==null),Xt={open:S,openChangeReason:ee};ge.current=$.event,bo(Xt,S,$.trigger,qn()),s.update(Xt),T.type==="menubar"&&(ee===v.triggerFocus||ee===v.focusOut||ee===v.triggerHover||ee===v.listNavigation||ee===v.siblingOpen)?s.set("instantType","group"):Jt||Qn?s.set("instantType",Jt?"click":"dismiss"):s.set("instantType",void 0)}),K=Ro({popupStore:s,floatingId:b,nested:P!=null,onOpenChange:Y}),ae=K.context.events;he(()=>{let S=o(({open:$,eventDetails:ee})=>Y($,ee),"handleSetOpenEvent");return ae.on("setOpen",S),()=>{ae?.off("setOpen",S)}},[ae,Y]);let De=U.useCallback(()=>{s.setOpen(!1,se(v.imperativeAction))},[s]);U.useImperativeHandle(R,()=>({unmount:pe,close:De}),[pe,De]);let we;T.type==="context-menu"&&(we=T.context),U.useImperativeHandle(we?.positionerRef,()=>z,[z]),U.useImperativeHandle(we?.actionsRef,()=>({setOpen:Y}),[Y]);let le=po(K,{enabled:!O,bubbles:{escapeKey:h&&T.type==="menu"},outsidePress(){return T.type!=="context-menu"||ge.current?.type==="contextmenu"?!0:ie.current},externalTree:xe?H:void 0}),Ae=Uo(),Ve=U.useCallback(S=>{s.select("activeIndex")!==S&&s.set("activeIndex",S)},[s]),Z=wo(K,{enabled:!O,listRef:s.context.itemDomElements,activeIndex:X,nested:T.type!==void 0,loopFocus:m,orientation:g,parentOrientation:T.type==="menubar"?T.context.orientation:void 0,rtl:Ae==="rtl",disabledIndices:Ye,onNavigate:Ve,openOnArrowKeyDown:T.type!=="context-menu",externalTree:xe?H:void 0,focusItemOnHover:_}),B=U.useCallback(S=>{s.context.typingRef.current=S},[s]),w=_o(K,{enabled:!O,listRef:s.context.itemLabels,elementsRef:s.context.itemDomElements,activeIndex:X,resetMs:500,onMatch:o(S=>{L&&S!==X&&s.set("activeIndex",S)},"onMatch"),onTyping:B}),Ie=U.useMemo(()=>{let S=Me(w.reference,Z.reference,le.reference,{onMouseMove(){s.set("allowMouseEnter",!0)}},q);return S["aria-haspopup"]="menu",S["aria-expanded"]=L,S},[s,w.reference,Z.reference,le.reference,q,L]),$n=U.useMemo(()=>{let S=Me(Z.trigger,le.trigger,q);return S["aria-haspopup"]="menu",S["aria-expanded"]=!1,S},[Z.trigger,le.trigger,q]),Wn=U.useMemo(()=>Me(xo,{id:b,role:"menu","aria-labelledby":G?.id,onMouseMove(){s.set("allowMouseEnter",!0),T.type==="menu"&&s.set("hoverEnabled",!1)},onClick(){s.select("hoverEnabled")&&s.set("hoverEnabled",!1)},onKeyDown(S){let $=s.select("keyboardEventRelay");$&&!S.isPropagationStopped()&&$(S)}},w.floating,Z.floating,le.floating),[G,b,T.type,s,w.floating,Z.floating,le.floating]),Jn=Z.item??ue;yo(s,{floatingRootContext:K,activeTriggerProps:Ie,inactiveTriggerProps:$n,popupProps:Wn,itemProps:Jn});let Xn=U.useMemo(()=>({store:s,parent:E}),[s,E]),Wt=(0,We.jsxs)(Bt.Provider,{value:Xn,children:[x&&(0,We.jsx)(Mo,{handle:x,store:s}),typeof n=="function"?n({payload:Ee}):n]});return T.type===void 0||T.type==="context-menu"?(0,We.jsx)(uo,{externalTree:H,children:Wt}):Wt},"MenuRoot"));function nr(t){return qt(()=>new Pt(t)).current}o(nr,"useMenuRootStore");var Vn=M(C(),1);var Kt=M(me(),1);function Bn(t){let e=k().store,n=Vn.useMemo(()=>({parentMenu:e}),[e]);return(0,Kt.jsx)(zt.Provider,{value:n,children:(0,Kt.jsx)(Ot,{...t})})}o(Bn,"MenuSubmenuRoot");var J=M(C(),1);var Ln=M(C(),1);function Fn(t={}){let{highlightItemOnHover:e,highlightedIndex:n,onHighlightedIndexChange:i}=it(),{ref:u,index:a}=ce(t),d=n===a,p=Ln.useRef(null),r=Xe(u,p);return{compositeProps:{tabIndex:d?0:-1,onFocus(){i(a)},onMouseMove(){let g=p.current;if(!e||!g)return;let R=g.hasAttribute("disabled")||g.ariaDisabled==="true";!d&&!R&&g.focus()}},compositeRef:r,index:a}}o(Fn,"useCompositeItem");function Gn(t){let{render:e,className:n,style:i,state:u=ue,props:a=Ye,refs:d=Ye,metadata:p,stateAttributesMapping:r,tag:m="div",...g}=t,{compositeProps:R,compositeRef:h}=Fn({metadata:p});return N(m,t,{state:u,ref:[h,...d],props:[R,...a,g],stateAttributesMapping:r})}o(Gn,"CompositeItem");function $t(t){if(Qt(t)&&t.hasAttribute("data-rootownerid"))return t.getAttribute("data-rootownerid");if(!Zt(t))return $t(eo(t))}o($t,"findRootOwnerId");var Tt=M(C(),1);function Un(t){let{enabled:e=!0,mouseDownAction:n,open:i}=t,u=Tt.useRef(!1);return Tt.useMemo(()=>e?{onMouseDown:o(a=>{(n==="open"&&!i||n==="close"&&i)&&(u.current=!0,ze(a.currentTarget).addEventListener("click",()=>{u.current=!1},{once:!0}))},"onMouseDown"),onClick:o(a=>{u.current&&(u.current=!1,a.preventBaseUIHandler())},"onClick")}:ue,[e,n,i])}o(Un,"useMixedToggleClickHandler");var ke=M(me(),1);var Hn=fo(o(function(e,n){let{render:i,className:u,style:a,disabled:d=!1,nativeButton:p=!0,id:r,openOnHover:m,delay:g=100,closeDelay:R=0,handle:h,payload:x,...I}=e,y=k(!0),c=Oo(h)??y?.store;if(!c)throw new Error(F(85));let f=te(r),l=c.useState("isTriggerActive",f),D=c.useState("floatingRootContext"),E=c.useState("isOpenedByTrigger",f),s=c.useState("triggerPopupId",f),V=J.useRef(null),b=sr(),H=it(!0),A=io(),P=J.useMemo(()=>A??new et,[A]),L=ot(P),G=tt(),{registerTrigger:z,isMountedByThisTrigger:j}=vo(f,V,c,{payload:x,closeDelay:R,parent:b,floatingTreeRoot:P,floatingNodeId:L,floatingParentNodeId:G,keyboardEventRelay:H?.relayKeyboardEvent}),O=b.type==="menubar",fe=c.useState("disabled"),T=d||fe||O&&b.context.disabled,{getButtonProps:X,buttonRef:Ee}=Ue({disabled:T,native:p});J.useEffect(()=>{!E&&b.type===void 0&&(c.context.allowMouseUpTriggerRef.current=!1)},[c,E,b.type]);let ne=J.useRef(null),ge=ye(),ie=Fe(B=>{if(!ne.current)return;ge.clear(),c.context.allowMouseUpTriggerRef.current=!1;let w=B.target;_t(ne.current,w)||_t(c.select("positionerElement"),w)||w===ne.current||w!=null&&$t(w)===c.select("rootId")||en(B,ne.current)||P.events.emit("close",{domEvent:B,reason:v.cancelOpen})});J.useEffect(()=>{E&&c.select("lastOpenChangeReason")===v.triggerHover&&ze(ne.current).addEventListener("mouseup",ie,{once:!0})},[E,ie,c]);let re=O&&b.context.hasSubmenuOpen,ve=rt(D,{enabled:(m??re)&&!T&&(!O||re&&!j),handleClose:st({blockPointerEvents:!O}),mouseOnly:!0,move:!1,restMs:b.type===void 0?g:void 0,delay:{close:R},triggerElementRef:V,externalTree:P,isActiveTrigger:l,isClosing:o(()=>c.select("transitionStatus")==="ending","isClosing")}),xe=rr(E,c.select("lastOpenChangeReason")),de=nt(D,{enabled:!T,event:E&&O?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:b.type===void 0?xe:!1}),q=To(D,{enabled:!T&&re}),pe=Un({open:E,enabled:O,mouseDownAction:"open"}),Y=J.useMemo(()=>Me(q.reference,de.reference),[q.reference,de.reference]),K=c.useState("triggerProps",j),{preFocusGuardRef:ae,handlePreFocusGuardFocus:De,handleFocusTargetFocus:we}=Lo(c,V),le={disabled:T,open:E},Ae=[ne,n,Ee,z,V],Ve=[Y,ve??ue,K,{"aria-haspopup":"menu","aria-controls":s,id:f,onMouseDown:o(B=>{if(c.select("open"))return;ge.start(200,()=>{c.context.allowMouseUpTriggerRef.current=!0}),ze(B.currentTarget).addEventListener("mouseup",ie,{once:!0})},"onMouseDown")},O?{role:"menuitem"}:{},pe,I,X],Z=N("button",e,{enabled:!O,stateAttributesMapping:At,state:le,ref:Ae,props:Ve});return O?(0,ke.jsx)(Gn,{tag:"button",render:i,className:u,style:a,state:le,refs:Ae,props:Ve,stateAttributesMapping:At}):E?(0,ke.jsxs)(J.Fragment,{children:[(0,ke.jsx)(Dt,{ref:ae,onFocus:De},`${f}-pre-focus-guard`),(0,ke.jsx)(J.Fragment,{children:Z},f),(0,ke.jsx)(Dt,{ref:c.context.triggerFocusTargetRef,onFocus:we},`${f}-post-focus-guard`)]}):(0,ke.jsx)(J.Fragment,{children:Z},f)},"MenuTrigger"));function rr(t,e){let n=ye(),[i,u]=J.useState(!1);return he(()=>{t&&e===v.triggerHover?(u(!0),n.start(500,()=>{u(!1)})):t||(n.clear(),u(!1))},[t,e,n]),i}o(rr,"useStickIfOpen");function sr(){let t=yt(!0);return J.useMemo(()=>t?{type:"menubar",context:t}:{type:void 0},[t])}o(sr,"useMenuParent");var jn=M(C(),1);var Yn=jn.forwardRef(o(function(e,n){let{render:i,className:u,style:a,children:d,...p}=e,{store:r}=k(),{side:m}=W(),g=r.useState("instantType"),{children:R,state:h}=Xo({store:r,side:m,children:d}),x={activationDirection:h.activationDirection,transitioning:h.transitioning,instant:g};return N("div",e,{state:x,ref:n,props:[p,{children:R}],stateAttributesMapping:Jo})},"MenuViewport"));var Ce=M(C(),1);var ir={"aria-expanded":void 0},zn=Ce.forwardRef(o(function(e,n){let{render:i,className:u,style:a,label:d,id:p,nativeButton:r=!1,openOnHover:m=!0,delay:g=100,closeDelay:R=0,disabled:h=!1,...x}=e,I=Nt();if(!I?.parentMenu)throw new Error(F(37));let y=ce({guess:!0,label:d}),_=W(),{store:c}=k(),f=te(p),l=c.useState("open"),D=c.useState("floatingRootContext"),E=c.useState("floatingTreeRoot"),s=c.useState("triggerPopupId",f),V=ho(f,c),b=Ce.useCallback(Y=>{let K=V(Y);return Y!==null&&c.select("open")&&c.select("activeTriggerId")==null&&c.update({activeTriggerId:f,activeTriggerElement:Y,closeDelay:R}),K},[V,R,c,f]),H=Ce.useRef(null),A=Ce.useCallback(Y=>{H.current=Y,c.set("activeTriggerElement",Y)},[c]);c.useSyncedValue("closeDelay",R);let P=I.parentMenu,L=c.useState("disabled"),G=P.useState("disabled"),z=h||L||G,j=P.useState("itemProps"),O=P.useState("isActive",y.index),fe=Ce.useMemo(()=>({type:"submenu-trigger",setActive(){P.select("highlightItemOnHover")&&P.set("activeIndex",y.index)}}),[P,y.index]),{getItemProps:T,itemRef:X}=Ne({closeOnClick:!1,disabled:z,highlighted:O,id:f,store:c,typingRef:P.context.typingRef,nativeButton:r,itemMetadata:fe,nodeId:_?.context.nodeId}),Ee=c.useState("hoverEnabled"),ne=rt(D,{enabled:Ee&&m&&!z,handleClose:st({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:g,delay:{open:g,close:R},shouldOpen:g>0?()=>P.select("allowMouseEnter"):void 0,triggerElementRef:H,externalTree:E,isClosing:o(()=>c.select("transitionStatus")==="ending","isClosing"),guardStaleOpen:!0}),ie=nt(D,{enabled:!z,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??ue,re=c.useState("triggerProps",!0);delete re.id;let Re={disabled:z,highlighted:O,open:l},ve=c.useState("openMethod"),de=c.useState("lastOpenChangeReason")===v.listNavigation||ve==="keyboard",q=l&&de&&qe.screenReader.voiceOver;return N("div",e,{state:Re,stateAttributesMapping:Vo,props:[ie,ne,re,j,q?ir:void 0,{"aria-controls":s,tabIndex:l||O?0:-1,onBlur(){O&&P.set("activeIndex",null)}},x,T],ref:[n,y.ref,X,b,A]})},"MenuSubmenuTrigger"));var Je=class extends lo{static{o(this,"MenuHandle")}constructor(){super(_n(),"Menu")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}};function Kn(){return new Je}o(Kn,"createMenuHandle");var Q=M(me(),1);function Hc(t){let e=(0,_e.c)(4),n;e[0]!==t?({...n}=t,e[0]=t,e[1]=n):n=e[1];let i;return e[2]!==n?(i=(0,Q.jsx)(oe.Root,{"data-slot":"dropdown-menu",...n}),e[2]=n,e[3]=i):i=e[3],i}o(Hc,"N");function jc(t){let e=(0,_e.c)(4),n;e[0]!==t?({...n}=t,e[0]=t,e[1]=n):n=e[1];let i;return e[2]!==n?(i=(0,Q.jsx)(oe.Trigger,{"data-slot":"dropdown-menu-trigger",...n}),e[2]=n,e[3]=i):i=e[3],i}o(jc,"z");function Yc({align:t="start",alignOffset:e=0,side:n="bottom",sideOffset:i=4,className:u,...a}){return(0,Q.jsx)(oe.Portal,{children:(0,Q.jsx)(oe.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:e,side:n,sideOffset:i,children:(0,Q.jsx)(oe.Popup,{"data-slot":"dropdown-menu-content",className:Be("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",u),...a})})})}o(Yc,"D");function zc(t){let e=(0,_e.c)(4),n;e[0]!==t?({...n}=t,e[0]=t,e[1]=n):n=e[1];let i;return e[2]!==n?(i=(0,Q.jsx)(oe.Group,{"data-slot":"dropdown-menu-group",...n}),e[2]=n,e[3]=i):i=e[3],i}o(zc,"M");function Kc(t){let e=(0,_e.c)(10),n,i,u;e[0]!==t?({className:n,inset:i,...u}=t,e[0]=t,e[1]=n,e[2]=i,e[3]=u):(n=e[1],i=e[2],u=e[3]);let a;e[4]!==n?(a=Be("px-2 py-2 text-xs text-muted-foreground data-inset:ps-7",n),e[4]=n,e[5]=a):a=e[5];let d;return e[6]!==i||e[7]!==u||e[8]!==a?(d=(0,Q.jsx)(oe.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:a,...u}),e[6]=i,e[7]=u,e[8]=a,e[9]=d):d=e[9],d}o(Kc,"y");function $c({className:t,inset:e,variant:n="default",...i}){return(0,Q.jsx)(oe.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":n,className:Be("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",t),...i})}o($c,"I");function Wc(t){let e=(0,_e.c)(15),n,i,u,a,d;e[0]!==t?({className:u,children:i,checked:n,inset:a,...d}=t,e[0]=t,e[1]=n,e[2]=i,e[3]=u,e[4]=a,e[5]=d):(n=e[1],i=e[2],u=e[3],a=e[4],d=e[5]);let p;e[6]!==u?(p=Be("relative flex cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),e[6]=u,e[7]=p):p=e[7];let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,Q.jsx)("span",{className:"pointer-events-none absolute end-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,Q.jsx)(oe.CheckboxItemIndicator,{children:(0,Q.jsx)(Qo,{icon:qo,strokeWidth:2})})}),e[8]=r):r=e[8];let m;return e[9]!==n||e[10]!==i||e[11]!==a||e[12]!==d||e[13]!==p?(m=(0,Q.jsxs)(oe.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item","data-inset":a,className:p,checked:n,...d,children:[r,i]}),e[9]=n,e[10]=i,e[11]=a,e[12]=d,e[13]=p,e[14]=m):m=e[14],m}o(Wc,"_");function Jc(t){let e=(0,_e.c)(8),n,i;e[0]!==t?({className:n,...i}=t,e[0]=t,e[1]=n,e[2]=i):(n=e[1],i=e[2]);let u;e[3]!==n?(u=Be("-mx-1 h-px bg-border",n),e[3]=n,e[4]=u):u=e[4];let a;return e[5]!==i||e[6]!==u?(a=(0,Q.jsx)(oe.Separator,{"data-slot":"dropdown-menu-separator",className:u,...i}),e[5]=i,e[6]=u,e[7]=a):a=e[7],a}o(Jc,"C");export{Hc as a,jc as b,Yc as c,zc as d,Kc as e,$c as f,Wc as g,Jc as h};
1
+ import{a as ce,b as Zo,c as en}from"./chunk-CP4ZFBVW.js";import{a as tn}from"./chunk-CN2AINNY.js";import{a as lo,b as So,d as No,e as Oo,f as Do,g as Lo,h as Jo,i as Xo}from"./chunk-EDHW2EEG.js";import{$ as ko,A as nt,C as po,E as mo,F as fo,H as go,J as Ro,K as xo,N as Mo,O as ho,P as bo,Q as Co,S as vo,T as Io,U as Eo,V as yo,X as Po,Z as To,aa as rt,ba as wo,ca as _o,da as st,ea as Vo,fa as At,ga as Bo,ha as at,ja as Fo,ka as Go,ma as Ho,n as Dt,na as jo,oa as Yo,p as no,pa as zo,q as ro,ra as Ko,s as so,sa as $o,t as et,ta as Wo,u as tt,v as io,w as ot,x as ao,y as uo,z as co}from"./chunk-ZSOLGJFC.js";import{b as Uo}from"./chunk-DUDQV6XJ.js";import{i as qo,k as Qo}from"./chunk-DKSLOJDQ.js";import{B as ye,G as to,H as Ge,J as oo,K as Qe,L as Ze,N as v,O as se,d as wt,e as te,h as qe,o as _t}from"./chunk-AOAJGSYZ.js";import{a as it,b as Ao,c as Ue}from"./chunk-74ASA4WU.js";import{a as he,c as Fe,i as Qt,q as Zt,t as eo,w as ze}from"./chunk-XQS7KSHL.js";import{a as Me,c as F,d as qt,e as Xe,g as Le,h as Ye,i as ue,j as N}from"./chunk-7PIHTTND.js";import{a as o,c as Zn,d as M,e as C,f as er,g as me,i as Be}from"./chunk-R5ZTCHCE.js";var _e=M(er(),1);var oe={};Zn(oe,{Arrow:()=>nn,Backdrop:()=>sn,CheckboxItem:()=>dn,CheckboxItemIndicator:()=>pn,Group:()=>fn,GroupLabel:()=>Rn,Handle:()=>Je,Item:()=>Mn,LinkItem:()=>hn,Popup:()=>Cn,Portal:()=>En,Positioner:()=>yn,RadioGroup:()=>Sn,RadioItem:()=>Tn,RadioItemIndicator:()=>kn,Root:()=>Ot,Separator:()=>tn,SubmenuRoot:()=>Bn,SubmenuTrigger:()=>zn,Trigger:()=>Hn,Viewport:()=>Yn,createHandle:()=>Kn});var on=M(C(),1);var ut=M(C(),1);var Vt=ut.createContext(void 0);function W(t){let e=ut.useContext(Vt);if(e===void 0&&!t)throw new Error(F(33));return e}o(W,"useMenuPositionerContext");var ct=M(C(),1);var Bt=ct.createContext(void 0);function k(t){let e=ct.useContext(Bt);if(e===void 0&&!t)throw new Error(F(36));return e}o(k,"useMenuRootContext");var nn=on.forwardRef(o(function(e,n){let{render:i,className:u,style:a,...d}=e,{store:p}=k(),{arrowRef:r,side:m,align:g,arrowUncentered:R,arrowStyles:h}=W(),I={open:p.useState("open"),side:m,align:g,uncentered:R};return N("div",e,{ref:[r,n],stateAttributesMapping:Bo,state:I,props:{style:h,"aria-hidden":!0,...d}})},"MenuArrow"));var rn=M(C(),1);var dt=M(C(),1);var tr=dt.createContext(void 0);function Pe(t=!0){let e=dt.useContext(tr);if(e===void 0&&!t)throw new Error(F(25));return e}o(Pe,"useContextMenuRootContext");var sn=rn.forwardRef(o(function(e,n){let{render:i,className:u,style:a,...d}=e,{store:p}=k(),r=p.useState("open"),m=p.useState("mounted"),g=p.useState("transitionStatus"),R=p.useState("lastOpenChangeReason"),h=Pe(),x={open:r,transitionStatus:g};return N("div",e,{ref:h?.backdropRef?[n,h.backdropRef]:n,state:x,stateAttributesMapping:at,props:[{role:"presentation",hidden:!m,style:{pointerEvents:R===v.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},d]})},"MenuBackdrop"));var mt=M(C(),1);var pt=M(C(),1);var Lt=pt.createContext(void 0);function an(){let t=pt.useContext(Lt);if(t===void 0)throw new Error(F(30));return t}o(an,"useMenuCheckboxItemContext");var He=M(C(),1);var un=M(C(),1);function lt(t){let{closeOnClick:e,highlighted:n,id:i,nodeId:u,store:a,typingRef:d,itemRef:p,itemMetadata:r}=t,{events:m}=a.useState("floatingTreeRoot"),g=a.useState("open"),R=Pe(!0),h=R!==void 0;return un.useMemo(()=>({id:i,role:"menuitem",tabIndex:g&&n?0:-1,onKeyDown(x){x.key===" "&&d?.current&&x.preventDefault()},onMouseMove(x){u&&m.emit("itemhover",{nodeId:u,target:x.currentTarget})},onClick(x){e&&m.emit("close",{domEvent:x,reason:v.itemPress})},onMouseUp(x){if(R){let I=R.initialCursorPointRef.current;if(R.initialCursorPointRef.current=null,h&&I&&Math.abs(x.clientX-I.x)<=1&&Math.abs(x.clientY-I.y)<=1||h&&!qe.os.mac&&x.button===2)return}p.current&&a.context.allowMouseUpTriggerRef.current&&(!h||x.button===2)&&r.type==="regular-item"&&Ao(p.current,x,{detail:1})}}),[e,n,i,m,u,g,a,d,p,R,h,r])}o(lt,"useMenuItemCommonProps");var Se={type:"regular-item"};function Ne(t){let{closeOnClick:e,disabled:n,highlighted:i,id:u,store:a,typingRef:d=a.context.typingRef,nativeButton:p,itemMetadata:r,nodeId:m}=t,g=He.useRef(null),{getButtonProps:R,buttonRef:h}=Ue({disabled:n,focusableWhenDisabled:!0,native:p,composite:!0}),x=lt({closeOnClick:e,highlighted:i,id:u,nodeId:m,store:a,typingRef:d,itemRef:g,itemMetadata:r}),I=He.useCallback(_=>Me(x,{onMouseEnter(){r.type==="submenu-trigger"&&r.setActive()}},_,R),[x,R,r]),y=Xe(g,h);return He.useMemo(()=>({getItemProps:I,itemRef:y}),[I,y])}o(Ne,"useMenuItem");var Ft=(function(t){return t.checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t})({});var Oe={checked(t){return t?{[Ft.checked]:""}:{[Ft.unchecked]:""}},...oo};var cn=M(me(),1);var dn=mt.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,nativeButton:p=!1,disabled:r=!1,closeOnClick:m=!1,checked:g,defaultChecked:R,onCheckedChange:h,style:x,...I}=e,y=ce({guess:!0,label:d}),_=W(!0),c=te(a),{store:f}=k(),l=f.useState("disabled"),D=r||l,E=f.useState("isActive",y.index),s=f.useState("itemProps"),[V,b]=Ze({controlled:g,default:R??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:H,itemRef:A}=Ne({closeOnClick:m,disabled:D,highlighted:E,id:c,store:f,nativeButton:p,nodeId:_?.context.nodeId,itemMetadata:Se}),P=mt.useMemo(()=>({disabled:D,highlighted:E,checked:V}),[D,E,V]);function L(z){let j=se(v.itemPress,z.nativeEvent,void 0,{preventUnmountOnClose:Le});h?.(!V,j),!j.isCanceled&&b(O=>!O)}o(L,"handleClick");let G=N("div",e,{state:P,stateAttributesMapping:Oe,props:[s,{role:"menuitemcheckbox","aria-checked":V,onClick:L},I,H],ref:[A,n,y.ref]});return(0,cn.jsx)(Lt.Provider,{value:P,children:G})},"MenuCheckboxItem"));var ft=M(C(),1);var pn=ft.forwardRef(o(function(e,n){let{render:i,className:u,style:a,keepMounted:d=!1,...p}=e,r=an(),m=ft.useRef(null),{transitionStatus:g,mounted:R,setMounted:h}=Qe(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||h(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:g};return N("span",e,{state:x,ref:[n,m],stateAttributesMapping:Oe,props:{"aria-hidden":!0,...p},enabled:d||R})},"MenuCheckboxItemIndicator"));var Rt=M(C(),1);var gt=M(C(),1);var Ke=gt.createContext(void 0);function ln(){let t=gt.useContext(Ke);if(t===void 0)throw new Error(F(31));return t}o(ln,"useMenuGroupRootContext");var mn=M(me(),1);var fn=Rt.forwardRef(o(function(e,n){let{render:i,className:u,style:a,...d}=e,[p,r]=Rt.useState(void 0),m=N("div",e,{ref:n,props:{role:"group","aria-labelledby":p,...d}});return(0,mn.jsx)(Ke.Provider,{value:r,children:m})},"MenuGroup"));var gn=M(C(),1);var Rn=gn.forwardRef(o(function(e,n){let{render:i,className:u,style:a,id:d,...p}=e,r=te(d),m=ln();return he(()=>(m(r),()=>{m(g=>g===r?void 0:g)}),[m,r]),N("div",e,{ref:n,props:{id:r,role:"presentation",...p}})},"MenuGroupLabel"));var xn=M(C(),1);var Mn=xn.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,nativeButton:p=!1,disabled:r=!1,closeOnClick:m=!0,style:g,...R}=e,h=ce({guess:!0,label:d}),x=W(!0),I=te(a),{store:y}=k(),_=y.useState("disabled"),c=r||_,f=y.useState("isActive",h.index),l=y.useState("itemProps"),{getItemProps:D,itemRef:E}=Ne({closeOnClick:m,disabled:c,highlighted:f,id:I,store:y,nativeButton:p,nodeId:x?.context.nodeId,itemMetadata:Se});return N("div",e,{state:{disabled:c,highlighted:f},props:[l,R,D],ref:[E,n,h.ref]})},"MenuItem"));var xt=M(C(),1);var hn=xt.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,closeOnClick:p=!1,style:r,...m}=e,g=xt.useRef(null),R=ce({guess:!0,label:d}),x=W(!0)?.context.nodeId,I=te(a),{store:y}=k(),_=y.useState("isActive",R.index),c=y.useState("itemProps"),f=y.context.typingRef,{getButtonProps:l,buttonRef:D}=Ue({native:!1,composite:!0}),E=lt({closeOnClick:p,highlighted:_,id:I,nodeId:x,store:y,typingRef:f,itemRef:g,itemMetadata:Se});function s(b){return Me(E,b,l)}return o(s,"getItemProps"),N("a",e,{state:{highlighted:_},props:[c,m,s],ref:[g,D,n,R.ref]})},"MenuLinkItem"));var Mt=M(C(),1);var bn=M(me(),1);var Cn=Mt.forwardRef(o(function(e,n){let{render:i,className:u,style:a,finalFocus:d,...p}=e,{store:r}=k(),{side:m,align:g}=W(),R=Wo(!0)!=null,h=r.useState("open"),x=r.useState("transitionStatus"),I=r.useState("popupProps"),y=r.useState("mounted"),_=r.useState("instantType"),c=r.useState("activeTriggerElement"),f=r.useState("parent"),l=r.useState("lastOpenChangeReason"),D=r.useState("rootId"),E=r.useState("floatingRootContext"),s=r.useState("floatingTreeRoot"),V=r.useState("closeDelay"),b=r.useState("hoverEnabled"),H=r.useState("disabled"),A=r.useState("openMethod"),P=f.type==="context-menu";Ge({open:h,ref:r.context.popupRef,onComplete(){h&&r.context.onOpenChangeComplete?.(!0)}}),Mt.useEffect(()=>{function O(fe){r.setOpen(!1,se(fe.reason,fe.domEvent))}return o(O,"handleClose"),s.events.on("close",O),()=>{s.events.off("close",O)}},[s.events,r]),ko(E,{enabled:b&&!H&&!P&&f.type!=="menubar",closeDelay:V});let L=r.useStateSetter("popupElement"),G={transitionStatus:x,side:m,align:g,open:h,nested:f.type==="menu",instant:_},z=N("div",e,{state:G,ref:[n,r.context.popupRef,L],stateAttributesMapping:at,props:[I,{onKeyDown(O){R&&$o.has(O.key)&&O.stopPropagation()}},Yo(x),p,{"data-rootownerid":D}]}),j=f.type===void 0||P;return(c||f.type==="menubar"&&l!==v.outsidePress)&&(j=!0),(0,bn.jsx)(co,{context:E,openInteractionType:A,modal:P,disabled:!y,returnFocus:d===void 0?j:d,initialFocus:f.type!=="menu",restoreFocus:!0,externalTree:f.type!=="menubar"?s:void 0,previousFocusableElement:c,nextFocusableElement:f.type===void 0?r.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:f.type===void 0?r.context.beforeContentFocusGuardRef:void 0,children:z})},"MenuPopup"));var In=M(C(),1);var ht=M(C(),1);var Gt=ht.createContext(void 0);function vn(){let t=ht.useContext(Gt);if(t===void 0)throw new Error(F(32));return t}o(vn,"useMenuPortalContext");var Ut=M(me(),1);var En=In.forwardRef(o(function(e,n){let{keepMounted:i=!1,...u}=e,{store:a}=k();return a.useState("mounted")||i?(0,Ut.jsx)(Gt.Provider,{value:i,children:(0,Ut.jsx)(so,{ref:n,...u})}):null},"MenuPortal"));var be=M(C(),1);var je=M(me(),1);var yn=be.forwardRef(o(function(e,n){let{anchor:i,positionMethod:u="absolute",className:a,render:d,side:p,align:r,sideOffset:m=0,alignOffset:g=0,collisionBoundary:R="clipping-ancestors",collisionPadding:h=5,arrowPadding:x=5,sticky:I=!1,disableAnchorTracking:y=!1,collisionAvoidance:_=no,style:c,...f}=e,{store:l}=k(),D=vn(),E=Pe(!0),s=l.useState("parent"),V=l.useState("floatingRootContext"),b=l.useState("floatingTreeRoot"),H=l.useState("mounted"),A=l.useState("open"),P=l.useState("modal"),L=l.useState("openMethod"),G=l.useState("activeTriggerElement"),z=l.useState("transitionStatus"),j=l.useState("positionerElement"),O=l.useState("instantType"),fe=l.useState("adaptiveOrigin"),T=l.useState("lastOpenChangeReason"),X=l.useState("floatingNodeId"),Ee=l.useState("floatingParentNodeId"),ne=V.useState("domReferenceElement"),ge=be.useRef(null),ie=to(j),re=i,Re=m,ve=g,xe=r,de=_;s.type==="context-menu"&&(re=i??s.context?.anchor,xe=xe??"start",!p&&xe!=="center"&&(ve=e.alignOffset??2,Re=e.sideOffset??-5));let q=p,pe=xe;s.type==="menu"?(q=q??"inline-end",pe=pe??"start",de=e.collisionAvoidance??ro):s.type==="menubar"&&(q=q??(s.context.orientation==="vertical"?"inline-end":"bottom"),pe=pe??"start");let Y=s.type==="context-menu",K=Ho({anchor:re,floatingRootContext:V,positionMethod:E?"fixed":u,mounted:H,side:q,sideOffset:Re,align:pe,alignOffset:ve,arrowPadding:Y?0:x,collisionBoundary:R,collisionPadding:h,sticky:I,nodeId:X,keepMounted:D,disableAnchorTracking:y,collisionAvoidance:de,shift:Y?{crossAxis:!("side"in de&&de.side==="flip"),rootBoundary:"layoutViewport"}:void 0,externalTree:b,adaptiveOrigin:fe});be.useEffect(()=>{function B(w){w.open&&(w.parentNodeId===X&&l.set("hoverEnabled",!1),w.nodeId!==X&&w.parentNodeId===l.select("floatingParentNodeId")&&l.setOpen(!1,se(v.siblingOpen)))}return o(B,"onMenuOpenChange"),b.events.on("menuopenchange",B),()=>{b.events.off("menuopenchange",B)}},[l,b.events,X]),be.useEffect(()=>{if(l.select("floatingParentNodeId")==null)return;function B(w){if(w.open||w.nodeId!==l.select("floatingParentNodeId"))return;let Ie=w.reason??v.siblingOpen;l.setOpen(!1,se(Ie))}return o(B,"onParentClose"),b.events.on("menuopenchange",B),()=>{b.events.off("menuopenchange",B)}},[b.events,l]);let ae=ye();be.useEffect(()=>{A||ae.clear()},[A,ae]),be.useEffect(()=>{function B(w){if(!(!A||w.nodeId!==l.select("floatingParentNodeId")))if(w.target&&G&&G!==w.target){let Ie=l.select("closeDelay");Ie>0?ae.isStarted()||ae.start(Ie,()=>{l.setOpen(!1,se(v.siblingOpen))}):l.setOpen(!1,se(v.siblingOpen))}else ae.clear()}return o(B,"onItemHover"),b.events.on("itemhover",B),()=>{b.events.off("itemhover",B)}},[b.events,A,G,l,ae]),be.useEffect(()=>{let B={open:A,nodeId:X,parentNodeId:Ee,reason:l.select("lastOpenChangeReason")};b.events.emit("menuopenchange",B)},[b.events,A,l,X,Ee]),he(()=>{let B=ne,w=ge.current;if(B&&(ge.current=B),w&&B&&B!==w){l.set("instantType",void 0);let Ie=new AbortController;return ie(()=>{l.set("instantType","trigger-change")},Ie.signal),()=>{Ie.abort()}}},[ne,ie,l]);let De={open:A,side:K.side,align:K.align,anchorHidden:K.anchorHidden,nested:s.type==="menu",instant:O},we=s.type==="menubar"&&s.context.modal,le=P&&T!==v.triggerHover;Ko(A&&(we||le),L==="touch",j,G);let Ae=zo(e,De,{styles:K.positionerStyles,transitionStatus:z,props:f,refs:[n,l.useStateSetter("positionerElement")],hidden:!H,inert:!A}),Ve=H&&s.type!=="menu"&&(s.type!=="menubar"&&P&&T!==v.triggerHover||s.type==="menubar"&&s.context.modal),Z=null;return s.type==="menubar"?Z=s.context.contentElement:s.type===void 0&&(Z=G),(0,je.jsxs)(Vt.Provider,{value:K,children:[Ve&&(0,je.jsx)(jo,{ref:s.type==="context-menu"||s.type==="nested-context-menu"?s.context.internalBackdropRef:null,inert:Go(!A),cutout:Z}),(0,je.jsx)(ao,{id:X,children:(0,je.jsx)(Zo,{elementsRef:l.context.itemDomElements,labelsRef:l.context.itemLabels,children:Ae})})]})},"MenuPositioner"));var Te=M(C(),1);var bt=M(C(),1);var Ht=bt.createContext(void 0);function Pn(){let t=bt.useContext(Ht);if(t===void 0)throw new Error(F(34));return t}o(Pn,"useMenuRadioGroupContext");var jt=M(me(),1);var Sn=Te.memo(Te.forwardRef(o(function(e,n){let{render:i,className:u,value:a,defaultValue:d,onValueChange:p,disabled:r=!1,style:m,"aria-labelledby":g,...R}=e,[h,x]=Te.useState(void 0),[I,y]=Ze({controlled:a,default:d,name:"MenuRadioGroup"}),_=Fe((D,E)=>{p?.(D,E),!E.isCanceled&&y(D)}),f=N("div",e,{state:{disabled:r},ref:n,props:{role:"group","aria-labelledby":g??h,"aria-disabled":r||void 0,...R}}),l=Te.useMemo(()=>({value:I,setValue:_,disabled:r}),[I,_,r]);return(0,jt.jsx)(Ke.Provider,{value:x,children:(0,jt.jsx)(Ht.Provider,{value:l,children:f})})},"MenuRadioGroup")));var vt=M(C(),1);var Ct=M(C(),1);var Yt=Ct.createContext(void 0);function Nn(){let t=Ct.useContext(Yt);if(t===void 0)throw new Error(F(35));return t}o(Nn,"useMenuRadioItemContext");var On=M(me(),1);var Tn=vt.forwardRef(o(function(e,n){let{render:i,className:u,id:a,label:d,nativeButton:p=!1,disabled:r=!1,closeOnClick:m=!1,value:g,style:R,...h}=e,x=ce({guess:!0,label:d}),I=W(!0),y=te(a),{store:_}=k(),c=_.useState("isActive",x.index),f=_.useState("itemProps"),{value:l,setValue:D,disabled:E}=Pn(),s=_.useState("disabled"),V=r||E||s,b=l===g,{getItemProps:H,itemRef:A}=Ne({closeOnClick:m,disabled:V,highlighted:c,id:y,store:_,nativeButton:p,nodeId:I?.context.nodeId,itemMetadata:Se}),P=vt.useMemo(()=>({disabled:V,highlighted:c,checked:b}),[V,c,b]);function L(z){let j=se(v.itemPress,z.nativeEvent,void 0,{preventUnmountOnClose:Le});D(g,j)}o(L,"handleClick");let G=N("div",e,{state:P,stateAttributesMapping:Oe,props:[f,{role:"menuitemradio","aria-checked":b,onClick:L},h,H],ref:[A,n,x.ref]});return(0,On.jsx)(Yt.Provider,{value:P,children:G})},"MenuRadioItem"));var It=M(C(),1);var kn=It.forwardRef(o(function(e,n){let{render:i,className:u,style:a,keepMounted:d=!1,...p}=e,r=Nn(),m=It.useRef(null),{transitionStatus:g,mounted:R,setMounted:h}=Qe(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||h(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:g};return N("span",e,{state:x,stateAttributesMapping:Oe,ref:[n,m],props:{"aria-hidden":!0,...p},enabled:d||R})},"MenuRadioItemIndicator"));var U=M(C(),1);var Et=M(C(),1);var or=Et.createContext(null);function yt(t){let e=Et.useContext(or);if(e===null&&!t)throw new Error(F(5));return e}o(yt,"useMenubarContext");var $e=M(C(),1);var wn={...No,disabled:o(t=>t.parent.type==="menubar"&&t.parent.context.disabled||t.disabled,"disabled"),modal:o(t=>(t.parent.type===void 0||t.parent.type==="context-menu")&&(t.modal??!0),"modal"),openMethod:o(t=>t.openMethod,"openMethod"),allowMouseEnter:o(t=>t.allowMouseEnter,"allowMouseEnter"),highlightItemOnHover:o(t=>t.highlightItemOnHover,"highlightItemOnHover"),parent:o(t=>t.parent,"parent"),rootId:o(t=>t.parent.type==="menu"?t.parent.store.select("rootId"):t.parent.type!==void 0?t.parent.context.rootId:t.rootId,"rootId"),activeIndex:o(t=>t.activeIndex,"activeIndex"),isActive:o((t,e)=>t.activeIndex===e,"isActive"),hoverEnabled:o(t=>t.hoverEnabled,"hoverEnabled"),instantType:o(t=>t.instantType,"instantType"),lastOpenChangeReason:o(t=>t.openChangeReason,"lastOpenChangeReason"),floatingTreeRoot:o(t=>t.parent.type==="menu"?t.parent.store.select("floatingTreeRoot"):t.floatingTreeRoot,"floatingTreeRoot"),floatingNodeId:o(t=>t.floatingNodeId,"floatingNodeId"),floatingParentNodeId:o(t=>t.floatingParentNodeId,"floatingParentNodeId"),itemProps:o(t=>t.itemProps,"itemProps"),closeDelay:o(t=>t.closeDelay,"closeDelay"),adaptiveOrigin:o(t=>t.adaptiveOrigin,"adaptiveOrigin"),keyboardEventRelay:o(t=>{if(t.keyboardEventRelay)return t.keyboardEventRelay;if(t.parent.type==="menu")return t.parent.store.select("keyboardEventRelay")},"keyboardEventRelay")},Pt=class extends go{static{o(this,"MenuStore")}constructor(e){super({...An(),...e},Dn(),wn),this.unsubscribeParentListener=this.observe("parent",n=>{if(this.unsubscribeParentListener?.(),n.type==="menu"){let i=n.store.select("rootId"),u=n.store.select("floatingTreeRoot"),a=n.store.select("keyboardEventRelay");this.unsubscribeParentListener=n.store.subscribe(()=>{let d=n.store.select("rootId"),p=n.store.select("floatingTreeRoot"),r=n.store.select("keyboardEventRelay");i===d&&u===p&&a===r||(i=d,u=p,a=r,this.notifyAll())}),this.context.allowMouseUpTriggerRef=n.store.context.allowMouseUpTriggerRef;return}n.type!==void 0&&(this.context.allowMouseUpTriggerRef=n.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,n){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:n})}unsubscribeParentListener=null};function _n(){let t=new Do(Object.freeze(An()),Object.freeze(Dn()),wn);return Object.assign(t,{setOpen:Le})}o(_n,"createNullMenuStore");function Dn(){return{positionerRef:$e.createRef(),popupRef:$e.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:$e.createRef(),beforeContentFocusGuardRef:$e.createRef(),onOpenChangeComplete:void 0,triggerElements:new Po}}o(Dn,"createInitialContext");function An(){return{...So(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new et,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:ue,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0}}o(An,"createInitialState");var St=M(C(),1);var zt=St.createContext(void 0);function Nt(){return St.useContext(zt)}o(Nt,"useMenuSubmenuRootContext");var We=M(me(),1);var Ot=mo(o(function(e){let{children:n,open:i,onOpenChange:u,onOpenChangeComplete:a,defaultOpen:d=!1,disabled:p=!1,modal:r,loopFocus:m=!0,orientation:g="vertical",actionsRef:R,closeParentOnEsc:h=!1,handle:x,triggerId:I,defaultTriggerId:y=null,highlightItemOnHover:_=!0}=e,c=Pe(!0),f=k(!0),l=yt(!0),D=Nt(),E=U.useMemo(()=>D&&f?{type:"menu",store:f.store}:l?{type:"menubar",context:l}:c&&!f?{type:"context-menu",context:c}:{type:void 0},[c,f,l,D]),s=nr({open:d,openProp:i,activeTriggerId:y,triggerIdProp:I,parent:E});s.useControlledProp("openProp",i),s.useControlledProp("triggerIdProp",I),s.useContextCallback("onOpenChangeComplete",a);let V=wt(),b=wt(),H=s.useState("floatingTreeRoot"),A=ot(H),P=tt(),L=s.useState("open"),G=s.useState("activeTriggerElement"),z=s.useState("positionerElement"),j=s.useState("hoverEnabled"),O=s.useState("disabled"),fe=s.useState("lastOpenChangeReason"),T=s.useState("parent"),X=s.useState("activeIndex"),Ee=s.useState("payload"),ne=s.useState("floatingParentNodeId"),ge=U.useRef(null),ie=U.useRef(T.type!=="context-menu"),re=ye(),Re=U.useRef(!0),ve=ye(),xe=ne!=null,{openMethod:de,triggerProps:q}=Fo(L);s.useSyncedValues({disabled:p,highlightItemOnHover:_,modal:T.type===void 0?r:void 0,openMethod:de,rootId:V}),Io(s);let{forceUnmount:pe}=Eo(L,s,()=>{s.set("allowMouseEnter",!1)});he(()=>{c&&!f?s.update({parent:{type:"context-menu",context:c},floatingNodeId:A,floatingParentNodeId:P}):f&&s.update({floatingNodeId:A,floatingParentNodeId:P})},[c,f,A,P,s]),U.useEffect(()=>{if(L||(ge.current=null),T.type==="context-menu"){if(!L){re.clear(),ie.current=!1;return}re.start(500,()=>{ie.current=!0})}},[re,L,T.type]),he(()=>{!L&&!j&&s.set("hoverEnabled",!0)},[L,j,s]);let Y=Fe((S,$)=>{let ee=$.reason;if(!S&&!s.select("open")||L===S&&$.trigger===G&&fe===ee)return;let qn=Co($);if(!S&&$.trigger==null&&($.trigger=G??void 0),u?.(S,$),$.isCanceled)return;s.state.floatingRootContext.dispatchOpenChange(S,$);let kt=$.event;if(S===!1&&kt?.type==="click"&&kt.pointerType==="touch"&&!Re.current)return;S&&ee===v.triggerFocus?(Re.current=!1,ve.start(300,()=>{Re.current=!0})):(Re.current=!0,ve.clear());let Jt=(ee===v.triggerPress||ee===v.itemPress)&&kt.detail===0,Qn=!S&&(ee===v.escapeKey||ee==null),Xt={open:S,openChangeReason:ee};ge.current=$.event,bo(Xt,S,$.trigger,qn()),s.update(Xt),T.type==="menubar"&&(ee===v.triggerFocus||ee===v.focusOut||ee===v.triggerHover||ee===v.listNavigation||ee===v.siblingOpen)?s.set("instantType","group"):Jt||Qn?s.set("instantType",Jt?"click":"dismiss"):s.set("instantType",void 0)}),K=Ro({popupStore:s,floatingId:b,nested:P!=null,onOpenChange:Y}),ae=K.context.events;he(()=>{let S=o(({open:$,eventDetails:ee})=>Y($,ee),"handleSetOpenEvent");return ae.on("setOpen",S),()=>{ae?.off("setOpen",S)}},[ae,Y]);let De=U.useCallback(()=>{s.setOpen(!1,se(v.imperativeAction))},[s]);U.useImperativeHandle(R,()=>({unmount:pe,close:De}),[pe,De]);let we;T.type==="context-menu"&&(we=T.context),U.useImperativeHandle(we?.positionerRef,()=>z,[z]),U.useImperativeHandle(we?.actionsRef,()=>({setOpen:Y}),[Y]);let le=po(K,{enabled:!O,bubbles:{escapeKey:h&&T.type==="menu"},outsidePress(){return T.type!=="context-menu"||ge.current?.type==="contextmenu"?!0:ie.current},externalTree:xe?H:void 0}),Ae=Uo(),Ve=U.useCallback(S=>{s.select("activeIndex")!==S&&s.set("activeIndex",S)},[s]),Z=wo(K,{enabled:!O,listRef:s.context.itemDomElements,activeIndex:X,nested:T.type!==void 0,loopFocus:m,orientation:g,parentOrientation:T.type==="menubar"?T.context.orientation:void 0,rtl:Ae==="rtl",disabledIndices:Ye,onNavigate:Ve,openOnArrowKeyDown:T.type!=="context-menu",externalTree:xe?H:void 0,focusItemOnHover:_}),B=U.useCallback(S=>{s.context.typingRef.current=S},[s]),w=_o(K,{enabled:!O,listRef:s.context.itemLabels,elementsRef:s.context.itemDomElements,activeIndex:X,resetMs:500,onMatch:o(S=>{L&&S!==X&&s.set("activeIndex",S)},"onMatch"),onTyping:B}),Ie=U.useMemo(()=>{let S=Me(w.reference,Z.reference,le.reference,{onMouseMove(){s.set("allowMouseEnter",!0)}},q);return S["aria-haspopup"]="menu",S["aria-expanded"]=L,S},[s,w.reference,Z.reference,le.reference,q,L]),$n=U.useMemo(()=>{let S=Me(Z.trigger,le.trigger,q);return S["aria-haspopup"]="menu",S["aria-expanded"]=!1,S},[Z.trigger,le.trigger,q]),Wn=U.useMemo(()=>Me(xo,{id:b,role:"menu","aria-labelledby":G?.id,onMouseMove(){s.set("allowMouseEnter",!0),T.type==="menu"&&s.set("hoverEnabled",!1)},onClick(){s.select("hoverEnabled")&&s.set("hoverEnabled",!1)},onKeyDown(S){let $=s.select("keyboardEventRelay");$&&!S.isPropagationStopped()&&$(S)}},w.floating,Z.floating,le.floating),[G,b,T.type,s,w.floating,Z.floating,le.floating]),Jn=Z.item??ue;yo(s,{floatingRootContext:K,activeTriggerProps:Ie,inactiveTriggerProps:$n,popupProps:Wn,itemProps:Jn});let Xn=U.useMemo(()=>({store:s,parent:E}),[s,E]),Wt=(0,We.jsxs)(Bt.Provider,{value:Xn,children:[x&&(0,We.jsx)(Mo,{handle:x,store:s}),typeof n=="function"?n({payload:Ee}):n]});return T.type===void 0||T.type==="context-menu"?(0,We.jsx)(uo,{externalTree:H,children:Wt}):Wt},"MenuRoot"));function nr(t){return qt(()=>new Pt(t)).current}o(nr,"useMenuRootStore");var Vn=M(C(),1);var Kt=M(me(),1);function Bn(t){let e=k().store,n=Vn.useMemo(()=>({parentMenu:e}),[e]);return(0,Kt.jsx)(zt.Provider,{value:n,children:(0,Kt.jsx)(Ot,{...t})})}o(Bn,"MenuSubmenuRoot");var J=M(C(),1);var Ln=M(C(),1);function Fn(t={}){let{highlightItemOnHover:e,highlightedIndex:n,onHighlightedIndexChange:i}=it(),{ref:u,index:a}=ce(t),d=n===a,p=Ln.useRef(null),r=Xe(u,p);return{compositeProps:{tabIndex:d?0:-1,onFocus(){i(a)},onMouseMove(){let g=p.current;if(!e||!g)return;let R=g.hasAttribute("disabled")||g.ariaDisabled==="true";!d&&!R&&g.focus()}},compositeRef:r,index:a}}o(Fn,"useCompositeItem");function Gn(t){let{render:e,className:n,style:i,state:u=ue,props:a=Ye,refs:d=Ye,metadata:p,stateAttributesMapping:r,tag:m="div",...g}=t,{compositeProps:R,compositeRef:h}=Fn({metadata:p});return N(m,t,{state:u,ref:[h,...d],props:[R,...a,g],stateAttributesMapping:r})}o(Gn,"CompositeItem");function $t(t){if(Qt(t)&&t.hasAttribute("data-rootownerid"))return t.getAttribute("data-rootownerid");if(!Zt(t))return $t(eo(t))}o($t,"findRootOwnerId");var Tt=M(C(),1);function Un(t){let{enabled:e=!0,mouseDownAction:n,open:i}=t,u=Tt.useRef(!1);return Tt.useMemo(()=>e?{onMouseDown:o(a=>{(n==="open"&&!i||n==="close"&&i)&&(u.current=!0,ze(a.currentTarget).addEventListener("click",()=>{u.current=!1},{once:!0}))},"onMouseDown"),onClick:o(a=>{u.current&&(u.current=!1,a.preventBaseUIHandler())},"onClick")}:ue,[e,n,i])}o(Un,"useMixedToggleClickHandler");var ke=M(me(),1);var Hn=fo(o(function(e,n){let{render:i,className:u,style:a,disabled:d=!1,nativeButton:p=!0,id:r,openOnHover:m,delay:g=100,closeDelay:R=0,handle:h,payload:x,...I}=e,y=k(!0),c=Oo(h)??y?.store;if(!c)throw new Error(F(85));let f=te(r),l=c.useState("isTriggerActive",f),D=c.useState("floatingRootContext"),E=c.useState("isOpenedByTrigger",f),s=c.useState("triggerPopupId",f),V=J.useRef(null),b=sr(),H=it(!0),A=io(),P=J.useMemo(()=>A??new et,[A]),L=ot(P),G=tt(),{registerTrigger:z,isMountedByThisTrigger:j}=vo(f,V,c,{payload:x,closeDelay:R,parent:b,floatingTreeRoot:P,floatingNodeId:L,floatingParentNodeId:G,keyboardEventRelay:H?.relayKeyboardEvent}),O=b.type==="menubar",fe=c.useState("disabled"),T=d||fe||O&&b.context.disabled,{getButtonProps:X,buttonRef:Ee}=Ue({disabled:T,native:p});J.useEffect(()=>{!E&&b.type===void 0&&(c.context.allowMouseUpTriggerRef.current=!1)},[c,E,b.type]);let ne=J.useRef(null),ge=ye(),ie=Fe(B=>{if(!ne.current)return;ge.clear(),c.context.allowMouseUpTriggerRef.current=!1;let w=B.target;_t(ne.current,w)||_t(c.select("positionerElement"),w)||w===ne.current||w!=null&&$t(w)===c.select("rootId")||en(B,ne.current)||P.events.emit("close",{domEvent:B,reason:v.cancelOpen})});J.useEffect(()=>{E&&c.select("lastOpenChangeReason")===v.triggerHover&&ze(ne.current).addEventListener("mouseup",ie,{once:!0})},[E,ie,c]);let re=O&&b.context.hasSubmenuOpen,ve=rt(D,{enabled:(m??re)&&!T&&(!O||re&&!j),handleClose:st({blockPointerEvents:!O}),mouseOnly:!0,move:!1,restMs:b.type===void 0?g:void 0,delay:{close:R},triggerElementRef:V,externalTree:P,isActiveTrigger:l,isClosing:o(()=>c.select("transitionStatus")==="ending","isClosing")}),xe=rr(E,c.select("lastOpenChangeReason")),de=nt(D,{enabled:!T,event:E&&O?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:b.type===void 0?xe:!1}),q=To(D,{enabled:!T&&re}),pe=Un({open:E,enabled:O,mouseDownAction:"open"}),Y=J.useMemo(()=>Me(q.reference,de.reference),[q.reference,de.reference]),K=c.useState("triggerProps",j),{preFocusGuardRef:ae,handlePreFocusGuardFocus:De,handleFocusTargetFocus:we}=Lo(c,V),le={disabled:T,open:E},Ae=[ne,n,Ee,z,V],Ve=[Y,ve??ue,K,{"aria-haspopup":"menu","aria-controls":s,id:f,onMouseDown:o(B=>{if(c.select("open"))return;ge.start(200,()=>{c.context.allowMouseUpTriggerRef.current=!0}),ze(B.currentTarget).addEventListener("mouseup",ie,{once:!0})},"onMouseDown")},O?{role:"menuitem"}:{},pe,I,X],Z=N("button",e,{enabled:!O,stateAttributesMapping:At,state:le,ref:Ae,props:Ve});return O?(0,ke.jsx)(Gn,{tag:"button",render:i,className:u,style:a,state:le,refs:Ae,props:Ve,stateAttributesMapping:At}):E?(0,ke.jsxs)(J.Fragment,{children:[(0,ke.jsx)(Dt,{ref:ae,onFocus:De},`${f}-pre-focus-guard`),(0,ke.jsx)(J.Fragment,{children:Z},f),(0,ke.jsx)(Dt,{ref:c.context.triggerFocusTargetRef,onFocus:we},`${f}-post-focus-guard`)]}):(0,ke.jsx)(J.Fragment,{children:Z},f)},"MenuTrigger"));function rr(t,e){let n=ye(),[i,u]=J.useState(!1);return he(()=>{t&&e===v.triggerHover?(u(!0),n.start(500,()=>{u(!1)})):t||(n.clear(),u(!1))},[t,e,n]),i}o(rr,"useStickIfOpen");function sr(){let t=yt(!0);return J.useMemo(()=>t?{type:"menubar",context:t}:{type:void 0},[t])}o(sr,"useMenuParent");var jn=M(C(),1);var Yn=jn.forwardRef(o(function(e,n){let{render:i,className:u,style:a,children:d,...p}=e,{store:r}=k(),{side:m}=W(),g=r.useState("instantType"),{children:R,state:h}=Xo({store:r,side:m,children:d}),x={activationDirection:h.activationDirection,transitioning:h.transitioning,instant:g};return N("div",e,{state:x,ref:n,props:[p,{children:R}],stateAttributesMapping:Jo})},"MenuViewport"));var Ce=M(C(),1);var ir={"aria-expanded":void 0},zn=Ce.forwardRef(o(function(e,n){let{render:i,className:u,style:a,label:d,id:p,nativeButton:r=!1,openOnHover:m=!0,delay:g=100,closeDelay:R=0,disabled:h=!1,...x}=e,I=Nt();if(!I?.parentMenu)throw new Error(F(37));let y=ce({guess:!0,label:d}),_=W(),{store:c}=k(),f=te(p),l=c.useState("open"),D=c.useState("floatingRootContext"),E=c.useState("floatingTreeRoot"),s=c.useState("triggerPopupId",f),V=ho(f,c),b=Ce.useCallback(Y=>{let K=V(Y);return Y!==null&&c.select("open")&&c.select("activeTriggerId")==null&&c.update({activeTriggerId:f,activeTriggerElement:Y,closeDelay:R}),K},[V,R,c,f]),H=Ce.useRef(null),A=Ce.useCallback(Y=>{H.current=Y,c.set("activeTriggerElement",Y)},[c]);c.useSyncedValue("closeDelay",R);let P=I.parentMenu,L=c.useState("disabled"),G=P.useState("disabled"),z=h||L||G,j=P.useState("itemProps"),O=P.useState("isActive",y.index),fe=Ce.useMemo(()=>({type:"submenu-trigger",setActive(){P.select("highlightItemOnHover")&&P.set("activeIndex",y.index)}}),[P,y.index]),{getItemProps:T,itemRef:X}=Ne({closeOnClick:!1,disabled:z,highlighted:O,id:f,store:c,typingRef:P.context.typingRef,nativeButton:r,itemMetadata:fe,nodeId:_?.context.nodeId}),Ee=c.useState("hoverEnabled"),ne=rt(D,{enabled:Ee&&m&&!z,handleClose:st({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:g,delay:{open:g,close:R},shouldOpen:g>0?()=>P.select("allowMouseEnter"):void 0,triggerElementRef:H,externalTree:E,isClosing:o(()=>c.select("transitionStatus")==="ending","isClosing"),guardStaleOpen:!0}),ie=nt(D,{enabled:!z,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??ue,re=c.useState("triggerProps",!0);delete re.id;let Re={disabled:z,highlighted:O,open:l},ve=c.useState("openMethod"),de=c.useState("lastOpenChangeReason")===v.listNavigation||ve==="keyboard",q=l&&de&&qe.screenReader.voiceOver;return N("div",e,{state:Re,stateAttributesMapping:Vo,props:[ie,ne,re,j,q?ir:void 0,{"aria-controls":s,tabIndex:l||O?0:-1,onBlur(){O&&P.set("activeIndex",null)}},x,T],ref:[n,y.ref,X,b,A]})},"MenuSubmenuTrigger"));var Je=class extends lo{static{o(this,"MenuHandle")}constructor(){super(_n(),"Menu")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}};function Kn(){return new Je}o(Kn,"createMenuHandle");var Q=M(me(),1);function Hc(t){let e=(0,_e.c)(4),n;e[0]!==t?({...n}=t,e[0]=t,e[1]=n):n=e[1];let i;return e[2]!==n?(i=(0,Q.jsx)(oe.Root,{"data-slot":"dropdown-menu",...n}),e[2]=n,e[3]=i):i=e[3],i}o(Hc,"N");function jc(t){let e=(0,_e.c)(4),n;e[0]!==t?({...n}=t,e[0]=t,e[1]=n):n=e[1];let i;return e[2]!==n?(i=(0,Q.jsx)(oe.Trigger,{"data-slot":"dropdown-menu-trigger",...n}),e[2]=n,e[3]=i):i=e[3],i}o(jc,"z");function Yc({align:t="start",alignOffset:e=0,side:n="bottom",sideOffset:i=4,className:u,...a}){return(0,Q.jsx)(oe.Portal,{children:(0,Q.jsx)(oe.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:e,side:n,sideOffset:i,children:(0,Q.jsx)(oe.Popup,{"data-slot":"dropdown-menu-content",className:Be("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",u),...a})})})}o(Yc,"D");function zc(t){let e=(0,_e.c)(4),n;e[0]!==t?({...n}=t,e[0]=t,e[1]=n):n=e[1];let i;return e[2]!==n?(i=(0,Q.jsx)(oe.Group,{"data-slot":"dropdown-menu-group",...n}),e[2]=n,e[3]=i):i=e[3],i}o(zc,"M");function Kc(t){let e=(0,_e.c)(10),n,i,u;e[0]!==t?({className:n,inset:i,...u}=t,e[0]=t,e[1]=n,e[2]=i,e[3]=u):(n=e[1],i=e[2],u=e[3]);let a;e[4]!==n?(a=Be("px-2 py-2 text-xs text-muted-foreground data-inset:ps-7",n),e[4]=n,e[5]=a):a=e[5];let d;return e[6]!==i||e[7]!==u||e[8]!==a?(d=(0,Q.jsx)(oe.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:a,...u}),e[6]=i,e[7]=u,e[8]=a,e[9]=d):d=e[9],d}o(Kc,"y");function $c({className:t,inset:e,variant:n="default",...i}){return(0,Q.jsx)(oe.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":n,className:Be("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",t),...i})}o($c,"I");function Wc(t){let e=(0,_e.c)(15),n,i,u,a,d;e[0]!==t?({className:u,children:i,checked:n,inset:a,...d}=t,e[0]=t,e[1]=n,e[2]=i,e[3]=u,e[4]=a,e[5]=d):(n=e[1],i=e[2],u=e[3],a=e[4],d=e[5]);let p;e[6]!==u?(p=Be("relative flex cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),e[6]=u,e[7]=p):p=e[7];let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,Q.jsx)("span",{className:"pointer-events-none absolute end-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,Q.jsx)(oe.CheckboxItemIndicator,{children:(0,Q.jsx)(Qo,{icon:qo,strokeWidth:2})})}),e[8]=r):r=e[8];let m;return e[9]!==n||e[10]!==i||e[11]!==a||e[12]!==d||e[13]!==p?(m=(0,Q.jsxs)(oe.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item","data-inset":a,className:p,checked:n,...d,children:[r,i]}),e[9]=n,e[10]=i,e[11]=a,e[12]=d,e[13]=p,e[14]=m):m=e[14],m}o(Wc,"_");function Jc(t){let e=(0,_e.c)(8),n,i;e[0]!==t?({className:n,...i}=t,e[0]=t,e[1]=n,e[2]=i):(n=e[1],i=e[2]);let u;e[3]!==n?(u=Be("-mx-1 h-px bg-border",n),e[3]=n,e[4]=u):u=e[4];let a;return e[5]!==i||e[6]!==u?(a=(0,Q.jsx)(oe.Separator,{"data-slot":"dropdown-menu-separator",className:u,...i}),e[5]=i,e[6]=u,e[7]=a):a=e[7],a}o(Jc,"C");export{Hc as a,jc as b,Yc as c,zc as d,Kc as e,$c as f,Wc as g,Jc as h};
@@ -1 +1 @@
1
- import{a as Qe}from"./chunk-TYOIBCR6.js";import{a as Me,b as Re}from"./chunk-7SROZWKL.js";import"./chunk-O2VDNK4B.js";import"./chunk-CN2AINNY.js";import"./chunk-CP4ZFBVW.js";import{a as we}from"./chunk-NXXGISFB.js";import"./chunk-EDHW2EEG.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import"./chunk-JV7KTJPY.js";import{a as He}from"./chunk-CKTKI4IY.js";import{a as Xe}from"./chunk-6UN4V2HB.js";import{b as Je}from"./chunk-KVSQKUWD.js";import{e as Ue}from"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import{P as Ae}from"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{a as me}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as ze}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as je}from"./chunk-VDW32UET.js";import{f as Ve}from"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as We}from"./chunk-UANVABQG.js";import{a as qe,b as Pe,c as Ge,d as Ke,e as Le}from"./chunk-IYWVSMAY.js";import{d as Fe,f as Ee,g as $e,h as Oe,o as ue}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as r,d as Be,e as at,f as nt,g as st,i as De}from"./chunk-R5ZTCHCE.js";var Ce=Be(nt(),1);var x=Be(at(),1);var t=Be(st(),1);var rt=Ee(je.listTables),ot=Ee(je.listTableIndexes),it=Ee(je.readTablePage),dt=Ee(je.describeTables),ct={},Ye=[],mt=r(s=>{let e=(0,Ce.c)(74),{initialShardKey:u,initialTable:n}=s,l=Ve(),[a,m]=(0,x.useState)("graph"),{queryShardKey:c,setShardKey:d,shardKey:g}=He(u),[o,p]=(0,x.useState)(""),[i,v]=(0,x.useState)(null),[b,P]=(0,x.useState)(null),_;e[0]===Symbol.for("react.memo_cache_sentinel")?(_={},e[0]=_):_=e[0];let[L,y]=(0,x.useState)(_),G;e[1]===Symbol.for("react.memo_cache_sentinel")?(G={},e[1]=G):G=e[1];let[E,M]=(0,x.useState)(G),[S,C]=(0,x.useState)(null),F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F={},e[2]=F):F=e[2];let[$,he]=(0,x.useState)(F),Q;e[3]===Symbol.for("react.memo_cache_sentinel")?(Q={},e[3]=Q):Q=e[3];let[I,K]=(0,x.useState)(Q),[k,pe]=(0,x.useState)(null),[B,oe]=(0,x.useState)(null),Y;e[4]===Symbol.for("react.memo_cache_sentinel")?(Y={},e[4]=Y):Y=e[4];let[W,xe]=(0,x.useState)(Y),[J,ie]=(0,x.useState)(null),ve;e[5]!==l?(ve=r(async h=>{P(null);try{let w=await l.query(rt,{},$e(h));Je(h),v(w),y({}),M({}),C(null),he(N=>Object.fromEntries(Object.entries(N).filter(q=>{let[A]=q;return A!==h}))),K(N=>Object.fromEntries(Object.entries(N).filter(q=>{let[A]=q;return A!==h})))}catch(w){let N=w;v(null),P(Oe(N))}},"ve"),e[5]=l,e[6]=ve):ve=e[6];let O=ve,Z;e[7]!==l?(Z=r(async()=>{oe(null);try{pe(await l.listGlobalTables())}catch(h){let w=h;pe(null),oe(Oe(w))}},"Z"),e[7]=l,e[8]=Z):Z=e[8];let ee=Z,de,D;e[9]!==c||e[10]!==O||e[11]!==ee?(de=r(()=>{ue(O(c)),ue(ee())},"de"),D=[O,ee,c],e[9]=c,e[10]=O,e[11]=ee,e[12]=de,e[13]=D):(de=e[12],D=e[13]),(0,x.useEffect)(de,D);let te;e[14]!==l||e[15]!==L||e[16]!==S||e[17]!==c?(te=r(async h=>{if(S===h){C(null);return}C(h);let w=`${c}:${h}`;if(L[w]!==void 0)return;let[N,q]=await Promise.allSettled([l.query(it,{limit:1,offset:0,table:h},$e(c)),l.query(ot,{table:h},$e(c))]);N.status==="fulfilled"?y(A=>({...A,[w]:N.value.columns})):P(Oe(N.reason)),q.status==="fulfilled"&&M(A=>({...A,[w]:q.value.indexes}))},"te"),e[14]=l,e[15]=L,e[16]=S,e[17]=c,e[18]=te):te=e[18];let j=te,ye;e[19]!==l||e[20]!==W||e[21]!==J?(ye=r(async h=>{if(J===h){ie(null);return}if(ie(h),W[h]===void 0)try{let w=await l.readGlobalTablePage({limit:1,offset:0,table:h});xe(N=>({...N,[h]:w.columns}))}catch(w){oe(Oe(w))}},"ye"),e[19]=l,e[20]=W,e[21]=J,e[22]=ye):ye=e[22];let ce=ye,be=(0,x.useRef)(void 0),R,X;e[23]!==n||e[24]!==i||e[25]!==j?(R=r(()=>{n===void 0||i===null||be.current===n||i.some(h=>h.name===n)&&(be.current=n,ue(j(n)))},"K"),X=[n,i,j],e[23]=n,e[24]=i,e[25]=j,e[26]=R,e[27]=X):(R=e[26],X=e[27]),(0,x.useEffect)(R,X);let V;e[28]!==l?(V=r(async(h,w,N)=>{let[q,A]=await Promise.all([Promise.allSettled([l.query(dt,{tables:[...w,...N]},$e(h))]),Promise.all(N.map(async T=>{let ge=await Promise.allSettled([l.readGlobalTablePage({limit:1,offset:0,table:T})]),Ie=ge[0].status==="fulfilled"?ge[0].value:void 0;return{columns:Ie?.columns??[],refs:Ie?.refs??{},table:T}}))]),Te=q[0].status==="fulfilled"?q[0].value?.columnsByTable??{}:{},Se=q[0].status==="rejected",_e=new Map(A.map(ut)),ke=[...w,...N].map(T=>{let ge=Te[T]??[];return[T,ge.length>0?ge:_e.get(T)??[]]});he(T=>({...T,[h]:Object.fromEntries(ke)})),K(T=>({...T,[h]:Se}))},"U"),e[28]=l,e[29]=V):V=e[29];let le=V,U,ae;e[30]!==B||e[31]!==k||e[32]!==le||e[33]!==c||e[34]!==$||e[35]!==i||e[36]!==a?(U=r(()=>{a!=="graph"||i===null||k===null&&B===null||$[c]!==void 0||ue(le(c,i.map(ht),(k??[]).map(pt)))},"V"),ae=[a,i,k,B,c,$,le],e[30]=B,e[31]=k,e[32]=le,e[33]=c,e[34]=$,e[35]=i,e[36]=a,e[37]=U,e[38]=ae):(U=e[37],ae=e[38]),(0,x.useEffect)(U,ae);let z=$[c]??ct,ne;if(e[39]!==z||e[40]!==k||e[41]!==i){let h;e[43]!==z?(h=r(A=>({columns:z[A.name]??Ye,name:A.name,tier:"shard"}),"u"),e[43]=z,e[44]=h):h=e[44];let w=(i??[]).map(h),N;e[45]!==z?(N=r(A=>({columns:z[A.name]??Ye,name:A.name,tier:"global"}),"x"),e[45]=z,e[46]=N):N=e[46];let q=(k??[]).map(N);ne=[...w,...q],e[39]=z,e[40]=k,e[41]=i,e[42]=ne}else ne=e[42];let se=ne,f;if(e[47]!==o||e[48]!==i){let h=o.trim().toLowerCase();f=(i??[]).filter(w=>w.name.toLowerCase().includes(h)),e[47]=o,e[48]=i,e[49]=f}else f=e[49];let re=f,H;if(e[50]!==k||e[51]!==o){let h=o.trim().toLowerCase();H=(k??[]).filter(w=>w.name.toLowerCase().includes(h)),e[50]=k,e[51]=o,e[52]=H}else H=e[52];let Ne=H,fe;return e[53]!==L||e[54]!==se||e[55]!==b||e[56]!==S||e[57]!==Ne||e[58]!==re||e[59]!==W||e[60]!==B||e[61]!==J||e[62]!==k||e[63]!==E||e[64]!==O||e[65]!==d||e[66]!==I||e[67]!==g||e[68]!==o||e[69]!==i||e[70]!==j||e[71]!==ce||e[72]!==a?(fe={columns:L,diagramTables:se,error:b,expanded:S,filteredGlobalTables:Ne,filteredTables:re,globalColumns:W,globalError:B,globalExpanded:J,globalTables:k,indexes:E,refresh:O,setShardKey:d,setTableFilter:p,setView:m,shardColumnsError:I,shardKey:g,tableFilter:o,tables:i,toggle:j,toggleGlobal:ce,view:a},e[53]=L,e[54]=se,e[55]=b,e[56]=S,e[57]=Ne,e[58]=re,e[59]=W,e[60]=B,e[61]=J,e[62]=k,e[63]=E,e[64]=O,e[65]=d,e[66]=I,e[67]=g,e[68]=o,e[69]=i,e[70]=j,e[71]=ce,e[72]=a,e[73]=fe):fe=e[73],fe},"ct");function ut(s){let{columns:e,refs:u,table:n}=s;return[n,e.map(l=>{let a=u[l];return a===void 0?{name:l,optional:!1,type:""}:{name:l,optional:!1,ref:a,type:"id"}})]}r(ut,"mt");function ht(s){return s.name}r(ht,"ut");function pt(s){return s.name}r(pt,"ft");var bt="/__lunora/schema-edit",ft=r(async s=>{let e=await fetch(bt,{body:JSON.stringify(s),headers:{"Content-Type":"application/json","X-Lunora-Studio":"1"},method:"POST"}),u=await e.json();return u.needsMigration===!0?{kind:"needs-migration",message:u.message??"This edit needs a migration."}:e.ok&&u.tables!==void 0?{diagnostics:u.diagnostics??[],kind:"ok",tables:u.tables}:{kind:"error",message:u.error??`schema edit failed (${String(e.status)})`}},"pt"),gt=r(s=>{let e=(0,Ce.c)(32),{hasTables:u,mode:n,onAddColumn:l,onAddIndex:a,onAddTable:m,onDestructive:c}=s,d=Fe(),g=n==="addTable"?"default":"outline",o;e[0]!==d?(o=d("Add table"),e[0]=d,e[1]=o):o=e[1];let p;e[2]!==m||e[3]!==g||e[4]!==o?(p=(0,t.jsx)(me,{"data-testid":"sc-editor-add-table",onClick:m,size:"xs",type:"button",variant:g,children:o}),e[2]=m,e[3]=g,e[4]=o,e[5]=p):p=e[5];let i=!u,v=n==="addColumn"?"default":"outline",b;e[6]!==d?(b=d("Add column"),e[6]=d,e[7]=b):b=e[7];let P;e[8]!==l||e[9]!==i||e[10]!==v||e[11]!==b?(P=(0,t.jsx)(me,{"data-testid":"sc-editor-add-column",disabled:i,onClick:l,size:"xs",type:"button",variant:v,children:b}),e[8]=l,e[9]=i,e[10]=v,e[11]=b,e[12]=P):P=e[12];let _=!u,L=n==="addIndex"?"default":"outline",y;e[13]!==d?(y=d("Add index"),e[13]=d,e[14]=y):y=e[14];let G;e[15]!==a||e[16]!==y||e[17]!==_||e[18]!==L?(G=(0,t.jsx)(me,{"data-testid":"sc-editor-add-index",disabled:_,onClick:a,size:"xs",type:"button",variant:L,children:y}),e[15]=a,e[16]=y,e[17]=_,e[18]=L,e[19]=G):G=e[19];let E=!u,M=n==="destructive"?"default":"ghost",S;e[20]!==d?(S=d("Rename / drop / change type\u2026"),e[20]=d,e[21]=S):S=e[21];let C;e[22]!==c||e[23]!==E||e[24]!==M||e[25]!==S?(C=(0,t.jsx)(me,{"data-testid":"sc-editor-destructive",disabled:E,onClick:c,size:"xs",type:"button",variant:M,children:S}),e[22]=c,e[23]=E,e[24]=M,e[25]=S,e[26]=C):C=e[26];let F;return e[27]!==G||e[28]!==C||e[29]!==p||e[30]!==P?(F=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[p,P,G,C]}),e[27]=G,e[28]=C,e[29]=p,e[30]=P,e[31]=F):F=e[31],F},"gt"),xt=r(s=>{let e=(0,Ce.c)(28),{onOpenMigrations:u,result:n}=s,l=Fe();if(n===null){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(t.Fragment,{}),e[0]=o):o=e[0],o}if(n.kind==="error"){let o;return e[1]!==n.message?(o=(0,t.jsx)("p",{className:"mt-3 text-sm text-destructive","data-testid":"sc-editor-error",role:"alert",children:n.message}),e[1]=n.message,e[2]=o):o=e[2],o}if(n.kind==="needs-migration"){let o;e[3]!==n.message||e[4]!==l?(o=n.message===""?l("This edit changes stored data and must go through a migration. Review the migration before applying."):n.message,e[3]=n.message,e[4]=l,e[5]=o):o=e[5];let p;e[6]!==o?(p=(0,t.jsx)("p",{className:"text-sm text-warning",role:"alert",children:o}),e[6]=o,e[7]=p):p=e[7];let i;e[8]!==l?(i=l("Open Migrations"),e[8]=l,e[9]=i):i=e[9];let v;e[10]!==u||e[11]!==i?(v=(0,t.jsx)(me,{className:"self-start","data-testid":"sc-editor-open-migrations",onClick:u,size:"xs",type:"button",variant:"outline",children:i}),e[10]=u,e[11]=i,e[12]=v):v=e[12];let b;return e[13]!==p||e[14]!==v?(b=(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-2","data-testid":"sc-editor-needs-migration",children:[p,v]}),e[13]=p,e[14]=v,e[15]=b):b=e[15],b}if(n.diagnostics.length===0){let o;return e[16]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(t.Fragment,{}),e[16]=o):o=e[16],o}let a;e[17]!==l?(a=l("Codegen reported diagnostics:"),e[17]=l,e[18]=a):a=e[18];let m;e[19]!==a?(m=(0,t.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:a}),e[19]=a,e[20]=m):m=e[20];let c;e[21]!==n.diagnostics?(c=n.diagnostics.map(vt),e[21]=n.diagnostics,e[22]=c):c=e[22];let d;e[23]!==c?(d=(0,t.jsx)("ul",{className:"flex flex-col gap-0.5",children:c}),e[23]=c,e[24]=d):d=e[24];let g;return e[25]!==m||e[26]!==d?(g=(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"sc-editor-diagnostics",children:[m,d]}),e[25]=m,e[26]=d,e[27]=g):g=e[27],g},"bt");function vt(s){return(0,t.jsx)("li",{className:"font-mono text-[11px] text-destructive",children:s},s)}r(vt,"xt");var yt=[{label:"string",validator:"v.string()"},{label:"number",validator:"v.number()"},{label:"boolean",validator:"v.boolean()"},{label:"bigint",validator:"v.int64()"},{label:"bytes",validator:"v.bytes()"},{label:"any",validator:"v.any()"}],Nt="v.string()",Ct=r(s=>s.split(",").map(e=>e.trim()).filter(e=>e!==""),"Ct"),wt=r(s=>{let e=(0,Ce.c)(83),{onApplied:u,tableNames:n}=s,l=Fe(),a=Ue(),[m,c]=(0,x.useState)(null),[d,g]=(0,x.useState)(!1),[o,p]=(0,x.useState)(null),[i,v]=(0,x.useState)(""),[b,P]=(0,x.useState)(""),[_,L]=(0,x.useState)(Nt),[y,G]=(0,x.useState)(n[0]??""),[E,M]=(0,x.useState)(""),[S,C]=(0,x.useState)(""),[F,$]=(0,x.useState)(!1),he;e[0]===Symbol.for("react.memo_cache_sentinel")?(he=r(()=>{c(null),v(""),P(""),M(""),C(""),$(!1)},"me"),e[0]=he):he=e[0];let Q=he,I;e[1]!==u?(I=r(async T=>{g(!0),p(null);try{let ge=await ft(T);p(ge),ge.kind==="ok"&&(u(ge.tables),Q())}catch(ge){let Ie=ge;p({kind:"error",message:Ie instanceof Error?Ie.message:String(Ie)})}g(!1)},"I"),e[1]=u,e[2]=I):I=e[2];let K=I,k;e[3]!==K||e[4]!==i?(k=r(()=>{ue(K({kind:"addTable",table:i.trim()}))},"_"),e[3]=K,e[4]=i,e[5]=k):k=e[5];let pe=k,B;e[6]!==b||e[7]!==K||e[8]!==y||e[9]!==_?(B=r(()=>{ue(K({column:b.trim(),kind:"addOptionalColumn",table:y,validator:_}))},"j"),e[6]=b,e[7]=K,e[8]=y,e[9]=_,e[10]=B):B=e[10];let oe=B,Y;e[11]!==S||e[12]!==E||e[13]!==K||e[14]!==y||e[15]!==F?(Y=r(()=>{ue(K({fields:Ct(S),kind:"addIndex",name:E.trim(),table:y,unique:F}))},"Q"),e[11]=S,e[12]=E,e[13]=K,e[14]=y,e[15]=F,e[16]=Y):Y=e[16];let W=Y,xe;e[17]===Symbol.for("react.memo_cache_sentinel")?(xe=r(()=>{p(null),c("addTable")},"xe"),e[17]=xe):xe=e[17];let J=xe,ie;e[18]===Symbol.for("react.memo_cache_sentinel")?(ie=r(()=>{p(null),c("addColumn")},"re"),e[18]=ie):ie=e[18];let ve=ie,O;e[19]===Symbol.for("react.memo_cache_sentinel")?(O=r(()=>{p(null),c("addIndex")},"O"),e[19]=O):O=e[19];let Z=O,ee;e[20]!==l?(ee=r(()=>{c("destructive"),p({kind:"needs-migration",message:l("This edit changes stored data and must go through a migration. Review the migration before applying.")})},"ee"),e[20]=l,e[21]=ee):ee=e[21];let de=ee,D;e[22]===Symbol.for("react.memo_cache_sentinel")?(D=r(T=>{v(T.target.value)},"R"),e[22]=D):D=e[22];let te=D,j;e[23]===Symbol.for("react.memo_cache_sentinel")?(j=r(T=>{P(T.target.value)},"M"),e[23]=j):j=e[23];let ye=j,ce;e[24]===Symbol.for("react.memo_cache_sentinel")?(ce=r(T=>{L(T.target.value)},"ce"),e[24]=ce):ce=e[24];let be=ce,R;e[25]===Symbol.for("react.memo_cache_sentinel")?(R=r(T=>{G(T.target.value)},"K"),e[25]=R):R=e[25];let X=R,V;e[26]===Symbol.for("react.memo_cache_sentinel")?(V=r(T=>{M(T.target.value)},"U"),e[26]=V):V=e[26];let le=V,U;e[27]===Symbol.for("react.memo_cache_sentinel")?(U=r(T=>{C(T.target.value)},"V"),e[27]=U):U=e[27];let ae=U,z;e[28]===Symbol.for("react.memo_cache_sentinel")?(z=r(T=>{$(T.target.checked)},"$"),e[28]=z):z=e[28];let ne=z,se;e[29]!==a?(se=r(()=>{ue(a({to:"/migrations"}))},"ne"),e[29]=a,e[30]=se):se=e[30];let f=se,re;e[31]!==l?(re=l("Edit schema"),e[31]=l,e[32]=re):re=e[32];let H;e[33]!==re?(H=(0,t.jsx)(Ge,{children:re}),e[33]=re,e[34]=H):H=e[34];let Ne;e[35]!==l?(Ne=l("Adds a table, column, or index to lunora/schema.ts and reruns codegen."),e[35]=l,e[36]=Ne):Ne=e[36];let fe;e[37]!==Ne?(fe=(0,t.jsx)(Ke,{children:Ne}),e[37]=Ne,e[38]=fe):fe=e[38];let h;e[39]!==H||e[40]!==fe?(h=(0,t.jsxs)(Pe,{children:[H,fe]}),e[39]=H,e[40]=fe,e[41]=h):h=e[41];let w=n.length>0,N;e[42]!==m||e[43]!==de||e[44]!==w?(N=(0,t.jsx)(gt,{hasTables:w,mode:m,onAddColumn:ve,onAddIndex:Z,onAddTable:J,onDestructive:de}),e[42]=m,e[43]=de,e[44]=w,e[45]=N):N=e[45];let q;e[46]!==d||e[47]!==m||e[48]!==pe||e[49]!==l||e[50]!==i?(q=m==="addTable"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"sc-editor-table-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-table-name",children:l("Table name")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-table-name",id:"sc-editor-table-name",onChange:te,value:i})]}),(0,t.jsx)(me,{"data-testid":"sc-editor-table-apply",disabled:d||i.trim()==="",onClick:pe,size:"xs",type:"button",children:l(d?"Applying\u2026":"Apply")}),(0,t.jsx)(me,{onClick:Q,size:"xs",type:"button",variant:"ghost",children:l("Cancel")})]}),e[46]=d,e[47]=m,e[48]=pe,e[49]=l,e[50]=i,e[51]=q):q=e[51];let A;e[52]!==d||e[53]!==b||e[54]!==m||e[55]!==oe||e[56]!==l||e[57]!==n||e[58]!==y||e[59]!==_?(A=m==="addColumn"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"sc-editor-column-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-column-table",children:l("Table name")}),(0,t.jsx)("select",{className:"h-8 rounded-md border border-input bg-transparent px-2 text-xs","data-testid":"sc-editor-column-table",id:"sc-editor-column-table",onChange:X,value:y,children:n.map(Tt)})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-column-name",children:l("Column name")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-column-name",id:"sc-editor-column-name",onChange:ye,value:b})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-column-type",children:l("Column type")}),(0,t.jsx)("select",{className:"h-8 rounded-md border border-input bg-transparent px-2 text-xs","data-testid":"sc-editor-column-type",id:"sc-editor-column-type",onChange:be,value:_,children:yt.map(St)})]}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:l("Optional")}),(0,t.jsx)(me,{"data-testid":"sc-editor-column-apply",disabled:d||b.trim()===""||y==="",onClick:oe,size:"xs",type:"button",children:l(d?"Applying\u2026":"Apply")}),(0,t.jsx)(me,{onClick:Q,size:"xs",type:"button",variant:"ghost",children:l("Cancel")})]}),e[52]=d,e[53]=b,e[54]=m,e[55]=oe,e[56]=l,e[57]=n,e[58]=y,e[59]=_,e[60]=A):A=e[60];let Te;e[61]!==d||e[62]!==S||e[63]!==E||e[64]!==m||e[65]!==W||e[66]!==l||e[67]!==n||e[68]!==y||e[69]!==F?(Te=m==="addIndex"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"sc-editor-index-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-index-table",children:l("Table name")}),(0,t.jsx)("select",{className:"h-8 rounded-md border border-input bg-transparent px-2 text-xs","data-testid":"sc-editor-index-table",id:"sc-editor-index-table",onChange:X,value:y,children:n.map(_t)})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-index-name",children:l("Index name")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-index-name",id:"sc-editor-index-name",onChange:le,value:E})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-index-fields",children:l("Index fields (comma-separated)")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-index-fields",id:"sc-editor-index-fields",onChange:ae,value:S})]}),(0,t.jsxs)(we,{className:"flex items-center gap-1 text-xs",htmlFor:"sc-editor-index-unique",children:[(0,t.jsx)("input",{checked:F,"data-testid":"sc-editor-index-unique",id:"sc-editor-index-unique",onChange:ne,type:"checkbox"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:l("Unique")})]}),(0,t.jsx)(me,{"data-testid":"sc-editor-index-apply",disabled:d||E.trim()===""||S.trim()==="",onClick:W,size:"xs",type:"button",children:l(d?"Applying\u2026":"Apply")}),(0,t.jsx)(me,{onClick:Q,size:"xs",type:"button",variant:"ghost",children:l("Cancel")})]}),e[61]=d,e[62]=S,e[63]=E,e[64]=m,e[65]=W,e[66]=l,e[67]=n,e[68]=y,e[69]=F,e[70]=Te):Te=e[70];let Se;e[71]!==f||e[72]!==o?(Se=(0,t.jsx)(xt,{onOpenMigrations:f,result:o}),e[71]=f,e[72]=o,e[73]=Se):Se=e[73];let _e;e[74]!==N||e[75]!==q||e[76]!==A||e[77]!==Te||e[78]!==Se?(_e=(0,t.jsxs)(Le,{children:[N,q,A,Te,Se]}),e[74]=N,e[75]=q,e[76]=A,e[77]=Te,e[78]=Se,e[79]=_e):_e=e[79];let ke;return e[80]!==h||e[81]!==_e?(ke=(0,t.jsxs)(qe,{"data-testid":"sc-editor",size:"sm",children:[h,_e]}),e[80]=h,e[81]=_e,e[82]=ke):ke=e[82],ke},"Nt");function Tt(s){return(0,t.jsx)("option",{value:s,children:s},s)}r(Tt,"Tt");function St(s){return(0,t.jsx)("option",{value:s.validator,children:s.label},s.validator)}r(St,"St");function _t(s){return(0,t.jsx)("option",{value:s,children:s},s)}r(_t,"wt");var Ze=[],kt=r(s=>{let e=(0,Ce.c)(5),{open:u}=s,n=u&&"rotate-90",l;e[0]!==n?(l=De("size-3.5 shrink-0 text-muted-foreground transition-transform duration-150",n),e[0]=n,e[1]=l):l=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)("path",{d:"m9 6 6 6-6 6"}),e[2]=a):a=e[2];let m;return e[3]!==l?(m=(0,t.jsx)("svg",{"aria-hidden":"true",className:l,fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:a}),e[3]=l,e[4]=m):m=e[4],m},"_t"),et=r(s=>{let e=(0,Ce.c)(20),{children:u,expanded:n,name:l,onToggle:a,rowCount:m,rowTestId:c,toggleTestId:d}=s,g;e[0]!==n?(g=(0,t.jsx)(kt,{open:n}),e[0]=n,e[1]=g):g=e[1];let o;e[2]!==l?(o=(0,t.jsx)("span",{className:"truncate font-mono text-xs text-foreground",title:l,children:l}),e[2]=l,e[3]=o):o=e[3];let p;e[4]!==m?(p=(0,t.jsxs)("span",{className:"ms-auto shrink-0 text-xs text-muted-foreground tabular-nums",children:["(",m,")"]}),e[4]=m,e[5]=p):p=e[5];let i;e[6]!==n||e[7]!==a||e[8]!==g||e[9]!==o||e[10]!==p||e[11]!==d?(i=(0,t.jsxs)("button",{"aria-expanded":n,className:"flex w-full items-center gap-2 px-3 py-2 text-start transition-colors hover:bg-muted/50 aria-expanded:bg-muted/40","data-testid":d,onClick:a,type:"button",children:[g,o," ",p]}),e[6]=n,e[7]=a,e[8]=g,e[9]=o,e[10]=p,e[11]=d,e[12]=i):i=e[12];let v;e[13]!==u||e[14]!==n?(v=n&&(0,t.jsx)("div",{className:"px-3 pb-3 ps-8",children:u}),e[13]=u,e[14]=n,e[15]=v):v=e[15];let b;return e[16]!==c||e[17]!==i||e[18]!==v?(b=(0,t.jsxs)("li",{className:"border-t border-border/60 first:border-t-0","data-testid":c,children:[i,v]}),e[16]=c,e[17]=i,e[18]=v,e[19]=b):b=e[19],b},"Ye"),tt=r(s=>{let e=(0,Ce.c)(5),{columns:u,testId:n}=s,l;e[0]!==u?(l=u.map(At),e[0]=u,e[1]=l):l=e[1];let a;return e[2]!==l||e[3]!==n?(a=(0,t.jsx)("ul",{className:"flex flex-wrap gap-1.5 pt-1","data-testid":n,children:l}),e[2]=l,e[3]=n,e[4]=a):a=e[4],a},"He"),It=r(s=>{let e=(0,Ce.c)(10),{heading:u,indexes:n,testId:l}=s,a;e[0]!==u?(a=(0,t.jsx)("p",{className:"mb-1.5 font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:u}),e[0]=u,e[1]=a):a=e[1];let m;e[2]!==n?(m=n.map(Ft),e[2]=n,e[3]=m):m=e[3];let c;e[4]!==m||e[5]!==l?(c=(0,t.jsx)("ul",{className:"flex flex-col gap-1","data-testid":l,children:m}),e[4]=m,e[5]=l,e[6]=c):c=e[6];let d;return e[7]!==a||e[8]!==c?(d=(0,t.jsxs)("div",{className:"pt-3",children:[a,c]}),e[7]=a,e[8]=c,e[9]=d):d=e[9],d},"Et"),lt=r(s=>De("border-b-2 px-3 py-2 font-mono text-[11px] tracking-widest uppercase outline-none transition-colors",s?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),"Xe"),Xt=r(s=>{let e=(0,Ce.c)(85),{initialShardKey:u,initialTable:n,schemaEditable:l}=s,a=Fe(),m;e[0]!==u||e[1]!==n?(m={initialShardKey:u,initialTable:n},e[0]=u,e[1]=n,e[2]=m):m=e[2];let{columns:c,diagramTables:d,error:g,expanded:o,filteredGlobalTables:p,filteredTables:i,globalColumns:v,globalError:b,globalExpanded:P,globalTables:_,indexes:L,refresh:y,setShardKey:G,setTableFilter:E,setView:M,shardColumnsError:S,shardKey:C,tableFilter:F,tables:$,toggle:he,toggleGlobal:Q,view:I}=mt(m),K;e[3]!==M?(K=r(()=>{M("list")},"q"),e[3]=M,e[4]=K):K=e[4];let k=K,pe;e[5]!==M?(pe=r(()=>{M("graph")},"ue"),e[5]=M,e[6]=pe):pe=e[6];let B=pe,oe;e[7]!==E?(oe=r(f=>{E(f.target.value)},"ie"),e[7]=E,e[8]=oe):oe=e[8];let Y=oe,W;e[9]!==y||e[10]!==C?(W=r(f=>{ue(y(C))},"Y"),e[9]=y,e[10]=C,e[11]=W):W=e[11];let xe=W,J;e[12]!==$?(J=$??[],e[12]=$,e[13]=J):J=e[13];let ie;e[14]!==J?(ie=J.map(zt),e[14]=J,e[15]=ie):ie=e[15];let ve=ie,O;e[16]!==G||e[17]!==C?(O=(0,t.jsx)(Xe,{onChange:G,testId:"sc-shard-input",value:C}),e[16]=G,e[17]=C,e[18]=O):O=e[18];let Z;e[19]!==a?(Z=a("Schema view"),e[19]=a,e[20]=Z):Z=e[20];let ee=I==="graph",de=I==="graph",D;e[21]!==de?(D=lt(de),e[21]=de,e[22]=D):D=e[22];let te;e[23]!==a?(te=a("Graph"),e[23]=a,e[24]=te):te=e[24];let j;e[25]!==B||e[26]!==ee||e[27]!==D||e[28]!==te?(j=(0,t.jsx)("button",{"aria-selected":ee,className:D,"data-testid":"sc-view-graph",onClick:B,role:"tab",type:"button",children:te}),e[25]=B,e[26]=ee,e[27]=D,e[28]=te,e[29]=j):j=e[29];let ye=I==="list",ce=I==="list",be;e[30]!==ce?(be=lt(ce),e[30]=ce,e[31]=be):be=e[31];let R;e[32]!==a?(R=a("Table list"),e[32]=a,e[33]=R):R=e[33];let X;e[34]!==k||e[35]!==ye||e[36]!==be||e[37]!==R?(X=(0,t.jsx)("button",{"aria-selected":ye,className:be,"data-testid":"sc-view-list",onClick:k,role:"tab",type:"button",children:R}),e[34]=k,e[35]=ye,e[36]=be,e[37]=R,e[38]=X):X=e[38];let V;e[39]!==j||e[40]!==X||e[41]!==Z?(V=(0,t.jsxs)("div",{"aria-label":Z,className:"flex items-center gap-1","data-testid":"sc-view-toggle",role:"tablist",children:[j,X]}),e[39]=j,e[40]=X,e[41]=Z,e[42]=V):V=e[42];let le;e[43]!==V||e[44]!==O?(le=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[O,V]}),e[43]=V,e[44]=O,e[45]=le):le=e[45];let U;e[46]!==xe||e[47]!==l||e[48]!==ve?(U=l===!0&&(0,t.jsx)(wt,{onApplied:xe,tableNames:ve}),e[46]=xe,e[47]=l,e[48]=ve,e[49]=U):U=e[49];let ae;e[50]!==Y||e[51]!==a||e[52]!==F||e[53]!==I?(ae=I==="list"&&(0,t.jsx)(Ae,{"aria-label":a("Filter tables"),className:"h-8 max-w-xs","data-testid":"sc-filter",onChange:Y,placeholder:a("Filter tables"),value:F}),e[50]=Y,e[51]=a,e[52]=F,e[53]=I,e[54]=ae):ae=e[54];let z;e[55]!==d||e[56]!==g||e[57]!==b||e[58]!==S||e[59]!==C||e[60]!==I?(z=I==="graph"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"sc-graph-view",children:[g!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-error",role:"alert",children:g}),b!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-global-error",role:"alert",children:b}),(0,t.jsx)(Qe,{columnsError:S[C]===!0,tables:d,testIdPrefix:"sc-graph"})]}),e[55]=d,e[56]=g,e[57]=b,e[58]=S,e[59]=C,e[60]=I,e[61]=z):z=e[61];let ne;e[62]!==c||e[63]!==g||e[64]!==o||e[65]!==p||e[66]!==i||e[67]!==v||e[68]!==b||e[69]!==P||e[70]!==_||e[71]!==L||e[72]!==C||e[73]!==a||e[74]!==$||e[75]!==he||e[76]!==Q||e[77]!==I?(ne=I==="list"&&(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)(qe,{"data-testid":"sc-shard-section",size:"sm",children:[(0,t.jsxs)(Pe,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(Re,{tier:"shard"}),(0,t.jsx)(Ge,{children:a("Shard tables")}),$!==null&&(0,t.jsx)(ze,{className:"ms-auto tabular-nums",variant:"outline",children:i.length})]}),(0,t.jsx)(Ke,{children:Me.shard.hint})]}),(0,t.jsxs)(Le,{children:[g!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-error",role:"alert",children:g}),$!==null&&$.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sc-empty",children:a("No tables in this shard.")}),$!==null&&$.length>0&&i.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sc-no-match",children:a("No tables match your filter.")}),i.length>0&&(0,t.jsx)("ul",{className:"-mx-3 overflow-hidden border-t border-border","data-testid":"sc-table-list",children:i.map(f=>{let re=`${C}:${f.name}`,H=L[re]??[];return(0,t.jsxs)(et,{expanded:o===f.name,name:f.name,onToggle:r(()=>{ue(he(f.name))},"onToggle"),rowCount:f.rowCount,rowTestId:`sc-table-${f.name}`,toggleTestId:`sc-toggle-${f.name}`,children:[(0,t.jsx)(tt,{columns:c[re]??Ze,testId:`sc-columns-${f.name}`}),H.length>0&&(0,t.jsx)(It,{heading:a("Indexes"),indexes:H,testId:`sc-indexes-${f.name}`})]},f.name)})})]})]}),(0,t.jsxs)(qe,{"data-testid":"sc-global-section",size:"sm",children:[(0,t.jsxs)(Pe,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(Re,{tier:"global"}),(0,t.jsx)(Ge,{children:a("Global tables (D1)")}),_!==null&&(0,t.jsx)(ze,{className:"ms-auto tabular-nums",variant:"outline",children:p.length})]}),(0,t.jsx)(Ke,{children:Me.global.hint})]}),(0,t.jsxs)(Le,{children:[b!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-global-error",role:"alert",children:b}),_!==null&&_.length===0&&(0,t.jsx)(We,{description:Me.global.hint,testId:"sc-global-empty",title:a("No global tables.")}),_!==null&&_.length>0&&p.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sc-global-no-match",children:a("No tables match your filter.")}),p.length>0&&(0,t.jsx)("ul",{className:"-mx-3 overflow-hidden border-t border-border","data-testid":"sc-global-table-list",children:p.map(f=>(0,t.jsx)(et,{expanded:P===f.name,name:f.name,onToggle:r(()=>{ue(Q(f.name))},"onToggle"),rowCount:f.rowCount,rowTestId:`sc-global-table-${f.name}`,toggleTestId:`sc-global-toggle-${f.name}`,children:(0,t.jsx)(tt,{columns:v[f.name]??Ze,testId:`sc-global-columns-${f.name}`})},f.name))})]})]})]}),e[62]=c,e[63]=g,e[64]=o,e[65]=p,e[66]=i,e[67]=v,e[68]=b,e[69]=P,e[70]=_,e[71]=L,e[72]=C,e[73]=a,e[74]=$,e[75]=he,e[76]=Q,e[77]=I,e[78]=ne):ne=e[78];let se;return e[79]!==le||e[80]!==U||e[81]!==ae||e[82]!==z||e[83]!==ne?(se=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-schema",children:[le,U,ae,z,ne]}),e[79]=le,e[80]=U,e[81]=ae,e[82]=z,e[83]=ne,e[84]=se):se=e[84],se},"Wt");function At(s){return(0,t.jsx)("li",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[11px] text-muted-foreground",children:s},s)}r(At,"It");function Ft(s){return(0,t.jsxs)("li",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:"font-mono",children:s.name}),(0,t.jsx)(ze,{variant:"outline",children:s.type}),s.unique===!0&&(0,t.jsx)(ze,{variant:"secondary",children:"unique"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:s.fields.join(", ")})]},`${s.type}:${s.name}`)}r(Ft,"kt");function zt(s){return s.name}r(zt,"At");export{Xt as SchemaViewer};
1
+ import{a as Qe}from"./chunk-UBT2FIU5.js";import{a as Me,b as Re}from"./chunk-7SROZWKL.js";import"./chunk-FJ6G6FNE.js";import"./chunk-CP4ZFBVW.js";import"./chunk-CN2AINNY.js";import{a as we}from"./chunk-NXXGISFB.js";import"./chunk-EDHW2EEG.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import"./chunk-JV7KTJPY.js";import{a as He}from"./chunk-CKTKI4IY.js";import{a as Xe}from"./chunk-6UN4V2HB.js";import{b as Je}from"./chunk-KVSQKUWD.js";import{e as Ue}from"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import{P as Ae}from"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{a as me}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as ze}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as je}from"./chunk-DZGOHOOE.js";import{f as Ve}from"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as We}from"./chunk-UANVABQG.js";import{a as qe,b as Pe,c as Ge,d as Ke,e as Le}from"./chunk-IYWVSMAY.js";import{d as Fe,f as Ee,g as $e,h as Oe,o as ue}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as r,d as Be,e as at,f as nt,g as st,i as De}from"./chunk-R5ZTCHCE.js";var Ce=Be(nt(),1);var x=Be(at(),1);var t=Be(st(),1);var rt=Ee(je.listTables),ot=Ee(je.listTableIndexes),it=Ee(je.readTablePage),dt=Ee(je.describeTables),ct={},Ye=[],mt=r(s=>{let e=(0,Ce.c)(74),{initialShardKey:u,initialTable:n}=s,l=Ve(),[a,m]=(0,x.useState)("graph"),{queryShardKey:c,setShardKey:d,shardKey:g}=He(u),[o,p]=(0,x.useState)(""),[i,v]=(0,x.useState)(null),[b,P]=(0,x.useState)(null),_;e[0]===Symbol.for("react.memo_cache_sentinel")?(_={},e[0]=_):_=e[0];let[L,y]=(0,x.useState)(_),G;e[1]===Symbol.for("react.memo_cache_sentinel")?(G={},e[1]=G):G=e[1];let[E,M]=(0,x.useState)(G),[S,C]=(0,x.useState)(null),F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F={},e[2]=F):F=e[2];let[$,he]=(0,x.useState)(F),Q;e[3]===Symbol.for("react.memo_cache_sentinel")?(Q={},e[3]=Q):Q=e[3];let[I,K]=(0,x.useState)(Q),[k,pe]=(0,x.useState)(null),[B,oe]=(0,x.useState)(null),Y;e[4]===Symbol.for("react.memo_cache_sentinel")?(Y={},e[4]=Y):Y=e[4];let[W,xe]=(0,x.useState)(Y),[J,ie]=(0,x.useState)(null),ve;e[5]!==l?(ve=r(async h=>{P(null);try{let w=await l.query(rt,{},$e(h));Je(h),v(w),y({}),M({}),C(null),he(N=>Object.fromEntries(Object.entries(N).filter(q=>{let[A]=q;return A!==h}))),K(N=>Object.fromEntries(Object.entries(N).filter(q=>{let[A]=q;return A!==h})))}catch(w){let N=w;v(null),P(Oe(N))}},"ve"),e[5]=l,e[6]=ve):ve=e[6];let O=ve,Z;e[7]!==l?(Z=r(async()=>{oe(null);try{pe(await l.listGlobalTables())}catch(h){let w=h;pe(null),oe(Oe(w))}},"Z"),e[7]=l,e[8]=Z):Z=e[8];let ee=Z,de,D;e[9]!==c||e[10]!==O||e[11]!==ee?(de=r(()=>{ue(O(c)),ue(ee())},"de"),D=[O,ee,c],e[9]=c,e[10]=O,e[11]=ee,e[12]=de,e[13]=D):(de=e[12],D=e[13]),(0,x.useEffect)(de,D);let te;e[14]!==l||e[15]!==L||e[16]!==S||e[17]!==c?(te=r(async h=>{if(S===h){C(null);return}C(h);let w=`${c}:${h}`;if(L[w]!==void 0)return;let[N,q]=await Promise.allSettled([l.query(it,{limit:1,offset:0,table:h},$e(c)),l.query(ot,{table:h},$e(c))]);N.status==="fulfilled"?y(A=>({...A,[w]:N.value.columns})):P(Oe(N.reason)),q.status==="fulfilled"&&M(A=>({...A,[w]:q.value.indexes}))},"te"),e[14]=l,e[15]=L,e[16]=S,e[17]=c,e[18]=te):te=e[18];let j=te,ye;e[19]!==l||e[20]!==W||e[21]!==J?(ye=r(async h=>{if(J===h){ie(null);return}if(ie(h),W[h]===void 0)try{let w=await l.readGlobalTablePage({limit:1,offset:0,table:h});xe(N=>({...N,[h]:w.columns}))}catch(w){oe(Oe(w))}},"ye"),e[19]=l,e[20]=W,e[21]=J,e[22]=ye):ye=e[22];let ce=ye,be=(0,x.useRef)(void 0),R,X;e[23]!==n||e[24]!==i||e[25]!==j?(R=r(()=>{n===void 0||i===null||be.current===n||i.some(h=>h.name===n)&&(be.current=n,ue(j(n)))},"K"),X=[n,i,j],e[23]=n,e[24]=i,e[25]=j,e[26]=R,e[27]=X):(R=e[26],X=e[27]),(0,x.useEffect)(R,X);let V;e[28]!==l?(V=r(async(h,w,N)=>{let[q,A]=await Promise.all([Promise.allSettled([l.query(dt,{tables:[...w,...N]},$e(h))]),Promise.all(N.map(async T=>{let ge=await Promise.allSettled([l.readGlobalTablePage({limit:1,offset:0,table:T})]),Ie=ge[0].status==="fulfilled"?ge[0].value:void 0;return{columns:Ie?.columns??[],refs:Ie?.refs??{},table:T}}))]),Te=q[0].status==="fulfilled"?q[0].value?.columnsByTable??{}:{},Se=q[0].status==="rejected",_e=new Map(A.map(ut)),ke=[...w,...N].map(T=>{let ge=Te[T]??[];return[T,ge.length>0?ge:_e.get(T)??[]]});he(T=>({...T,[h]:Object.fromEntries(ke)})),K(T=>({...T,[h]:Se}))},"U"),e[28]=l,e[29]=V):V=e[29];let le=V,U,ae;e[30]!==B||e[31]!==k||e[32]!==le||e[33]!==c||e[34]!==$||e[35]!==i||e[36]!==a?(U=r(()=>{a!=="graph"||i===null||k===null&&B===null||$[c]!==void 0||ue(le(c,i.map(ht),(k??[]).map(pt)))},"V"),ae=[a,i,k,B,c,$,le],e[30]=B,e[31]=k,e[32]=le,e[33]=c,e[34]=$,e[35]=i,e[36]=a,e[37]=U,e[38]=ae):(U=e[37],ae=e[38]),(0,x.useEffect)(U,ae);let z=$[c]??ct,ne;if(e[39]!==z||e[40]!==k||e[41]!==i){let h;e[43]!==z?(h=r(A=>({columns:z[A.name]??Ye,name:A.name,tier:"shard"}),"u"),e[43]=z,e[44]=h):h=e[44];let w=(i??[]).map(h),N;e[45]!==z?(N=r(A=>({columns:z[A.name]??Ye,name:A.name,tier:"global"}),"x"),e[45]=z,e[46]=N):N=e[46];let q=(k??[]).map(N);ne=[...w,...q],e[39]=z,e[40]=k,e[41]=i,e[42]=ne}else ne=e[42];let se=ne,f;if(e[47]!==o||e[48]!==i){let h=o.trim().toLowerCase();f=(i??[]).filter(w=>w.name.toLowerCase().includes(h)),e[47]=o,e[48]=i,e[49]=f}else f=e[49];let re=f,H;if(e[50]!==k||e[51]!==o){let h=o.trim().toLowerCase();H=(k??[]).filter(w=>w.name.toLowerCase().includes(h)),e[50]=k,e[51]=o,e[52]=H}else H=e[52];let Ne=H,fe;return e[53]!==L||e[54]!==se||e[55]!==b||e[56]!==S||e[57]!==Ne||e[58]!==re||e[59]!==W||e[60]!==B||e[61]!==J||e[62]!==k||e[63]!==E||e[64]!==O||e[65]!==d||e[66]!==I||e[67]!==g||e[68]!==o||e[69]!==i||e[70]!==j||e[71]!==ce||e[72]!==a?(fe={columns:L,diagramTables:se,error:b,expanded:S,filteredGlobalTables:Ne,filteredTables:re,globalColumns:W,globalError:B,globalExpanded:J,globalTables:k,indexes:E,refresh:O,setShardKey:d,setTableFilter:p,setView:m,shardColumnsError:I,shardKey:g,tableFilter:o,tables:i,toggle:j,toggleGlobal:ce,view:a},e[53]=L,e[54]=se,e[55]=b,e[56]=S,e[57]=Ne,e[58]=re,e[59]=W,e[60]=B,e[61]=J,e[62]=k,e[63]=E,e[64]=O,e[65]=d,e[66]=I,e[67]=g,e[68]=o,e[69]=i,e[70]=j,e[71]=ce,e[72]=a,e[73]=fe):fe=e[73],fe},"ct");function ut(s){let{columns:e,refs:u,table:n}=s;return[n,e.map(l=>{let a=u[l];return a===void 0?{name:l,optional:!1,type:""}:{name:l,optional:!1,ref:a,type:"id"}})]}r(ut,"mt");function ht(s){return s.name}r(ht,"ut");function pt(s){return s.name}r(pt,"ft");var bt="/__lunora/schema-edit",ft=r(async s=>{let e=await fetch(bt,{body:JSON.stringify(s),headers:{"Content-Type":"application/json","X-Lunora-Studio":"1"},method:"POST"}),u=await e.json();return u.needsMigration===!0?{kind:"needs-migration",message:u.message??"This edit needs a migration."}:e.ok&&u.tables!==void 0?{diagnostics:u.diagnostics??[],kind:"ok",tables:u.tables}:{kind:"error",message:u.error??`schema edit failed (${String(e.status)})`}},"pt"),gt=r(s=>{let e=(0,Ce.c)(32),{hasTables:u,mode:n,onAddColumn:l,onAddIndex:a,onAddTable:m,onDestructive:c}=s,d=Fe(),g=n==="addTable"?"default":"outline",o;e[0]!==d?(o=d("Add table"),e[0]=d,e[1]=o):o=e[1];let p;e[2]!==m||e[3]!==g||e[4]!==o?(p=(0,t.jsx)(me,{"data-testid":"sc-editor-add-table",onClick:m,size:"xs",type:"button",variant:g,children:o}),e[2]=m,e[3]=g,e[4]=o,e[5]=p):p=e[5];let i=!u,v=n==="addColumn"?"default":"outline",b;e[6]!==d?(b=d("Add column"),e[6]=d,e[7]=b):b=e[7];let P;e[8]!==l||e[9]!==i||e[10]!==v||e[11]!==b?(P=(0,t.jsx)(me,{"data-testid":"sc-editor-add-column",disabled:i,onClick:l,size:"xs",type:"button",variant:v,children:b}),e[8]=l,e[9]=i,e[10]=v,e[11]=b,e[12]=P):P=e[12];let _=!u,L=n==="addIndex"?"default":"outline",y;e[13]!==d?(y=d("Add index"),e[13]=d,e[14]=y):y=e[14];let G;e[15]!==a||e[16]!==y||e[17]!==_||e[18]!==L?(G=(0,t.jsx)(me,{"data-testid":"sc-editor-add-index",disabled:_,onClick:a,size:"xs",type:"button",variant:L,children:y}),e[15]=a,e[16]=y,e[17]=_,e[18]=L,e[19]=G):G=e[19];let E=!u,M=n==="destructive"?"default":"ghost",S;e[20]!==d?(S=d("Rename / drop / change type\u2026"),e[20]=d,e[21]=S):S=e[21];let C;e[22]!==c||e[23]!==E||e[24]!==M||e[25]!==S?(C=(0,t.jsx)(me,{"data-testid":"sc-editor-destructive",disabled:E,onClick:c,size:"xs",type:"button",variant:M,children:S}),e[22]=c,e[23]=E,e[24]=M,e[25]=S,e[26]=C):C=e[26];let F;return e[27]!==G||e[28]!==C||e[29]!==p||e[30]!==P?(F=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[p,P,G,C]}),e[27]=G,e[28]=C,e[29]=p,e[30]=P,e[31]=F):F=e[31],F},"gt"),xt=r(s=>{let e=(0,Ce.c)(28),{onOpenMigrations:u,result:n}=s,l=Fe();if(n===null){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(t.Fragment,{}),e[0]=o):o=e[0],o}if(n.kind==="error"){let o;return e[1]!==n.message?(o=(0,t.jsx)("p",{className:"mt-3 text-sm text-destructive","data-testid":"sc-editor-error",role:"alert",children:n.message}),e[1]=n.message,e[2]=o):o=e[2],o}if(n.kind==="needs-migration"){let o;e[3]!==n.message||e[4]!==l?(o=n.message===""?l("This edit changes stored data and must go through a migration. Review the migration before applying."):n.message,e[3]=n.message,e[4]=l,e[5]=o):o=e[5];let p;e[6]!==o?(p=(0,t.jsx)("p",{className:"text-sm text-warning",role:"alert",children:o}),e[6]=o,e[7]=p):p=e[7];let i;e[8]!==l?(i=l("Open Migrations"),e[8]=l,e[9]=i):i=e[9];let v;e[10]!==u||e[11]!==i?(v=(0,t.jsx)(me,{className:"self-start","data-testid":"sc-editor-open-migrations",onClick:u,size:"xs",type:"button",variant:"outline",children:i}),e[10]=u,e[11]=i,e[12]=v):v=e[12];let b;return e[13]!==p||e[14]!==v?(b=(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-2","data-testid":"sc-editor-needs-migration",children:[p,v]}),e[13]=p,e[14]=v,e[15]=b):b=e[15],b}if(n.diagnostics.length===0){let o;return e[16]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(t.Fragment,{}),e[16]=o):o=e[16],o}let a;e[17]!==l?(a=l("Codegen reported diagnostics:"),e[17]=l,e[18]=a):a=e[18];let m;e[19]!==a?(m=(0,t.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:a}),e[19]=a,e[20]=m):m=e[20];let c;e[21]!==n.diagnostics?(c=n.diagnostics.map(vt),e[21]=n.diagnostics,e[22]=c):c=e[22];let d;e[23]!==c?(d=(0,t.jsx)("ul",{className:"flex flex-col gap-0.5",children:c}),e[23]=c,e[24]=d):d=e[24];let g;return e[25]!==m||e[26]!==d?(g=(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"sc-editor-diagnostics",children:[m,d]}),e[25]=m,e[26]=d,e[27]=g):g=e[27],g},"bt");function vt(s){return(0,t.jsx)("li",{className:"font-mono text-[11px] text-destructive",children:s},s)}r(vt,"xt");var yt=[{label:"string",validator:"v.string()"},{label:"number",validator:"v.number()"},{label:"boolean",validator:"v.boolean()"},{label:"bigint",validator:"v.int64()"},{label:"bytes",validator:"v.bytes()"},{label:"any",validator:"v.any()"}],Nt="v.string()",Ct=r(s=>s.split(",").map(e=>e.trim()).filter(e=>e!==""),"Ct"),wt=r(s=>{let e=(0,Ce.c)(83),{onApplied:u,tableNames:n}=s,l=Fe(),a=Ue(),[m,c]=(0,x.useState)(null),[d,g]=(0,x.useState)(!1),[o,p]=(0,x.useState)(null),[i,v]=(0,x.useState)(""),[b,P]=(0,x.useState)(""),[_,L]=(0,x.useState)(Nt),[y,G]=(0,x.useState)(n[0]??""),[E,M]=(0,x.useState)(""),[S,C]=(0,x.useState)(""),[F,$]=(0,x.useState)(!1),he;e[0]===Symbol.for("react.memo_cache_sentinel")?(he=r(()=>{c(null),v(""),P(""),M(""),C(""),$(!1)},"me"),e[0]=he):he=e[0];let Q=he,I;e[1]!==u?(I=r(async T=>{g(!0),p(null);try{let ge=await ft(T);p(ge),ge.kind==="ok"&&(u(ge.tables),Q())}catch(ge){let Ie=ge;p({kind:"error",message:Ie instanceof Error?Ie.message:String(Ie)})}g(!1)},"I"),e[1]=u,e[2]=I):I=e[2];let K=I,k;e[3]!==K||e[4]!==i?(k=r(()=>{ue(K({kind:"addTable",table:i.trim()}))},"_"),e[3]=K,e[4]=i,e[5]=k):k=e[5];let pe=k,B;e[6]!==b||e[7]!==K||e[8]!==y||e[9]!==_?(B=r(()=>{ue(K({column:b.trim(),kind:"addOptionalColumn",table:y,validator:_}))},"j"),e[6]=b,e[7]=K,e[8]=y,e[9]=_,e[10]=B):B=e[10];let oe=B,Y;e[11]!==S||e[12]!==E||e[13]!==K||e[14]!==y||e[15]!==F?(Y=r(()=>{ue(K({fields:Ct(S),kind:"addIndex",name:E.trim(),table:y,unique:F}))},"Q"),e[11]=S,e[12]=E,e[13]=K,e[14]=y,e[15]=F,e[16]=Y):Y=e[16];let W=Y,xe;e[17]===Symbol.for("react.memo_cache_sentinel")?(xe=r(()=>{p(null),c("addTable")},"xe"),e[17]=xe):xe=e[17];let J=xe,ie;e[18]===Symbol.for("react.memo_cache_sentinel")?(ie=r(()=>{p(null),c("addColumn")},"re"),e[18]=ie):ie=e[18];let ve=ie,O;e[19]===Symbol.for("react.memo_cache_sentinel")?(O=r(()=>{p(null),c("addIndex")},"O"),e[19]=O):O=e[19];let Z=O,ee;e[20]!==l?(ee=r(()=>{c("destructive"),p({kind:"needs-migration",message:l("This edit changes stored data and must go through a migration. Review the migration before applying.")})},"ee"),e[20]=l,e[21]=ee):ee=e[21];let de=ee,D;e[22]===Symbol.for("react.memo_cache_sentinel")?(D=r(T=>{v(T.target.value)},"R"),e[22]=D):D=e[22];let te=D,j;e[23]===Symbol.for("react.memo_cache_sentinel")?(j=r(T=>{P(T.target.value)},"M"),e[23]=j):j=e[23];let ye=j,ce;e[24]===Symbol.for("react.memo_cache_sentinel")?(ce=r(T=>{L(T.target.value)},"ce"),e[24]=ce):ce=e[24];let be=ce,R;e[25]===Symbol.for("react.memo_cache_sentinel")?(R=r(T=>{G(T.target.value)},"K"),e[25]=R):R=e[25];let X=R,V;e[26]===Symbol.for("react.memo_cache_sentinel")?(V=r(T=>{M(T.target.value)},"U"),e[26]=V):V=e[26];let le=V,U;e[27]===Symbol.for("react.memo_cache_sentinel")?(U=r(T=>{C(T.target.value)},"V"),e[27]=U):U=e[27];let ae=U,z;e[28]===Symbol.for("react.memo_cache_sentinel")?(z=r(T=>{$(T.target.checked)},"$"),e[28]=z):z=e[28];let ne=z,se;e[29]!==a?(se=r(()=>{ue(a({to:"/migrations"}))},"ne"),e[29]=a,e[30]=se):se=e[30];let f=se,re;e[31]!==l?(re=l("Edit schema"),e[31]=l,e[32]=re):re=e[32];let H;e[33]!==re?(H=(0,t.jsx)(Ge,{children:re}),e[33]=re,e[34]=H):H=e[34];let Ne;e[35]!==l?(Ne=l("Adds a table, column, or index to lunora/schema.ts and reruns codegen."),e[35]=l,e[36]=Ne):Ne=e[36];let fe;e[37]!==Ne?(fe=(0,t.jsx)(Ke,{children:Ne}),e[37]=Ne,e[38]=fe):fe=e[38];let h;e[39]!==H||e[40]!==fe?(h=(0,t.jsxs)(Pe,{children:[H,fe]}),e[39]=H,e[40]=fe,e[41]=h):h=e[41];let w=n.length>0,N;e[42]!==m||e[43]!==de||e[44]!==w?(N=(0,t.jsx)(gt,{hasTables:w,mode:m,onAddColumn:ve,onAddIndex:Z,onAddTable:J,onDestructive:de}),e[42]=m,e[43]=de,e[44]=w,e[45]=N):N=e[45];let q;e[46]!==d||e[47]!==m||e[48]!==pe||e[49]!==l||e[50]!==i?(q=m==="addTable"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"sc-editor-table-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-table-name",children:l("Table name")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-table-name",id:"sc-editor-table-name",onChange:te,value:i})]}),(0,t.jsx)(me,{"data-testid":"sc-editor-table-apply",disabled:d||i.trim()==="",onClick:pe,size:"xs",type:"button",children:l(d?"Applying\u2026":"Apply")}),(0,t.jsx)(me,{onClick:Q,size:"xs",type:"button",variant:"ghost",children:l("Cancel")})]}),e[46]=d,e[47]=m,e[48]=pe,e[49]=l,e[50]=i,e[51]=q):q=e[51];let A;e[52]!==d||e[53]!==b||e[54]!==m||e[55]!==oe||e[56]!==l||e[57]!==n||e[58]!==y||e[59]!==_?(A=m==="addColumn"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"sc-editor-column-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-column-table",children:l("Table name")}),(0,t.jsx)("select",{className:"h-8 rounded-md border border-input bg-transparent px-2 text-xs","data-testid":"sc-editor-column-table",id:"sc-editor-column-table",onChange:X,value:y,children:n.map(Tt)})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-column-name",children:l("Column name")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-column-name",id:"sc-editor-column-name",onChange:ye,value:b})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-column-type",children:l("Column type")}),(0,t.jsx)("select",{className:"h-8 rounded-md border border-input bg-transparent px-2 text-xs","data-testid":"sc-editor-column-type",id:"sc-editor-column-type",onChange:be,value:_,children:yt.map(St)})]}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:l("Optional")}),(0,t.jsx)(me,{"data-testid":"sc-editor-column-apply",disabled:d||b.trim()===""||y==="",onClick:oe,size:"xs",type:"button",children:l(d?"Applying\u2026":"Apply")}),(0,t.jsx)(me,{onClick:Q,size:"xs",type:"button",variant:"ghost",children:l("Cancel")})]}),e[52]=d,e[53]=b,e[54]=m,e[55]=oe,e[56]=l,e[57]=n,e[58]=y,e[59]=_,e[60]=A):A=e[60];let Te;e[61]!==d||e[62]!==S||e[63]!==E||e[64]!==m||e[65]!==W||e[66]!==l||e[67]!==n||e[68]!==y||e[69]!==F?(Te=m==="addIndex"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"sc-editor-index-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-index-table",children:l("Table name")}),(0,t.jsx)("select",{className:"h-8 rounded-md border border-input bg-transparent px-2 text-xs","data-testid":"sc-editor-index-table",id:"sc-editor-index-table",onChange:X,value:y,children:n.map(_t)})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-index-name",children:l("Index name")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-index-name",id:"sc-editor-index-name",onChange:le,value:E})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(we,{htmlFor:"sc-editor-index-fields",children:l("Index fields (comma-separated)")}),(0,t.jsx)(Ae,{"data-testid":"sc-editor-index-fields",id:"sc-editor-index-fields",onChange:ae,value:S})]}),(0,t.jsxs)(we,{className:"flex items-center gap-1 text-xs",htmlFor:"sc-editor-index-unique",children:[(0,t.jsx)("input",{checked:F,"data-testid":"sc-editor-index-unique",id:"sc-editor-index-unique",onChange:ne,type:"checkbox"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:l("Unique")})]}),(0,t.jsx)(me,{"data-testid":"sc-editor-index-apply",disabled:d||E.trim()===""||S.trim()==="",onClick:W,size:"xs",type:"button",children:l(d?"Applying\u2026":"Apply")}),(0,t.jsx)(me,{onClick:Q,size:"xs",type:"button",variant:"ghost",children:l("Cancel")})]}),e[61]=d,e[62]=S,e[63]=E,e[64]=m,e[65]=W,e[66]=l,e[67]=n,e[68]=y,e[69]=F,e[70]=Te):Te=e[70];let Se;e[71]!==f||e[72]!==o?(Se=(0,t.jsx)(xt,{onOpenMigrations:f,result:o}),e[71]=f,e[72]=o,e[73]=Se):Se=e[73];let _e;e[74]!==N||e[75]!==q||e[76]!==A||e[77]!==Te||e[78]!==Se?(_e=(0,t.jsxs)(Le,{children:[N,q,A,Te,Se]}),e[74]=N,e[75]=q,e[76]=A,e[77]=Te,e[78]=Se,e[79]=_e):_e=e[79];let ke;return e[80]!==h||e[81]!==_e?(ke=(0,t.jsxs)(qe,{"data-testid":"sc-editor",size:"sm",children:[h,_e]}),e[80]=h,e[81]=_e,e[82]=ke):ke=e[82],ke},"Nt");function Tt(s){return(0,t.jsx)("option",{value:s,children:s},s)}r(Tt,"Tt");function St(s){return(0,t.jsx)("option",{value:s.validator,children:s.label},s.validator)}r(St,"St");function _t(s){return(0,t.jsx)("option",{value:s,children:s},s)}r(_t,"wt");var Ze=[],kt=r(s=>{let e=(0,Ce.c)(5),{open:u}=s,n=u&&"rotate-90",l;e[0]!==n?(l=De("size-3.5 shrink-0 text-muted-foreground transition-transform duration-150",n),e[0]=n,e[1]=l):l=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)("path",{d:"m9 6 6 6-6 6"}),e[2]=a):a=e[2];let m;return e[3]!==l?(m=(0,t.jsx)("svg",{"aria-hidden":"true",className:l,fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:a}),e[3]=l,e[4]=m):m=e[4],m},"_t"),et=r(s=>{let e=(0,Ce.c)(20),{children:u,expanded:n,name:l,onToggle:a,rowCount:m,rowTestId:c,toggleTestId:d}=s,g;e[0]!==n?(g=(0,t.jsx)(kt,{open:n}),e[0]=n,e[1]=g):g=e[1];let o;e[2]!==l?(o=(0,t.jsx)("span",{className:"truncate font-mono text-xs text-foreground",title:l,children:l}),e[2]=l,e[3]=o):o=e[3];let p;e[4]!==m?(p=(0,t.jsxs)("span",{className:"ms-auto shrink-0 text-xs text-muted-foreground tabular-nums",children:["(",m,")"]}),e[4]=m,e[5]=p):p=e[5];let i;e[6]!==n||e[7]!==a||e[8]!==g||e[9]!==o||e[10]!==p||e[11]!==d?(i=(0,t.jsxs)("button",{"aria-expanded":n,className:"flex w-full items-center gap-2 px-3 py-2 text-start transition-colors hover:bg-muted/50 aria-expanded:bg-muted/40","data-testid":d,onClick:a,type:"button",children:[g,o," ",p]}),e[6]=n,e[7]=a,e[8]=g,e[9]=o,e[10]=p,e[11]=d,e[12]=i):i=e[12];let v;e[13]!==u||e[14]!==n?(v=n&&(0,t.jsx)("div",{className:"px-3 pb-3 ps-8",children:u}),e[13]=u,e[14]=n,e[15]=v):v=e[15];let b;return e[16]!==c||e[17]!==i||e[18]!==v?(b=(0,t.jsxs)("li",{className:"border-t border-border/60 first:border-t-0","data-testid":c,children:[i,v]}),e[16]=c,e[17]=i,e[18]=v,e[19]=b):b=e[19],b},"Ye"),tt=r(s=>{let e=(0,Ce.c)(5),{columns:u,testId:n}=s,l;e[0]!==u?(l=u.map(At),e[0]=u,e[1]=l):l=e[1];let a;return e[2]!==l||e[3]!==n?(a=(0,t.jsx)("ul",{className:"flex flex-wrap gap-1.5 pt-1","data-testid":n,children:l}),e[2]=l,e[3]=n,e[4]=a):a=e[4],a},"He"),It=r(s=>{let e=(0,Ce.c)(10),{heading:u,indexes:n,testId:l}=s,a;e[0]!==u?(a=(0,t.jsx)("p",{className:"mb-1.5 font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:u}),e[0]=u,e[1]=a):a=e[1];let m;e[2]!==n?(m=n.map(Ft),e[2]=n,e[3]=m):m=e[3];let c;e[4]!==m||e[5]!==l?(c=(0,t.jsx)("ul",{className:"flex flex-col gap-1","data-testid":l,children:m}),e[4]=m,e[5]=l,e[6]=c):c=e[6];let d;return e[7]!==a||e[8]!==c?(d=(0,t.jsxs)("div",{className:"pt-3",children:[a,c]}),e[7]=a,e[8]=c,e[9]=d):d=e[9],d},"Et"),lt=r(s=>De("border-b-2 px-3 py-2 font-mono text-[11px] tracking-widest uppercase outline-none transition-colors",s?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),"Xe"),Xt=r(s=>{let e=(0,Ce.c)(85),{initialShardKey:u,initialTable:n,schemaEditable:l}=s,a=Fe(),m;e[0]!==u||e[1]!==n?(m={initialShardKey:u,initialTable:n},e[0]=u,e[1]=n,e[2]=m):m=e[2];let{columns:c,diagramTables:d,error:g,expanded:o,filteredGlobalTables:p,filteredTables:i,globalColumns:v,globalError:b,globalExpanded:P,globalTables:_,indexes:L,refresh:y,setShardKey:G,setTableFilter:E,setView:M,shardColumnsError:S,shardKey:C,tableFilter:F,tables:$,toggle:he,toggleGlobal:Q,view:I}=mt(m),K;e[3]!==M?(K=r(()=>{M("list")},"q"),e[3]=M,e[4]=K):K=e[4];let k=K,pe;e[5]!==M?(pe=r(()=>{M("graph")},"ue"),e[5]=M,e[6]=pe):pe=e[6];let B=pe,oe;e[7]!==E?(oe=r(f=>{E(f.target.value)},"ie"),e[7]=E,e[8]=oe):oe=e[8];let Y=oe,W;e[9]!==y||e[10]!==C?(W=r(f=>{ue(y(C))},"Y"),e[9]=y,e[10]=C,e[11]=W):W=e[11];let xe=W,J;e[12]!==$?(J=$??[],e[12]=$,e[13]=J):J=e[13];let ie;e[14]!==J?(ie=J.map(zt),e[14]=J,e[15]=ie):ie=e[15];let ve=ie,O;e[16]!==G||e[17]!==C?(O=(0,t.jsx)(Xe,{onChange:G,testId:"sc-shard-input",value:C}),e[16]=G,e[17]=C,e[18]=O):O=e[18];let Z;e[19]!==a?(Z=a("Schema view"),e[19]=a,e[20]=Z):Z=e[20];let ee=I==="graph",de=I==="graph",D;e[21]!==de?(D=lt(de),e[21]=de,e[22]=D):D=e[22];let te;e[23]!==a?(te=a("Graph"),e[23]=a,e[24]=te):te=e[24];let j;e[25]!==B||e[26]!==ee||e[27]!==D||e[28]!==te?(j=(0,t.jsx)("button",{"aria-selected":ee,className:D,"data-testid":"sc-view-graph",onClick:B,role:"tab",type:"button",children:te}),e[25]=B,e[26]=ee,e[27]=D,e[28]=te,e[29]=j):j=e[29];let ye=I==="list",ce=I==="list",be;e[30]!==ce?(be=lt(ce),e[30]=ce,e[31]=be):be=e[31];let R;e[32]!==a?(R=a("Table list"),e[32]=a,e[33]=R):R=e[33];let X;e[34]!==k||e[35]!==ye||e[36]!==be||e[37]!==R?(X=(0,t.jsx)("button",{"aria-selected":ye,className:be,"data-testid":"sc-view-list",onClick:k,role:"tab",type:"button",children:R}),e[34]=k,e[35]=ye,e[36]=be,e[37]=R,e[38]=X):X=e[38];let V;e[39]!==j||e[40]!==X||e[41]!==Z?(V=(0,t.jsxs)("div",{"aria-label":Z,className:"flex items-center gap-1","data-testid":"sc-view-toggle",role:"tablist",children:[j,X]}),e[39]=j,e[40]=X,e[41]=Z,e[42]=V):V=e[42];let le;e[43]!==V||e[44]!==O?(le=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[O,V]}),e[43]=V,e[44]=O,e[45]=le):le=e[45];let U;e[46]!==xe||e[47]!==l||e[48]!==ve?(U=l===!0&&(0,t.jsx)(wt,{onApplied:xe,tableNames:ve}),e[46]=xe,e[47]=l,e[48]=ve,e[49]=U):U=e[49];let ae;e[50]!==Y||e[51]!==a||e[52]!==F||e[53]!==I?(ae=I==="list"&&(0,t.jsx)(Ae,{"aria-label":a("Filter tables"),className:"h-8 max-w-xs","data-testid":"sc-filter",onChange:Y,placeholder:a("Filter tables"),value:F}),e[50]=Y,e[51]=a,e[52]=F,e[53]=I,e[54]=ae):ae=e[54];let z;e[55]!==d||e[56]!==g||e[57]!==b||e[58]!==S||e[59]!==C||e[60]!==I?(z=I==="graph"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"sc-graph-view",children:[g!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-error",role:"alert",children:g}),b!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-global-error",role:"alert",children:b}),(0,t.jsx)(Qe,{columnsError:S[C]===!0,tables:d,testIdPrefix:"sc-graph"})]}),e[55]=d,e[56]=g,e[57]=b,e[58]=S,e[59]=C,e[60]=I,e[61]=z):z=e[61];let ne;e[62]!==c||e[63]!==g||e[64]!==o||e[65]!==p||e[66]!==i||e[67]!==v||e[68]!==b||e[69]!==P||e[70]!==_||e[71]!==L||e[72]!==C||e[73]!==a||e[74]!==$||e[75]!==he||e[76]!==Q||e[77]!==I?(ne=I==="list"&&(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)(qe,{"data-testid":"sc-shard-section",size:"sm",children:[(0,t.jsxs)(Pe,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(Re,{tier:"shard"}),(0,t.jsx)(Ge,{children:a("Shard tables")}),$!==null&&(0,t.jsx)(ze,{className:"ms-auto tabular-nums",variant:"outline",children:i.length})]}),(0,t.jsx)(Ke,{children:Me.shard.hint})]}),(0,t.jsxs)(Le,{children:[g!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-error",role:"alert",children:g}),$!==null&&$.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sc-empty",children:a("No tables in this shard.")}),$!==null&&$.length>0&&i.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sc-no-match",children:a("No tables match your filter.")}),i.length>0&&(0,t.jsx)("ul",{className:"-mx-3 overflow-hidden border-t border-border","data-testid":"sc-table-list",children:i.map(f=>{let re=`${C}:${f.name}`,H=L[re]??[];return(0,t.jsxs)(et,{expanded:o===f.name,name:f.name,onToggle:r(()=>{ue(he(f.name))},"onToggle"),rowCount:f.rowCount,rowTestId:`sc-table-${f.name}`,toggleTestId:`sc-toggle-${f.name}`,children:[(0,t.jsx)(tt,{columns:c[re]??Ze,testId:`sc-columns-${f.name}`}),H.length>0&&(0,t.jsx)(It,{heading:a("Indexes"),indexes:H,testId:`sc-indexes-${f.name}`})]},f.name)})})]})]}),(0,t.jsxs)(qe,{"data-testid":"sc-global-section",size:"sm",children:[(0,t.jsxs)(Pe,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(Re,{tier:"global"}),(0,t.jsx)(Ge,{children:a("Global tables (D1)")}),_!==null&&(0,t.jsx)(ze,{className:"ms-auto tabular-nums",variant:"outline",children:p.length})]}),(0,t.jsx)(Ke,{children:Me.global.hint})]}),(0,t.jsxs)(Le,{children:[b!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sc-global-error",role:"alert",children:b}),_!==null&&_.length===0&&(0,t.jsx)(We,{description:Me.global.hint,testId:"sc-global-empty",title:a("No global tables.")}),_!==null&&_.length>0&&p.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sc-global-no-match",children:a("No tables match your filter.")}),p.length>0&&(0,t.jsx)("ul",{className:"-mx-3 overflow-hidden border-t border-border","data-testid":"sc-global-table-list",children:p.map(f=>(0,t.jsx)(et,{expanded:P===f.name,name:f.name,onToggle:r(()=>{ue(Q(f.name))},"onToggle"),rowCount:f.rowCount,rowTestId:`sc-global-table-${f.name}`,toggleTestId:`sc-global-toggle-${f.name}`,children:(0,t.jsx)(tt,{columns:v[f.name]??Ze,testId:`sc-global-columns-${f.name}`})},f.name))})]})]})]}),e[62]=c,e[63]=g,e[64]=o,e[65]=p,e[66]=i,e[67]=v,e[68]=b,e[69]=P,e[70]=_,e[71]=L,e[72]=C,e[73]=a,e[74]=$,e[75]=he,e[76]=Q,e[77]=I,e[78]=ne):ne=e[78];let se;return e[79]!==le||e[80]!==U||e[81]!==ae||e[82]!==z||e[83]!==ne?(se=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-schema",children:[le,U,ae,z,ne]}),e[79]=le,e[80]=U,e[81]=ae,e[82]=z,e[83]=ne,e[84]=se):se=e[84],se},"Wt");function At(s){return(0,t.jsx)("li",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[11px] text-muted-foreground",children:s},s)}r(At,"It");function Ft(s){return(0,t.jsxs)("li",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:"font-mono",children:s.name}),(0,t.jsx)(ze,{variant:"outline",children:s.type}),s.unique===!0&&(0,t.jsx)(ze,{variant:"secondary",children:"unique"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:s.fields.join(", ")})]},`${s.type}:${s.name}`)}r(Ft,"kt");function zt(s){return s.name}r(zt,"At");export{Xt as SchemaViewer};
@@ -1 +1 @@
1
- import{b as y}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as R}from"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as v}from"./chunk-VDW32UET.js";import{c as $}from"./chunk-L6ATKZKO.js";import"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as S}from"./chunk-UANVABQG.js";import{a as A,b as C,c as I,d as x,e as c,f as n}from"./chunk-L4EZAHCD.js";import{a as k,e as w}from"./chunk-IYWVSMAY.js";import{d as N}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as f,d as b,f as E,g as O}from"./chunk-R5ZTCHCE.js";var j=b(E(),1);var r=b(O(),1);var _=f((e,t)=>({delete:e("Delete"),list:e("List"),read:e("Read"),write:e("Write")})[t],"I"),T={delete:2,list:3,read:0,write:1},B=f(e=>[...e].toSorted((t,a)=>t.bucket.localeCompare(a.bucket)||T[t.on]-T[a.on]||(t.prefix??"").localeCompare(a.prefix??"")),"O"),q=f(()=>{let e=(0,j.c)(14),t=N(),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let{data:l,error:i,errorSource:d}=$(v.storageRules,a),h=l!==void 0,m;if(e[1]!==l||e[2]!==i||e[3]!==d||e[4]!==h||e[5]!==t){let g=B(Array.isArray(l?.rules)?l.rules:[]),u;e[7]!==i||e[8]!==d?(u=i!==null&&(0,r.jsx)(R,{error:d,testId:"storage-rules-error"}),e[7]=i,e[8]=d,e[9]=u):u=e[9];let o;e[10]!==t?(o=t("Storage rules are declared in code with defineStorageRule and gate ctx.storage access per bucket. This view is read-only."),e[10]=t,e[11]=o):o=e[11];let p;e[12]!==o?(p=(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"storage-rules-note",children:o}),e[12]=o,e[13]=p):p=e[13],m=(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-storage-rules-panel",children:[u,p,h&&g.length===0?(0,r.jsx)(S,{description:t("No defineStorageRule is wired through .use(storageRules(...)) in this deployment. Add one to gate object access by key prefix."),testId:"storage-rules-empty",title:t("No storage rules defined")}):(0,r.jsx)(k,{className:"overflow-hidden py-0",children:(0,r.jsx)(w,{className:"px-0",children:(0,r.jsxs)(A,{"data-testid":"storage-rules-table",children:[(0,r.jsx)(C,{children:(0,r.jsxs)(x,{children:[(0,r.jsx)(c,{children:t("Bucket")}),(0,r.jsx)(c,{children:t("Operation")}),(0,r.jsx)(c,{children:t("Key prefix")}),(0,r.jsx)(c,{children:t("Guarded by")})]})}),(0,r.jsx)(I,{children:g.map(s=>(0,r.jsxs)(x,{"data-testid":`storage-rule-${s.bucket}-${s.on}-${s.prefix??""}`,children:[(0,r.jsx)(n,{className:"font-mono text-xs",children:s.bucket}),(0,r.jsx)(n,{children:(0,r.jsx)(y,{variant:"secondary",children:_(t,s.on)})}),(0,r.jsx)(n,{className:"font-mono text-xs",children:s.prefix??(0,r.jsx)("span",{className:"text-muted-foreground",children:t("(whole bucket)")})}),(0,r.jsx)(n,{className:"font-mono text-xs text-muted-foreground",children:s.procedure})]},`${s.bucket}:${s.on}:${s.prefix??""}:${s.procedure}`))})]})})})]}),e[1]=l,e[2]=i,e[3]=d,e[4]=h,e[5]=t,e[6]=m}else m=e[6];return m},"M");export{q as default};
1
+ import{b as y}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as R}from"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as v}from"./chunk-DZGOHOOE.js";import{c as $}from"./chunk-L6ATKZKO.js";import"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as S}from"./chunk-UANVABQG.js";import{a as A,b as C,c as I,d as x,e as c,f as n}from"./chunk-L4EZAHCD.js";import{a as k,e as w}from"./chunk-IYWVSMAY.js";import{d as N}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as f,d as b,f as E,g as O}from"./chunk-R5ZTCHCE.js";var j=b(E(),1);var r=b(O(),1);var _=f((e,t)=>({delete:e("Delete"),list:e("List"),read:e("Read"),write:e("Write")})[t],"I"),T={delete:2,list:3,read:0,write:1},B=f(e=>[...e].toSorted((t,a)=>t.bucket.localeCompare(a.bucket)||T[t.on]-T[a.on]||(t.prefix??"").localeCompare(a.prefix??"")),"O"),q=f(()=>{let e=(0,j.c)(14),t=N(),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let{data:l,error:i,errorSource:d}=$(v.storageRules,a),h=l!==void 0,m;if(e[1]!==l||e[2]!==i||e[3]!==d||e[4]!==h||e[5]!==t){let g=B(Array.isArray(l?.rules)?l.rules:[]),u;e[7]!==i||e[8]!==d?(u=i!==null&&(0,r.jsx)(R,{error:d,testId:"storage-rules-error"}),e[7]=i,e[8]=d,e[9]=u):u=e[9];let o;e[10]!==t?(o=t("Storage rules are declared in code with defineStorageRule and gate ctx.storage access per bucket. This view is read-only."),e[10]=t,e[11]=o):o=e[11];let p;e[12]!==o?(p=(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"storage-rules-note",children:o}),e[12]=o,e[13]=p):p=e[13],m=(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-storage-rules-panel",children:[u,p,h&&g.length===0?(0,r.jsx)(S,{description:t("No defineStorageRule is wired through .use(storageRules(...)) in this deployment. Add one to gate object access by key prefix."),testId:"storage-rules-empty",title:t("No storage rules defined")}):(0,r.jsx)(k,{className:"overflow-hidden py-0",children:(0,r.jsx)(w,{className:"px-0",children:(0,r.jsxs)(A,{"data-testid":"storage-rules-table",children:[(0,r.jsx)(C,{children:(0,r.jsxs)(x,{children:[(0,r.jsx)(c,{children:t("Bucket")}),(0,r.jsx)(c,{children:t("Operation")}),(0,r.jsx)(c,{children:t("Key prefix")}),(0,r.jsx)(c,{children:t("Guarded by")})]})}),(0,r.jsx)(I,{children:g.map(s=>(0,r.jsxs)(x,{"data-testid":`storage-rule-${s.bucket}-${s.on}-${s.prefix??""}`,children:[(0,r.jsx)(n,{className:"font-mono text-xs",children:s.bucket}),(0,r.jsx)(n,{children:(0,r.jsx)(y,{variant:"secondary",children:_(t,s.on)})}),(0,r.jsx)(n,{className:"font-mono text-xs",children:s.prefix??(0,r.jsx)("span",{className:"text-muted-foreground",children:t("(whole bucket)")})}),(0,r.jsx)(n,{className:"font-mono text-xs text-muted-foreground",children:s.procedure})]},`${s.bucket}:${s.on}:${s.prefix??""}:${s.procedure}`))})]})})})]}),e[1]=l,e[2]=i,e[3]=d,e[4]=h,e[5]=t,e[6]=m}else m=e[6];return m},"M");export{q as default};
@@ -1 +1 @@
1
- import{a as Z}from"./chunk-2EJQ7SPV.js";import{a as W}from"./chunk-CKTKI4IY.js";import{a as V}from"./chunk-6UN4V2HB.js";import{b as G}from"./chunk-KVSQKUWD.js";import{a as Q}from"./chunk-TNKECJW4.js";import{e as U}from"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{b as ee,c as te}from"./chunk-OQS4HFKC.js";import{a as q,b as Y}from"./chunk-27IF4PXG.js";import{a as z}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import"./chunk-7PIHTTND.js";import"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as $}from"./chunk-VDW32UET.js";import{c as C}from"./chunk-L6ATKZKO.js";import{f as P}from"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import"./chunk-L4EZAHCD.js";import"./chunk-IYWVSMAY.js";import{d as A,f as H,g as K,o as k,r as M}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as l,d as _,e as he,f as me,g as pe}from"./chunk-R5ZTCHCE.js";var F=_(me(),1);var u=_(he(),1);var I=_(pe(),1);var be=l(t=>{let{suggestedIndex:e,table:r}=t;return!(typeof r!="string"||r.length===0||typeof e!="object"||e===null||!Array.isArray(e.fields)||e.fields.length===0)},"xe"),ge=l((t,e,r)=>{let n=M(t),a=M(e),o=r.map(c=>M(c)).join(", ");return`CREATE INDEX IF NOT EXISTS ${a} ON ${n} (${o});`},"ye"),ve=l(t=>{let e=(0,F.c)(19),{fields:r,indexName:n,table:a,testId:o}=t,c=A(),[T,p]=(0,u.useState)(!1),f;e[0]!==r||e[1]!==n||e[2]!==a?(f=l(()=>{let S="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if(S===void 0)return;let x=ge(a,n,r);k(S.writeText(x)),p(!0)},"u"),e[0]=r,e[1]=n,e[2]=a,e[3]=f):f=e[3];let v=f;if(T){let S=`${o}-applied`,x;e[4]!==c?(x=c("CREATE INDEX SQL copied to clipboard."),e[4]=c,e[5]=x):x=e[5];let E;return e[6]!==S||e[7]!==x?(E=(0,I.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":S,children:x}),e[6]=S,e[7]=x,e[8]=E):E=e[8],E}let w;e[9]!==c?(w=c("Apply?"),e[9]=c,e[10]=w):w=e[10];let h;e[11]!==c||e[12]!==a?(h=c("Apply index on {table}",{table:a}),e[11]=c,e[12]=a,e[13]=h):h=e[13];let y;return e[14]!==v||e[15]!==w||e[16]!==h||e[17]!==o?(y=(0,I.jsx)(Z,{confirmLabel:w,onConfirm:v,testId:o,children:h}),e[14]=v,e[15]=w,e[16]=h,e[17]=o,e[18]=y):y=e[18],y},"ve"),ye=l((t,e)=>{let r=new Map;for(let n of e){let a=`${n.table} ${n.index}`;r.set(a,(r.get(a)??0)+n.reads)}return t.map(n=>({index:n.index,reads:r.get(`${n.table} ${n.index}`)??0,table:n.table}))},"Se"),xe=l(t=>{let e=new Map;for(let r of t)for(let n of r.scannedTables??[])e.set(n.table,(e.get(n.table)??0)+n.scans);return[...e].map(([r,n])=>({scans:n,table:r}))},"Te"),ne=l((t,e)=>e.map(r=>({index:r.name,table:t})),"X"),we=l(t=>{let e=ye(t.declaredIndexes??[],t.indexHits??[]),r=xe(t.functions??[]),n=t.shardTraffic??[],a=t.analyticsMetrics,o=a&&a.indexHits.length>0?a.indexHits:e,c=a&&a.tableScans.length>0?a.tableScans:r,T=a&&a.shardTraffic.length>0?a.shardTraffic:n,p=te({indexHits:o,schema:{tables:[]},shardTraffic:T,tableScans:c},{lints:ee,source:"runtime"}),f=t.suppressHotScanTables;return(f===void 0?p:p.filter(v=>!(v.metadata.kind==="hot_scan"&&typeof v.metadata.table=="string"&&f.has(v.metadata.table)))).map(v=>q(v))},"ge"),Se=H($.listTables),Te=H($.listTableIndexes),Ie=H($.listTablesIndexes),j=l(t=>`${(t*100).toFixed(1)}%`,"H"),ae=l(t=>`${(t/1e3).toFixed(2)}s`,"P"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Ee"),Ee=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function")})[e.kind],"$e"),re=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:j(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:j(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:j(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:ae(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:ae(e.value)})})[e.kind],"V"),Ne=l(t=>{let e=(0,F.c)(10),{onJump:r,table:n}=t,a=A(),o;e[0]!==r||e[1]!==n?(o=l(()=>{r(n)},"i"),e[0]=r,e[1]=n,e[2]=o):o=e[2];let c=o,T=`in-add-index-${n}`,p;e[3]!==a||e[4]!==n?(p=a("Add index on {table}",{table:n}),e[3]=a,e[4]=n,e[5]=p):p=e[5];let f;return e[6]!==c||e[7]!==T||e[8]!==p?(f=(0,I.jsx)(z,{"data-testid":T,onClick:c,size:"sm",type:"button",variant:"outline",children:p}),e[6]=c,e[7]=T,e[8]=p,e[9]=f):f=e[9],f},"Ne"),De=l(({initialShardKey:t,loadShardTraffic:e})=>{let r=P(),n=U(),a=A(),{queryShardKey:o,setShardKey:c,shardKey:T}=W(t),[p,f]=(0,u.useState)(null),[v,w]=(0,u.useState)(null),h=(0,u.useRef)(""),y=C($.getMetrics,{},{live:!0,shardKey:o}),S=C($.getFunctionStats,{},{live:!0,shardKey:o}),x=C($.getAdvisories,{},{live:!0,shardKey:o}),E=y.data??null,O=S.data?.functions??null,R=x.data?.advisories??null,se=y.data?.indexHits??null,B=y.error!==null&&S.error!==null?y.error:null,ie=e??(s=>r.shardTraffic(s)),oe=l(async(s,b)=>{let i=s[0];if(i===void 0||i===""){h.current===b&&w(null);return}try{let m=await ie(i);if(h.current!==b)return;let d=new Map;for(let g of m.shards)d.has(g.shardKey)||d.set(g.shardKey,{requests:g.requests,shardKey:g.shardKey});w([...d.values()])}catch{h.current===b&&w(null)}},"W"),le=l(async(s,b)=>{let i=await Promise.allSettled(s.map(async d=>[d,await r.query(Te,{table:d},K(b))])),m=[];for(let d of i)if(d.status==="fulfilled"){let[g,N]=d.value;m.push(...ne(g,N.indexes))}return m},"Y"),D=(0,u.useEffectEvent)(async s=>{h.current=s;let b=[];try{let i=await r.query(Se,{},K(s));if(h.current!==s)return;G(s),b=i.map(d=>d.name);let m=[];if(b.length>0)try{let d=await r.query(Ie,{tables:b},K(s));if(h.current!==s)return;for(let[g,N]of Object.entries(d.indexesByTable))m.push(...ne(g,N))}catch{if(m=await le(b,s),h.current!==s)return}f(m)}catch{h.current===s&&f(null)}await oe(b,s)});(0,u.useEffect)(()=>{k(D(o))},[o]);let ce=(0,u.useEffectEvent)(()=>{y.refetch(),S.refetch(),x.refetch(),k(D(o))});(0,u.useEffect)(()=>{let s=l(()=>{document.visibilityState==="visible"&&ce()},"a");return document.addEventListener("visibilitychange",s),()=>{document.removeEventListener("visibilitychange",s)}},[]);let J=(0,u.useCallback)(s=>{k(n({search:{table:s},to:"/schema"}))},[n]),L=Q(E,O),de=new Set(L.filter(s=>s.kind==="missing-index").flatMap(s=>s.tables??[])),X=we({declaredIndexes:p??[],functions:O,indexHits:se,shardTraffic:v,suppressHotScanTables:de}),ue=(0,u.useMemo)(()=>{let s=L.map(i=>{let m=i.kind==="missing-index"?i.tables??[]:[];return{action:m.length>0?m.map(d=>(0,I.jsx)(Ne,{onJump:J,table:d},d)):void 0,description:i.message===void 0?re(a,i):`${re(a,i)} \u2014 ${i.message}`,entity:i.fn,issueType:Ee(a,i),key:`${i.kind}:${i.fn??""}`,level:i.severity}}),b=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(R??[]).map(i=>{let m=q(i);if(b.has(i.name)&&be(i.metadata)){let{table:d,suggestedIndex:g}=i.metadata,N=`in-apply-index-${d}-${g.name}`;return{...m,action:(0,I.jsx)(ve,{fields:g.fields,indexName:g.name,table:d,testId:N})}}return m}),...X,...s]},[R,L,J,X,a]),fe=(0,I.jsx)(V,{onChange:c,testId:"in-shard-input",value:T});return(0,I.jsx)(Y,{error:B,errorSource:B===null?void 0:y.errorSource,rows:ue,testId:"lunora-insights",toolbar:fe})},"Je");export{De as InsightsPanel};
1
+ import{a as Z}from"./chunk-2EJQ7SPV.js";import{a as W}from"./chunk-CKTKI4IY.js";import{a as V}from"./chunk-6UN4V2HB.js";import{b as G}from"./chunk-KVSQKUWD.js";import{a as Q}from"./chunk-TNKECJW4.js";import{e as U}from"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{b as ee,c as te}from"./chunk-5QAT5NQ4.js";import{a as q,b as Y}from"./chunk-27IF4PXG.js";import{a as z}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import"./chunk-7PIHTTND.js";import"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as $}from"./chunk-DZGOHOOE.js";import{c as C}from"./chunk-L6ATKZKO.js";import{f as P}from"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import"./chunk-L4EZAHCD.js";import"./chunk-IYWVSMAY.js";import{d as A,f as H,g as K,o as k,r as M}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as l,d as _,e as he,f as me,g as pe}from"./chunk-R5ZTCHCE.js";var F=_(me(),1);var u=_(he(),1);var I=_(pe(),1);var be=l(t=>{let{suggestedIndex:e,table:r}=t;return!(typeof r!="string"||r.length===0||typeof e!="object"||e===null||!Array.isArray(e.fields)||e.fields.length===0)},"xe"),ge=l((t,e,r)=>{let n=M(t),a=M(e),o=r.map(c=>M(c)).join(", ");return`CREATE INDEX IF NOT EXISTS ${a} ON ${n} (${o});`},"ye"),ve=l(t=>{let e=(0,F.c)(19),{fields:r,indexName:n,table:a,testId:o}=t,c=A(),[T,p]=(0,u.useState)(!1),f;e[0]!==r||e[1]!==n||e[2]!==a?(f=l(()=>{let S="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if(S===void 0)return;let x=ge(a,n,r);k(S.writeText(x)),p(!0)},"u"),e[0]=r,e[1]=n,e[2]=a,e[3]=f):f=e[3];let v=f;if(T){let S=`${o}-applied`,x;e[4]!==c?(x=c("CREATE INDEX SQL copied to clipboard."),e[4]=c,e[5]=x):x=e[5];let E;return e[6]!==S||e[7]!==x?(E=(0,I.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":S,children:x}),e[6]=S,e[7]=x,e[8]=E):E=e[8],E}let w;e[9]!==c?(w=c("Apply?"),e[9]=c,e[10]=w):w=e[10];let h;e[11]!==c||e[12]!==a?(h=c("Apply index on {table}",{table:a}),e[11]=c,e[12]=a,e[13]=h):h=e[13];let y;return e[14]!==v||e[15]!==w||e[16]!==h||e[17]!==o?(y=(0,I.jsx)(Z,{confirmLabel:w,onConfirm:v,testId:o,children:h}),e[14]=v,e[15]=w,e[16]=h,e[17]=o,e[18]=y):y=e[18],y},"ve"),ye=l((t,e)=>{let r=new Map;for(let n of e){let a=`${n.table} ${n.index}`;r.set(a,(r.get(a)??0)+n.reads)}return t.map(n=>({index:n.index,reads:r.get(`${n.table} ${n.index}`)??0,table:n.table}))},"Se"),xe=l(t=>{let e=new Map;for(let r of t)for(let n of r.scannedTables??[])e.set(n.table,(e.get(n.table)??0)+n.scans);return[...e].map(([r,n])=>({scans:n,table:r}))},"Te"),ne=l((t,e)=>e.map(r=>({index:r.name,table:t})),"X"),we=l(t=>{let e=ye(t.declaredIndexes??[],t.indexHits??[]),r=xe(t.functions??[]),n=t.shardTraffic??[],a=t.analyticsMetrics,o=a&&a.indexHits.length>0?a.indexHits:e,c=a&&a.tableScans.length>0?a.tableScans:r,T=a&&a.shardTraffic.length>0?a.shardTraffic:n,p=te({indexHits:o,schema:{tables:[]},shardTraffic:T,tableScans:c},{lints:ee,source:"runtime"}),f=t.suppressHotScanTables;return(f===void 0?p:p.filter(v=>!(v.metadata.kind==="hot_scan"&&typeof v.metadata.table=="string"&&f.has(v.metadata.table)))).map(v=>q(v))},"ge"),Se=H($.listTables),Te=H($.listTableIndexes),Ie=H($.listTablesIndexes),j=l(t=>`${(t*100).toFixed(1)}%`,"H"),ae=l(t=>`${(t/1e3).toFixed(2)}s`,"P"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Ee"),Ee=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function")})[e.kind],"$e"),re=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:j(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:j(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:j(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:ae(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:ae(e.value)})})[e.kind],"V"),Ne=l(t=>{let e=(0,F.c)(10),{onJump:r,table:n}=t,a=A(),o;e[0]!==r||e[1]!==n?(o=l(()=>{r(n)},"i"),e[0]=r,e[1]=n,e[2]=o):o=e[2];let c=o,T=`in-add-index-${n}`,p;e[3]!==a||e[4]!==n?(p=a("Add index on {table}",{table:n}),e[3]=a,e[4]=n,e[5]=p):p=e[5];let f;return e[6]!==c||e[7]!==T||e[8]!==p?(f=(0,I.jsx)(z,{"data-testid":T,onClick:c,size:"sm",type:"button",variant:"outline",children:p}),e[6]=c,e[7]=T,e[8]=p,e[9]=f):f=e[9],f},"Ne"),De=l(({initialShardKey:t,loadShardTraffic:e})=>{let r=P(),n=U(),a=A(),{queryShardKey:o,setShardKey:c,shardKey:T}=W(t),[p,f]=(0,u.useState)(null),[v,w]=(0,u.useState)(null),h=(0,u.useRef)(""),y=C($.getMetrics,{},{live:!0,shardKey:o}),S=C($.getFunctionStats,{},{live:!0,shardKey:o}),x=C($.getAdvisories,{},{live:!0,shardKey:o}),E=y.data??null,O=S.data?.functions??null,R=x.data?.advisories??null,se=y.data?.indexHits??null,B=y.error!==null&&S.error!==null?y.error:null,ie=e??(s=>r.shardTraffic(s)),oe=l(async(s,b)=>{let i=s[0];if(i===void 0||i===""){h.current===b&&w(null);return}try{let m=await ie(i);if(h.current!==b)return;let d=new Map;for(let g of m.shards)d.has(g.shardKey)||d.set(g.shardKey,{requests:g.requests,shardKey:g.shardKey});w([...d.values()])}catch{h.current===b&&w(null)}},"W"),le=l(async(s,b)=>{let i=await Promise.allSettled(s.map(async d=>[d,await r.query(Te,{table:d},K(b))])),m=[];for(let d of i)if(d.status==="fulfilled"){let[g,N]=d.value;m.push(...ne(g,N.indexes))}return m},"Y"),D=(0,u.useEffectEvent)(async s=>{h.current=s;let b=[];try{let i=await r.query(Se,{},K(s));if(h.current!==s)return;G(s),b=i.map(d=>d.name);let m=[];if(b.length>0)try{let d=await r.query(Ie,{tables:b},K(s));if(h.current!==s)return;for(let[g,N]of Object.entries(d.indexesByTable))m.push(...ne(g,N))}catch{if(m=await le(b,s),h.current!==s)return}f(m)}catch{h.current===s&&f(null)}await oe(b,s)});(0,u.useEffect)(()=>{k(D(o))},[o]);let ce=(0,u.useEffectEvent)(()=>{y.refetch(),S.refetch(),x.refetch(),k(D(o))});(0,u.useEffect)(()=>{let s=l(()=>{document.visibilityState==="visible"&&ce()},"a");return document.addEventListener("visibilitychange",s),()=>{document.removeEventListener("visibilitychange",s)}},[]);let J=(0,u.useCallback)(s=>{k(n({search:{table:s},to:"/schema"}))},[n]),L=Q(E,O),de=new Set(L.filter(s=>s.kind==="missing-index").flatMap(s=>s.tables??[])),X=we({declaredIndexes:p??[],functions:O,indexHits:se,shardTraffic:v,suppressHotScanTables:de}),ue=(0,u.useMemo)(()=>{let s=L.map(i=>{let m=i.kind==="missing-index"?i.tables??[]:[];return{action:m.length>0?m.map(d=>(0,I.jsx)(Ne,{onJump:J,table:d},d)):void 0,description:i.message===void 0?re(a,i):`${re(a,i)} \u2014 ${i.message}`,entity:i.fn,issueType:Ee(a,i),key:`${i.kind}:${i.fn??""}`,level:i.severity}}),b=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(R??[]).map(i=>{let m=q(i);if(b.has(i.name)&&be(i.metadata)){let{table:d,suggestedIndex:g}=i.metadata,N=`in-apply-index-${d}-${g.name}`;return{...m,action:(0,I.jsx)(ve,{fields:g.fields,indexName:g.name,table:d,testId:N})}}return m}),...X,...s]},[R,L,J,X,a]),fe=(0,I.jsx)(V,{onChange:c,testId:"in-shard-input",value:T});return(0,I.jsx)(Y,{error:B,errorSource:B===null?void 0:y.errorSource,rows:ue,testId:"lunora-insights",toolbar:fe})},"Je");export{De as InsightsPanel};
@@ -1 +1 @@
1
- import{a as q}from"./chunk-YMVKAXBC.js";import{a as k}from"./chunk-T7DJP5HM.js";import"./chunk-2SFSTQS4.js";import"./chunk-XL2OT5WB.js";import"./chunk-JV7KTJPY.js";import"./chunk-DPNEFSEC.js";import{a as A}from"./chunk-CKTKI4IY.js";import{a as $}from"./chunk-6UN4V2HB.js";import"./chunk-KVSQKUWD.js";import"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import"./chunk-XQS7KSHL.js";import{b as K}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as F}from"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as T}from"./chunk-VDW32UET.js";import{c as S}from"./chunk-L6ATKZKO.js";import"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as O}from"./chunk-UANVABQG.js";import{a as j,e as w}from"./chunk-IYWVSMAY.js";import{d as I,s as E}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as p,d as C,f as D,g as H}from"./chunk-R5ZTCHCE.js";var M=C(D(),1);var m=C(H(),1);var L=p(s=>s.length===0?void 0:{max:Math.max(...s),mean:s.reduce((e,t)=>e+t,0)/s.length,min:Math.min(...s)},"F"),B=/^gen_ai\.evaluation\.(.+)\.score$/u,P=p(s=>{let e=[];for(let t of s)for(let n of t.spans)for(let[a,l]of Object.entries(n.attributes??{})){let o=B.exec(a);if(!o||typeof l!="number")continue;let i=o[1],c=n.attributes?.[`gen_ai.evaluation.${i}.label`];e.push({...typeof c=="string"?{label:c}:{},name:i,score:l,spanName:n.name,startTs:t.startTs+n.offsetMs,traceId:t.traceId})}return e.toSorted((t,n)=>n.startTs-t.startTs)},"q"),Q=p(s=>{let e=[];for(let t of s?.series??[]){let n=B.exec(t.name);n&&e.push({name:n[1],points:t.points})}return e},"D"),R=p((s,e)=>{let t=new Set([...s.map(a=>a.name),...e.map(a=>a.name)]),n=[];for(let a of t){let l=s.filter(r=>r.name===a),o=e.find(r=>r.name===a)?.points??[],i=o.at(-1)?.last??l[0]?.score,c=o.length>0?{max:Math.max(...o.map(r=>r.max)),mean:o.reduce((r,d)=>r+d.sum,0)/o.reduce((r,d)=>r+d.count,0),min:Math.min(...o.map(r=>r.min))}:L(l.map(r=>r.score));n.push({...i===void 0?{}:{latest:i},...c,name:a,points:o,runs:l})}return n.toSorted((a,l)=>a.name.localeCompare(l.name))},"H"),U=p(s=>Array.isArray(s?.traces)?s.traces:[],"L"),N=p(s=>s===void 0?"\u2014":s.toFixed(2),"y"),z=p(s=>{let e=(0,M.c)(34),{card:t,onOpenTrace:n}=s,a=I(),l;e[0]!==t.name?(l=(0,m.jsx)("h3",{className:"font-mono text-sm font-semibold text-foreground","data-testid":"ev-name",children:t.name}),e[0]=t.name,e[1]=l):l=e[1];let o;e[2]!==t.latest?(o=N(t.latest),e[2]=t.latest,e[3]=o):o=e[3];let i;e[4]!==o?(i=(0,m.jsx)("span",{className:"font-mono text-lg text-foreground","data-testid":"ev-latest",children:o}),e[4]=o,e[5]=i):i=e[5];let c;e[6]!==l||e[7]!==i?(c=(0,m.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[l,i]}),e[6]=l,e[7]=i,e[8]=c):c=e[8];let r;e[9]!==t.max||e[10]!==t.mean||e[11]!==t.min||e[12]!==a?(r=a("min {min} \xB7 mean {mean} \xB7 max {max}",{max:N(t.max),mean:N(t.mean),min:N(t.min)}),e[9]=t.max,e[10]=t.mean,e[11]=t.min,e[12]=a,e[13]=r):r=e[13];let d;e[14]!==r?(d=(0,m.jsx)("p",{className:"font-mono text-xs text-muted-foreground","data-testid":"ev-summary",children:r}),e[14]=r,e[15]=d):d=e[15];let u;e[16]!==t.name||e[17]!==t.points||e[18]!==a?(u=t.points.length>1?(0,m.jsx)(q,{ariaLabel:a("Score trend for {name}",{name:t.name}),className:"h-10 w-full",series:t.points.map(G),testId:"ev-trend"}):(0,m.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ev-no-trend",children:a("No durable history yet \u2014 pass ctx.metrics to recordEvaluation to chart a trend.")}),e[16]=t.name,e[17]=t.points,e[18]=a,e[19]=u):u=e[19];let h;if(e[20]!==t.runs||e[21]!==n||e[22]!==a){let v;e[24]!==n||e[25]!==a?(v=p(f=>(0,m.jsxs)("div",{className:"flex items-center justify-between gap-2 font-mono text-xs","data-testid":"ev-run",children:[(0,m.jsxs)("span",{className:"truncate text-muted-foreground",children:[E(f.startTs)," \xB7 ",f.spanName]}),(0,m.jsxs)("span",{className:"flex items-center gap-2",children:[f.label===void 0?null:(0,m.jsx)(K,{variant:"outline",children:f.label}),(0,m.jsx)("span",{className:"text-foreground",children:N(f.score)}),n===void 0?null:(0,m.jsx)("button",{className:"text-muted-foreground underline-offset-2 hover:underline",onClick:p(()=>{n(f.traceId)},"onClick"),title:a("Open the trace {trace}",{trace:f.traceId}),type:"button",children:f.traceId.slice(0,8)})]})]},`${f.traceId}:${f.spanName}`),"x"),e[24]=n,e[25]=a,e[26]=v):v=e[26],h=t.runs.slice(0,5).map(v),e[20]=t.runs,e[21]=n,e[22]=a,e[23]=h}else h=e[23];let x;e[27]!==h?(x=(0,m.jsx)("div",{className:"flex flex-col gap-1",children:h}),e[27]=h,e[28]=x):x=e[28];let g;return e[29]!==c||e[30]!==d||e[31]!==u||e[32]!==x?(g=(0,m.jsx)(j,{"data-testid":"ev-card",children:(0,m.jsxs)(w,{className:"flex flex-col gap-3 p-4",children:[c,d,u,x]})}),e[29]=c,e[30]=d,e[31]=u,e[32]=x,e[33]=g):g=e[33],g},"P"),oe=p(s=>{let e=(0,M.c)(19),{initialShardKey:t}=s,n=I(),{queryShardKey:a,setShardKey:l,shardKey:o}=A(t),i=k(a),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={},e[0]=c):c=e[0];let r;e[1]!==a?(r={live:!0,shardKey:a},e[1]=a,e[2]=r):r=e[2];let{data:d,error:u}=S(T.getTraces,c,r),h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h={},e[3]=h):h=e[3];let x;e[4]!==a?(x={live:!0,shardKey:a},e[4]=a,e[5]=x):x=e[5];let{data:g}=S(T.getMetricHistory,h,x),v;if(e[6]!==d||e[7]!==u||e[8]!==g||e[9]!==i||e[10]!==l||e[11]!==o||e[12]!==n){let f=R(P(U(d)),Q(g)),y;e[14]!==l||e[15]!==o?(y=(0,m.jsx)($,{onChange:l,testId:"ev-shard-input",value:o}),e[14]=l,e[15]=o,e[16]=y):y=e[16];let b;e[17]!==u?(b=u===null?null:(0,m.jsx)(F,{error:u,testId:"ev-error"}),e[17]=u,e[18]=b):b=e[18],v=(0,m.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"ev-panel",children:[y,b,f.length===0?(0,m.jsx)(O,{description:n("Call recordEvaluation from a graded run and its score shows up here."),testId:"ev-empty",title:n("No evals recorded")}):(0,m.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:f.map(_=>(0,m.jsx)(z,{card:_,onOpenTrace:i},_.name))})]}),e[6]=d,e[7]=u,e[8]=g,e[9]=i,e[10]=l,e[11]=o,e[12]=n,e[13]=v}else v=e[13];return v},"re");function G(s){return s.last}p(G,"Q");export{oe as default};
1
+ import{a as q}from"./chunk-YMVKAXBC.js";import{a as k}from"./chunk-T7DJP5HM.js";import"./chunk-2SFSTQS4.js";import"./chunk-XL2OT5WB.js";import"./chunk-JV7KTJPY.js";import"./chunk-DPNEFSEC.js";import{a as A}from"./chunk-CKTKI4IY.js";import{a as $}from"./chunk-6UN4V2HB.js";import"./chunk-KVSQKUWD.js";import"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import"./chunk-XQS7KSHL.js";import{b as K}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as F}from"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as T}from"./chunk-DZGOHOOE.js";import{c as S}from"./chunk-L6ATKZKO.js";import"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as O}from"./chunk-UANVABQG.js";import{a as j,e as w}from"./chunk-IYWVSMAY.js";import{d as I,s as E}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as p,d as C,f as D,g as H}from"./chunk-R5ZTCHCE.js";var M=C(D(),1);var m=C(H(),1);var L=p(s=>s.length===0?void 0:{max:Math.max(...s),mean:s.reduce((e,t)=>e+t,0)/s.length,min:Math.min(...s)},"F"),B=/^gen_ai\.evaluation\.(.+)\.score$/u,P=p(s=>{let e=[];for(let t of s)for(let n of t.spans)for(let[a,l]of Object.entries(n.attributes??{})){let o=B.exec(a);if(!o||typeof l!="number")continue;let i=o[1],c=n.attributes?.[`gen_ai.evaluation.${i}.label`];e.push({...typeof c=="string"?{label:c}:{},name:i,score:l,spanName:n.name,startTs:t.startTs+n.offsetMs,traceId:t.traceId})}return e.toSorted((t,n)=>n.startTs-t.startTs)},"q"),Q=p(s=>{let e=[];for(let t of s?.series??[]){let n=B.exec(t.name);n&&e.push({name:n[1],points:t.points})}return e},"D"),R=p((s,e)=>{let t=new Set([...s.map(a=>a.name),...e.map(a=>a.name)]),n=[];for(let a of t){let l=s.filter(r=>r.name===a),o=e.find(r=>r.name===a)?.points??[],i=o.at(-1)?.last??l[0]?.score,c=o.length>0?{max:Math.max(...o.map(r=>r.max)),mean:o.reduce((r,d)=>r+d.sum,0)/o.reduce((r,d)=>r+d.count,0),min:Math.min(...o.map(r=>r.min))}:L(l.map(r=>r.score));n.push({...i===void 0?{}:{latest:i},...c,name:a,points:o,runs:l})}return n.toSorted((a,l)=>a.name.localeCompare(l.name))},"H"),U=p(s=>Array.isArray(s?.traces)?s.traces:[],"L"),N=p(s=>s===void 0?"\u2014":s.toFixed(2),"y"),z=p(s=>{let e=(0,M.c)(34),{card:t,onOpenTrace:n}=s,a=I(),l;e[0]!==t.name?(l=(0,m.jsx)("h3",{className:"font-mono text-sm font-semibold text-foreground","data-testid":"ev-name",children:t.name}),e[0]=t.name,e[1]=l):l=e[1];let o;e[2]!==t.latest?(o=N(t.latest),e[2]=t.latest,e[3]=o):o=e[3];let i;e[4]!==o?(i=(0,m.jsx)("span",{className:"font-mono text-lg text-foreground","data-testid":"ev-latest",children:o}),e[4]=o,e[5]=i):i=e[5];let c;e[6]!==l||e[7]!==i?(c=(0,m.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[l,i]}),e[6]=l,e[7]=i,e[8]=c):c=e[8];let r;e[9]!==t.max||e[10]!==t.mean||e[11]!==t.min||e[12]!==a?(r=a("min {min} \xB7 mean {mean} \xB7 max {max}",{max:N(t.max),mean:N(t.mean),min:N(t.min)}),e[9]=t.max,e[10]=t.mean,e[11]=t.min,e[12]=a,e[13]=r):r=e[13];let d;e[14]!==r?(d=(0,m.jsx)("p",{className:"font-mono text-xs text-muted-foreground","data-testid":"ev-summary",children:r}),e[14]=r,e[15]=d):d=e[15];let u;e[16]!==t.name||e[17]!==t.points||e[18]!==a?(u=t.points.length>1?(0,m.jsx)(q,{ariaLabel:a("Score trend for {name}",{name:t.name}),className:"h-10 w-full",series:t.points.map(G),testId:"ev-trend"}):(0,m.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ev-no-trend",children:a("No durable history yet \u2014 pass ctx.metrics to recordEvaluation to chart a trend.")}),e[16]=t.name,e[17]=t.points,e[18]=a,e[19]=u):u=e[19];let h;if(e[20]!==t.runs||e[21]!==n||e[22]!==a){let v;e[24]!==n||e[25]!==a?(v=p(f=>(0,m.jsxs)("div",{className:"flex items-center justify-between gap-2 font-mono text-xs","data-testid":"ev-run",children:[(0,m.jsxs)("span",{className:"truncate text-muted-foreground",children:[E(f.startTs)," \xB7 ",f.spanName]}),(0,m.jsxs)("span",{className:"flex items-center gap-2",children:[f.label===void 0?null:(0,m.jsx)(K,{variant:"outline",children:f.label}),(0,m.jsx)("span",{className:"text-foreground",children:N(f.score)}),n===void 0?null:(0,m.jsx)("button",{className:"text-muted-foreground underline-offset-2 hover:underline",onClick:p(()=>{n(f.traceId)},"onClick"),title:a("Open the trace {trace}",{trace:f.traceId}),type:"button",children:f.traceId.slice(0,8)})]})]},`${f.traceId}:${f.spanName}`),"x"),e[24]=n,e[25]=a,e[26]=v):v=e[26],h=t.runs.slice(0,5).map(v),e[20]=t.runs,e[21]=n,e[22]=a,e[23]=h}else h=e[23];let x;e[27]!==h?(x=(0,m.jsx)("div",{className:"flex flex-col gap-1",children:h}),e[27]=h,e[28]=x):x=e[28];let g;return e[29]!==c||e[30]!==d||e[31]!==u||e[32]!==x?(g=(0,m.jsx)(j,{"data-testid":"ev-card",children:(0,m.jsxs)(w,{className:"flex flex-col gap-3 p-4",children:[c,d,u,x]})}),e[29]=c,e[30]=d,e[31]=u,e[32]=x,e[33]=g):g=e[33],g},"P"),oe=p(s=>{let e=(0,M.c)(19),{initialShardKey:t}=s,n=I(),{queryShardKey:a,setShardKey:l,shardKey:o}=A(t),i=k(a),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={},e[0]=c):c=e[0];let r;e[1]!==a?(r={live:!0,shardKey:a},e[1]=a,e[2]=r):r=e[2];let{data:d,error:u}=S(T.getTraces,c,r),h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h={},e[3]=h):h=e[3];let x;e[4]!==a?(x={live:!0,shardKey:a},e[4]=a,e[5]=x):x=e[5];let{data:g}=S(T.getMetricHistory,h,x),v;if(e[6]!==d||e[7]!==u||e[8]!==g||e[9]!==i||e[10]!==l||e[11]!==o||e[12]!==n){let f=R(P(U(d)),Q(g)),y;e[14]!==l||e[15]!==o?(y=(0,m.jsx)($,{onChange:l,testId:"ev-shard-input",value:o}),e[14]=l,e[15]=o,e[16]=y):y=e[16];let b;e[17]!==u?(b=u===null?null:(0,m.jsx)(F,{error:u,testId:"ev-error"}),e[17]=u,e[18]=b):b=e[18],v=(0,m.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"ev-panel",children:[y,b,f.length===0?(0,m.jsx)(O,{description:n("Call recordEvaluation from a graded run and its score shows up here."),testId:"ev-empty",title:n("No evals recorded")}):(0,m.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:f.map(_=>(0,m.jsx)(z,{card:_,onOpenTrace:i},_.name))})]}),e[6]=d,e[7]=u,e[8]=g,e[9]=i,e[10]=l,e[11]=o,e[12]=n,e[13]=v}else v=e[13];return v},"re");function G(s){return s.last}p(G,"Q");export{oe as default};
@@ -1 +1 @@
1
- import{a as re}from"./chunk-E6P2ERQV.js";import{a as X}from"./chunk-CKTKI4IY.js";import{a as V}from"./chunk-6UN4V2HB.js";import"./chunk-KVSQKUWD.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as R}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as O}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as Y}from"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as Q}from"./chunk-VDW32UET.js";import{c as J}from"./chunk-L6ATKZKO.js";import"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as G}from"./chunk-UANVABQG.js";import{a as Z,b as ee,c as te,d as P,e as n,f as o}from"./chunk-L4EZAHCD.js";import{a as U,e as W}from"./chunk-IYWVSMAY.js";import{d as z,s as H}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as l,d as B,e as de,f as me,g as he,i as L}from"./chunk-R5ZTCHCE.js";var se=B(me(),1),le=B(de(),1);var t=B(he(),1);var ue={action:"outline",mutation:"default",query:"secondary"},ae=l(r=>r<1e3?`${r<10?r.toFixed(1):Math.round(r).toString()}ms`:`${(r/1e3).toFixed(2)}s`,"q"),fe=l(r=>r.calls===0?"\u2014":r.errors===0?"0":`${r.errors.toString()} (${(r.errors/r.calls*100).toFixed(1)}%)`,"de"),pe=l(r=>{let e=r.conflicts??0;return r.calls===0?"\u2014":e===0?"0":`${e.toString()} (${(e/r.calls*100).toFixed(1)}%)`},"me"),xe={calls:l((r,e)=>e.calls-r.calls,"calls"),recent:l((r,e)=>e.lastCalledAt-r.lastCalledAt,"recent"),slowest:l((r,e)=>e.maxDurationMs-r.maxDurationMs,"slowest")},Ee=l(r=>{let e=(0,se.c)(47),{functions:K,initialShardKey:ne}=r,s=z(),{queryShardKey:_,setShardKey:N,shardKey:v}=X(ne),[i,oe]=(0,le.useState)("recent"),w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w={},e[0]=w):w=e[0];let C;e[1]!==_?(C={live:!0,shardKey:_},e[1]=_,e[2]=C):C=e[2];let{data:ie,error:c,errorSource:S,liveError:b}=J(Q.getFunctionStats,w,C),k=ie?.functions??null,$;e[3]!==K?($=new Map((K??[]).map(ge)),e[3]=K,e[4]=$):$=e[4];let T=$,F;e[5]===Symbol.for("react.memo_cache_sentinel")?(F=l(M=>{oe(M.currentTarget.dataset.sort)},"E"),e[5]=F):F=e[5];let ce=F,I;if(e[6]!==c||e[7]!==S||e[8]!==T||e[9]!==b||e[10]!==N||e[11]!==v||e[12]!==i||e[13]!==k||e[14]!==s){let M=k===null?[]:k.toSorted(xe[i]),d;e[16]!==s?(d=s("Recent"),e[16]=s,e[17]=d):d=e[17];let m;e[18]!==d?(m={key:"recent",label:d},e[18]=d,e[19]=m):m=e[19];let h;e[20]!==s?(h=s("Most called"),e[20]=s,e[21]=h):h=e[21];let u;e[22]!==h?(u={key:"calls",label:h},e[22]=h,e[23]=u):u=e[23];let f;e[24]!==s?(f=s("Slowest"),e[24]=s,e[25]=f):f=e[25];let p;e[26]!==f?(p={key:"slowest",label:f},e[26]=f,e[27]=p):p=e[27];let A;e[28]!==p||e[29]!==m||e[30]!==u?(A=[m,u,p],e[28]=p,e[29]=m,e[30]=u,e[31]=A):A=e[31];let j=A,x;e[32]!==N||e[33]!==v?(x=(0,t.jsx)(V,{onChange:N,testId:"fs-shard-input",value:v}),e[32]=N,e[33]=v,e[34]=x):x=e[34];let g;e[35]!==b?(g=(0,t.jsx)(re,{message:b,prefix:"fs"}),e[35]=b,e[36]=g):g=e[36];let y;e[37]!==j||e[38]!==i?(y=(0,t.jsx)("div",{className:"ml-auto flex items-center gap-1",role:"group",children:j.map(a=>(0,t.jsx)(R,{"data-sort":a.key,"data-testid":`fs-sort-${a.key}`,onClick:ce,size:"sm",type:"button",variant:i===a.key?"secondary":"ghost",children:a.label},a.key))}),e[37]=j,e[38]=i,e[39]=y):y=e[39];let D;e[40]!==x||e[41]!==g||e[42]!==y?(D=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x,g,y]}),e[40]=x,e[41]=g,e[42]=y,e[43]=D):D=e[43];let E;e[44]!==c||e[45]!==S?(E=c!==null&&(0,t.jsx)(Y,{error:S,testId:"fs-error"}),e[44]=c,e[45]=S,e[46]=E):E=e[46],I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-stats",children:[D,E,k!==null&&M.length===0&&c===null&&(0,t.jsx)(G,{description:s("Per-function call counts, error rates, and latency land here after your first request."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M3 3v18h18"}),(0,t.jsx)("path",{d:"M7 14l4-4 3 3 5-6"})]}),testId:"fs-empty",title:s("No functions have run on this shard yet.")}),M.length>0&&(0,t.jsx)(U,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"px-0",children:(0,t.jsxs)(Z,{"data-testid":"fs-table",children:[(0,t.jsx)(ee,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(n,{children:s("function")}),(0,t.jsx)(n,{children:s("kind")}),(0,t.jsx)(n,{className:"text-right",children:s("calls")}),(0,t.jsx)(n,{className:"text-right",children:s("errors")}),(0,t.jsx)(n,{className:"text-right",children:s("conflicts")}),(0,t.jsx)(n,{className:"text-right",children:s("avg")}),(0,t.jsx)(n,{className:"text-right",children:s("max")}),(0,t.jsx)(n,{children:s("last run")}),(0,t.jsx)(n,{children:s("last error")})]})}),(0,t.jsx)(te,{children:M.map(a=>{let q=T.get(a.path);return(0,t.jsxs)(P,{"data-testid":`fs-row-${a.path}`,children:[(0,t.jsx)(o,{className:"font-medium",children:a.path}),(0,t.jsx)(o,{children:q===void 0?(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)(O,{variant:ue[q],children:q})}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls}),(0,t.jsx)(o,{className:L("text-right tabular-nums",a.errors>0&&"text-destructive"),children:fe(a)}),(0,t.jsx)(o,{className:L("text-right tabular-nums",(a.conflicts??0)>0&&"text-warning"),children:pe(a)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.totalDurationMs/a.calls)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.maxDurationMs)}),(0,t.jsx)(o,{className:"text-muted-foreground",children:H(a.lastCalledAt,"\u2014")}),(0,t.jsx)(o,{className:"max-w-[24ch] truncate text-destructive",title:a.lastErrorMessage??void 0,children:a.lastErrorMessage??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.path)})})]})})})]}),e[6]=c,e[7]=S,e[8]=T,e[9]=b,e[10]=N,e[11]=v,e[12]=i,e[13]=k,e[14]=s,e[15]=I}else I=e[15];return I},"Ae");function ge(r){return[r.path,r.kind]}l(ge,"fe");export{Ee as FunctionStatsPanel};
1
+ import{a as re}from"./chunk-E6P2ERQV.js";import{a as X}from"./chunk-CKTKI4IY.js";import{a as V}from"./chunk-6UN4V2HB.js";import"./chunk-KVSQKUWD.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as R}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as O}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as Y}from"./chunk-B3BKR5ZW.js";import"./chunk-PZ4QDWTI.js";import"./chunk-P4QIDUCY.js";import"./chunk-F7JOSNAT.js";import{a as Q}from"./chunk-DZGOHOOE.js";import{c as J}from"./chunk-L6ATKZKO.js";import"./chunk-YTYRZTG6.js";import"./chunk-RCZTUWG3.js";import{a as G}from"./chunk-UANVABQG.js";import{a as Z,b as ee,c as te,d as P,e as n,f as o}from"./chunk-L4EZAHCD.js";import{a as U,e as W}from"./chunk-IYWVSMAY.js";import{d as z,s as H}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as l,d as B,e as de,f as me,g as he,i as L}from"./chunk-R5ZTCHCE.js";var se=B(me(),1),le=B(de(),1);var t=B(he(),1);var ue={action:"outline",mutation:"default",query:"secondary"},ae=l(r=>r<1e3?`${r<10?r.toFixed(1):Math.round(r).toString()}ms`:`${(r/1e3).toFixed(2)}s`,"q"),fe=l(r=>r.calls===0?"\u2014":r.errors===0?"0":`${r.errors.toString()} (${(r.errors/r.calls*100).toFixed(1)}%)`,"de"),pe=l(r=>{let e=r.conflicts??0;return r.calls===0?"\u2014":e===0?"0":`${e.toString()} (${(e/r.calls*100).toFixed(1)}%)`},"me"),xe={calls:l((r,e)=>e.calls-r.calls,"calls"),recent:l((r,e)=>e.lastCalledAt-r.lastCalledAt,"recent"),slowest:l((r,e)=>e.maxDurationMs-r.maxDurationMs,"slowest")},Ee=l(r=>{let e=(0,se.c)(47),{functions:K,initialShardKey:ne}=r,s=z(),{queryShardKey:_,setShardKey:N,shardKey:v}=X(ne),[i,oe]=(0,le.useState)("recent"),w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w={},e[0]=w):w=e[0];let C;e[1]!==_?(C={live:!0,shardKey:_},e[1]=_,e[2]=C):C=e[2];let{data:ie,error:c,errorSource:S,liveError:b}=J(Q.getFunctionStats,w,C),k=ie?.functions??null,$;e[3]!==K?($=new Map((K??[]).map(ge)),e[3]=K,e[4]=$):$=e[4];let T=$,F;e[5]===Symbol.for("react.memo_cache_sentinel")?(F=l(M=>{oe(M.currentTarget.dataset.sort)},"E"),e[5]=F):F=e[5];let ce=F,I;if(e[6]!==c||e[7]!==S||e[8]!==T||e[9]!==b||e[10]!==N||e[11]!==v||e[12]!==i||e[13]!==k||e[14]!==s){let M=k===null?[]:k.toSorted(xe[i]),d;e[16]!==s?(d=s("Recent"),e[16]=s,e[17]=d):d=e[17];let m;e[18]!==d?(m={key:"recent",label:d},e[18]=d,e[19]=m):m=e[19];let h;e[20]!==s?(h=s("Most called"),e[20]=s,e[21]=h):h=e[21];let u;e[22]!==h?(u={key:"calls",label:h},e[22]=h,e[23]=u):u=e[23];let f;e[24]!==s?(f=s("Slowest"),e[24]=s,e[25]=f):f=e[25];let p;e[26]!==f?(p={key:"slowest",label:f},e[26]=f,e[27]=p):p=e[27];let A;e[28]!==p||e[29]!==m||e[30]!==u?(A=[m,u,p],e[28]=p,e[29]=m,e[30]=u,e[31]=A):A=e[31];let j=A,x;e[32]!==N||e[33]!==v?(x=(0,t.jsx)(V,{onChange:N,testId:"fs-shard-input",value:v}),e[32]=N,e[33]=v,e[34]=x):x=e[34];let g;e[35]!==b?(g=(0,t.jsx)(re,{message:b,prefix:"fs"}),e[35]=b,e[36]=g):g=e[36];let y;e[37]!==j||e[38]!==i?(y=(0,t.jsx)("div",{className:"ml-auto flex items-center gap-1",role:"group",children:j.map(a=>(0,t.jsx)(R,{"data-sort":a.key,"data-testid":`fs-sort-${a.key}`,onClick:ce,size:"sm",type:"button",variant:i===a.key?"secondary":"ghost",children:a.label},a.key))}),e[37]=j,e[38]=i,e[39]=y):y=e[39];let D;e[40]!==x||e[41]!==g||e[42]!==y?(D=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x,g,y]}),e[40]=x,e[41]=g,e[42]=y,e[43]=D):D=e[43];let E;e[44]!==c||e[45]!==S?(E=c!==null&&(0,t.jsx)(Y,{error:S,testId:"fs-error"}),e[44]=c,e[45]=S,e[46]=E):E=e[46],I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-stats",children:[D,E,k!==null&&M.length===0&&c===null&&(0,t.jsx)(G,{description:s("Per-function call counts, error rates, and latency land here after your first request."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M3 3v18h18"}),(0,t.jsx)("path",{d:"M7 14l4-4 3 3 5-6"})]}),testId:"fs-empty",title:s("No functions have run on this shard yet.")}),M.length>0&&(0,t.jsx)(U,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"px-0",children:(0,t.jsxs)(Z,{"data-testid":"fs-table",children:[(0,t.jsx)(ee,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(n,{children:s("function")}),(0,t.jsx)(n,{children:s("kind")}),(0,t.jsx)(n,{className:"text-right",children:s("calls")}),(0,t.jsx)(n,{className:"text-right",children:s("errors")}),(0,t.jsx)(n,{className:"text-right",children:s("conflicts")}),(0,t.jsx)(n,{className:"text-right",children:s("avg")}),(0,t.jsx)(n,{className:"text-right",children:s("max")}),(0,t.jsx)(n,{children:s("last run")}),(0,t.jsx)(n,{children:s("last error")})]})}),(0,t.jsx)(te,{children:M.map(a=>{let q=T.get(a.path);return(0,t.jsxs)(P,{"data-testid":`fs-row-${a.path}`,children:[(0,t.jsx)(o,{className:"font-medium",children:a.path}),(0,t.jsx)(o,{children:q===void 0?(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)(O,{variant:ue[q],children:q})}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls}),(0,t.jsx)(o,{className:L("text-right tabular-nums",a.errors>0&&"text-destructive"),children:fe(a)}),(0,t.jsx)(o,{className:L("text-right tabular-nums",(a.conflicts??0)>0&&"text-warning"),children:pe(a)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.totalDurationMs/a.calls)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.maxDurationMs)}),(0,t.jsx)(o,{className:"text-muted-foreground",children:H(a.lastCalledAt,"\u2014")}),(0,t.jsx)(o,{className:"max-w-[24ch] truncate text-destructive",title:a.lastErrorMessage??void 0,children:a.lastErrorMessage??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.path)})})]})})})]}),e[6]=c,e[7]=S,e[8]=T,e[9]=b,e[10]=N,e[11]=v,e[12]=i,e[13]=k,e[14]=s,e[15]=I}else I=e[15];return I},"Ae");function ge(r){return[r.path,r.kind]}l(ge,"fe");export{Ee as FunctionStatsPanel};