@lunora/studio 1.0.0-alpha.3 → 1.0.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__assets__/package-og.svg +1 -1
- package/dist/index.d.ts +29 -18
- package/dist/index.js +29 -29
- package/dist/mount.d.ts +1 -1
- package/dist/mount.js +1 -1
- package/dist/{packem_shared/ApiTab-W3no0KOj.js → packem_chunks/ApiTab.js} +5 -5
- package/dist/{packem_shared/AuditPanel-Bq4o_IqT.js → packem_chunks/AuditPanel.js} +24 -36
- package/dist/{packem_shared/ExportImportPanel-dxY56TDF.js → packem_chunks/ExportImportPanel.js} +13 -9
- package/dist/{packem_shared/FileBrowser-Dhy4zES8.js → packem_chunks/FileBrowser.js} +15 -15
- package/dist/{packem_shared/FunctionRunner--fQJRPAD.js → packem_chunks/FunctionRunner.js} +10 -10
- package/dist/{packem_shared/FunctionStatsPanel-BjRUA_G3.js → packem_chunks/FunctionStatsPanel.js} +147 -204
- package/dist/{packem_shared/HealthPanel-PxclMWmA.js → packem_chunks/HealthPanel.js} +37 -29
- package/dist/{packem_shared/InsightsPanel-CWS_C-xW.js → packem_chunks/InsightsPanel.js} +107 -69
- package/dist/{packem_shared/LogsPanel-CTW8CFcM.js → packem_chunks/LogsPanel.js} +41 -53
- package/dist/{packem_shared/MailPanel-BwkvfIHF.js → packem_chunks/MailPanel.js} +37 -44
- package/dist/{packem_shared/MetricsPanel-BLuOhZQ4.js → packem_chunks/MetricsPanel.js} +41 -322
- package/dist/{packem_shared/MigrationsPanel-DT3lnwHF.js → packem_chunks/MigrationsPanel.js} +39 -46
- package/dist/{packem_shared/PitrPanel-CdErL7EJ.js → packem_chunks/PitrPanel.js} +9 -9
- package/dist/{packem_shared/SchemaViewer-LJDcmNIO.js → packem_chunks/SchemaViewer.js} +15 -15
- package/dist/{packem_shared/SecurityAdvisorPanel-C_ETsPih.js → packem_chunks/SecurityAdvisorPanel.js} +44 -31
- package/dist/packem_chunks/SettingsPanel.js +390 -0
- package/dist/{packem_shared/sql-editor-panel-BFRpzj6r.js → packem_chunks/SqlEditorPanel.js} +12 -252
- package/dist/{packem_shared/TableEditor-ChfUOZec.js → packem_chunks/TableEditor.js} +10 -68
- package/dist/packem_chunks/analytics-panel.js +261 -0
- package/dist/packem_chunks/auth-config-panel.js +179 -0
- package/dist/packem_chunks/auth-sessions-panel.js +175 -0
- package/dist/packem_chunks/dashboards-panel.js +779 -0
- package/dist/packem_chunks/fanout-panel.js +481 -0
- package/dist/packem_chunks/flags-panel.js +176 -0
- package/dist/packem_chunks/kv-browser.js +1896 -0
- package/dist/packem_chunks/log-drains-panel.js +273 -0
- package/dist/packem_chunks/organizations-panel.js +670 -0
- package/dist/packem_chunks/payments-panel.js +185 -0
- package/dist/packem_chunks/permissions-panel.js +804 -0
- package/dist/packem_chunks/queues-panel.js +147 -0
- package/dist/packem_chunks/rls-panel.js +313 -0
- package/dist/packem_chunks/schedule-panel.js +831 -0
- package/dist/packem_chunks/sparkline.js +79 -0
- package/dist/packem_chunks/storage-rules-panel.js +138 -0
- package/dist/packem_chunks/subscriptions-panel.js +236 -0
- package/dist/packem_chunks/users-panel.js +1265 -0
- package/dist/packem_chunks/vector-browser.js +281 -0
- package/dist/packem_chunks/workflows-panel.js +562 -0
- package/dist/packem_shared/{ADMIN_FUNCTIONS-DmBqMZ-z.js → ADMIN_FUNCTIONS-CdaxLGkE.js} +3 -0
- package/dist/packem_shared/{ApiDocsPanel-C5-yJ1p7.js → ApiDocsPanel-B6u_wnz-.js} +2 -2
- package/dist/packem_shared/{ApiReferencePanel-1vubqG5s.js → ApiReferencePanel-Drz4UO0a.js} +2 -1
- package/dist/packem_shared/{CommandPalette-BtgkBzZI.js → CommandPalette-B5BertvU.js} +1 -1
- package/dist/packem_shared/{DataBrowser-CtBe1So9.js → DataBrowser-ANTHLWWh.js} +198 -247
- package/dist/packem_shared/{GlobalDataBrowser-BTEmGrph.js → GlobalDataBrowser-CjgTG_wa.js} +37 -66
- package/dist/packem_shared/HomePanel-c2FodE9t.js +14 -0
- package/dist/packem_shared/{OpenRpcReferencePanel-vbcYbv3V.js → OpenRpcReferencePanel-CspFdbUT.js} +2 -1
- package/dist/packem_shared/{ScheduledJobs-CabfKbyM.js → ScheduledJobs-BEJXtsBn.js} +163 -60
- package/dist/packem_shared/Studio-CVTtA_sB.js +16 -0
- package/dist/packem_shared/{StudioApp-CHOZA-z-.js → StudioApp-BSYV2fz6.js} +277 -3
- package/dist/packem_shared/{advisor-view-CGcfMiPq.js → advisor-view-DzqyvUU3.js} +1 -1
- package/dist/packem_shared/{app.d-CCmwDEVs.d.ts → app.d-B6MyY_al.d.ts} +1 -1
- package/dist/packem_shared/{bar-chart-CzJAgqkp.js → bar-chart-Bb__F5-u.js} +1 -1
- package/dist/packem_shared/browser-storage-d03UsV7v.js +249 -0
- package/dist/packem_shared/{cf-links-2cktDedA.js → cf-links-BZfRdxSE.js} +1 -1
- package/dist/packem_shared/{data-grid-B5CaV3wS.js → data-grid-Dsg6nRjo.js} +1 -1
- package/dist/packem_shared/data-view-params-Cd6yRVbv.js +96 -0
- package/dist/packem_shared/{grid-features-CzUfqgsM.js → grid-features-D7nNzBYm.js} +4 -99
- package/dist/packem_shared/{HomePanel-Cw16stjq.js → home-panel-aOR_drVv.js} +833 -469
- package/dist/packem_shared/{internal-rXJEAhXS.js → internal-FcNZ3beb.js} +1 -1
- package/dist/packem_shared/modal-shell-hyaJvIJ6.js +100 -0
- package/dist/packem_shared/{reference-view-B4E49Lip.js → reference-view-Doy1XlQq.js} +4 -44
- package/dist/packem_shared/select-UkNYCT3s.js +273 -0
- package/dist/packem_shared/skeleton-CGhL0p20.js +45 -0
- package/dist/packem_shared/{sparkline-10dG-_f0.js → sparkline-KgMPHS4u.js} +1 -1
- package/dist/packem_shared/studio-dMTJ-kRR.js +3987 -0
- package/dist/packem_shared/{table-_RzNvy3R.js → table-DsCa9Qp9.js} +1 -1
- package/dist/packem_shared/{table-list-sidebar-Bg7uzbvC.js → table-list-sidebar-VMo0ftxD.js} +1 -1
- package/dist/packem_shared/use-admin-query-BViPA3US.js +105 -0
- package/dist/packem_shared/use-auth-capabilities-BHkoBnbZ.js +32 -0
- package/dist/standalone/chunk-2DS7JLWL.js +13 -0
- package/dist/standalone/chunk-2K47A3P6.js +1 -0
- package/dist/standalone/chunk-2NGUNNGW.js +1 -0
- package/dist/standalone/chunk-2PDQ4KZ6.js +1 -0
- package/dist/standalone/chunk-3BP4BTLR.js +4 -0
- package/dist/standalone/chunk-3OA7PECS.js +6 -0
- package/dist/standalone/chunk-4QHKBC77.js +1 -0
- package/dist/standalone/chunk-57LYXHXH.js +1 -0
- package/dist/standalone/chunk-5NSZVXCS.js +1 -0
- package/dist/standalone/chunk-5OIBXYZM.js +1 -0
- package/dist/standalone/chunk-63XKJQTQ.js +1 -0
- package/dist/standalone/chunk-6RC6L33K.js +4 -0
- package/dist/standalone/chunk-6VTGE3WJ.js +1 -0
- package/dist/standalone/chunk-7PBZKXYA.js +1 -0
- package/dist/standalone/chunk-7POIIWC5.js +3 -0
- package/dist/standalone/chunk-7RYIQKZA.js +1 -0
- package/dist/standalone/chunk-7TJJXVSE.js +1 -0
- package/dist/standalone/chunk-AB6QGMBF.js +1 -0
- package/dist/standalone/chunk-AHILM3ZP.js +1 -0
- package/dist/standalone/chunk-AQGOX5DK.js +1 -0
- package/dist/standalone/chunk-ASLGNHAX.js +1 -0
- package/dist/standalone/chunk-BHTPZS7L.js +4 -0
- package/dist/standalone/chunk-BJGBHGK3.js +1 -0
- package/dist/standalone/chunk-D7HKX4DI.js +1 -0
- package/dist/standalone/chunk-DGWTR4G7.js +1 -0
- package/dist/standalone/chunk-DSX53PBM.js +1 -0
- package/dist/standalone/chunk-DV2MNASX.js +1 -0
- package/dist/standalone/chunk-DWDILV2E.js +1 -0
- package/dist/standalone/chunk-E7AVZZKO.js +1 -0
- package/dist/standalone/chunk-EGJX34WM.js +1 -0
- package/dist/standalone/chunk-FCR3HKFV.js +1 -0
- package/dist/standalone/chunk-FKO3HO6I.js +4 -0
- package/dist/standalone/chunk-FQKNJSRA.js +76 -0
- package/dist/standalone/chunk-G2TFEWEQ.js +4 -0
- package/dist/standalone/chunk-GABMIICA.js +1 -0
- package/dist/standalone/chunk-GTM65MVX.js +1 -0
- package/dist/standalone/chunk-GZXPPJVK.js +1 -0
- package/dist/standalone/chunk-HFBRE65A.js +1 -0
- package/dist/standalone/chunk-HFMQNUBC.js +1 -0
- package/dist/standalone/chunk-HG7Q5B3H.js +1 -0
- package/dist/standalone/chunk-HTQL7AXU.js +1 -0
- package/dist/standalone/chunk-HV7G6DFP.js +5 -0
- package/dist/standalone/chunk-ITLLHEVG.js +1 -0
- package/dist/standalone/chunk-J6J54MBP.js +1 -0
- package/dist/standalone/chunk-JSEXCW5Q.js +1 -0
- package/dist/standalone/chunk-KEGAWN6Y.js +1 -0
- package/dist/standalone/chunk-KG3QTFWE.js +1 -0
- package/dist/standalone/chunk-KGS7KM4A.js +2 -0
- package/dist/standalone/chunk-KODWGUAB.js +1 -0
- package/dist/standalone/chunk-KZ6INM5M.js +1 -0
- package/dist/standalone/chunk-MGFEVTRI.js +1 -0
- package/dist/standalone/chunk-N2QDG3MW.js +1 -0
- package/dist/standalone/chunk-N4JI6VQD.js +1 -0
- package/dist/standalone/chunk-NNISYDNI.js +1 -0
- package/dist/standalone/chunk-O4PXDNR3.js +1 -0
- package/dist/standalone/chunk-O77VNUFD.js +1 -0
- package/dist/standalone/chunk-OD2POGPJ.js +1 -0
- package/dist/standalone/chunk-OXCK3ZUG.js +1 -0
- package/dist/standalone/chunk-P7DSVO4U.js +1 -0
- package/dist/standalone/chunk-PKAM3N5C.js +1 -0
- package/dist/standalone/chunk-QGXGBHQO.js +1 -0
- package/dist/standalone/chunk-QHA3TAEJ.js +1 -0
- package/dist/standalone/chunk-QQWC62X7.js +1 -0
- package/dist/standalone/chunk-RMYA7NAH.js +1 -0
- package/dist/standalone/chunk-RRCPZMC2.js +22 -0
- package/dist/standalone/chunk-S53RUBW5.js +1 -0
- package/dist/standalone/chunk-SB4GT6PK.js +1 -0
- package/dist/standalone/chunk-SEU5V7I6.js +1 -0
- package/dist/standalone/chunk-SHIOUDOT.js +1 -0
- package/dist/standalone/chunk-SIDRSX7Y.js +1 -0
- package/dist/standalone/chunk-SVR644RF.js +1 -0
- package/dist/standalone/chunk-TAD43CG5.js +1 -0
- package/dist/standalone/chunk-TBMYIZIO.js +1 -0
- package/dist/standalone/chunk-TICVNLPM.js +1 -0
- package/dist/standalone/chunk-TQ36RWOP.js +1 -0
- package/dist/standalone/chunk-UGMRUEBU.js +1 -0
- package/dist/standalone/chunk-UII66UVF.js +1 -0
- package/dist/standalone/chunk-VJPQUBN6.js +8 -0
- package/dist/standalone/chunk-VLXV72QE.js +1 -0
- package/dist/standalone/chunk-VMJKJWG6.js +1 -0
- package/dist/standalone/chunk-VPDPN5RR.js +2 -0
- package/dist/standalone/chunk-VSEGZA3J.js +1 -0
- package/dist/standalone/chunk-VXBZQIGY.js +4 -0
- package/dist/standalone/chunk-W7PCVQTE.js +1 -0
- package/dist/standalone/chunk-XLILSHPE.js +1 -0
- package/dist/standalone/chunk-XURNGQSS.js +1 -0
- package/dist/standalone/chunk-YJGANMU7.js +18 -0
- package/dist/standalone/chunk-YQQJ4N6U.js +1 -0
- package/dist/standalone/chunk-ZH7UES4T.js +2 -0
- package/dist/standalone/chunk-ZPUO7FNI.js +1 -0
- package/dist/standalone/chunk-ZQCVDXDL.js +1 -0
- package/dist/standalone/studio.js +104 -246
- package/dist/styles.css +1 -1
- package/package.json +13 -12
- package/dist/packem_shared/SettingsPanel-C0uLRf5P.js +0 -176
- package/dist/packem_shared/SqlEditorPanel-CguV7otm.js +0 -13
- package/dist/packem_shared/Studio-DFWAlcuf.js +0 -33
- package/dist/packem_shared/studio-Bj8psK1c.js +0 -10303
- package/dist/packem_shared/use-live-admin-Dq6g3daN.js +0 -73
- package/dist/packem_shared/use-live-shard-seed-Cuk3dnH0.js +0 -76
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as An}from"./chunk-ZPUO7FNI.js";import{a as eo,b as to,c as oo,d as Sn,e as ns}from"./chunk-ITLLHEVG.js";import{A as zo,B as mn,C as Zt,E as gn,F as j,G as hn,H as vn,K as qt,N as ft,O as Uo,P as Gt,R as Wo,S as xn,T as bn,U as Zo,V as Kt,W as Qt,X as Yt,Y as Jt,Z as qo,_ as Xt,aa as yn,b as en,ba as Pn,ca as Go,da as Ko,ga as Qo,ha as tt,i as nn,ia as Rn,j as an,ja as so,k as ln,ka as Cn,la as ue,n as Ws,na as Yo,o as Fo,pa as Jo,q as Ho,qa as Xo,r as dn,ra as es,s as $o,sa as ts,ta as os,u as cn,ua as ss,va as Nn,w as pn,wa as En,x as un,xa as rs,y as fn,ya as Tn,z as jo}from"./chunk-NNISYDNI.js";import{f as Kr}from"./chunk-UII66UVF.js";import{a as _n}from"./chunk-7TJJXVSE.js";import{a as Lr,b as Fr,d as Hr,e as pt,f as Bo,g as $r,h as jr,i as zr,j as Ur,k as Wr}from"./chunk-SVR644RF.js";import{a as as}from"./chunk-KZ6INM5M.js";import{c as wn,h as kn,k as Zs}from"./chunk-4QHKBC77.js";import{B as tn,C as on,I as He,J as sn,K as Wt,O as A,P as Y,R as rn,e as Pe,p as mo,q as Xr}from"./chunk-BHTPZS7L.js";import{b as mt,c as qs}from"./chunk-YQQJ4N6U.js";import{a as ut,c as Yr,h as Lo,i as Jr}from"./chunk-TICVNLPM.js";import{a as Br}from"./chunk-HV7G6DFP.js";import{a as Ct}from"./chunk-AQGOX5DK.js";import{a as On}from"./chunk-TAD43CG5.js";import{b as ro}from"./chunk-FCR3HKFV.js";import{a as gt,e as Gs}from"./chunk-SEU5V7I6.js";import{a as Us,b as fo}from"./chunk-O4PXDNR3.js";import{a as it,i as Rt,j as F,k as Qr}from"./chunk-ZH7UES4T.js";import{f as zs}from"./chunk-KODWGUAB.js";import{a as ye}from"./chunk-3OA7PECS.js";import{a as Zr,b as qr,c as Gr,d as ie,e as Mn,f as In,i as $e,k as Dn}from"./chunk-YJGANMU7.js";import{a,d as js,e as C,f as M,g as Vo,h as uo,j as U}from"./chunk-RRCPZMC2.js";var B=C(Vo(),1);var ct=C(M(),1),q=C(M(),1);var i=C(uo(),1);var Vn=C(M(),1),ht=C(uo(),1);var ui={border:"1px solid var(--destructive)",color:"var(--destructive)",padding:12},fi={overflow:"auto",whiteSpace:"pre-wrap"},is=class extends Vn.Component{static{a(this,"ErrorBoundary")}static getDerivedStateFromError(e){return{error:e}}state={error:null};componentDidCatch(e,o){console.error("[lunora-studio] panel error",e,o.componentStack)}reset=a(()=>{this.setState({error:null})},"reset");render(){let{children:e,fallbackTitle:o,label:s,retryLabel:r}=this.props,{error:n}=this.state;if(n===null)return(0,ht.jsxDEV)(ht.Fragment,{children:e},void 0,!1);let l=o??(s===void 0?"Something went wrong":`${s} failed`);return(0,ht.jsxDEV)("div",{"data-testid":"dash-error-boundary",role:"alert",style:ui,children:[(0,ht.jsxDEV)("strong",{children:l},void 0,!1),(0,ht.jsxDEV)("pre",{"data-testid":"dash-error-message",style:fi,children:n.message},void 0,!1),(0,ht.jsxDEV)("button",{"data-testid":"dash-error-retry",onClick:this.reset,type:"button",children:r??"Try again"},void 0,!1)]},void 0,!0)}};var yt={};js(yt,{Arrow:()=>or,Backdrop:()=>sr,Close:()=>ar,Description:()=>nr,Handle:()=>ho,Popup:()=>tr,Portal:()=>Ys,Positioner:()=>Js,Root:()=>Fn,Title:()=>rr,Trigger:()=>Ks,Viewport:()=>ir,createHandle:()=>Xn});var lt=C(M(),1);var ls=C(M(),1);var ds=ls.createContext(void 0);ds.displayName="PopoverRootContext";function oe(t){let e=ls.useContext(ds);if(e===void 0&&!t)throw new Error("Base UI: PopoverRootContext is missing. Popover parts must be placed within <Popover.Root>.");return e}a(oe,"usePopoverRootContext");var vt=C(M(),1),Bn=C(Br(),1);function mi(){return{...eo(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1}}a(mi,"createInitialState");var gi={...oo,disabled:j(t=>t.disabled),instantType:j(t=>t.instantType),openMethod:j(t=>t.openMethod),openChangeReason:j(t=>t.openChangeReason),modal:j(t=>t.modal),focusManagerModal:j(t=>t.focusManagerModal),stickIfOpen:j(t=>t.stickIfOpen),titleElementId:j(t=>t.titleElementId),descriptionElementId:j(t=>t.descriptionElementId),openOnHover:j(t=>t.openOnHover),closeDelay:j(t=>t.closeDelay),hasViewport:j(t=>t.hasViewport)},no=class t extends qt{static{a(this,"PopoverStore")}constructor(e,o,s=!1){let r={...mi(),...e},n=new Xt;r.open&&e?.mounted===void 0&&(r.mounted=!0),r.floatingRootContext=to(n,o,s),super(r,{popupRef:vt.createRef(),backdropRef:vt.createRef(),internalBackdropRef:vt.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:vt.createRef(),beforeContentFocusGuardRef:vt.createRef(),stickIfOpenTimeout:new tn,triggerElements:n},gi)}setOpen=a((e,o)=>{let s=o.reason===A.triggerHover,r=o.reason===A.triggerPress&&o.event.detail===0,n=!e&&(o.reason===A.escapeKey||o.reason==null),l=xn(o),c=this.select("activeTriggerId");if(!e&&o.reason===A.closePress&&o.trigger==null&&c!=null&&(o.trigger=this.context.triggerElements.getById(c)??this.select("activeTriggerElement")??void 0),this.context.onOpenChange?.(e,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,o);let p=a(()=>{let d={open:e,openChangeReason:o.reason};Wo(d,e,o.trigger,l()),this.update(d)},"changeState");s?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set("stickIfOpen",!1)}),Bn.flushSync(p)):p(),r||n?this.set("instantType",r?"click":"dismiss"):o.reason===A.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)},"setOpen");static useStore(e,o){let{store:s,internalStore:r}=Gt(e,(n,l)=>new t(o,n,l));return vt.useEffect(()=>r?.disposeEffect(),[r]),s}disposeEffect=a(()=>this.context.stickIfOpenTimeout.disposeEffect(),"disposeEffect")};var St=C(ye(),1);function Ln({props:t}){let{children:e,open:o,defaultOpen:s=!1,onOpenChange:r,onOpenChangeComplete:n,modal:l=!1,handle:c,triggerId:p,defaultTriggerId:d=null}=t,u=no.useStore(c?.store,{modal:l,open:s,openProp:o,activeTriggerId:d,triggerIdProp:p});Zo(u,o,s,d),u.useControlledProp("openProp",o),u.useControlledProp("triggerIdProp",p);let g=u.useState("open"),m=u.useState("mounted"),h=u.useState("payload"),f=cn()!=null;u.useContextCallback("onOpenChange",r),u.useContextCallback("onOpenChangeComplete",n),qo(u,g),Qt(u);let{forceUnmount:v}=Yt(g,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:l,nested:f}),lt.useEffect(()=>{g||u.context.stickIfOpenTimeout.clear()},[u,g]);let x=lt.useCallback(()=>{u.setOpen(!1,Y(A.imperativeAction))},[u]);lt.useImperativeHandle(t.actionsRef,()=>({unmount:v,close:x}),[v,x]);let b=g||m,R=lt.useMemo(()=>({store:u}),[u]);return(0,St.jsxs)(ds.Provider,{value:R,children:[b&&(0,St.jsx)(hi,{store:u,modal:l}),typeof e=="function"?e({payload:h}):e]})}a(Ln,"PopoverRootComponent");function Fn(t){return oe(!0)?(0,St.jsx)(Ln,{props:t}):(0,St.jsx)(fn,{children:(0,St.jsx)(Ln,{props:t})})}a(Fn,"PopoverRoot");function hi({store:t,modal:e}){let o=t.useState("floatingRootContext"),s=Zt(o,{outsidePressEvent:{mouse:e==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}}),r=s.reference??Rt,n=s.trigger??Rt,l=lt.useMemo(()=>it(ft,s.floating),[s.floating]);return Jt(t,{activeTriggerProps:r,inactiveTriggerProps:n,popupProps:l}),null}a(hi,"PopoverInteractions");var xt=C(M(),1);var Nt=C(ye(),1);var Ks=xt.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:c=!0,handle:p,payload:d,openOnHover:u=!1,delay:g=300,closeDelay:m=0,id:h,...f}=e,v=oe(!0),x=p?.store??v?.store;if(!x)throw new Error("Base UI: <Popover.Trigger> must be either used within a <Popover.Root> component or provided with a handle.");let b=Pe(h),R=x.useState("isTriggerActive",b),P=x.useState("floatingRootContext"),N=x.useState("isOpenedByTrigger",b),S=x.useState("triggerPopupId",b),E=xt.useRef(null),{registerTrigger:T,isMountedByThisTrigger:k}=Kt(b,E,x,{payload:d,disabled:l,openOnHover:u,closeDelay:m}),w=x.useState("openChangeReason"),O=x.useState("stickIfOpen"),V=x.useState("openMethod"),W=x.useState("focusManagerModal"),_=Ko(P,{enabled:!l&&P!=null&&u&&(V!=="touch"||w!==A.triggerPress),mouseOnly:!0,move:!1,handleClose:Qo(),restMs:g,delay:{close:m},triggerElementRef:E,isActiveTrigger:R,isClosing:a(()=>x.select("transitionStatus")==="ending","isClosing")}),H=zo(P,{enabled:P!=null,stickIfOpen:O}),$=Yo(()=>x.select("open"),X=>{x.set("openMethod",X)}),Z=x.useState("triggerProps",k),{getButtonProps:G,buttonRef:D}=mt({disabled:l,native:c}),I={open(X){return X&&w===A.triggerPress?Cn.open(X):so.open(X)}},{preFocusGuardRef:z,handlePreFocusGuardFocus:te,handleFocusTargetFocus:se}=Sn(x,E),J=F("button",e,{state:{disabled:l,open:N},ref:[D,o,T,E],props:[H.reference,_,Z,$,{[Fo]:"",id:b,"aria-haspopup":"dialog","aria-expanded":N,"aria-controls":S},f,G],stateAttributesMapping:I});return k&&!W?(0,Nt.jsxs)(xt.Fragment,{children:[(0,Nt.jsx)(Ws,{ref:z,onFocus:te}),(0,Nt.jsx)(xt.Fragment,{children:J},b),(0,Nt.jsx)(Ws,{ref:x.context.triggerFocusTargetRef,onFocus:se})]}):(0,Nt.jsx)(xt.Fragment,{children:J},b)},"PopoverTrigger"));Ks.displayName="PopoverTrigger";var $n=C(M(),1);var cs=C(M(),1);var ps=cs.createContext(void 0);ps.displayName="PopoverPortalContext";function Hn(){let t=cs.useContext(ps);if(t===void 0)throw new Error("Base UI: <Popover.Portal> is missing.");return t}a(Hn,"usePopoverPortalContext");var Qs=C(ye(),1);var Ys=$n.forwardRef(a(function(e,o){let{keepMounted:s=!1,...r}=e,{store:n}=oe();return n.useState("mounted")||s?(0,Qs.jsx)(ps.Provider,{value:s,children:(0,Qs.jsx)($o,{ref:o,...r})}):null},"PopoverPortal"));Ys.displayName="PopoverPortal";var io=C(M(),1);var us=C(M(),1);var fs=us.createContext(void 0);fs.displayName="PopoverPositionerContext";function ao(){let t=us.useContext(fs);if(!t)throw new Error("Base UI: PopoverPositionerContext is missing. PopoverPositioner parts must be placed within <Popover.Positioner>.");return t}a(ao,"usePopoverPositionerContext");var go=C(ye(),1);var Js=io.forwardRef(a(function(e,o){let{render:s,className:r,style:n,anchor:l,positionMethod:c="absolute",side:p="bottom",align:d="center",sideOffset:u=0,alignOffset:g=0,collisionBoundary:m="clipping-ancestors",collisionPadding:h=5,arrowPadding:f=5,sticky:v=!1,disableAnchorTracking:x=!1,collisionAvoidance:b=Ho,...R}=e,{store:P}=oe(),N=Hn(),S=pn(),E=P.useState("floatingRootContext"),T=P.useState("mounted"),k=P.useState("open"),w=P.useState("openChangeReason"),O=P.useState("activeTriggerElement"),V=P.useState("modal"),W=P.useState("openMethod"),_=P.useState("positionerElement"),H=P.useState("instantType"),$=P.useState("transitionStatus"),Z=P.useState("hasViewport"),G=io.useRef(null),D=sn(_,!1,!1),I=es({anchor:l,floatingRootContext:E,positionMethod:c,mounted:T,side:p,sideOffset:u,align:d,alignOffset:g,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:v,disableAnchorTracking:x,keepMounted:N,nodeId:S,collisionAvoidance:b,adaptiveOrigin:Z?Xo:void 0}),z=E.useState("domReferenceElement");ut(()=>{let J=z,X=G.current;if(J&&(G.current=J),X&&J&&J!==X){P.set("instantType",void 0);let ae=new AbortController;return D(()=>{P.set("instantType","trigger-change")},ae.signal),()=>{ae.abort()}}},[z,D,P]),En(k&&V===!0&&w!==A.triggerHover,W==="touch",_,O);let te=io.useCallback(J=>{P.set("positionerElement",J)},[P]),se={open:k,side:I.side,align:I.align,anchorHidden:I.anchorHidden,instant:H},re=ss(e,se,{styles:I.positionerStyles,transitionStatus:$,props:R,refs:[o,te],hidden:!T,inert:!k});return(0,go.jsxs)(fs.Provider,{value:I,children:[T&&V===!0&&w!==A.triggerHover&&(0,go.jsx)(ts,{ref:P.context.internalBackdropRef,inert:Jo(!k),cutout:O}),(0,go.jsx)(un,{id:S,children:re})]})},"PopoverPositioner"));Js.displayName="PopoverPositioner";var ms=C(M(),1);var bt=C(M(),1);var jn=C(ye(),1);var Xs=bt.createContext(void 0);Xs.displayName="ClosePartContext";function zn(){let[t,e]=bt.useState(0),o=Yr(()=>(e(r=>r+1),()=>{e(r=>Math.max(0,r-1))}));return{context:bt.useMemo(()=>({register:o}),[o]),hasClosePart:t>0}}a(zn,"useClosePartCount");function Un(t){let{value:e,children:o}=t;return(0,jn.jsx)(Xs.Provider,{value:e,children:o})}a(Un,"ClosePartProvider");function Wn(){let t=bt.useContext(Xs);ut(()=>t?.register(),[t])}a(Wn,"useClosePartRegistration");var er=C(ye(),1);var vi={...ue,...He},tr=ms.forwardRef(a(function(e,o){let{render:s,className:r,style:n,initialFocus:l,finalFocus:c,...p}=e,{store:d}=oe(),u=ao(),g=Tn(!0)!=null,{context:m,hasClosePart:h}=zn(),f=d.useState("open"),v=d.useState("openMethod"),x=d.useState("instantType"),b=d.useState("transitionStatus"),R=d.useState("popupProps"),P=d.useState("titleElementId"),N=d.useState("descriptionElementId"),S=d.useState("modal"),E=d.useState("mounted"),T=d.useState("openChangeReason"),k=d.useState("activeTriggerElement"),w=d.useState("floatingRootContext"),O=w.useState("floatingId"),V=d.useState("disabled"),W=d.useState("openOnHover"),_=d.useState("closeDelay"),H=p.id??O;Wt({open:f,ref:d.context.popupRef,onComplete(){f&&d.context.onOpenChangeComplete?.(!0)}}),Go(w,{enabled:W&&!V,closeDelay:_});let $=l===void 0?Uo(d.context.popupRef):l,Z=S!==!1&&h;d.useSyncedValue("focusManagerModal",Z);let G=ms.useCallback(z=>{d.set("popupElement",z)},[d]),D={open:f,side:u.side,align:u.align,instant:x,transitionStatus:b},I=F("div",e,{state:D,ref:[o,d.context.popupRef,G],props:[R,{id:H,role:"dialog",...ft,"aria-labelledby":P,"aria-describedby":N,onKeyDown(z){g&&rs.has(z.key)&&z.stopPropagation()}},os(b),p],stateAttributesMapping:vi});return(0,er.jsx)(jo,{context:w,openInteractionType:v,modal:Z,disabled:!E||T===A.triggerHover,initialFocus:$,returnFocus:c,restoreFocus:"popup",previousFocusableElement:Jr(k)?k:void 0,nextFocusableElement:d.context.triggerFocusTargetRef,beforeContentFocusGuardRef:d.context.beforeContentFocusGuardRef,children:(0,er.jsx)(Un,{value:m,children:I})})},"PopoverPopup"));tr.displayName="PopoverPopup";var Zn=C(M(),1);var or=Zn.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:c}=oe(),p=c.useState("open"),{arrowRef:d,side:u,align:g,arrowUncentered:m,arrowStyles:h}=ao();return F("div",e,{state:{open:p,side:u,align:g,uncentered:m},ref:[o,d],props:[{style:h,"aria-hidden":!0},l],stateAttributesMapping:ue})},"PopoverArrow"));or.displayName="PopoverArrow";var qn=C(M(),1);var xi={...ue,...He},sr=qn.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:c}=oe(),p=c.useState("open"),d=c.useState("mounted"),u=c.useState("transitionStatus"),g=c.useState("openChangeReason");return F("div",e,{state:{open:p,transitionStatus:u},ref:[c.context.backdropRef,o],props:[{role:"presentation",hidden:!d,style:{pointerEvents:g===A.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},l],stateAttributesMapping:xi})},"PopoverBackdrop"));sr.displayName="PopoverBackdrop";var Gn=C(M(),1);var rr=Gn.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:c}=oe(),p=Pe(l.id);return c.useSyncedValueWithCleanup("titleElementId",p),F("h2",e,{ref:o,props:[{id:p},l]})},"PopoverTitle"));rr.displayName="PopoverTitle";var Kn=C(M(),1);var nr=Kn.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:c}=oe(),p=Pe(l.id);return c.useSyncedValueWithCleanup("descriptionElementId",p),F("p",e,{ref:o,props:[{id:p},l]})},"PopoverDescription"));nr.displayName="PopoverDescription";var Qn=C(M(),1);var ar=Qn.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:c=!0,...p}=e,{buttonRef:d,getButtonProps:u}=mt({disabled:l,focusableWhenDisabled:!1,native:c}),{store:g}=oe();return Wn(),F("button",e,{ref:[o,d],props:[{onClick(h){g.setOpen(!1,Y(A.closePress,h.nativeEvent))}},p,u]})},"PopoverClose"));ar.displayName="PopoverClose";var Jn=C(M(),1);var Yn=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var bi={activationDirection:a(t=>t?{"data-activation-direction":t}:null,"activationDirection")},ir=Jn.forwardRef(a(function(e,o){let{render:s,className:r,style:n,children:l,...c}=e,{store:p}=oe(),{side:d}=ao(),u=p.useState("instantType"),{children:g,state:m}=ns({store:p,side:d,cssVars:Yn,children:l}),h={activationDirection:m.activationDirection,transitioning:m.transitioning,instant:u};return F("div",e,{state:h,ref:o,props:[c,{children:g}],stateAttributesMapping:bi})},"PopoverViewport"));ir.displayName="PopoverViewport";var ho=class{static{a(this,"PopoverHandle")}constructor(){this.store=new no}open(e){let o=e?this.store.context.triggerElements.getById(e)??void 0:void 0;if(e&&!o)throw new Error(`Base UI: PopoverHandle.open: No trigger found with id "${e}".`);this.store.setOpen(!0,Y(A.imperativeAction,void 0,o))}close(){this.store.setOpen(!1,Y(A.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function Xn(){return new ho}a(Xn,"createPopoverHandle");var fe={};js(fe,{Backdrop:()=>lr,Close:()=>dr,Description:()=>cr,Handle:()=>Po,Popup:()=>pr,Portal:()=>ur,Root:()=>fa,Title:()=>gr,Trigger:()=>hr,Viewport:()=>mr,createHandle:()=>ha});var ea=C(M(),1);var vo=C(M(),1);var xo=vo.createContext(!1);xo.displayName="IsDrawerContext";var gs=vo.createContext(void 0);gs.displayName="DialogRootContext";function le(t){let e=vo.useContext(gs);if(t===!1&&e===void 0)throw new Error("Base UI: DialogRootContext is missing. Dialog parts must be placed within <Dialog.Root>.");return e}a(le,"useDialogRootContext");var yi={...ue,...He},lr=ea.forwardRef(a(function(e,o){let{render:s,className:r,style:n,forceRender:l=!1,...c}=e,{store:p}=le(),d=p.useState("open"),u=p.useState("nested"),g=p.useState("mounted"),m=p.useState("transitionStatus");return F("div",e,{state:{open:d,transitionStatus:m},ref:[p.context.backdropRef,o],stateAttributesMapping:yi,props:[{role:"presentation",hidden:!g,style:{userSelect:"none",WebkitUserSelect:"none"}},c],enabled:l||!u})},"DialogBackdrop"));lr.displayName="DialogBackdrop";var ta=C(M(),1);var dr=ta.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:c=!0,...p}=e,{store:d}=le(),u=d.useState("open"),{getButtonProps:g,buttonRef:m}=mt({disabled:l,native:c}),h={disabled:l};function f(v){u&&d.setOpen(!1,Y(A.closePress,v.nativeEvent))}return a(f,"handleClick"),F("button",e,{state:h,ref:[o,m],props:[{onClick:f},p,g]})},"DialogClose"));dr.displayName="DialogClose";var oa=C(M(),1);var cr=oa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,id:l,...c}=e,{store:p}=le(),d=Pe(l);return p.useSyncedValueWithCleanup("descriptionElementId",d),F("p",e,{ref:o,props:[{id:d},c]})},"DialogDescription"));cr.displayName="DialogDescription";var na=C(M(),1);var sa=(function(t){return t.nestedDialogs="--nested-dialogs",t})({});var ra=(function(t){return t[t.open=tt.open]="open",t[t.closed=tt.closed]="closed",t[t.startingStyle=tt.startingStyle]="startingStyle",t[t.endingStyle=tt.endingStyle]="endingStyle",t.nested="data-nested",t.nestedDialogOpen="data-nested-dialog-open",t})({});var hs=C(M(),1);var vs=hs.createContext(void 0);vs.displayName="DialogPortalContext";function xs(){let t=hs.useContext(vs);if(t===void 0)throw new Error("Base UI: <Dialog.Portal> is missing.");return t}a(xs,"useDialogPortalContext");var aa=C(ye(),1);var Pi={...ue,...He,nestedDialogOpen(t){return t?{[ra.nestedDialogOpen]:""}:null}},pr=na.forwardRef(a(function(e,o){let{render:s,className:r,style:n,finalFocus:l,initialFocus:c,...p}=e,{store:d}=le(),u=d.useState("descriptionElementId"),g=d.useState("disablePointerDismissal"),m=d.useState("floatingRootContext"),h=d.useState("popupProps"),f=d.useState("modal"),v=d.useState("mounted"),x=d.useState("nested"),b=d.useState("nestedOpenDialogCount"),R=d.useState("open"),P=d.useState("openMethod"),N=d.useState("titleElementId"),S=d.useState("transitionStatus"),E=d.useState("role"),T=m.useState("floatingId"),k=p.id??T;xs(),Wt({open:R,ref:d.context.popupRef,onComplete(){R&&d.context.onOpenChangeComplete?.(!0)}});let w=c===void 0?Uo(d.context.popupRef):c,O=b>0,V=d.useStateSetter("popupElement"),_=F("div",e,{state:{open:R,nested:x,transitionStatus:S,nestedDialogOpen:O},props:[h,{id:k,"aria-labelledby":N??void 0,"aria-describedby":u??void 0,role:E,...ft,hidden:!v,onKeyDown(H){rs.has(H.key)&&H.stopPropagation()},style:{[sa.nestedDialogs]:b}},p],ref:[o,d.context.popupRef,V],stateAttributesMapping:Pi});return(0,aa.jsx)(jo,{context:m,openInteractionType:P,disabled:!v,closeOnFocusOut:!g,initialFocus:w,returnFocus:l,modal:f!==!1,restoreFocus:"popup",children:_})},"DialogPopup"));pr.displayName="DialogPopup";var ia=C(M(),1);var bo=C(ye(),1);var ur=ia.forwardRef(a(function(e,o){let{keepMounted:s=!1,...r}=e,{store:n}=le(),l=n.useState("mounted"),c=n.useState("modal"),p=n.useState("open");return l||s?(0,bo.jsx)(vs.Provider,{value:s,children:(0,bo.jsxs)($o,{ref:o,...r,children:[l&&c===!0&&(0,bo.jsx)(ts,{ref:n.context.internalBackdropRef,inert:Jo(!p)}),e.children]})}):null},"DialogPortal"));ur.displayName="DialogPortal";var ua=C(M(),1);var ca=C(M(),1);var dt=C(M(),1);function la(t){let{store:e,actionsRef:o}=t,s=e.useState("open");qo(e,s),Qt(e);let{forceUnmount:r}=Yt(s,e),n=dt.useCallback(()=>{e.setOpen(!1,Y(A.imperativeAction))},[e]);dt.useImperativeHandle(o,()=>({unmount:r,close:n}),[r,n])}a(la,"useDialogRoot");function da({store:t,parentContext:e,isDrawer:o}){let s=t.useState("open"),r=t.useState("disablePointerDismissal"),n=t.useState("modal"),l=t.useState("popupElement"),c=t.useState("floatingRootContext"),[p,d]=dt.useState(0),[u,g]=dt.useState(0),m=p===0,h=Zt(c,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:n==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(b){if(!t.context.outsidePressEnabledRef.current||"button"in b&&b.button!==0||"touches"in b&&b.touches.length!==1)return!1;let R=Xr(b);return m&&!r?n&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===R||t.context.backdropRef.current===R||mo(R,l)&&!R?.hasAttribute("data-base-ui-portal"):!0:!1},escapeKey:m});Nn(s&&n===!0,l),t.useContextCallback("onNestedDialogOpen",(b,R)=>{d(b),g(R)}),t.useContextCallback("onNestedDialogClose",()=>{d(0),g(0)}),dt.useEffect(()=>(e?.onNestedDialogOpen&&s&&e.onNestedDialogOpen(p+1,u+(o?1:0)),e?.onNestedDialogClose&&!s&&e.onNestedDialogClose(),()=>{e?.onNestedDialogClose&&s&&e.onNestedDialogClose()}),[o,s,p,u,e]);let f=h.reference??Rt,v=h.trigger??Rt,x=h.floating??Rt;return Jt(t,{activeTriggerProps:f,inactiveTriggerProps:v,popupProps:x,nestedOpenDialogCount:p,nestedOpenDrawerCount:u}),null}a(da,"DialogInteractions");var bs=C(M(),1);var Ri={...oo,modal:j(t=>t.modal),nested:j(t=>t.nested),nestedOpenDialogCount:j(t=>t.nestedOpenDialogCount),nestedOpenDrawerCount:j(t=>t.nestedOpenDrawerCount),disablePointerDismissal:j(t=>t.disablePointerDismissal),openMethod:j(t=>t.openMethod),descriptionElementId:j(t=>t.descriptionElementId),titleElementId:j(t=>t.titleElementId),viewportElement:j(t=>t.viewportElement),role:j(t=>t.role)},lo=class t extends qt{static{a(this,"DialogStore")}constructor(e,o,s=!1){let r=new Xt,n=Ci(e);n.floatingRootContext=to(r,o,s),super(n,{popupRef:bs.createRef(),backdropRef:bs.createRef(),internalBackdropRef:bs.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:r,onOpenChange:void 0,onOpenChangeComplete:void 0},Ri)}setOpen=a((e,o)=>{if(o.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!e&&o.trigger==null&&this.state.activeTriggerId!=null&&(o.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,o);let s={open:e};Wo(s,e,o.trigger),this.update(s)},"setOpen");static useStore(e,o){return Gt(e,(r,n)=>new t(o,r,n),!0).store}};function Ci(t={}){return{...eo(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...t}}a(Ci,"createInitialState");var yo=C(ye(),1);function pa(t,e="dialog"){let{children:o,open:s,defaultOpen:r=!1,onOpenChange:n,onOpenChangeComplete:l,disablePointerDismissal:c=!1,modal:p=!0,actionsRef:d,handle:u,triggerId:g,defaultTriggerId:m=null}=t,h=e==="drawer",f=e==="alert-dialog",v=f?!0:p,x=f||c,b=f?"alertdialog":"dialog",R=le(!0),N={modal:v,disablePointerDismissal:x,nested:!!R,role:b},S=lo.useStore(u?.store,{open:r,openProp:s,activeTriggerId:m,triggerIdProp:g,...N});gn(()=>{let V=s===void 0&&S.state.open===!1&&r===!0?{open:!0,activeTriggerId:m}:null;f?S.update(V?{...N,...V}:N):V&&S.update(V)}),S.useControlledProp("openProp",s),S.useControlledProp("triggerIdProp",g),S.useSyncedValues(N),S.useContextCallback("onOpenChange",n),S.useContextCallback("onOpenChangeComplete",l);let E=S.useState("open"),T=S.useState("mounted"),k=S.useState("payload");la({store:S,actionsRef:d});let w=E||T,O=ca.useMemo(()=>({store:S}),[S]);return(0,yo.jsx)(xo.Provider,{value:!1,children:(0,yo.jsxs)(gs.Provider,{value:O,children:[w&&(0,yo.jsx)(da,{store:S,parentContext:R?.store.context,isDrawer:h}),typeof o=="function"?o({payload:k}):o]})})}a(pa,"useRenderDialogRoot");function fa(t){let e=ua.useContext(xo)?"drawer":"dialog";return pa(t,e)}a(fa,"DialogRoot");var ma=C(M(),1);var fr=(function(t){return t[t.open=tt.open]="open",t[t.closed=tt.closed]="closed",t[t.startingStyle=tt.startingStyle]="startingStyle",t[t.endingStyle=tt.endingStyle]="endingStyle",t.nested="data-nested",t.nestedDialogOpen="data-nested-dialog-open",t})({});var Si={...ue,...He,nested(t){return t?{[fr.nested]:""}:null},nestedDialogOpen(t){return t?{[fr.nestedDialogOpen]:""}:null}},mr=ma.forwardRef(a(function(e,o){let{render:s,className:r,style:n,children:l,...c}=e,p=xs(),{store:d}=le(),u=d.useState("open"),g=d.useState("nested"),m=d.useState("transitionStatus"),h=d.useState("nestedOpenDialogCount"),f=d.useState("mounted"),v=d.useStateSetter("viewportElement"),x=h>0;return F("div",e,{enabled:p||f,state:{open:u,nested:g,transitionStatus:m,nestedDialogOpen:x},ref:[o,v],stateAttributesMapping:Si,props:[{role:"presentation",hidden:!f,style:{pointerEvents:u?void 0:"none"},children:l},c]})},"DialogViewport"));mr.displayName="DialogViewport";var ga=C(M(),1);var gr=ga.forwardRef(a(function(e,o){let{render:s,className:r,style:n,id:l,...c}=e,{store:p}=le(),d=Pe(l);return p.useSyncedValueWithCleanup("titleElementId",d),F("h2",e,{ref:o,props:[{id:d},c]})},"DialogTitle"));gr.displayName="DialogTitle";var ys=C(M(),1);var hr=ys.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:c=!0,id:p,payload:d,handle:u,...g}=e,m=le(!0),h=u?.store??m?.store;if(!h)throw new Error("Base UI: <Dialog.Trigger> must be used within <Dialog.Root> or provided with a handle.");let f=Pe(p),v=h.useState("floatingRootContext"),x=h.useState("isOpenedByTrigger",f),b=h.useState("triggerPopupId",f),R=ys.useRef(null),{registerTrigger:P,isMountedByThisTrigger:N}=Kt(f,R,h,{payload:d}),{getButtonProps:S,buttonRef:E}=mt({disabled:l,native:c}),T=zo(v,{enabled:v!=null}),k=Yo(()=>h.select("open"),V=>{h.set("openMethod",V)}),w={disabled:l,open:x},O=h.useState("triggerProps",N);return F("button",e,{state:w,ref:[E,o,P,R],props:[T.reference,O,k,{[Fo]:"",id:f,"aria-haspopup":"dialog","aria-expanded":x,"aria-controls":b},g,S],stateAttributesMapping:so})},"DialogTrigger"));hr.displayName="DialogTrigger";var Po=class{static{a(this,"DialogHandle")}constructor(e){this.store=e??new lo}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;e&&!o&&console.warn(`Base UI: DialogHandle.open: No trigger found with id "${e}". The dialog will open, but the trigger will not be associated with the dialog.`),this.store.setOpen(!0,Y(A.imperativeAction,void 0,o))}openWithPayload(e){this.store.set("payload",e),this.store.setOpen(!0,Y(A.imperativeAction,void 0,void 0))}close(){this.store.setOpen(!1,Y(A.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function ha(){return new Po}a(ha,"createDialogHandle");var st={};js(st,{Arrow:()=>Sr,Handle:()=>Ro,Popup:()=>Cr,Portal:()=>Pr,Positioner:()=>Rr,Provider:()=>Tr,Root:()=>vr,Trigger:()=>xr,Viewport:()=>wr,createHandle:()=>Ma});var ot=C(M(),1);var Ps=C(M(),1);var Rs=Ps.createContext(void 0);Rs.displayName="TooltipRootContext";function je(t){let e=Ps.useContext(Rs);if(e===void 0&&!t)throw new Error("Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>.");return e}a(je,"useTooltipRootContext");var va=C(M(),1);var Ni={...oo,disabled:j(t=>t.disabled),instantType:j(t=>t.instantType),isInstantPhase:j(t=>t.isInstantPhase),trackCursorAxis:j(t=>t.trackCursorAxis),disableHoverablePopup:j(t=>t.disableHoverablePopup),lastOpenChangeReason:j(t=>t.openChangeReason),closeOnClick:j(t=>t.closeOnClick),closeDelay:j(t=>t.closeDelay),hasViewport:j(t=>t.hasViewport)},co=class t extends qt{static{a(this,"TooltipStore")}constructor(e,o,s=!1){let r=new Xt,n={...Ei(),...e};n.floatingRootContext=to(r,o,s),super(n,{popupRef:va.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:r},Ni)}setOpen=a((e,o)=>{bn(this,e,o,{extraState:{openChangeReason:o.reason}})},"setOpen");cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,Y(A.triggerPress,e))}static useStore(e,o){return Gt(e,(r,n)=>new t(o,r,n)).store}};function Ei(){return{...eo(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}a(Ei,"createInitialState");var Cs=C(ye(),1);var vr=hn(a(function(e){let{disabled:o=!1,defaultOpen:s=!1,open:r,disableHoverablePopup:n=!1,trackCursorAxis:l="none",actionsRef:c,onOpenChange:p,onOpenChangeComplete:d,handle:u,triggerId:g,defaultTriggerId:m=null,children:h}=e,f=co.useStore(u?.store,{open:s,openProp:r,activeTriggerId:m,triggerIdProp:g});Zo(f,r,s,m),f.useControlledProp("openProp",r),f.useControlledProp("triggerIdProp",g),f.useContextCallback("onOpenChange",p),f.useContextCallback("onOpenChangeComplete",d);let v=f.useState("open"),x=!o&&v,b=f.useState("activeTriggerId"),R=f.useState("mounted"),P=f.useState("payload");f.useSyncedValues({trackCursorAxis:l,disableHoverablePopup:n}),f.useSyncedValue("disabled",o),Qt(f,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:N,transitionStatus:S}=Yt(x,f),E=f.useState("isInstantPhase"),T=f.useState("instantType"),k=f.useState("lastOpenChangeReason"),w=ot.useRef(null);ut(()=>{v&&o&&f.setOpen(!1,Y(A.disabled))},[v,o,f]),ut(()=>{S==="ending"&&k===A.none||S!=="ending"&&E?(T!=="delay"&&(w.current=T),f.set("instantType","delay")):w.current!==null&&(f.set("instantType",w.current),w.current=null)},[S,E,k,T,f]),ut(()=>{x&&b==null&&f.set("payload",void 0)},[f,b,x]);let O=ot.useCallback(()=>{f.setOpen(!1,Y(A.imperativeAction))},[f]);ot.useImperativeHandle(c,()=>({unmount:N,close:O}),[N,O]);let V=x||R||!o&&l!=="none";return(0,Cs.jsxs)(Rs.Provider,{value:f,children:[V&&(0,Cs.jsx)(Ti,{store:f,disabled:o,trackCursorAxis:l}),typeof h=="function"?h({payload:P}):h]})},"TooltipRoot"));vr.displayName="TooltipRoot";function Ti({store:t,disabled:e,trackCursorAxis:o}){let s=t.useState("floatingRootContext"),r=Zt(s,{enabled:!e,referencePress:a(()=>t.select("closeOnClick"),"referencePress")}),n=mn(s,{enabled:!e&&o!=="none",axis:o==="none"?void 0:o}),l=ot.useMemo(()=>it(n.reference,r.reference),[n.reference,r.reference]),c=ot.useMemo(()=>it(n.trigger,r.trigger),[n.trigger,r.trigger]),p=ot.useMemo(()=>it(ft,n.floating,r.floating),[n.floating,r.floating]);return Jt(t,{activeTriggerProps:l,inactiveTriggerProps:c,popupProps:p}),null}a(Ti,"TooltipInteractions");var Es=C(M(),1);var Ss=C(M(),1);var Ns=Ss.createContext(void 0);Ns.displayName="TooltipProviderContext";function xa(){return Ss.useContext(Ns)}a(xa,"useTooltipProviderContext");var ba=(function(t){return t[t.popupOpen=Rn.popupOpen]="popupOpen",t.triggerDisabled="data-trigger-disabled",t})({});var Pa="data-base-ui-tooltip-trigger";function ya(t){if("composedPath"in t){let o=t.composedPath();for(let s=0;s<o.length;s+=1){let r=o[s];if(Lo(r))return r}}let e=t.target;return Lo(e)?e:null}a(ya,"getTargetElement");function wi(t){let e=t;for(;e;){if(e.hasAttribute(Pa))return e;let o=e.parentElement;if(o){e=o;continue}let s=e.getRootNode();e="host"in s&&Lo(s.host)?s.host:null}return null}a(wi,"closestEnabledTooltipTrigger");var xr=vn(a(function(e,o){let{render:s,className:r,style:n,handle:l,payload:c,disabled:p,delay:d,closeOnClick:u=!0,closeDelay:g,id:m,...h}=e,f=je(!0),v=l?.store??f;if(!v)throw new Error("Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle.");let x=Pe(m),b=v.useState("isTriggerActive",x),R=v.useState("isOpenedByTrigger",x),P=v.useState("floatingRootContext"),N=Es.useRef(null),S=d??600,E=g??0,{registerTrigger:T,isMountedByThisTrigger:k}=Kt(x,N,v,{payload:c,closeOnClick:u,closeDelay:E}),w=xa(),{delayRef:O,isInstantPhase:V,hasProvider:W}=an(P,{open:R}),_=Pn(P);v.useSyncedValue("isInstantPhase",V);let H=v.useState("disabled"),$=p??H,Z=ln($),G=v.useState("trackCursorAxis"),D=v.useState("disableHoverablePopup"),I=Es.useRef(!1),z=on(),te=Es.useRef(void 0);function se(){let L=w?.delay,K=typeof O.current=="object"?O.current.open:void 0,ee=S;return W&&(K!==0?ee=d??L??S:ee=0),ee}a(se,"getOpenDelay");function re(L){let K=N.current;if(!K||!L)return!1;let ee=wi(L);return ee!==null&&ee!==K&&mo(K,ee)}a(re,"isEnabledNestedTriggerTarget");function J(L){let K=re(L);return I.current=K,K&&(_.openChangeTimeout.clear(),_.restTimeout.clear(),_.restTimeoutPending=!1,z.clear()),K}a(J,"detectNestedTriggerHover");let X=Ko(P,{enabled:!$,mouseOnly:!0,move:!1,handleClose:!D&&G!=="both"?Qo():null,restMs:se,delay(){let L=typeof O.current=="object"?O.current.close:void 0,K=E;return g==null&&W&&(K=L),{close:K}},triggerElementRef:N,isActiveTrigger:b,isClosing:a(()=>v.select("transitionStatus")==="ending","isClosing"),shouldOpen(){return!I.current}}),ae=yn(P,{enabled:!$}).reference,Le=a(L=>{let K=I.current,ee=ya(L),ne=J(ee),ge=N.current,he=ge&&ee&&mo(ge,ee);if(ne&&v.select("open")&&v.select("lastOpenChangeReason")===A.triggerHover){v.setOpen(!1,Y(A.triggerHover,L));return}if(K&&!ne&&he&&!Z.current&&!v.select("open")&&ge&&en(te.current)){let ce=a(()=>{!I.current&&!Z.current&&!v.select("open")&&v.setOpen(!0,Y(A.triggerHover,L,ge))},"open"),pe=se();pe===0?(z.clear(),ce()):z.start(pe,ce)}},"handleNestedTriggerHover"),me=v.useState("triggerProps",k);return F("button",e,{state:{open:R},ref:[o,T,N],props:[X,ae,k||G!=="none"?me:void 0,{onMouseOver(L){Le(L.nativeEvent)},onFocus(L){re(ya(L.nativeEvent))&&L.preventBaseUIHandler()},onMouseLeave(){I.current=!1,z.clear(),te.current=void 0},onPointerEnter(L){te.current=L.pointerType},onPointerDown(L){te.current=L.pointerType,v.set("closeOnClick",u),u&&!v.select("open")&&v.cancelPendingOpen(L.nativeEvent)},onClick(L){u&&!v.select("open")&&v.cancelPendingOpen(L.nativeEvent)},id:x,[ba.triggerDisabled]:$?"":void 0,[Pa]:$?void 0:""},h],stateAttributesMapping:so})},"TooltipTrigger"));xr.displayName="TooltipTrigger";var Na=C(M(),1);var Ts=C(M(),1);var ws=Ts.createContext(void 0);ws.displayName="TooltipPortalContext";function Ra(){let t=Ts.useContext(ws);if(t===void 0)throw new Error("Base UI: <Tooltip.Portal> is missing.");return t}a(Ra,"useTooltipPortalContext");var ks=C(M(),1),Ca=C(Br(),1);var Sa=C(ye(),1);var br=ks.forwardRef(a(function(e,o){let{children:s,container:r,className:n,render:l,style:c,...p}=e,{portalNode:d,portalSubtree:u}=dn({container:r,ref:o,componentProps:e,elementProps:p});return!u&&!d?null:(0,Sa.jsxs)(ks.Fragment,{children:[u,d&&Ca.createPortal(s,d)]})},"FloatingPortalLite"));br.displayName="FloatingPortalLite";var yr=C(ye(),1);var Pr=Na.forwardRef(a(function(e,o){let{keepMounted:s=!1,...r}=e;return je().useState("mounted")||s?(0,yr.jsx)(ws.Provider,{value:s,children:(0,yr.jsx)(br,{ref:o,...r})}):null},"TooltipPortal"));Pr.displayName="TooltipPortal";var Is=C(M(),1);var Os=C(M(),1);var Ms=Os.createContext(void 0);Ms.displayName="TooltipPositionerContext";function po(){let t=Os.useContext(Ms);if(t===void 0)throw new Error("Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>.");return t}a(po,"useTooltipPositionerContext");var Ea=C(ye(),1);var Rr=Is.forwardRef(a(function(e,o){let{render:s,className:r,anchor:n,positionMethod:l="absolute",side:c="top",align:p="center",sideOffset:d=0,alignOffset:u=0,collisionBoundary:g="clipping-ancestors",collisionPadding:m=5,arrowPadding:h=5,sticky:f=!1,disableAnchorTracking:v=!1,collisionAvoidance:x=Ho,style:b,...R}=e,P=je(),N=Ra(),S=P.useState("open"),E=P.useState("mounted"),T=P.useState("trackCursorAxis"),k=P.useState("disableHoverablePopup"),w=P.useState("floatingRootContext"),O=P.useState("instantType"),V=P.useState("transitionStatus"),W=P.useState("hasViewport"),_=es({anchor:n,positionMethod:l,floatingRootContext:w,mounted:E,side:c,sideOffset:d,align:p,alignOffset:u,collisionBoundary:g,collisionPadding:m,sticky:f,arrowPadding:h,disableAnchorTracking:v,keepMounted:N,collisionAvoidance:x,adaptiveOrigin:W?Xo:void 0}),H=Is.useMemo(()=>({open:S,side:_.side,align:_.align,anchorHidden:_.anchorHidden,instant:T!=="none"?"tracking-cursor":O}),[S,_.side,_.align,_.anchorHidden,T,O]),$=ss(e,H,{styles:_.positionerStyles,transitionStatus:V,props:R,refs:[o,P.useStateSetter("positionerElement")],hidden:!E,inert:!S||T==="both"||k});return(0,Ea.jsx)(Ms.Provider,{value:_,children:$})},"TooltipPositioner"));Rr.displayName="TooltipPositioner";var Ta=C(M(),1);var ki={...ue,...He},Cr=Ta.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,c=je(),{side:p,align:d}=po(),u=c.useState("open"),g=c.useState("instantType"),m=c.useState("transitionStatus"),h=c.useState("popupProps"),f=c.useState("floatingRootContext"),v=c.useState("disabled"),x=c.useState("closeDelay");Wt({open:u,ref:c.context.popupRef,onComplete(){u&&c.context.onOpenChangeComplete?.(!0)}}),Go(f,{enabled:!v,closeDelay:x});let b=c.useStateSetter("popupElement");return F("div",e,{state:{open:u,side:p,align:d,instant:g,transitionStatus:m},ref:[o,c.context.popupRef,b],props:[h,os(m),l],stateAttributesMapping:ki})},"TooltipPopup"));Cr.displayName="TooltipPopup";var wa=C(M(),1);var Sr=wa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,c=je(),{arrowRef:p,side:d,align:u,arrowUncentered:g,arrowStyles:m}=po(),h=c.useState("open"),f=c.useState("instantType");return F("div",e,{state:{open:h,side:d,align:u,uncentered:g,instant:f},ref:[o,p],props:[{style:m,"aria-hidden":!0},l],stateAttributesMapping:ue})},"TooltipArrow"));Sr.displayName="TooltipArrow";var Nr=C(M(),1);var Er=C(ye(),1);var Tr=a(function(e){let{delay:o,closeDelay:s,timeout:r=400}=e,n=Nr.useMemo(()=>({delay:o,closeDelay:s}),[o,s]),l=Nr.useMemo(()=>({open:o,close:s}),[o,s]);return(0,Er.jsx)(Ns.Provider,{value:n,children:(0,Er.jsx)(nn,{delay:l,timeoutMs:r,children:e.children})})},"TooltipProvider");Tr.displayName="TooltipProvider";var Oa=C(M(),1);var ka=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var Oi={activationDirection:a(t=>t?{"data-activation-direction":t}:null,"activationDirection")},wr=Oa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,children:l,...c}=e,p=je(),d=po(),u=p.useState("instantType"),{children:g,state:m}=ns({store:p,side:d.side,cssVars:ka,children:l}),h={activationDirection:m.activationDirection,transitioning:m.transitioning,instant:u};return F("div",e,{state:h,ref:o,props:[c,{children:g}],stateAttributesMapping:Oi})},"TooltipViewport"));wr.displayName="TooltipViewport";var Ro=class{static{a(this,"TooltipHandle")}constructor(){this.store=new co}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!o)throw new Error(`Base UI: TooltipHandle.open: No trigger found with id "${e}".`);this.store.setOpen(!0,Y(A.imperativeAction,void 0,o))}close(){this.store.setOpen(!1,Y(A.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function Ma(){return new Ro}a(Ma,"createTooltipHandle");var Be=C(Vo(),1);var rt=C(M(),1);var y=C(uo(),1);var Mi=Mn(Ct.studioFeatures),Va={analytics:!0,auth:!0,flags:!0,kv:!0,mail:!0,payments:!0,queues:!0,scheduler:!0,storage:!0,vectors:!0,workflows:!0},Ii=a(t=>{if(t===null||typeof t!="object")return Va;let e=t,o=a(s=>typeof e[s]=="boolean"?e[s]:!0,"flag");return{analytics:o("analytics"),auth:o("auth"),flags:o("flags"),kv:o("kv"),mail:o("mail"),payments:o("payments"),queues:o("queues"),scheduler:o("scheduler"),storage:o("storage"),vectors:o("vectors"),workflows:o("workflows")}},"coerceFeatures"),Mr=a(()=>{let t=(0,Be.c)(3),e=zs(),[o,s]=(0,rt.useState)(Va),r,n;return t[0]!==e?(r=a(()=>{$e((async()=>{try{s(Ii(await e.query(Mi,{},In(""))))}catch{}})())},"t0"),n=[e],t[0]=e,t[1]=r,t[2]=n):(r=t[1],n=t[2]),(0,rt.useEffect)(r,n),o},"useStudioFeatures"),Di=a(()=>{let t=(0,Be.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,y.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,y.jsxDEV)("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"},void 0,!1)},void 0,!1),t[0]=e):e=t[0],e},"ChevronRight$1"),_i=a(t=>{let e=(0,Be.c)(24),{group:o}=t,s=ie(),r=pt(),n;e[0]!==o.tab||e[1]!==r?(n=a(()=>{$e(r({to:`/${o.tab}`}))},"t1"),e[0]=o.tab,e[1]=r,e[2]=n):n=e[2];let l=n,c=o.bindings.length,p;e[3]!==o.label?(p=(0,y.jsxDEV)("span",{className:"text-sm font-medium text-foreground",children:o.label},void 0,!1),e[3]=o.label,e[4]=p):p=e[4];let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(0,y.jsxDEV)(Di,{},void 0,!1),e[5]=d):d=e[5];let u;e[6]!==p?(u=(0,y.jsxDEV)("div",{className:"flex items-center justify-between",children:[p,d]},void 0,!0),e[6]=p,e[7]=u):u=e[7];let g;e[8]!==c||e[9]!==s?(g=c===1?s("1 binding"):s("{count} bindings",{count:c}),e[8]=c,e[9]=s,e[10]=g):g=e[10];let m;e[11]!==g?(m=(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:g},void 0,!1),e[11]=g,e[12]=m):m=e[12];let h;e[13]!==c||e[14]!==o.bindings?(h=c>0&&(0,y.jsxDEV)("div",{className:"flex flex-wrap gap-1.5",children:o.bindings.map(Bi)},void 0,!1),e[13]=c,e[14]=o.bindings,e[15]=h):h=e[15];let f;e[16]!==u||e[17]!==m||e[18]!==h?(f=(0,y.jsxDEV)(Gs,{className:"flex flex-col gap-2 py-4",children:[u,m,h]},void 0,!0),e[16]=u,e[17]=m,e[18]=h,e[19]=f):f=e[19];let v;return e[20]!==o.testId||e[21]!==l||e[22]!==f?(v=(0,y.jsxDEV)(gt,{className:"cursor-pointer gap-0 py-0 transition-colors hover:bg-muted/40","data-testid":o.testId,onClick:l,children:f},void 0,!1),e[20]=o.testId,e[21]=l,e[22]=f,e[23]=v):v=e[23],v},"BindingCard"),Ia=["kv","files","vectors"],Ai=a((t,e)=>[...t.filter(o=>o.tab!==e.tab),e].toSorted((o,s)=>Ia.indexOf(o.tab)-Ia.indexOf(s.tab)),"upsertCard"),Vi=a(()=>{let t=(0,Be.c)(19),e=zs(),o=Mr(),s=ie(),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=[],t[0]=r):r=t[0];let[n,l]=(0,rt.useState)(r),c,p;if(t[1]!==e||t[2]!==o.kv||t[3]!==o.storage||t[4]!==o.vectors||t[5]!==s?(c=a(()=>{let f={cancelled:!1},v=[{enabled:o.kv,label:s("KV Namespaces"),load:a(async()=>(await e.listKvNamespaces()).map(Li),"load"),tab:"kv",testId:"home-binding-kv"},{enabled:o.storage,label:s("R2 Buckets"),load:a(()=>e.listStorageBuckets(),"load"),tab:"files",testId:"home-binding-r2"},{enabled:o.vectors,label:s("Vectorize Indexes"),load:a(async()=>(await e.listVectorIndexes()).map(Fi),"load"),tab:"vectors",testId:"home-binding-vectors"}];for(let x of v)x.enabled&&$e((async()=>{try{let b=await x.load();if(!f.cancelled){let R={bindings:b,label:x.label,tab:x.tab,testId:x.testId};l(P=>Ai(P,R))}}catch{}})());return()=>{f.cancelled=!0}},"t1"),p=[e,o.kv,o.storage,o.vectors,s],t[1]=e,t[2]=o.kv,t[3]=o.storage,t[4]=o.vectors,t[5]=s,t[6]=c,t[7]=p):(c=t[6],p=t[7]),(0,rt.useEffect)(c,p),n.length===0)return null;let d;t[8]!==s?(d=s("Bindings"),t[8]=s,t[9]=d):d=t[9];let u;t[10]!==d?(u=(0,y.jsxDEV)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:d},void 0,!1),t[10]=d,t[11]=u):u=t[11];let g;t[12]!==n?(g=n.map(Hi),t[12]=n,t[13]=g):g=t[13];let m;t[14]!==g?(m=(0,y.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:g},void 0,!1),t[14]=g,t[15]=m):m=t[15];let h;return t[16]!==u||t[17]!==m?(h=(0,y.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"home-bindings",children:[u,m]},void 0,!0),t[16]=u,t[17]=m,t[18]=h):h=t[18],h},"BindingsOverview");function Bi(t){return(0,y.jsxDEV)(fo,{variant:"secondary",children:t},t,!1)}a(Bi,"_temp$1");function Li(t){return t.binding}a(Li,"_temp2$1");function Fi(t){return t.name}a(Fi,"_temp3$1");function Hi(t){return(0,y.jsxDEV)(_i,{group:t},t.tab,!1)}a(Hi,"_temp4");var $i=(0,rt.lazy)(()=>import("./chunk-VSEGZA3J.js").then(t=>({default:t.Sparkline}))),Or=a(t=>{if(t<1e3)return`${String(Math.round(t))}ms`;let e=t>=1e4?0:1;return`${(t/1e3).toFixed(e)}s`},"formatMs"),ji=a((t,e)=>{let o=Math.max(0,Math.round((e-t)/1e3));if(o<60)return`${String(o)}s ago`;let s=Math.round(o/60);if(s<60)return`${String(s)}m ago`;let r=Math.round(s/60);return r<24?`${String(r)}h ago`:`${String(Math.round(r/24))}d ago`},"relativeTime"),Da=a((t,e)=>{if(t===void 0||t.length===0)return[];let o=new Map;for(let s of t)o.set(s.bucketMs,(o.get(s.bucketMs)??0)+s[e]);return[...o.entries()].toSorted(([s],[r])=>s-r).map(([,s])=>s)},"bucketSeries"),_a=a((t,e=!0)=>{if(t.length<4)return null;let o=Math.floor(t.length/2),s=t.slice(0,o).reduce((l,c)=>l+c,0),r=t.slice(o).reduce((l,c)=>l+c,0);if(s===0)return null;let n=(r-s)/s*100;return{positive:e?n>=0:n<=0,text:`${n>=0?"+":""}${n.toFixed(1)}%`}},"seriesDelta"),Ds=a(t=>{let e=(0,Be.c)(24),{delta:o,footer:s,label:r,trend:n,unit:l,value:c}=t,p=ie(),d;e[0]!==r?(d=(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r},void 0,!1),e[0]=r,e[1]=d):d=e[1];let u;e[2]!==c?(u=(0,y.jsxDEV)("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:c},void 0,!1),e[2]=c,e[3]=u):u=e[3];let g;e[4]!==l?(g=l!==void 0&&(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:l},void 0,!1),e[4]=l,e[5]=g):g=e[5];let m;e[6]!==u||e[7]!==g?(m=(0,y.jsxDEV)("span",{className:"flex items-baseline gap-1.5",children:[u,g]},void 0,!0),e[6]=u,e[7]=g,e[8]=m):m=e[8];let h;e[9]!==n?(h=n!==void 0&&(0,y.jsxDEV)(rt.Suspense,{fallback:(0,y.jsxDEV)("div",{"aria-hidden":"true",className:"h-8 w-28"},void 0,!1),children:(0,y.jsxDEV)($i,{data:n},void 0,!1)},void 0,!1),e[9]=n,e[10]=h):h=e[10];let f;e[11]!==m||e[12]!==h?(f=(0,y.jsxDEV)("div",{className:"flex items-center justify-between gap-3",children:[m,h]},void 0,!0),e[11]=m,e[12]=h,e[13]=f):f=e[13];let v;e[14]!==d||e[15]!==f?(v=(0,y.jsxDEV)("div",{className:"flex flex-col gap-2.5 p-4",children:[d,f]},void 0,!0),e[14]=d,e[15]=f,e[16]=v):v=e[16];let x;e[17]!==o||e[18]!==s||e[19]!==p?(x=o==null?s!=null&&(0,y.jsxDEV)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px] text-muted-foreground",children:s},void 0,!1):(0,y.jsxDEV)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px]",children:[(0,y.jsxDEV)("span",{className:U("font-semibold",o.positive?"text-success":"text-destructive"),children:o.text},void 0,!1)," ",(0,y.jsxDEV)("span",{className:"text-muted-foreground",children:p("vs. prev.")},void 0,!1)]},void 0,!0),e[17]=o,e[18]=s,e[19]=p,e[20]=x):x=e[20];let b;return e[21]!==v||e[22]!==x?(b=(0,y.jsxDEV)(gt,{className:"justify-between gap-0 py-0",children:[v,x]},void 0,!0),e[21]=v,e[22]=x,e[23]=b):b=e[23],b},"StatCard"),zi=a(()=>{let t=(0,Be.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,y.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,y.jsxDEV)("path",{d:"m9 6 6 6-6 6"},void 0,!1)},void 0,!1),t[0]=e):e=t[0],e},"ChevronRight"),kr=a(t=>{let e=(0,Be.c)(7),{command:o,label:s}=t,r;e[0]!==s?(r=(0,y.jsxDEV)("div",{className:"p-4",children:(0,y.jsxDEV)("span",{className:"text-sm font-medium text-foreground",children:s},void 0,!1)},void 0,!1),e[0]=s,e[1]=r):r=e[1];let n;e[2]!==o?(n=(0,y.jsxDEV)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5",children:(0,y.jsxDEV)("code",{className:"font-mono text-xs text-muted-foreground",children:o},void 0,!1)},void 0,!1),e[2]=o,e[3]=n):n=e[3];let l;return e[4]!==r||e[5]!==n?(l=(0,y.jsxDEV)(gt,{className:"justify-between gap-0 py-0",children:[r,n]},void 0,!0),e[4]=r,e[5]=n,e[6]=l):l=e[6],l},"ConnectCard"),Aa=a(t=>{let e=(0,Be.c)(18),{count:o,onView:s,testId:r,title:n}=t,l=ie(),c;e[0]!==n?(c=(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:n},void 0,!1),e[0]=n,e[1]=c):c=e[1];let p;e[2]!==o||e[3]!==l?(p=o===null?(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:l("No data yet")},void 0,!1):(0,y.jsxDEV)(fo,{variant:o>0?"destructive":"success",children:o>0?o:l("All clear")},void 0,!1),e[2]=o,e[3]=l,e[4]=p):p=e[4];let d;e[5]!==c||e[6]!==p?(d=(0,y.jsxDEV)("div",{className:"flex items-start justify-between gap-2 p-4",children:[c,p]},void 0,!0),e[5]=c,e[6]=p,e[7]=d):d=e[7];let u;e[8]!==l?(u=l("View"),e[8]=l,e[9]=u):u=e[9];let g;e[10]===Symbol.for("react.memo_cache_sentinel")?(g=(0,y.jsxDEV)(zi,{},void 0,!1),e[10]=g):g=e[10];let m;e[11]!==s||e[12]!==u?(m=(0,y.jsxDEV)("button",{className:"flex items-center gap-1 border-t border-border bg-muted/50 px-4 py-2.5 text-[12px] font-medium text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted",onClick:s,type:"button",children:[u,g]},void 0,!0),e[11]=s,e[12]=u,e[13]=m):m=e[13];let h;return e[14]!==d||e[15]!==m||e[16]!==r?(h=(0,y.jsxDEV)(gt,{className:"justify-between gap-0 py-0","data-testid":r,children:[d,m]},void 0,!0),e[14]=d,e[15]=m,e[16]=r,e[17]=h):h=e[17],h},"AdvisorCard"),Ui=a(t=>{let e=(0,Be.c)(7),{functions:o}=t,s=ie(),r;if(e[0]!==o||e[1]!==s){let n=[...o].toSorted(Gi).slice(0,5),l;e[3]!==s?(l=s("Top functions"),e[3]=s,e[4]=l):l=e[4];let c;e[5]!==l?(c=(0,y.jsxDEV)("div",{className:"border-b border-border px-4 py-3",children:(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l},void 0,!1)},void 0,!1),e[5]=l,e[6]=c):c=e[6],r=(0,y.jsxDEV)(gt,{className:"gap-0 py-0","data-testid":"home-top-functions",children:[c,n.length===0?(0,y.jsxDEV)("p",{className:"px-4 py-8 text-center text-xs text-muted-foreground",children:s("No functions called yet.")},void 0,!1):(0,y.jsxDEV)("div",{className:"divide-y divide-border",children:[(0,y.jsxDEV)("div",{className:"grid grid-cols-[1fr_auto_auto_auto] gap-4 px-4 py-1.5 font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:[(0,y.jsxDEV)("span",{children:s("Function")},void 0,!1),(0,y.jsxDEV)("span",{className:"text-end",children:s("Calls")},void 0,!1),(0,y.jsxDEV)("span",{className:"w-12 text-end",children:s("Avg")},void 0,!1),(0,y.jsxDEV)("span",{className:"w-8 text-end",children:s("Err")},void 0,!1)]},void 0,!0),n.map(Ki)]},void 0,!0)]},void 0,!0),e[0]=o,e[1]=s,e[2]=r}else r=e[2];return r},"TopFunctionsCard"),Wi=a(t=>{let e=(0,Be.c)(26),{subs:o}=t,s=ie(),r;e[0]!==s?(r=s("Live connections"),e[0]=s,e[1]=r):r=e[1];let n;e[2]!==r?(n=(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r},void 0,!1),e[2]=r,e[3]=n):n=e[3];let l=o?.totalConnections??0,c;e[4]!==l?(c=l.toLocaleString(),e[4]=l,e[5]=c):c=e[5];let p;e[6]!==c?(p=(0,y.jsxDEV)("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:c},void 0,!1),e[6]=c,e[7]=p):p=e[7];let d;e[8]!==s?(d=s("sockets"),e[8]=s,e[9]=d):d=e[9];let u;e[10]!==d?(u=(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:d},void 0,!1),e[10]=d,e[11]=u):u=e[11];let g;e[12]!==p||e[13]!==u?(g=(0,y.jsxDEV)("span",{className:"flex items-baseline gap-1.5",children:[p,u]},void 0,!0),e[12]=p,e[13]=u,e[14]=g):g=e[14];let m=o?.totalSubscriptions??0,h;e[15]!==m?(h=m.toLocaleString(),e[15]=m,e[16]=h):h=e[16];let f;e[17]!==s?(f=s("active subscriptions"),e[17]=s,e[18]=f):f=e[18];let v;e[19]!==h||e[20]!==f?(v=(0,y.jsxDEV)("span",{className:"text-[11px] text-muted-foreground",children:[h," ",f]},void 0,!0),e[19]=h,e[20]=f,e[21]=v):v=e[21];let x;return e[22]!==v||e[23]!==n||e[24]!==g?(x=(0,y.jsxDEV)(gt,{"data-testid":"home-live-connections",children:(0,y.jsxDEV)(Gs,{className:"flex flex-col gap-2.5 py-4",children:[n,g,v]},void 0,!0)},void 0,!1),e[22]=v,e[23]=n,e[24]=g,e[25]=x):x=e[25],x},"LiveConnectionsCard"),Zi=a(t=>{let e=(0,Be.c)(7),{entries:o}=t,s=ie(),r;if(e[0]!==o||e[1]!==s){let n=Date.now(),l;e[3]!==s?(l=s("Recent activity"),e[3]=s,e[4]=l):l=e[4];let c;e[5]!==l?(c=(0,y.jsxDEV)("div",{className:"border-b border-border px-4 py-3",children:(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l},void 0,!1)},void 0,!1),e[5]=l,e[6]=c):c=e[6],r=(0,y.jsxDEV)(gt,{className:"gap-0 py-0","data-testid":"home-recent-activity",children:[c,o.length===0?(0,y.jsxDEV)("p",{className:"px-4 py-8 text-center text-xs text-muted-foreground",children:s("No recent activity.")},void 0,!1):(0,y.jsxDEV)("ul",{className:"divide-y divide-border",children:o.slice(0,5).map(p=>(0,y.jsxDEV)("li",{className:"flex items-center justify-between gap-3 px-4 py-2 text-[13px]",children:[(0,y.jsxDEV)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,y.jsxDEV)("span",{"aria-hidden":"true",className:"size-1.5 shrink-0 rounded-full bg-muted-foreground/40"},void 0,!1),(0,y.jsxDEV)("span",{className:"truncate text-foreground",children:[p.op,p.table!==void 0&&(0,y.jsxDEV)("span",{className:"text-muted-foreground",children:[" \xB7 ",p.table,p.id===void 0?"":`#${p.id}`]},void 0,!0)]},void 0,!0)]},void 0,!0),(0,y.jsxDEV)("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground",children:ji(p.ts,n)},void 0,!1)]},p.seq,!0))},void 0,!1)]},void 0,!0),e[0]=o,e[1]=s,e[2]=r}else r=e[2];return r},"RecentActivityCard"),qi=a(t=>{let e=t.reduce((o,s)=>o+s.calls,0);return e===0?null:t.reduce((o,s)=>o+s.totalDurationMs,0)/e},"averageLatencyMs"),Ba=a(t=>{let e=(0,Be.c)(150),{initialShardKey:o}=t,s=ie(),r=pt(),n=o??"",l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={},e[0]=l):l=e[0];let c;e[1]!==n?(c={shardKey:n},e[1]=n,e[2]=c):c=e[2];let p=ro(Ct.getMetrics,l,c),d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d={},e[3]=d):d=e[3];let u;e[4]!==n?(u={shardKey:n},e[4]=n,e[5]=u):u=e[5];let g=ro(Ct.getFunctionStats,d,u),m,h;e[6]===Symbol.for("react.memo_cache_sentinel")?(m={},h={shardKey:""},e[6]=m,e[7]=h):(m=e[6],h=e[7]);let f=ro(Ct.getSecurityAudit,m,h),v;e[8]===Symbol.for("react.memo_cache_sentinel")?(v={},e[8]=v):v=e[8];let x;e[9]!==n?(x={shardKey:n},e[9]=n,e[10]=x):x=e[10];let b=ro(Ct.listSubscriptions,v,x),R;e[11]===Symbol.for("react.memo_cache_sentinel")?(R={},e[11]=R):R=e[11];let P;e[12]!==n?(P={shardKey:n},e[12]=n,e[13]=P):P=e[13];let N=ro(Ct.getAuditLog,R,P),S=p.data??null,E,T,k,w,O,V,W,_,H,$,Z,G,D,I,z,te,se,re;if(e[14]!==N.data||e[15]!==f.data||e[16]!==S||e[17]!==p.data||e[18]!==r||e[19]!==g.data||e[20]!==b.data||e[21]!==s){w=Array.isArray(g.data?.functions)?g.data.functions:[],W=b.data??null;let Ue;e[40]!==N.data?(Ue=Array.isArray(N.data?.entries)?N.data.entries:[],e[40]=N.data,e[41]=Ue):Ue=e[41],T=Ue,O=p.data===void 0||g.data===void 0?null:_n(S,w).length,V=Array.isArray(f.data?.findings)?f.data.findings.length:null;let We;e[42]!==r?(We=a(()=>{$e(r({to:"/security"}))},"t212"),e[42]=r,e[43]=We):We=e[43],re=We;let Ze;e[44]!==r?(Ze=a(()=>{$e(r({to:"/insights"}))},"t222"),e[44]=r,e[45]=Ze):Ze=e[45],se=Ze;let qe=Da(S?.history,"calls"),Ge=Da(S?.history,"errors"),nt=qi(w),Ke=Math.max(0,...w.map(Qi)),ve=S?.cache,Qe;e[46]!==ve?(Qe=ve!=null&&ve.hits+ve.misses>0?Math.round(ve.hits/(ve.hits+ve.misses)*100):null,e[46]=ve,e[47]=Qe):Qe=e[47],k=Qe,z="flex flex-col gap-6",te="lunora-home",Z="grid gap-3 sm:grid-cols-2 xl:grid-cols-4",G="home-health";let Ye=_a(qe),De;e[48]!==s?(De=s("Requests"),e[48]=s,e[49]=De):De=e[49];let Je=S?.requests??0,_e;e[50]!==Je?(_e=Je.toLocaleString(),e[50]=Je,e[51]=_e):_e=e[51],e[52]!==qe||e[53]!==Ye||e[54]!==De||e[55]!==_e?(D=(0,y.jsxDEV)(Ds,{delta:Ye,label:De,trend:qe,value:_e},void 0,!1),e[52]=qe,e[53]=Ye,e[54]=De,e[55]=_e,e[56]=D):D=e[56];let Xe=_a(Ge,!1),Ae;e[57]!==s?(Ae=s("Errors"),e[57]=s,e[58]=Ae):Ae=e[58];let et=S?.errors??0,Ve;e[59]!==et?(Ve=et.toLocaleString(),e[59]=et,e[60]=Ve):Ve=e[60],e[61]!==Ge||e[62]!==Xe||e[63]!==Ae||e[64]!==Ve?(I=(0,y.jsxDEV)(Ds,{delta:Xe,label:Ae,trend:Ge,value:Ve},void 0,!1),e[61]=Ge,e[62]=Xe,e[63]=Ae,e[64]=Ve,e[65]=I):I=e[65],E=Ds,e[66]!==Ke||e[67]!==s?(_=Ke>0?`${s("max")} ${Or(Ke)}`:void 0,e[66]=Ke,e[67]=s,e[68]=_):_=e[68],e[69]!==s?(H=s("Avg latency"),e[69]=s,e[70]=H):H=e[70],$=nt===null?"\u2014":Or(nt),e[14]=N.data,e[15]=f.data,e[16]=S,e[17]=p.data,e[18]=r,e[19]=g.data,e[20]=b.data,e[21]=s,e[22]=E,e[23]=T,e[24]=k,e[25]=w,e[26]=O,e[27]=V,e[28]=W,e[29]=_,e[30]=H,e[31]=$,e[32]=Z,e[33]=G,e[34]=D,e[35]=I,e[36]=z,e[37]=te,e[38]=se,e[39]=re}else E=e[22],T=e[23],k=e[24],w=e[25],O=e[26],V=e[27],W=e[28],_=e[29],H=e[30],$=e[31],Z=e[32],G=e[33],D=e[34],I=e[35],z=e[36],te=e[37],se=e[38],re=e[39];let J;e[71]!==E||e[72]!==_||e[73]!==H||e[74]!==$?(J=(0,y.jsxDEV)(E,{footer:_,label:H,value:$},void 0,!1),e[71]=E,e[72]=_,e[73]=H,e[74]=$,e[75]=J):J=e[75];let X;e[76]!==k||e[77]!==s?(X=k===null?void 0:`${String(k)}% ${s("cache hit")}`,e[76]=k,e[77]=s,e[78]=X):X=e[78];let ae;e[79]!==s?(ae=s("Database size"),e[79]=s,e[80]=ae):ae=e[80];let Le=S?.databaseSize??null,me;e[81]!==Le?(me=Dn(Le),e[81]=Le,e[82]=me):me=e[82];let xe;e[83]!==X||e[84]!==ae||e[85]!==me?(xe=(0,y.jsxDEV)(Ds,{footer:X,label:ae,value:me},void 0,!1),e[83]=X,e[84]=ae,e[85]=me,e[86]=xe):xe=e[86];let be;e[87]!==Z||e[88]!==G||e[89]!==D||e[90]!==I||e[91]!==J||e[92]!==xe?(be=(0,y.jsxDEV)("div",{className:Z,"data-testid":G,children:[D,I,J,xe]},void 0,!0),e[87]=Z,e[88]=G,e[89]=D,e[90]=I,e[91]=J,e[92]=xe,e[93]=be):be=e[93];let Fe;e[94]===Symbol.for("react.memo_cache_sentinel")?(Fe=(0,y.jsxDEV)(Vi,{},void 0,!1),e[94]=Fe):Fe=e[94];let L;e[95]!==w?(L=(0,y.jsxDEV)("div",{className:"lg:col-span-2",children:(0,y.jsxDEV)(Ui,{functions:w},void 0,!1)},void 0,!1),e[95]=w,e[96]=L):L=e[96];let K;e[97]!==W?(K=(0,y.jsxDEV)(Wi,{subs:W},void 0,!1),e[97]=W,e[98]=K):K=e[98];let ee;e[99]!==T?(ee=(0,y.jsxDEV)(Zi,{entries:T},void 0,!1),e[99]=T,e[100]=ee):ee=e[100];let ne;e[101]!==K||e[102]!==ee?(ne=(0,y.jsxDEV)("div",{className:"flex flex-col gap-3",children:[K,ee]},void 0,!0),e[101]=K,e[102]=ee,e[103]=ne):ne=e[103];let ge;e[104]!==L||e[105]!==ne?(ge=(0,y.jsxDEV)("div",{className:"grid gap-3 lg:grid-cols-3",children:[L,ne]},void 0,!0),e[104]=L,e[105]=ne,e[106]=ge):ge=e[106];let he;e[107]!==s?(he=s("Advisors"),e[107]=s,e[108]=he):he=e[108];let ce;e[109]!==he?(ce=(0,y.jsxDEV)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:he},void 0,!1),e[109]=he,e[110]=ce):ce=e[110];let pe;e[111]!==O||e[112]!==V||e[113]!==s||e[114]!==se||e[115]!==re?(pe=V===0&&O===0?(0,y.jsxDEV)(On,{description:s("No security or performance issues detected."),icon:(0,y.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,y.jsxDEV)("path",{d:"M12 3 4 6v5c0 5 3.4 8.5 8 10 4.6-1.5 8-5 8-10V6l-8-3Z"},void 0,!1),(0,y.jsxDEV)("path",{d:"m9 12 2 2 4-4"},void 0,!1)]},void 0,!0),testId:"home-advisors-clear",title:s("No issues found")},void 0,!1):(0,y.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,y.jsxDEV)(Aa,{count:V,onView:re,testId:"home-security",title:s("Security findings")},void 0,!1),(0,y.jsxDEV)(Aa,{count:O,onView:se,testId:"home-performance",title:s("Performance issues")},void 0,!1)]},void 0,!0),e[111]=O,e[112]=V,e[113]=s,e[114]=se,e[115]=re,e[116]=pe):pe=e[116];let Re;e[117]!==ce||e[118]!==pe?(Re=(0,y.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"home-advisors",children:[ce,pe]},void 0,!0),e[117]=ce,e[118]=pe,e[119]=Re):Re=e[119];let Ce;e[120]!==s?(Ce=s("Get connected"),e[120]=s,e[121]=Ce):Ce=e[121];let Se;e[122]!==Ce?(Se=(0,y.jsxDEV)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:Ce},void 0,!1),e[122]=Ce,e[123]=Se):Se=e[123];let Ne;e[124]!==s?(Ne=s("Client SDK"),e[124]=s,e[125]=Ne):Ne=e[125];let Ee;e[126]!==Ne?(Ee=(0,y.jsxDEV)(kr,{command:"npm i @lunora/client",label:Ne},void 0,!1),e[126]=Ne,e[127]=Ee):Ee=e[127];let Te;e[128]!==s?(Te=s("React"),e[128]=s,e[129]=Te):Te=e[129];let we;e[130]!==Te?(we=(0,y.jsxDEV)(kr,{command:"npm i @lunora/react",label:Te},void 0,!1),e[130]=Te,e[131]=we):we=e[131];let ke;e[132]!==s?(ke=s("CLI"),e[132]=s,e[133]=ke):ke=e[133];let Oe;e[134]!==ke?(Oe=(0,y.jsxDEV)(kr,{command:"lunora dev",label:ke},void 0,!1),e[134]=ke,e[135]=Oe):Oe=e[135];let Me;e[136]!==Ee||e[137]!==we||e[138]!==Oe?(Me=(0,y.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-3",children:[Ee,we,Oe]},void 0,!0),e[136]=Ee,e[137]=we,e[138]=Oe,e[139]=Me):Me=e[139];let Ie;e[140]!==Se||e[141]!==Me?(Ie=(0,y.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"home-get-connected",children:[Se,Me]},void 0,!0),e[140]=Se,e[141]=Me,e[142]=Ie):Ie=e[142];let ze;return e[143]!==z||e[144]!==te||e[145]!==be||e[146]!==ge||e[147]!==Re||e[148]!==Ie?(ze=(0,y.jsxDEV)("div",{className:z,"data-testid":te,children:[be,Fe,ge,Re,Ie]},void 0,!0),e[143]=z,e[144]=te,e[145]=be,e[146]=ge,e[147]=Re,e[148]=Ie,e[149]=ze):ze=e[149],ze},"HomePanel");function Gi(t,e){return e.calls-t.calls}a(Gi,"_temp");function Ki(t){return(0,y.jsxDEV)("div",{className:"grid grid-cols-[1fr_auto_auto_auto] items-center gap-4 px-4 py-2 text-[13px]",children:[(0,y.jsxDEV)("span",{className:"truncate font-mono text-xs text-foreground",children:t.path},void 0,!1),(0,y.jsxDEV)("span",{className:"text-end tabular-nums",children:t.calls.toLocaleString()},void 0,!1),(0,y.jsxDEV)("span",{className:"w-12 text-end tabular-nums text-muted-foreground",children:Or(t.calls>0?t.totalDurationMs/t.calls:0)},void 0,!1),(0,y.jsxDEV)("span",{className:U("w-8 text-end tabular-nums",t.errors>0?"text-destructive":"text-muted-foreground"),children:t.errors},void 0,!1)]},t.path,!0)}a(Ki,"_temp2");function Qi(t){return t.maxDurationMs}a(Qi,"_temp3");var La=C(Vo(),1);var Fa=C(uo(),1);var Yi=a((t,e,o)=>t!==void 0?t:e===void 0&&o===void 0?qr:Zr(e,o),"resolveInstance"),Ha=a(t=>{let e=(0,La.c)(7),{catalogs:o,children:s,i18n:r,locale:n}=t,l;e[0]!==o||e[1]!==r||e[2]!==n?(l=Yi(r,n,o),e[0]=o,e[1]=r,e[2]=n,e[3]=l):l=e[3];let c=l,p;return e[4]!==s||e[5]!==c?(p=(0,Fa.jsxDEV)(Gr,{value:c,children:s},void 0,!1),e[4]=s,e[5]=c,e[6]=p):p=e[6],p},"StudioI18nProvider");var Dr=C(Vo(),1);var Pt=C(M(),1);var de=C(uo(),1);var Ir="lunora:command-palette",$a=a(()=>{"window"in globalThis&&globalThis.dispatchEvent(new Event(Ir))},"openCommandPalette"),Ji=a(t=>{let e=(0,Dr.c)(18),{active:o,index:s,item:r,onActivate:n,onSelect:l}=t,c;e[0]!==r||e[1]!==l?(c=a(()=>{l(r)},"t1"),e[0]=r,e[1]=l,e[2]=c):c=e[2];let p=c,d;e[3]!==s||e[4]!==n?(d=a(()=>{n(s)},"t2"),e[3]=s,e[4]=n,e[5]=d):d=e[5];let u=d,g=o?"bg-accent text-accent-foreground":"text-foreground",m;e[6]!==g?(m=U("flex w-full items-center justify-between gap-3 rounded-md px-3 py-2 text-start text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground",g),e[6]=g,e[7]=m):m=e[7];let h;e[8]!==r.label?(h=(0,de.jsxDEV)("span",{children:r.label},void 0,!1),e[8]=r.label,e[9]=h):h=e[9];let f;e[10]!==r.group?(f=(0,de.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:r.group},void 0,!1),e[10]=r.group,e[11]=f):f=e[11];let v;return e[12]!==p||e[13]!==u||e[14]!==m||e[15]!==h||e[16]!==f?(v=(0,de.jsxDEV)("li",{children:(0,de.jsxDEV)("button",{className:m,onClick:p,onMouseEnter:u,type:"button",children:[h,f]},void 0,!0)},void 0,!1),e[12]=p,e[13]=u,e[14]=m,e[15]=h,e[16]=f,e[17]=v):v=e[17],v},"CommandRow"),ja=a(t=>{let e=(0,Dr.c)(39),{items:o}=t,s=ie(),r=pt(),[n,l]=(0,Pt.useState)(!1),[c,p]=(0,Pt.useState)(""),[d,u]=(0,Pt.useState)(0),g=(0,Pt.useRef)(null),m,h;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=a(()=>{let D=a(z=>{(z.metaKey||z.ctrlKey)&&z.key.toLowerCase()==="k"&&(z.preventDefault(),l(!0))},"onKeyDown"),I=a(()=>{l(!0)},"onOpen");return globalThis.addEventListener("keydown",D),globalThis.addEventListener(Ir,I),()=>{globalThis.removeEventListener("keydown",D),globalThis.removeEventListener(Ir,I)}},"t1"),h=[],e[0]=m,e[1]=h):(m=e[0],h=e[1]),(0,Pt.useEffect)(m,h);let f;if(e[2]!==o||e[3]!==c){e:{let D=c.trim().toLowerCase();if(D===""){f=o;break e}f=o.filter(I=>I.label.toLowerCase().includes(D)||I.group.toLowerCase().includes(D))}e[2]=o,e[3]=c,e[4]=f}else f=e[4];let v=f,x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=a(D=>{l(D),D||(p(""),u(0))},"t4"),e[5]=x):x=e[5];let b=x,R;e[6]!==r?(R=a(D=>{b(!1),$e(r({to:D.to}))},"t5"),e[6]=r,e[7]=R):R=e[7];let P=R,N;e[8]===Symbol.for("react.memo_cache_sentinel")?(N=a(D=>{p(D.target.value),u(0)},"t6"),e[8]=N):N=e[8];let S=N,E;e[9]!==d||e[10]!==v||e[11]!==P?(E=a(D=>{e:switch(D.key){case"ArrowDown":{D.preventDefault(),u(I=>v.length===0?0:(I+1)%v.length);break e}case"ArrowUp":{D.preventDefault(),u(I=>v.length===0?0:(I-1+v.length)%v.length);break e}case"Enter":{D.preventDefault();let I=v[d];I!==void 0&&P(I);break e}}},"t7"),e[9]=d,e[10]=v,e[11]=P,e[12]=E):E=e[12];let T=E,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=(0,de.jsxDEV)(fe.Backdrop,{className:"fixed inset-0 z-50 bg-black/40 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0"},void 0,!1),e[13]=k):k=e[13];let w;e[14]!==s?(w=s("Command palette"),e[14]=s,e[15]=w):w=e[15];let O;e[16]!==w?(O=(0,de.jsxDEV)(fe.Title,{className:"sr-only",children:w},void 0,!1),e[16]=w,e[17]=O):O=e[17];let V;e[18]===Symbol.for("react.memo_cache_sentinel")?(V=(0,de.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,de.jsxDEV)("circle",{cx:"11",cy:"11",r:"7"},void 0,!1),(0,de.jsxDEV)("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"},void 0,!1)]},void 0,!0),e[18]=V):V=e[18];let W;e[19]!==s?(W=s("Search\u2026"),e[19]=s,e[20]=W):W=e[20];let _;e[21]!==T||e[22]!==c||e[23]!==W?(_=(0,de.jsxDEV)("div",{className:"flex items-center gap-2 border-b border-border px-3",children:[V,(0,de.jsxDEV)("input",{className:"h-11 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground","data-testid":"dash-command-input",onChange:S,onKeyDown:T,placeholder:W,ref:g,type:"text",value:c},void 0,!1)]},void 0,!0),e[21]=T,e[22]=c,e[23]=W,e[24]=_):_=e[24];let H;e[25]!==d||e[26]!==v||e[27]!==P||e[28]!==s?(H=v.length===0?(0,de.jsxDEV)("li",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:s("No results.")},void 0,!1):v.map((D,I)=>(0,de.jsxDEV)(Ji,{active:I===d,index:I,item:D,onActivate:u,onSelect:P},D.to,!1)),e[25]=d,e[26]=v,e[27]=P,e[28]=s,e[29]=H):H=e[29];let $;e[30]!==H?($=(0,de.jsxDEV)("ul",{className:"max-h-80 overflow-y-auto p-1.5","data-testid":"dash-command-list",children:H},void 0,!1),e[30]=H,e[31]=$):$=e[31];let Z;e[32]!==O||e[33]!==_||e[34]!==$?(Z=(0,de.jsxDEV)(fe.Portal,{children:[k,(0,de.jsxDEV)(fe.Popup,{className:"fixed start-1/2 top-24 z-50 w-[36rem] max-w-[90vw] -translate-x-1/2 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-lg outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95","data-testid":"dash-command-palette",initialFocus:g,children:[O,_,$]},void 0,!0)]},void 0,!0),e[32]=O,e[33]=_,e[34]=$,e[35]=Z):Z=e[35];let G;return e[36]!==n||e[37]!==Z?(G=(0,de.jsxDEV)(fe.Root,{onOpenChange:b,open:n,children:Z},void 0,!1),e[36]=n,e[37]=Z,e[38]=G):G=e[38],G},"CommandPalette");var Ga="(prefers-color-scheme: dark)",Ka=a(()=>{try{return globalThis.localStorage}catch{return}},"store"),Xi=a(t=>t==="system"||t==="light"||t==="dark","isPreference"),Qa=a(()=>globalThis.matchMedia,"matchMedia"),Ya="lunora-studio-theme",_r=["system","light","dark"],el=a((t="system")=>{try{let e=Ka()?.getItem(Ya);return Xi(e)?e:t}catch{return t}},"loadThemePreference"),za=a(t=>{let e=Ka();if(e!==void 0)try{e.setItem(Ya,t)}catch{}},"saveThemePreference"),tl=a(()=>{try{return Qa()?.(Ga).matches?"dark":"light"}catch{return"light"}},"getSystemTheme"),ol=a((t,e)=>t==="system"?e:t,"resolveTheme"),sl=a(t=>{let e;try{e=Qa()?.(Ga)}catch{e=void 0}if(e===void 0)return()=>{};let o=a(s=>{t(s.matches?"dark":"light")},"handler");return e.addEventListener("change",o),()=>{e.removeEventListener("change",o)}},"subscribeSystemTheme"),Ja=(0,q.createContext)(null),c0=a(({children:t,defaultTheme:e="system"})=>{let[o,s]=(0,q.useState)(()=>el(e)),[r,n]=(0,q.useState)(()=>tl());(0,q.useEffect)(()=>sl(n),[]);let l=a(d=>{za(d),s(d)},"setTheme"),p={cycleTheme:a(()=>{s(d=>{let u=_r[(_r.indexOf(d)+1)%_r.length]??d;return za(u),u})},"cycleTheme"),resolvedTheme:ol(o,r),setTheme:l,systemTheme:r,theme:o};return(0,i.jsxDEV)(Ja,{value:p,children:t},void 0,!1)},"ThemeProvider"),rl=a(()=>{let t=(0,q.use)(Ja);if(t===null)throw new Error("useTheme must be used within a <ThemeProvider>");return t},"useTheme");function p0({delay:t=0,...e}){return(0,i.jsxDEV)(st.Provider,{"data-slot":"tooltip-provider",delay:t,...e},void 0,!1)}a(p0,"TooltipProvider");function nl(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(st.Root,{"data-slot":"tooltip",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(nl,"Tooltip");function al(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(st.Trigger,{"data-slot":"tooltip-trigger",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(al,"TooltipTrigger");function il({className:t,side:e="top",sideOffset:o=4,align:s="center",alignOffset:r=0,children:n,...l}){return(0,i.jsxDEV)(st.Portal,{children:(0,i.jsxDEV)(st.Positioner,{align:s,alignOffset:r,side:e,sideOffset:o,className:"isolate z-50",children:(0,i.jsxDEV)(st.Popup,{"data-slot":"tooltip-content",className:U("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 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-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-md data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...l,children:[n,(0,i.jsxDEV)(st.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-md bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-start-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-end-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1)}a(il,"TooltipContent");var ll=a(t=>{let e=(0,B.c)(5),{className:o}=t,s;e[0]!==o?(s=U("h-full w-full text-foreground",o),e[0]=o,e[1]=s):s=e[1];let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,i.jsxDEV)("path",{d:"M 259.500 10.552 C 220.080 15.859, 182.424 32.566, 152.500 58.025 C 110.179 94.031, 85.380 137.183, 77.518 188.500 C 75.410 202.255, 74.569 225.677, 75.796 236.466 C 76.757 244.917, 76.683 245.692, 74.518 249.966 C 63.118 272.466, 53.141 303.876, 51.382 322.799 L 50.718 329.943 71.960 320.471 C 83.643 315.262, 93.326 311, 93.478 311 C 93.630 311, 96.547 316.063, 99.959 322.250 C 103.371 328.438, 107.249 334.850, 108.577 336.500 L 110.990 339.500 110.981 336 C 110.977 334.075, 111.499 324.991, 112.143 315.813 L 113.312 299.127 121.406 293.336 C 132.495 285.403, 149.593 271.554, 161 261.268 C 171.556 251.748, 189.116 235, 188.540 235 C 188.337 235, 183.069 238.648, 176.835 243.106 C 142.318 267.789, 68.537 314, 63.646 314 C 61.843 314, 72.791 281.179, 80.905 262.259 C 92.233 235.845, 107.473 212.389, 132.106 183.453 L 138.451 176 148.268 176 C 176.192 176, 197.512 187.154, 212.868 209.797 C 216.470 215.108, 217.035 216.595, 216.477 219.297 C 211.386 243.968, 202.359 274.496, 193.797 296 C 183.898 320.861, 167.147 352.101, 152.395 373.215 L 147.004 380.930 152.891 385.830 C 161.400 392.911, 165.563 396, 166.594 395.998 C 167.092 395.998, 168.772 391.641, 170.327 386.317 C 176.279 365.934, 188.422 338.749, 200.942 317.778 C 223.060 280.731, 256.432 244.369, 294.500 215.836 C 309.956 204.252, 313.937 201.603, 314.719 202.385 C 315.116 202.783, 315.449 213.096, 315.460 225.304 C 315.474 241.855, 315.021 250.405, 313.680 258.924 C 307.009 301.272, 291.175 336.677, 263.112 372 C 255.259 381.883, 227.182 410.673, 218.516 417.727 L 213.532 421.783 223.439 424.880 C 281.705 443.093, 349.165 436.018, 398.616 406.508 C 446.728 377.797, 483.322 331.466, 497.366 281.481 C 503.381 260.075, 504.480 250.741, 504.491 221 C 504.501 191.997, 503.598 184.047, 497.987 163.732 C 484.768 115.871, 452.505 72.708, 407.718 42.964 C 381.051 25.254, 352.818 14.828, 319.695 10.460 C 305.932 8.645, 273.298 8.695, 259.500 10.552",fillRule:"evenodd"},void 0,!1),e[2]=r):r=e[2];let n;return e[3]!==s?(n=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:s,fill:"currentColor",viewBox:"0 0 543 446",children:r},void 0,!1),e[3]=s,e[4]=n):n=e[4],n},"BrandMark"),Xa="lunora.studio.rulesBannerDismissed",dl=a(()=>{try{return globalThis.localStorage.getItem(Xa)==="1"}catch{return!1}},"readBannerDismissed"),cl=a(()=>{try{globalThis.localStorage.setItem(Xa,"1")}catch{}},"writeBannerDismissed"),pl=a(()=>{let t=(0,B.c)(18),e=ie(),[o,s]=(0,q.useState)(ul),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=a(()=>{s(!0),cl()},"t0"),t[0]=r):r=t[0];let n=r;if(o)return null;let l;t[1]===Symbol.for("react.memo_cache_sentinel")?(l=(0,i.jsxDEV)("span",{"aria-hidden":"true",className:"text-warning",children:"\u26A0"},void 0,!1),t[1]=l):l=t[1];let c;t[2]!==e?(c=e("Lunora AI rules aren't installed."),t[2]=e,t[3]=c):c=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,i.jsxDEV)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px]",children:"lunora rules install"},void 0,!1),t[4]=p):p=t[4];let d;t[5]!==e?(d=e("lets your coding agent use Lunora correctly."),t[5]=e,t[6]=d):d=t[6];let u;t[7]!==c||t[8]!==d?(u=(0,i.jsxDEV)("span",{children:[c," ",p," ",d]},void 0,!0),t[7]=c,t[8]=d,t[9]=u):u=t[9];let g;t[10]!==e?(g=e("Dismiss"),t[10]=e,t[11]=g):g=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"M18 6 6 18M6 6l12 12"},void 0,!1)},void 0,!1),t[12]=m):m=t[12];let h;t[13]!==g?(h=(0,i.jsxDEV)("button",{"aria-label":g,className:"ms-auto flex size-5 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":"dash-app-rules-banner-dismiss",onClick:n,type:"button",children:m},void 0,!1),t[13]=g,t[14]=h):h=t[14];let f;return t[15]!==u||t[16]!==h?(f=(0,i.jsxDEV)("div",{className:"flex shrink-0 items-center gap-2 border-b border-warning/30 bg-warning/10 px-6 py-2 text-[12px] text-foreground","data-testid":"dash-app-rules-banner",role:"note",children:[l,u,h]},void 0,!0),t[15]=u,t[16]=h,t[17]=f):f=t[17],f},"RulesBanner");function ul(){return dl()}a(ul,"_temp$1");var fl=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,i.jsxDEV)("rect",{height:"14",rx:"2",width:"20",x:"2",y:"3"},void 0,!1),(0,i.jsxDEV)("path",{d:"M8 21h8M12 17v4"},void 0,!1)]},void 0,!0),t[0]=e):e=t[0],e},"MonitorIcon"),ml=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,i.jsxDEV)("circle",{cx:"12",cy:"12",r:"4"},void 0,!1),(0,i.jsxDEV)("path",{d:"M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"},void 0,!1)]},void 0,!0),t[0]=e):e=t[0],e},"SunIcon"),gl=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"},void 0,!1)},void 0,!1),t[0]=e):e=t[0],e},"MoonIcon"),hl=[{Icon:fl,value:"system"},{Icon:ml,value:"light"},{Icon:gl,value:"dark"}],vl=a(()=>{let t=(0,B.c)(19),{theme:e,setTheme:o}=rl(),s=ie(),r;t[0]!==s?(r=s("Dark theme"),t[0]=s,t[1]=r):r=t[1];let n;t[2]!==s?(n=s("Light theme"),t[2]=s,t[3]=n):n=t[3];let l;t[4]!==s?(l=s("System theme"),t[4]=s,t[5]=l):l=t[5];let c;t[6]!==r||t[7]!==n||t[8]!==l?(c={dark:r,light:n,system:l},t[6]=r,t[7]=n,t[8]=l,t[9]=c):c=t[9];let p=c,d;t[10]!==s?(d=s("Theme"),t[10]=s,t[11]=d):d=t[11];let u;t[12]!==p||t[13]!==o||t[14]!==e?(u=hl.map(m=>{let{Icon:h,value:f}=m,v=e===f;return(0,i.jsxDEV)("button",{"aria-checked":v,"aria-label":p[f],className:U("relative flex size-7 cursor-pointer items-center justify-center rounded-md outline-none transition-colors focus-visible:bg-accent",v?"text-foreground":"text-muted-foreground hover:text-foreground"),"data-testid":`dash-app-theme-${f}`,onClick:a(()=>{o(f)},"onClick"),role:"radio",title:p[f],type:"button",children:[v&&(0,i.jsxDEV)(Kr.span,{className:"absolute inset-0 rounded-md border border-muted-foreground/40 bg-background/40",layoutId:"studio-theme-active",transition:{bounce:.1,duration:.45,type:"spring"}},void 0,!1),(0,i.jsxDEV)("span",{className:"relative",children:(0,i.jsxDEV)(h,{},void 0,!1)},void 0,!1)]},f,!0)}),t[12]=p,t[13]=o,t[14]=e,t[15]=u):u=t[15];let g;return t[16]!==d||t[17]!==u?(g=(0,i.jsxDEV)("div",{"aria-label":d,className:"inline-flex items-center gap-0.5 overflow-hidden rounded-md border border-border bg-muted/60 p-0.5","data-testid":"dash-app-theme",role:"radiogroup",children:u},void 0,!1),t[16]=d,t[17]=u,t[18]=g):g=t[18],g},"ThemeToggle");function ei(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(yt.Root,{"data-slot":"popover",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(ei,"Popover");function ti(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(yt.Trigger,{"data-slot":"popover-trigger",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(ti,"PopoverTrigger");function oi({align:t="end",alignOffset:e=0,className:o,keepMounted:s=!1,side:r="bottom",sideOffset:n=6,...l}){return(0,i.jsxDEV)(yt.Portal,{keepMounted:s,children:(0,i.jsxDEV)(yt.Positioner,{align:t,alignOffset:e,className:"isolate z-50 outline-none",side:r,sideOffset:n,children:(0,i.jsxDEV)(yt.Popup,{className:U("z-50 w-72 origin-(--transform-origin) rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",o),"data-slot":"popover-content",...l},void 0,!1)},void 0,!1)},void 0,!1)}a(oi,"PopoverContent");var Ar=768;function xl(){let t=(0,B.c)(2),[e,o]=(0,q.useState)(void 0),s,r;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=a(()=>{let n=globalThis.matchMedia(`(max-width: ${Ar-1}px)`),l=a(()=>{o(globalThis.innerWidth<Ar)},"onChange");return n.addEventListener("change",l),o(globalThis.innerWidth<Ar),()=>{n.removeEventListener("change",l)}},"t0"),r=[],t[0]=s,t[1]=r):(s=t[0],r=t[1]),(0,q.useEffect)(s,r),!!e}a(xl,"useIsMobile");function bl(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(fe.Root,{"data-slot":"sheet",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(bl,"Sheet");function yl(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(fe.Portal,{"data-slot":"sheet-portal",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(yl,"SheetPortal");function Pl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("fixed inset-0 z-50 bg-black/10 text-xs/relaxed transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)(fe.Backdrop,{"data-slot":"sheet-overlay",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Pl,"SheetOverlay");function Rl({className:t,children:e,side:o="right",showCloseButton:s=!0,...r}){return(0,i.jsxDEV)(yl,{children:[(0,i.jsxDEV)(Pl,{},void 0,!1),(0,i.jsxDEV)(fe.Popup,{"data-slot":"sheet-content","data-side":o,className:U("fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",t),...r,children:[e,s&&(0,i.jsxDEV)(fe.Close,{"data-slot":"sheet-close",render:(0,i.jsxDEV)(qs,{variant:"ghost",className:"absolute top-3 end-3",size:"icon-sm"},void 0,!1),children:[(0,i.jsxDEV)(Zs,{icon:wn,strokeWidth:2},void 0,!1),(0,i.jsxDEV)("span",{className:"sr-only",children:"Close"},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0)}a(Rl,"SheetContent");function Cl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("flex flex-col gap-0.5 p-4",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sheet-header",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Cl,"SheetHeader");function Sl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("text-sm font-medium text-foreground",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)(fe.Title,{"data-slot":"sheet-title",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Sl,"SheetTitle");function Nl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("text-xs/relaxed text-muted-foreground",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)(fe.Description,{"data-slot":"sheet-description",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Nl,"SheetDescription");var El="sidebar_state",Tl=3600*24*7,wl="16rem",kl="18rem",Ol="3rem",Ml="b",si=ct.createContext(null);function _s(){let t=ct.useContext(si);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}a(_s,"useSidebar");function Il({defaultOpen:t=!0,open:e,onOpenChange:o,className:s,style:r,children:n,...l}){let c=xl(),[p,d]=ct.useState(!1),[u,g]=ct.useState(t),m=e??u,h=a(b=>{let R=typeof b=="function"?b(m):b;o?o(R):g(R),document.cookie=`${El}=${R}; path=/; max-age=${Tl}`},"setOpen"),f=a(()=>c?d(b=>!b):h(b=>!b),"toggleSidebar");ct.useEffect(()=>{let b=a(R=>{R.key===Ml&&(R.metaKey||R.ctrlKey)&&(R.preventDefault(),f())},"handleKeyDown");return globalThis.addEventListener("keydown",b),()=>globalThis.removeEventListener("keydown",b)},[f]);let x={state:m?"expanded":"collapsed",open:m,setOpen:h,isMobile:c,openMobile:p,setOpenMobile:d,toggleSidebar:f};return(0,i.jsxDEV)(si.Provider,{value:x,children:(0,i.jsxDEV)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":wl,"--sidebar-width-icon":Ol,...r},className:U("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",s),...l,children:n},void 0,!1)},void 0,!1)}a(Il,"SidebarProvider");function Dl({side:t="left",variant:e="sidebar",collapsible:o="offcanvas",className:s,children:r,dir:n,...l}){let{isMobile:c,state:p,openMobile:d,setOpenMobile:u}=_s();return o==="none"?(0,i.jsxDEV)("div",{"data-slot":"sidebar",className:U("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",s),...l,children:r},void 0,!1):c?(0,i.jsxDEV)(bl,{open:d,onOpenChange:u,...l,children:(0,i.jsxDEV)(Rl,{dir:n,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":kl},side:t,children:[(0,i.jsxDEV)(Cl,{className:"sr-only",children:[(0,i.jsxDEV)(Sl,{children:"Sidebar"},void 0,!1),(0,i.jsxDEV)(Nl,{children:"Displays the mobile sidebar."},void 0,!1)]},void 0,!0),(0,i.jsxDEV)("div",{className:"flex h-full w-full flex-col",children:r},void 0,!1)]},void 0,!0)},void 0,!1):(0,i.jsxDEV)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":p,"data-collapsible":p==="collapsed"?o:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[(0,i.jsxDEV)("div",{"data-slot":"sidebar-gap",className:U("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")},void 0,!1),(0,i.jsxDEV)("div",{"data-slot":"sidebar-container","data-side":t,className:U("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s",s),...l,children:(0,i.jsxDEV)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-none group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:r},void 0,!1)},void 0,!1)]},void 0,!0)}a(Dl,"Sidebar");function _l(t){let e=(0,B.c)(15),o,s,r;e[0]!==t?({className:o,onClick:s,...r}=t,e[0]=t,e[1]=o,e[2]=s,e[3]=r):(o=e[1],s=e[2],r=e[3]);let{toggleSidebar:n}=_s(),l;e[4]!==o?(l=U(o),e[4]=o,e[5]=l):l=e[5];let c;e[6]!==s||e[7]!==n?(c=a(g=>{s?.(g),n()},"t2"),e[6]=s,e[7]=n,e[8]=c):c=e[8];let p,d;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=(0,i.jsxDEV)(Zs,{icon:kn,strokeWidth:2,className:"rtl:rotate-180"},void 0,!1),d=(0,i.jsxDEV)("span",{className:"sr-only",children:"Toggle Sidebar"},void 0,!1),e[9]=p,e[10]=d):(p=e[9],d=e[10]);let u;return e[11]!==r||e[12]!==l||e[13]!==c?(u=(0,i.jsxDEV)(qs,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:l,onClick:c,...r,children:[p,d]},void 0,!0),e[11]=r,e[12]=l,e[13]=c,e[14]=u):u=e[14],u}a(_l,"SidebarTrigger");function Al(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-none md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("main",{"data-slot":"sidebar-inset",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Al,"SidebarInset");function Vl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("flex flex-col gap-2 p-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Vl,"SidebarHeader");function Bl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("flex flex-col gap-2 p-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Bl,"SidebarFooter");function Ll(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("flex min-h-0 flex-1 flex-col gap-0 overflow-x-hidden overflow-y-auto [scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_25%,transparent)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/25 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1.5 hover:[scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_50%,transparent)_transparent] hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Ll,"SidebarContent");function Fl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("relative flex w-full min-w-0 flex-col p-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Fl,"SidebarGroup");function Hl(t){let e=(0,B.c)(10),o,s,r,n;if(e[0]!==t){let{className:p,render:d,...u}=t;o=d,n=Us,s="div",r=it({className:U("flex h-8 shrink-0 items-center rounded-none px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",p)},u),e[0]=t,e[1]=o,e[2]=s,e[3]=r,e[4]=n}else o=e[1],s=e[2],r=e[3],n=e[4];let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l={slot:"sidebar-group-label",sidebar:"group-label"},e[5]=l):l=e[5];let c;return e[6]!==o||e[7]!==s||e[8]!==r?(c={defaultTagName:s,props:r,render:o,state:l},e[6]=o,e[7]=s,e[8]=r,e[9]=c):c=e[9],n(c)}a(Hl,"SidebarGroupLabel");function $l(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("w-full text-xs",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a($l,"SidebarGroupContent");function Ua(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("flex w-full min-w-0 flex-col gap-0",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Ua,"SidebarMenu");function Wa(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=U("group/menu-item relative",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Wa,"SidebarMenuItem");var jl=Qr("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-none p-2 text-start text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-xs",sm:"h-7 text-xs",lg:"h-12 text-xs group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function ri({render:t,isActive:e=!1,variant:o="default",size:s="default",tooltip:r,className:n,...l}){let{isMobile:c,state:p}=_s(),d=Us({defaultTagName:"button",props:it({className:U(jl({variant:o,size:s}),n)},l),render:r?(0,i.jsxDEV)(al,{render:t},void 0,!1):t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:s,active:e}});return r?(typeof r=="string"&&(r={children:r}),(0,i.jsxDEV)(nl,{children:[d,(0,i.jsxDEV)(il,{side:"right",align:"center",hidden:p!=="collapsed"||c,...r},void 0,!1)]},void 0,!0)):d}a(ri,"SidebarMenuButton");var Q=a((t,e)=>(0,q.lazy)(()=>t().then(o=>({default:o[e]}))),"lazyNamed"),zl=Q(()=>import("./chunk-VMJKJWG6.js"),"InsightsPanel"),Ul=(0,q.lazy)(()=>import("./chunk-N2QDG3MW.js")),Wl=(0,q.lazy)(()=>import("./chunk-57LYXHXH.js")),Zl=Q(()=>import("./chunk-S53RUBW5.js"),"AnalyticsPanel"),ql=(0,q.lazy)(()=>import("./chunk-2DS7JLWL.js")),Gl=Q(()=>import("./chunk-DGWTR4G7.js"),"AuthConfigPanel"),Kl=Q(()=>import("./chunk-GZXPPJVK.js"),"AuthSessionsPanel"),Ql=Q(()=>import("./chunk-ZQCVDXDL.js"),"OrganizationsPanel"),Yl=Q(()=>import("./chunk-DV2MNASX.js"),"UsersPanel"),Jl=Q(()=>import("./chunk-G2TFEWEQ.js"),"TableEditor"),Xl=Q(()=>import("./chunk-7POIIWC5.js"),"ExportImportPanel"),ed=Q(()=>import("./chunk-W7PCVQTE.js"),"MigrationsPanel"),td=Q(()=>import("./chunk-HFBRE65A.js"),"PitrPanel"),od=Q(()=>import("./chunk-OXCK3ZUG.js"),"FlagsPanel"),sd=Q(()=>import("./chunk-PKAM3N5C.js"),"FunctionRunner"),rd=Q(()=>import("./chunk-XLILSHPE.js"),"FunctionStatsPanel"),nd=Q(()=>import("./chunk-MGFEVTRI.js"),"AuditPanel"),ad=Q(()=>import("./chunk-VXBZQIGY.js"),"LogDrainsPanel"),id=(0,q.lazy)(()=>import("./chunk-D7HKX4DI.js").then(t=>({default:t.LogsPanel}))),ld=Q(()=>import("./chunk-VPDPN5RR.js"),"MailPanel"),dd=Q(()=>import("./chunk-QGXGBHQO.js"),"SchedulePanel"),cd=(0,q.lazy)(()=>import("./chunk-DSX53PBM.js")),pd=Q(()=>import("./chunk-HFMQNUBC.js"),"KvBrowser"),ud=Q(()=>import("./chunk-EGJX34WM.js"),"PaymentsPanel"),fd=Q(()=>import("./chunk-SHIOUDOT.js"),"PermissionsPanel"),md=(0,q.lazy)(()=>import("./chunk-QHA3TAEJ.js")),gd=(0,q.lazy)(()=>import("./chunk-SIDRSX7Y.js")),hd=(0,q.lazy)(()=>import("./chunk-SB4GT6PK.js")),vd=Q(()=>import("./chunk-HTQL7AXU.js"),"HealthPanel"),xd=Q(()=>import("./chunk-E7AVZZKO.js"),"MetricsPanel"),bd=Q(()=>import("./chunk-VJPQUBN6.js"),"SchemaViewer"),yd=Q(()=>import("./chunk-QQWC62X7.js"),"SettingsPanel"),Pd=Q(()=>import("./chunk-3BP4BTLR.js"),"SqlEditorPanel"),Rd=Q(()=>import("./chunk-6RC6L33K.js"),"FileBrowser"),Cd=Q(()=>import("./chunk-HG7Q5B3H.js"),"StorageRulesPanel"),Sd=Q(()=>import("./chunk-2PDQ4KZ6.js"),"VectorBrowser"),Nd=(0,q.lazy)(()=>import("./chunk-63XKJQTQ.js")),ni=(0,q.createContext)(null),Ed={analytics:(0,i.jsxDEV)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"},void 0,!1),api:(0,i.jsxDEV)("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4M13 5l-2 14"},void 0,!1),audit:(0,i.jsxDEV)("path",{d:"M7 4h7l4 4v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm6 0v5h5M9 13h6M9 16h6M9 10h2"},void 0,!1),authConfig:(0,i.jsxDEV)("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6h-3.6l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"},void 0,!1),authSessions:(0,i.jsxDEV)("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"},void 0,!1),dashboards:(0,i.jsxDEV)("path",{d:"M4 5h7v6H4V5Zm9 0h7v4h-7V5ZM4 14h7v5H4v-5Zm9-1h7v6h-7v-6Z"},void 0,!1),drains:(0,i.jsxDEV)("path",{d:"M5 5h14M7 5v6a5 5 0 0 0 10 0V5M10 16h4v3h-4zM12 19v2"},void 0,!1),data:(0,i.jsxDEV)("path",{d:"M5 6c0-1.4 3.1-2.5 7-2.5s7 1.1 7 2.5-3.1 2.5-7 2.5S5 7.4 5 6Zm0 0v12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V6M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"},void 0,!1),export:(0,i.jsxDEV)("path",{d:"M12 3v11m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"},void 0,!1),fanout:(0,i.jsxDEV)("path",{d:"M12 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-7 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm14 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM12 7v3.5M12 10.5 6 17m6-6.5 6 6.5"},void 0,!1),files:(0,i.jsxDEV)("path",{d:"M4 7a2 2 0 0 1 2-2h3l2 2.5h7a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Z"},void 0,!1),flags:(0,i.jsxDEV)("path",{d:"M6 21V4m0 0h11l-2 3 2 3H6"},void 0,!1),functions:(0,i.jsxDEV)("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4"},void 0,!1),health:(0,i.jsxDEV)("path",{d:"M3 12h4l2 6 4-14 2 8h6"},void 0,!1),home:(0,i.jsxDEV)("path",{d:"M3 11.5 12 4l9 7.5M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9"},void 0,!1),insights:(0,i.jsxDEV)("path",{d:"M12 3a6 6 0 0 0-3.6 10.8c.5.4.8.9.9 1.5l.2 1.2h5l.2-1.2c.1-.6.4-1.1.9-1.5A6 6 0 0 0 12 3ZM9.5 20.5h5M10 18h4"},void 0,!1),kv:(0,i.jsxDEV)("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"},void 0,!1),logs:(0,i.jsxDEV)("path",{d:"M5 6h14M5 10h14M5 14h9M5 18h11"},void 0,!1),mail:(0,i.jsxDEV)("path",{d:"M4 5h16v14H4V5Zm0 1.5 8 6 8-6"},void 0,!1),payments:(0,i.jsxDEV)("path",{d:"M3 7h18v10H3V7Zm0 3h18M7 14h4"},void 0,!1),metrics:(0,i.jsxDEV)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"},void 0,!1),migrations:(0,i.jsxDEV)("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"},void 0,!1),organizations:(0,i.jsxDEV)("path",{d:"M3 21V8l6-4 6 4v13M9 21v-5h2v5M15 11h6v10M18 14v.01M18 17v.01M6 9v.01M6 12v.01M6 15v.01"},void 0,!1),permissions:(0,i.jsxDEV)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2.2 2.2L15 9.5M8.5 16h7"},void 0,!1),pitr:(0,i.jsxDEV)("path",{d:"M12 21a9 9 0 1 0-9-9M12 7.5V12l3 2M3 12l-2-2m2 2 2-2"},void 0,!1),queues:(0,i.jsxDEV)("path",{d:"M4 6h16M4 10h16M4 14h10M4 18h10m4-2 3 2-3 2v-4Z"},void 0,!1),realtime:(0,i.jsxDEV)("path",{d:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"},void 0,!1),rls:(0,i.jsxDEV)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3ZM8.5 10h7M8.5 13h7"},void 0,!1),schedule:(0,i.jsxDEV)("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"},void 0,!1),schema:(0,i.jsxDEV)("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"},void 0,!1),sql:(0,i.jsxDEV)("path",{d:"M4 5h16v14H4V5Zm3 4 3 3-3 3m6 0h4"},void 0,!1),storageRules:(0,i.jsxDEV)("path",{d:"M7 10V7a5 5 0 0 1 10 0v3m-11 0h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Zm6 4v2"},void 0,!1),security:(0,i.jsxDEV)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-2.5 8.5 2 2 4-4"},void 0,!1),settings:(0,i.jsxDEV)("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6H10.5l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"},void 0,!1),users:(0,i.jsxDEV)("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85M16 3.13A4 4 0 0 1 16 11"},void 0,!1),vectors:(0,i.jsxDEV)("path",{d:"M4 7l8-4 8 4-8 4-8-4Zm0 5 8 4 8-4M4 17l8 4 8-4"},void 0,!1),workflows:(0,i.jsxDEV)("path",{d:"M5 5h5v5H5V5Zm9 9h5v5h-5v-5ZM7.5 10v2a2 2 0 0 0 2 2H14m2.5-4V8a2 2 0 0 0-2-2H10"},void 0,!1)},Za=[{key:"overview",tabs:["home","dashboards"]},{key:"database",tabs:["data","sql","schema","migrations","vectors","pitr","export"]},{key:"functions",tabs:["functions","api","workflows","queues"]},{key:"auth",tabs:["users","organizations","authSessions","authConfig"]},{key:"storage",tabs:["files","storageRules","kv"]},{key:"observability",tabs:["logs","audit","realtime","fanout","metrics","analytics","health"]},{key:"advisors",tabs:["security","rls","permissions","insights"]},{key:"operations",tabs:["schedule","mail","drains","payments","flags"]},{key:"settings",tabs:["settings"]}],Td={analytics:"analytics",authConfig:"auth",authSessions:"auth",files:"storage",flags:"flags",kv:"kv",mail:"mail",organizations:"auth",payments:"payments",queues:"queues",schedule:"scheduler",storageRules:"storage",users:"auth",vectors:"vectors",workflows:"workflows"},qa=a((t,e)=>{let o=Td[t];return o===void 0||e[o]},"isTabVisible"),Vr=a(t=>{let e=(0,B.c)(2),{tab:o}=t,s=Ed[o],r;return e[0]!==s?(r=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 shrink-0",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:s},void 0,!1),e[0]=s,e[1]=r):r=e[1],r},"TabIcon"),ai=["home","data","sql","functions","api","workflows","queues","schema","migrations","vectors","export","pitr","users","organizations","authSessions","authConfig","files","storageRules","kv","dashboards","metrics","analytics","health","security","rls","permissions","insights","logs","realtime","mail","payments","audit","schedule","drains","flags","settings"],wd=new Set(["api","data","sql"]),kd=a(t=>{let e=t.split("/").findLast(Boolean)??"";return ai.includes(e)?e:"home"},"tabFromPathname"),Od=a(t=>{let e=(0,B.c)(19),{chrome:o,connected:s}=t,r=ie(),n;e[0]!==r?(n=r("admin token"),e[0]=r,e[1]=n):n=e[1];let l;e[2]!==n?(l=(0,i.jsxDEV)("label",{className:"text-xs font-medium text-foreground",htmlFor:"dash-app-token",children:n},void 0,!1),e[2]=n,e[3]=l):l=e[3];let c;e[4]!==o.onTokenChange||e[5]!==o.token?(c=(0,i.jsxDEV)(rn,{className:"h-8","data-testid":"dash-app-token",id:"dash-app-token",onChange:o.onTokenChange,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:o.token},void 0,!1),e[4]=o.onTokenChange,e[5]=o.token,e[6]=c):c=e[6];let p;e[7]!==s||e[8]!==r?(p=s&&(0,i.jsxDEV)("p",{className:"flex items-start gap-1.5 text-[11px] text-muted-foreground","data-testid":"dash-app-token-warning",role:"note",children:[(0,i.jsxDEV)("span",{"aria-hidden":"true",className:"text-warning",children:"\u26A0"},void 0,!1),r("Token rides the WebSocket URL \u2014 it can surface in browser DevTools and server logs. Use a dev-only token.")]},void 0,!0),e[7]=s,e[8]=r,e[9]=p):p=e[9];let d;e[10]!==o.clearToken||e[11]!==s||e[12]!==r?(d=s&&(0,i.jsxDEV)("button",{className:"self-start rounded-md border border-border px-2.5 py-1 text-xs font-medium outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"dash-app-clear-token",onClick:o.clearToken,type:"button",children:r("Clear")},void 0,!1),e[10]=o.clearToken,e[11]=s,e[12]=r,e[13]=d):d=e[13];let u;return e[14]!==l||e[15]!==c||e[16]!==p||e[17]!==d?(u=(0,i.jsxDEV)("div",{className:"flex flex-col gap-2",children:[l,c,p,d]},void 0,!0),e[14]=l,e[15]=c,e[16]=p,e[17]=d,e[18]=u):u=e[18],u},"ConnectPopoverContent"),Md=a(t=>{let e=(0,B.c)(25),{current:o,group:s,groupLabel:r,selectTab:n,tabDescription:l,tabLabel:c}=t,p=s.tabs.includes(o)?"page":void 0,d=r[s.key],u=s.tabs[0],g;e[0]!==u?(g=(0,i.jsxDEV)(Vr,{tab:u},void 0,!1),e[0]=u,e[1]=g):g=e[1];let m;e[2]!==p||e[3]!==d||e[4]!==g?(m=(0,i.jsxDEV)(ti,{"aria-current":p,"aria-label":d,className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent data-[popup-open]:bg-sidebar-accent data-[popup-open]:text-sidebar-accent-foreground data-[popup-open]:shadow-xs aria-[current=page]:bg-sidebar-accent aria-[current=page]:text-sidebar-accent-foreground aria-[current=page]:shadow-xs",delay:120,openOnHover:!0,children:g},void 0,!1),e[2]=p,e[3]=d,e[4]=g,e[5]=m):m=e[5];let h=r[s.key],f;e[6]!==h?(f=(0,i.jsxDEV)("div",{className:"px-2 py-1.5 text-[11px] font-medium tracking-wider text-muted-foreground uppercase",children:h},void 0,!1),e[6]=h,e[7]=f):f=e[7];let v;if(e[8]!==o||e[9]!==s.tabs||e[10]!==n||e[11]!==l||e[12]!==c){let R;e[14]!==o||e[15]!==n||e[16]!==l||e[17]!==c?(R=a(P=>(0,i.jsxDEV)("button",{"aria-current":o===P?"page":void 0,className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-[current=page]:bg-accent aria-[current=page]:font-medium [&_svg]:opacity-70 aria-[current=page]:[&_svg]:opacity-100","data-tab":P,"data-testid":`dash-tab-${P}`,onClick:n,title:l[P],type:"button",children:[(0,i.jsxDEV)(Vr,{tab:P},void 0,!1),(0,i.jsxDEV)("span",{children:c[P]},void 0,!1)]},P,!0),"t92"),e[14]=o,e[15]=n,e[16]=l,e[17]=c,e[18]=R):R=e[18],v=s.tabs.map(R),e[8]=o,e[9]=s.tabs,e[10]=n,e[11]=l,e[12]=c,e[13]=v}else v=e[13];let x;e[19]!==f||e[20]!==v?(x=(0,i.jsxDEV)(oi,{align:"start",className:"w-56 p-1",side:"right",sideOffset:8,children:[f,v]},void 0,!0),e[19]=f,e[20]=v,e[21]=x):x=e[21];let b;return e[22]!==m||e[23]!==x?(b=(0,i.jsxDEV)(ei,{children:[m,x]},void 0,!0),e[22]=m,e[23]=x,e[24]=b):b=e[24],b},"CollapsedGroupNav"),Id=a(t=>{let e=(0,B.c)(45),{chrome:o,collapsed:s,connected:r}=t,n=ie();if(o===null){let P;e[0]!==n?(P=n("Admin"),e[0]=n,e[1]=P):P=e[1];let N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N=(0,i.jsxDEV)("span",{className:"flex size-8 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:"C"},void 0,!1),e[2]=N):N=e[2];let S;e[3]!==n?(S=n("Admin"),e[3]=n,e[4]=S):S=e[4];let E;e[5]!==S?(E=(0,i.jsxDEV)("span",{className:"truncate text-[13px] font-medium",children:S},void 0,!1),e[5]=S,e[6]=E):E=e[6];let T;e[7]!==n?(T=n("Studio"),e[7]=n,e[8]=T):T=e[8];let k;e[9]!==T?(k=(0,i.jsxDEV)("span",{className:"truncate text-[11px] text-muted-foreground",children:T},void 0,!1),e[9]=T,e[10]=k):k=e[10];let w;e[11]!==E||e[12]!==k?(w=(0,i.jsxDEV)("span",{className:"grid flex-1 text-start leading-tight",children:[E,k]},void 0,!0),e[11]=E,e[12]=k,e[13]=w):w=e[13];let O;return e[14]!==P||e[15]!==w?(O=(0,i.jsxDEV)(ri,{className:"data-active:bg-transparent",size:"lg",tooltip:P,children:[N,w]},void 0,!0),e[14]=P,e[15]=w,e[16]=O):O=e[16],O}let l=s?"mx-auto size-8 justify-center":"w-full p-2",c;e[17]!==l?(c=U("flex items-center gap-2 rounded-md text-start outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",l),e[17]=l,e[18]=c):c=e[18];let p;e[19]!==r||e[20]!==n?(p=n(r?"Connected":"Not connected"),e[19]=r,e[20]=n,e[21]=p):p=e[21];let d=r?"bg-success":"bg-muted-foreground/50",u;e[22]!==d?(u=U("absolute -end-0.5 -bottom-0.5 size-2.5 rounded-full border-2 border-sidebar",d),e[22]=d,e[23]=u):u=e[23];let g;e[24]!==u?(g=(0,i.jsxDEV)("span",{className:"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:["C",(0,i.jsxDEV)("span",{"aria-hidden":"true",className:u},void 0,!1)]},void 0,!0),e[24]=u,e[25]=g):g=e[25];let m;e[26]!==s||e[27]!==r||e[28]!==n?(m=!s&&(0,i.jsxDEV)(i.Fragment,{children:[(0,i.jsxDEV)("span",{className:"grid flex-1 text-start leading-tight",children:[(0,i.jsxDEV)("span",{className:"truncate text-[13px] font-medium",children:n("Admin")},void 0,!1),(0,i.jsxDEV)("span",{className:"truncate text-[11px] text-muted-foreground",children:n(r?"Connected":"Not connected")},void 0,!1)]},void 0,!0),(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"m8 9 4-4 4 4M8 15l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"},void 0,!1)},void 0,!1)]},void 0,!0),e[26]=s,e[27]=r,e[28]=n,e[29]=m):m=e[29];let h;e[30]!==c||e[31]!==p||e[32]!==g||e[33]!==m?(h=(0,i.jsxDEV)(ti,{className:c,"data-testid":"dash-app-connect",title:p,children:[g,m]},void 0,!0),e[30]=c,e[31]=p,e[32]=g,e[33]=m,e[34]=h):h=e[34];let f=s?"end":"start",v=s?"right":"top",x;e[35]!==o||e[36]!==r?(x=(0,i.jsxDEV)(Od,{chrome:o,connected:r},void 0,!1),e[35]=o,e[36]=r,e[37]=x):x=e[37];let b;e[38]!==v||e[39]!==x||e[40]!==f?(b=(0,i.jsxDEV)(oi,{align:f,keepMounted:!0,side:v,children:x},void 0,!1),e[38]=v,e[39]=x,e[40]=f,e[41]=b):b=e[41];let R;return e[42]!==b||e[43]!==h?(R=(0,i.jsxDEV)(ei,{children:[h,b]},void 0,!0),e[42]=b,e[43]=h,e[44]=R):R=e[44],R},"SidebarFooterProfile"),Dd=a(t=>{let e=(0,B.c)(28),{chrome:o,connected:s,current:r,groupLabel:n,groups:l,selectTab:c,tabDescription:p,tabLabel:d}=t,u=ie(),{state:g}=_s(),m=g==="collapsed",h=m&&"justify-center px-0",f;e[0]!==h?(f=U("flex items-center gap-2.5 px-1.5 py-1",h),e[0]=h,e[1]=f):f=e[1];let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,i.jsxDEV)(ll,{className:"size-9 shrink-0 text-foreground"},void 0,!1),e[2]=v):v=e[2];let x;e[3]!==m||e[4]!==s||e[5]!==u?(x=!m&&(0,i.jsxDEV)(i.Fragment,{children:[(0,i.jsxDEV)("span",{className:"grid flex-1 leading-tight",children:[(0,i.jsxDEV)("span",{className:"truncate text-sm font-semibold text-foreground",children:"lunora"},void 0,!1),(0,i.jsxDEV)("span",{className:"truncate text-[11px] text-muted-foreground",children:u("Studio")},void 0,!1)]},void 0,!0),(0,i.jsxDEV)(fo,{className:"px-1.5 text-[10px] tracking-wider uppercase",variant:"secondary",children:u(s?"Live":"Local")},void 0,!1)]},void 0,!0),e[3]=m,e[4]=s,e[5]=u,e[6]=x):x=e[6];let b;e[7]!==f||e[8]!==x?(b=(0,i.jsxDEV)(Vl,{children:(0,i.jsxDEV)("div",{className:f,children:[v,x]},void 0,!0)},void 0,!1),e[7]=f,e[8]=x,e[9]=b):b=e[9];let R;e[10]!==m||e[11]!==r||e[12]!==n||e[13]!==l||e[14]!==c||e[15]!==p||e[16]!==d?(R=m?l.map(E=>(0,i.jsxDEV)(Md,{current:r,group:E,groupLabel:n,selectTab:c,tabDescription:p,tabLabel:d},E.key,!1)):l.map(E=>(0,i.jsxDEV)(Fl,{children:[(0,i.jsxDEV)(Hl,{className:"text-[11px] font-medium tracking-wider uppercase",children:n[E.key]},void 0,!1),(0,i.jsxDEV)($l,{children:(0,i.jsxDEV)(Ua,{children:E.tabs.map(T=>(0,i.jsxDEV)(Wa,{children:(0,i.jsxDEV)(ri,{className:"data-active:text-foreground dark:data-active:text-royal-amethyst data-active:shadow-[inset_2px_0_0_0_var(--royal-amethyst)]","data-tab":T,"data-testid":`dash-tab-${T}`,isActive:r===T,onClick:c,title:p[T],tooltip:p[T],children:[(0,i.jsxDEV)(Vr,{tab:T},void 0,!1),(0,i.jsxDEV)("span",{children:d[T]},void 0,!1)]},void 0,!0)},T,!1))},void 0,!1)},void 0,!1)]},E.key,!0)),e[10]=m,e[11]=r,e[12]=n,e[13]=l,e[14]=c,e[15]=p,e[16]=d,e[17]=R):R=e[17];let P;e[18]!==R?(P=(0,i.jsxDEV)(Ll,{children:R},void 0,!1),e[18]=R,e[19]=P):P=e[19];let N;e[20]!==o||e[21]!==m||e[22]!==s?(N=(0,i.jsxDEV)(Bl,{children:(0,i.jsxDEV)(Ua,{children:(0,i.jsxDEV)(Wa,{children:(0,i.jsxDEV)(Id,{chrome:o,collapsed:m,connected:s},void 0,!1)},void 0,!1)},void 0,!1)},void 0,!1),e[20]=o,e[21]=m,e[22]=s,e[23]=N):N=e[23];let S;return e[24]!==b||e[25]!==P||e[26]!==N?(S=(0,i.jsxDEV)(Dl,{collapsible:"icon",variant:"inset",children:[b,P,N]},void 0,!0),e[24]=b,e[25]=P,e[26]=N,e[27]=S):S=e[27],S},"StudioSidebar"),ii=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"dash-pending",children:[(0,i.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,i.jsxDEV)(as,{className:"h-8 w-40"},void 0,!1),(0,i.jsxDEV)(as,{className:"h-8 w-24"},void 0,!1)]},void 0,!0),(0,i.jsxDEV)(as,{className:"h-72 w-full"},void 0,!1)]},void 0,!0),t[0]=e):e=t[0],e},"RoutePending"),_d=a(()=>{let t=(0,B.c)(288),e=ie(),o=pt(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={select:Fd},t[0]=s):s=t[0];let r=Wr(s),n,l;t[1]!==r?(n=kd(r),l=wd.has(n),t[1]=r,t[2]=n,t[3]=l):(n=t[2],l=t[3]);let c=l,p=Mr(),d;t[4]!==p?(d=a(at=>({...at,tabs:at.tabs.filter(Ao=>qa(Ao,p))}),"t2"),t[4]=p,t[5]=d):d=t[5];let u=Za.map(d).filter(Hd),g,m;t[6]!==n||t[7]!==p||t[8]!==o?(g=a(()=>{qa(n,p)||$e(o({replace:!0,to:"/home"}))},"t3"),m=[n,p,o],t[6]=n,t[7]=p,t[8]=o,t[9]=g,t[10]=m):(g=t[9],m=t[10]),(0,q.useEffect)(g,m);let h;t[11]!==e?(h=e("Analytics"),t[11]=e,t[12]=h):h=t[12];let f;t[13]!==e?(f=e("API"),t[13]=e,t[14]=f):f=t[14];let v;t[15]!==e?(v=e("Audit"),t[15]=e,t[16]=v):v=t[16];let x;t[17]!==e?(x=e("Configuration"),t[17]=e,t[18]=x):x=t[18];let b;t[19]!==e?(b=e("Sessions"),t[19]=e,t[20]=b):b=t[20];let R;t[21]!==e?(R=e("Dashboards"),t[21]=e,t[22]=R):R=t[22];let P;t[23]!==e?(P=e("Data"),t[23]=e,t[24]=P):P=t[24];let N;t[25]!==e?(N=e("Log drains"),t[25]=e,t[26]=N):N=t[26];let S;t[27]!==e?(S=e("Export / Import"),t[27]=e,t[28]=S):S=t[28];let E;t[29]!==e?(E=e("Fan-out"),t[29]=e,t[30]=E):E=t[30];let T;t[31]!==e?(T=e("Files"),t[31]=e,t[32]=T):T=t[32];let k;t[33]!==e?(k=e("Flags"),t[33]=e,t[34]=k):k=t[34];let w;t[35]!==e?(w=e("Functions"),t[35]=e,t[36]=w):w=t[36];let O;t[37]!==e?(O=e("Health"),t[37]=e,t[38]=O):O=t[38];let V;t[39]!==e?(V=e("Home"),t[39]=e,t[40]=V):V=t[40];let W;t[41]!==e?(W=e("Performance"),t[41]=e,t[42]=W):W=t[42];let _;t[43]!==e?(_=e("KV"),t[43]=e,t[44]=_):_=t[44];let H;t[45]!==e?(H=e("Logs"),t[45]=e,t[46]=H):H=t[46];let $;t[47]!==e?($=e("Metrics"),t[47]=e,t[48]=$):$=t[48];let Z;t[49]!==e?(Z=e("Migrations"),t[49]=e,t[50]=Z):Z=t[50];let G;t[51]!==e?(G=e("Organizations"),t[51]=e,t[52]=G):G=t[52];let D;t[53]!==e?(D=e("Time Travel"),t[53]=e,t[54]=D):D=t[54];let I;t[55]!==e?(I=e("Mail"),t[55]=e,t[56]=I):I=t[56];let z;t[57]!==e?(z=e("Payments"),t[57]=e,t[58]=z):z=t[58];let te;t[59]!==e?(te=e("Permissions"),t[59]=e,t[60]=te):te=t[60];let se;t[61]!==e?(se=e("Queues"),t[61]=e,t[62]=se):se=t[62];let re;t[63]!==e?(re=e("Realtime"),t[63]=e,t[64]=re):re=t[64];let J;t[65]!==e?(J=e("RLS Policies"),t[65]=e,t[66]=J):J=t[66];let X;t[67]!==e?(X=e("Scheduled"),t[67]=e,t[68]=X):X=t[68];let ae;t[69]!==e?(ae=e("Schema"),t[69]=e,t[70]=ae):ae=t[70];let Le;t[71]!==e?(Le=e("Security"),t[71]=e,t[72]=Le):Le=t[72];let me;t[73]!==e?(me=e("Settings"),t[73]=e,t[74]=me):me=t[74];let xe;t[75]!==e?(xe=e("SQL editor"),t[75]=e,t[76]=xe):xe=t[76];let be;t[77]!==e?(be=e("Access Rules"),t[77]=e,t[78]=be):be=t[78];let Fe;t[79]!==e?(Fe=e("Users"),t[79]=e,t[80]=Fe):Fe=t[80];let L;t[81]!==e?(L=e("Vectors"),t[81]=e,t[82]=L):L=t[82];let K;t[83]!==e?(K=e("Workflows"),t[83]=e,t[84]=K):K=t[84];let ee;t[85]!==R||t[86]!==P||t[87]!==N||t[88]!==S||t[89]!==E||t[90]!==T||t[91]!==k||t[92]!==w||t[93]!==O||t[94]!==V||t[95]!==W||t[96]!==_||t[97]!==H||t[98]!==$||t[99]!==Z||t[100]!==G||t[101]!==D||t[102]!==I||t[103]!==z||t[104]!==te||t[105]!==se||t[106]!==re||t[107]!==J||t[108]!==X||t[109]!==ae||t[110]!==Le||t[111]!==me||t[112]!==xe||t[113]!==be||t[114]!==Fe||t[115]!==L||t[116]!==K||t[117]!==h||t[118]!==f||t[119]!==v||t[120]!==x||t[121]!==b?(ee={analytics:h,api:f,audit:v,authConfig:x,authSessions:b,dashboards:R,data:P,drains:N,export:S,fanout:E,files:T,flags:k,functions:w,health:O,home:V,insights:W,kv:_,logs:H,metrics:$,migrations:Z,organizations:G,pitr:D,mail:I,payments:z,permissions:te,queues:se,realtime:re,rls:J,schedule:X,schema:ae,security:Le,settings:me,sql:xe,storageRules:be,users:Fe,vectors:L,workflows:K},t[85]=R,t[86]=P,t[87]=N,t[88]=S,t[89]=E,t[90]=T,t[91]=k,t[92]=w,t[93]=O,t[94]=V,t[95]=W,t[96]=_,t[97]=H,t[98]=$,t[99]=Z,t[100]=G,t[101]=D,t[102]=I,t[103]=z,t[104]=te,t[105]=se,t[106]=re,t[107]=J,t[108]=X,t[109]=ae,t[110]=Le,t[111]=me,t[112]=xe,t[113]=be,t[114]=Fe,t[115]=L,t[116]=K,t[117]=h,t[118]=f,t[119]=v,t[120]=x,t[121]=b,t[122]=ee):ee=t[122];let ne=ee,ge={advisors:e("Advisors"),auth:e("Auth"),database:e("Database"),functions:e("Functions"),observability:e("Observability"),operations:e("Operations"),overview:e("Overview"),settings:e("Settings"),storage:e("Storage")},he;t[123]!==e?(he=e("Usage and latency from Analytics Engine \u2014 request volume, p50/p95, and hot shards."),t[123]=e,t[124]=he):he=t[124];let ce;t[125]!==e?(ce=e("Interactive OpenAPI reference and copy-paste snippets for your functions."),t[125]=e,t[126]=ce):ce=t[126];let pe;t[127]!==e?(pe=e("A durable log of admin state-changing operations."),t[127]=e,t[128]=pe):pe=t[128];let Re;t[129]!==e?(Re=e("Enabled plugins and session config (read-only)."),t[129]=e,t[130]=Re):Re=t[130];let Ce;t[131]!==e?(Ce=e("Browse and revoke active sessions across all users."),t[131]=e,t[132]=Ce):Ce=t[132];let Se;t[133]!==e?(Se=e("Chart widgets backed by saved read-only SQL queries."),t[133]=e,t[134]=Se):Se=t[134];let Ne;t[135]!==e?(Ne=e("Browse and edit rows across your shard and global tables."),t[135]=e,t[136]=Ne):Ne=t[136];let Ee;t[137]!==e?(Ee=e("Forward logs to Logpush, Tail Workers, or a webhook collector."),t[137]=e,t[138]=Ee):Ee=t[138];let Te;t[139]!==e?(Te=e("Export a shard to NDJSON, or import rows from it."),t[139]=e,t[140]=Te):Te=t[140];let we;t[141]!==e?(we=e("Realtime fan-out cost and per-topic subscriber counts for this shard."),t[141]=e,t[142]=we):we=t[142];let ke;t[143]!==e?(ke=e("Browse objects in your R2 storage buckets."),t[143]=e,t[144]=ke):ke=t[144];let Oe;t[145]!==e?(Oe=e("Inspect feature flags and their live evaluation under a targeting context."),t[145]=e,t[146]=Oe):Oe=t[146];let Me;t[147]!==e?(Me=e("Run registered queries, mutations, and actions."),t[147]=e,t[148]=Me):Me=t[148];let Ie;t[149]!==e?(Ie=e("At-a-glance connection, error, and shard signals."),t[149]=e,t[150]=Ie):Ie=t[150];let ze;t[151]!==e?(ze=e("Connection, health, and advisor summary for your deployment."),t[151]=e,t[152]=ze):ze=t[152];let Ue;t[153]!==e?(Ue=e("Surface slow functions, error spikes, and cache problems."),t[153]=e,t[154]=Ue):Ue=t[154];let We;t[155]!==e?(We=e("A live stream of recent function logs."),t[155]=e,t[156]=We):We=t[156];let Ze;t[157]!==e?(Ze=e("Per-shard health and aggregate metrics."),t[157]=e,t[158]=Ze):Ze=t[158];let qe;t[159]!==e?(qe=e("Review migration status and run them."),t[159]=e,t[160]=qe):qe=t[160];let Ge;t[161]!==e?(Ge=e("Browse and manage organizations, members, and invitations."),t[161]=e,t[162]=Ge):Ge=t[162];let nt;t[163]!==e?(nt=e("Restore a shard to a point in the last 30 days."),t[163]=e,t[164]=nt):nt=t[164];let Ke;t[165]!==e?(Ke=e("Email your app sent, captured in dev."),t[165]=e,t[166]=Ke):Ke=t[166];let ve;t[167]!==e?(ve=e("Synced customers, subscriptions, and webhook events."),t[167]=e,t[168]=ve):ve=t[168];let Qe;t[169]!==e?(Qe=e("Inspect access policies per table, and probe a function as any identity."),t[169]=e,t[170]=Qe):Qe=t[170];let Ye;t[171]!==e?(Ye=e("Inspect declared Cloudflare Queues \u2014 their producer bindings, consumer mode, and dead-letter queue."),t[171]=e,t[172]=Ye):Ye=t[172];let De;t[173]!==e?(De=e("Active WebSocket subscriptions on this shard."),t[173]=e,t[174]=De):De=t[174];let Je;t[175]!==e?(Je=e("Inspect row-level-security policies and roles, per table."),t[175]=e,t[176]=Je):Je=t[176];let _e;t[177]!==e?(_e=e("Inspect and cancel scheduled jobs."),t[177]=e,t[178]=_e):_e=t[178];let Xe;t[179]!==e?(Xe=e("Inspect each table and its columns."),t[179]=e,t[180]=Xe):Xe=t[180];let Ae;t[181]!==e?(Ae=e("Review admin gates, credentials, and log redaction."),t[181]=e,t[182]=Ae):Ae=t[182];let et;t[183]!==e?(et=e("Read-only deployment config \u2014 vars, secrets, and bindings."),t[183]=e,t[184]=et):et=t[184];let Ve;t[185]!==e?(Ve=e("Run read-only SQL against a shard."),t[185]=e,t[186]=Ve):Ve=t[186];let Et;t[187]!==e?(Et=e("Browse and edit key-value pairs in your Workers KV namespaces."),t[187]=e,t[188]=Et):Et=t[188];let Tt;t[189]!==e?(Tt=e("Inspect storage access rules \u2014 per bucket, operation, and key prefix."),t[189]=e,t[190]=Tt):Tt=t[190];let wt;t[191]!==e?(wt=e("Manage auth users \u2014 roles, bans, sessions, and identity."),t[191]=e,t[192]=wt):wt=t[192];let kt;t[193]!==e?(kt=e("Browse Vectorize indexes and run similarity searches."),t[193]=e,t[194]=kt):kt=t[194];let Ot;t[195]!==e?(Ot=e("Inspect declared Cloudflare Workflows and their bindings."),t[195]=e,t[196]=Ot):Ot=t[196];let Co;t[197]!==he||t[198]!==ce||t[199]!==pe||t[200]!==Re||t[201]!==Ce||t[202]!==Se||t[203]!==Ne||t[204]!==Ee||t[205]!==Te||t[206]!==we||t[207]!==ke||t[208]!==Oe||t[209]!==Me||t[210]!==Ie||t[211]!==ze||t[212]!==Ue||t[213]!==We||t[214]!==Ze||t[215]!==qe||t[216]!==Ge||t[217]!==nt||t[218]!==Ke||t[219]!==ve||t[220]!==Qe||t[221]!==Ye||t[222]!==De||t[223]!==Je||t[224]!==_e||t[225]!==Xe||t[226]!==Ae||t[227]!==et||t[228]!==Ve||t[229]!==Et||t[230]!==Tt||t[231]!==wt||t[232]!==kt||t[233]!==Ot?(Co={analytics:he,api:ce,audit:pe,authConfig:Re,authSessions:Ce,dashboards:Se,data:Ne,drains:Ee,export:Te,fanout:we,files:ke,flags:Oe,functions:Me,health:Ie,home:ze,insights:Ue,logs:We,metrics:Ze,migrations:qe,organizations:Ge,pitr:nt,mail:Ke,payments:ve,permissions:Qe,queues:Ye,realtime:De,rls:Je,schedule:_e,schema:Xe,security:Ae,settings:et,sql:Ve,kv:Et,storageRules:Tt,users:wt,vectors:kt,workflows:Ot},t[197]=he,t[198]=ce,t[199]=pe,t[200]=Re,t[201]=Ce,t[202]=Se,t[203]=Ne,t[204]=Ee,t[205]=Te,t[206]=we,t[207]=ke,t[208]=Oe,t[209]=Me,t[210]=Ie,t[211]=ze,t[212]=Ue,t[213]=We,t[214]=Ze,t[215]=qe,t[216]=Ge,t[217]=nt,t[218]=Ke,t[219]=ve,t[220]=Qe,t[221]=Ye,t[222]=De,t[223]=Je,t[224]=_e,t[225]=Xe,t[226]=Ae,t[227]=et,t[228]=Ve,t[229]=Et,t[230]=Tt,t[231]=wt,t[232]=kt,t[233]=Ot,t[234]=Co):Co=t[234];let li=Co,So;t[235]!==o?(So=a(at=>{$e(o({to:`/${at.currentTarget.dataset.tab??""}`}))},"t81"),t[235]=o,t[236]=So):So=t[236];let di=So,No,Eo;t[237]!==n||t[238]!==ne?(No=a(()=>{typeof document<"u"&&(document.title=`${ne[n]} \xB7 lunora`)},"t82"),Eo=[n,ne],t[237]=n,t[238]=ne,t[239]=No,t[240]=Eo):(No=t[239],Eo=t[240]),(0,q.useEffect)(No,Eo);let ci=u.find(at=>at.tabs.includes(n))??Za[0],As=u.flatMap(at=>at.tabs.map(Ao=>({group:ge[at.key],label:ne[Ao],to:`/${Ao}`}))),Mt=(0,q.use)(ni),pi=Mt!==null&&Mt.token!=="",To;t[241]!==As?(To=(0,i.jsxDEV)(ja,{items:As},void 0,!1),t[241]=As,t[242]=To):To=t[242];let wo;t[243]===Symbol.for("react.memo_cache_sentinel")?(wo=(0,i.jsxDEV)(_l,{className:"-ms-1"},void 0,!1),t[243]=wo):wo=t[243];let It;t[244]!==e?(It=e("Breadcrumb"),t[244]=e,t[245]=It):It=t[245];let Vs=ge[ci.key],Dt;t[246]!==Vs?(Dt=(0,i.jsxDEV)("span",{className:"text-muted-foreground",children:Vs},void 0,!1),t[246]=Vs,t[247]=Dt):Dt=t[247];let ko;t[248]===Symbol.for("react.memo_cache_sentinel")?(ko=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"},void 0,!1)},void 0,!1),t[248]=ko):ko=t[248];let Bs=ne[n],_t;t[249]!==Bs?(_t=(0,i.jsxDEV)("span",{className:"font-medium text-foreground",children:Bs},void 0,!1),t[249]=Bs,t[250]=_t):_t=t[250];let At;t[251]!==It||t[252]!==Dt||t[253]!==_t?(At=(0,i.jsxDEV)("nav",{"aria-label":It,className:"flex items-center gap-1.5 text-[13px]",children:[Dt,ko,_t]},void 0,!0),t[251]=It,t[252]=Dt,t[253]=_t,t[254]=At):At=t[254];let Oo;t[255]===Symbol.for("react.memo_cache_sentinel")?(Oo=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,i.jsxDEV)("circle",{cx:"11",cy:"11",r:"7"},void 0,!1),(0,i.jsxDEV)("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"},void 0,!1)]},void 0,!0),t[255]=Oo):Oo=t[255];let Vt;t[256]!==e?(Vt=e("Search\u2026"),t[256]=e,t[257]=Vt):Vt=t[257];let Mo;t[258]===Symbol.for("react.memo_cache_sentinel")?(Mo=(0,i.jsxDEV)("kbd",{className:"ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",children:"\u2318K"},void 0,!1),t[258]=Mo):Mo=t[258];let Bt;t[259]!==Vt?(Bt=(0,i.jsxDEV)("button",{className:"mx-auto hidden h-8 w-72 items-center gap-2 rounded-lg border border-border bg-muted/40 px-3 text-xs text-muted-foreground transition-colors hover:bg-muted md:flex","data-testid":"dash-app-search",onClick:$a,type:"button",children:[Oo,Vt,Mo]},void 0,!0),t[259]=Vt,t[260]=Bt):Bt=t[260];let Io;t[261]===Symbol.for("react.memo_cache_sentinel")?(Io=(0,i.jsxDEV)("div",{className:"ms-auto flex items-center gap-1.5 md:ms-0",children:(0,i.jsxDEV)(vl,{},void 0,!1)},void 0,!1),t[261]=Io):Io=t[261];let Lt;t[262]!==At||t[263]!==Bt?(Lt=(0,i.jsxDEV)("header",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border px-4","data-testid":"dash-app-header",children:[wo,At,Bt,Io]},void 0,!0),t[262]=At,t[263]=Bt,t[264]=Lt):Lt=t[264];let Ft;t[265]!==Mt?.rulesInstalled?(Ft=Mt?.rulesInstalled===!1&&(0,i.jsxDEV)(pl,{},void 0,!1),t[265]=Mt?.rulesInstalled,t[266]=Ft):Ft=t[266];let Ls=`dash-tab-${n}`,Fs=c?"flex min-w-0 flex-1 flex-col overflow-hidden":"min-w-0 flex-1 overflow-auto p-6",Hs=ne[n],Ht;t[267]!==e||t[268]!==Hs?(Ht=e("{title} failed",{title:Hs}),t[267]=e,t[268]=Hs,t[269]=Ht):Ht=t[269];let $s=ne[n],$t;t[270]!==e?($t=e("Try again"),t[270]=e,t[271]=$t):$t=t[271];let Do;t[272]===Symbol.for("react.memo_cache_sentinel")?(Do=(0,i.jsxDEV)(q.Suspense,{fallback:(0,i.jsxDEV)(ii,{},void 0,!1),children:(0,i.jsxDEV)(jr,{},void 0,!1)},void 0,!1),t[272]=Do):Do=t[272];let jt;t[273]!==n||t[274]!==Ht||t[275]!==$s||t[276]!==$t?(jt=(0,i.jsxDEV)(is,{fallbackTitle:Ht,label:$s,retryLabel:$t,children:Do},n,!1),t[273]=n,t[274]=Ht,t[275]=$s,t[276]=$t,t[277]=jt):jt=t[277];let zt;t[278]!==Fs||t[279]!==jt?(zt=(0,i.jsxDEV)("div",{className:Fs,children:jt},void 0,!1),t[278]=Fs,t[279]=jt,t[280]=zt):zt=t[280];let Ut;t[281]!==Ls||t[282]!==zt?(Ut=(0,i.jsxDEV)("div",{"aria-labelledby":Ls,className:"flex min-w-0 flex-1 flex-col overflow-hidden","data-testid":"dash-panel",id:"dash-panel",role:"tabpanel",children:zt},void 0,!1),t[281]=Ls,t[282]=zt,t[283]=Ut):Ut=t[283];let _o;return t[284]!==Ut||t[285]!==Lt||t[286]!==Ft?(_o=(0,i.jsxDEV)(Al,{className:"overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",children:[Lt,Ft,Ut]},void 0,!0),t[284]=Ut,t[285]=Lt,t[286]=Ft,t[287]=_o):_o=t[287],(0,i.jsxDEV)(Il,{className:"min-h-0 flex-1","data-testid":"lunora-studio",children:[To,(0,i.jsxDEV)(Dd,{chrome:Mt,connected:pi,current:n,groupLabel:ge,groups:u,selectTab:di,tabDescription:li,tabLabel:ne},void 0,!1),_o]},void 0,!0)},"StudioLayout"),Ad=a(t=>{let e=(0,B.c)(5),{initialShardKey:o,schemaEditable:s}=t,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},e[0]=r):r=e[0];let n=Hr(r),{table:l}=n,c=typeof l=="string"?l:void 0,p;return e[1]!==o||e[2]!==c||e[3]!==s?(p=(0,i.jsxDEV)(bd,{initialShardKey:o,initialTable:c,schemaEditable:s},void 0,!1),e[1]=o,e[2]=c,e[3]=s,e[4]=p):p=e[4],p},"SchemaRoutePanel"),Vd=a(()=>{let t=(0,B.c)(3),e=pt(),o,s;return t[0]!==e?(o=a(()=>{$e(e({replace:!0,to:"/home"}))},"t0"),s=[e],t[0]=e,t[1]=o,t[2]=s):(o=t[1],s=t[2]),(0,q.useEffect)(o,s),null},"NotFoundRedirect"),Bd=a(({basePath:t,dataEditable:e=!1,functions:o,initialShardKey:s,openApiSpec:r,openRpcSpec:n,runAsIdentity:l=!1,schemaEditable:c=!1,scheduledCancel:p,scheduledCron:d,scheduledLoad:u})=>{let g=$r({component:_d}),m={analytics:(0,i.jsxDEV)(Zl,{},void 0,!1),api:(0,i.jsxDEV)(ql,{functions:o,initialShardKey:s,openApiSpec:r,openRpcSpec:n},void 0,!1),audit:(0,i.jsxDEV)(nd,{initialShardKey:s},void 0,!1),authConfig:(0,i.jsxDEV)(Gl,{},void 0,!1),authSessions:(0,i.jsxDEV)(Kl,{},void 0,!1),dashboards:(0,i.jsxDEV)(gd,{initialShardKey:s},void 0,!1),data:(0,i.jsxDEV)(Jl,{editable:e,initialShardKey:s},void 0,!1),drains:(0,i.jsxDEV)(ad,{},void 0,!1),export:(0,i.jsxDEV)(Xl,{initialShardKey:s},void 0,!1),fanout:(0,i.jsxDEV)(hd,{initialShardKey:s},void 0,!1),files:(0,i.jsxDEV)(Rd,{},void 0,!1),kv:(0,i.jsxDEV)(pd,{},void 0,!1),flags:(0,i.jsxDEV)(od,{initialShardKey:s},void 0,!1),functions:(0,i.jsxDEV)("div",{className:"flex flex-col gap-8",children:[(0,i.jsxDEV)(rd,{functions:o,initialShardKey:s},void 0,!1),(0,i.jsxDEV)(sd,{functions:o,runAsIdentity:l},void 0,!1)]},void 0,!0),health:(0,i.jsxDEV)(vd,{initialShardKey:s},void 0,!1),home:(0,i.jsxDEV)(Ba,{initialShardKey:s},void 0,!1),insights:(0,i.jsxDEV)(zl,{initialShardKey:s},void 0,!1),logs:(0,i.jsxDEV)(id,{initialShardKey:s},void 0,!1),metrics:(0,i.jsxDEV)(xd,{initialShardKey:s},void 0,!1),migrations:(0,i.jsxDEV)(ed,{initialShardKey:s},void 0,!1),organizations:(0,i.jsxDEV)(Ql,{},void 0,!1),permissions:(0,i.jsxDEV)(fd,{functions:o,runAsIdentity:l,schemaEditable:c},void 0,!1),pitr:(0,i.jsxDEV)(td,{initialShardKey:s},void 0,!1),mail:(0,i.jsxDEV)(ld,{},void 0,!1),payments:(0,i.jsxDEV)(ud,{},void 0,!1),queues:(0,i.jsxDEV)(md,{},void 0,!1),realtime:(0,i.jsxDEV)(cd,{initialShardKey:s},void 0,!1),rls:(0,i.jsxDEV)(Ul,{},void 0,!1),schedule:(0,i.jsxDEV)(dd,{loadCronJobs:d,scheduledCancel:p,scheduledLoad:u},void 0,!1),schema:(0,i.jsxDEV)(Ad,{initialShardKey:s,schemaEditable:c},void 0,!1),security:(0,i.jsxDEV)(Wl,{},void 0,!1),settings:(0,i.jsxDEV)(yd,{initialShardKey:s},void 0,!1),sql:(0,i.jsxDEV)(Pd,{initialShardKey:s},void 0,!1),storageRules:(0,i.jsxDEV)(Cd,{},void 0,!1),users:(0,i.jsxDEV)(Yl,{},void 0,!1),vectors:(0,i.jsxDEV)(Sd,{},void 0,!1),workflows:(0,i.jsxDEV)(Nd,{},void 0,!1)},h=Bo({component:a(()=>m.home,"component"),getParentRoute:a(()=>g,"getParentRoute"),path:"/"}),f=ai.map(b=>b==="data"?Bo({component:a(()=>m[b],"component"),getParentRoute:a(()=>g,"getParentRoute"),path:`/${b}`,validateSearch:An}):Bo({component:a(()=>m[b],"component"),getParentRoute:a(()=>g,"getParentRoute"),path:`/${b}`})),v=g.addChildren([h,...f]),x="window"in globalThis?Lr():Fr({initialEntries:["/home"]});return zr({...t===void 0||t==="/"?{}:{basepath:t},defaultNotFoundComponent:Vd,defaultPendingComponent:ii,defaultPendingMinMs:0,defaultPendingMs:0,history:x,routeTree:v})},"buildRouter"),Ld=a(t=>{let e=(0,B.c)(17),{basePath:o,chrome:s,dataEditable:r,functions:n,initialShardKey:l,openApiSpec:c,openRpcSpec:p,runAsIdentity:d,schemaEditable:u,scheduledCancel:g,scheduledCron:m,scheduledLoad:h}=t,f;e[0]!==o||e[1]!==r||e[2]!==n||e[3]!==l||e[4]!==c||e[5]!==p||e[6]!==d||e[7]!==g||e[8]!==m||e[9]!==h||e[10]!==u?(f=Bd({basePath:o,dataEditable:r,functions:n,initialShardKey:l,openApiSpec:c,openRpcSpec:p,runAsIdentity:d,schemaEditable:u,scheduledCancel:g,scheduledCron:m,scheduledLoad:h}),e[0]=o,e[1]=r,e[2]=n,e[3]=l,e[4]=c,e[5]=p,e[6]=d,e[7]=g,e[8]=m,e[9]=h,e[10]=u,e[11]=f):f=e[11];let v=f,x=s??null,b;e[12]!==v?(b=(0,i.jsxDEV)(Ur,{router:v},void 0,!1),e[12]=v,e[13]=b):b=e[13];let R;return e[14]!==x||e[15]!==b?(R=(0,i.jsxDEV)(ni,{value:x,children:b},void 0,!1),e[14]=x,e[15]=b,e[16]=R):R=e[16],R},"StudioShell"),u0=a(t=>{let e=(0,B.c)(17),{basePath:o,chrome:s,dataEditable:r,functions:n,i18n:l,initialShardKey:c,locale:p,openApiSpec:d,openRpcSpec:u,runAsIdentity:g,schemaEditable:m,scheduledCancel:h,scheduledCron:f,scheduledLoad:v}=t,x;e[0]!==o||e[1]!==s||e[2]!==r||e[3]!==n||e[4]!==c||e[5]!==d||e[6]!==u||e[7]!==g||e[8]!==h||e[9]!==f||e[10]!==v||e[11]!==m?(x=(0,i.jsxDEV)(Ld,{basePath:o,chrome:s,dataEditable:r,functions:n,initialShardKey:c,openApiSpec:d,openRpcSpec:u,runAsIdentity:g,scheduledCancel:h,scheduledCron:f,scheduledLoad:v,schemaEditable:m},void 0,!1),e[0]=o,e[1]=s,e[2]=r,e[3]=n,e[4]=c,e[5]=d,e[6]=u,e[7]=g,e[8]=h,e[9]=f,e[10]=v,e[11]=m,e[12]=x):x=e[12];let b=x;if(l===void 0&&p===void 0)return b;let R;return e[13]!==l||e[14]!==p||e[15]!==b?(R=(0,i.jsxDEV)(Ha,{i18n:l,locale:p,children:b},void 0,!1),e[13]=l,e[14]=p,e[15]=b,e[16]=R):R=e[16],R},"Studio");function Fd(t){return t.location.pathname}a(Fd,"_temp");function Hd(t){return t.tabs.length>0}a(Hd,"_temp2");export{is as a,Ha as b,c0 as c,rl as d,p0 as e,ll as f,bl as g,Rl as h,Cl as i,Sl as j,u0 as k};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as i,e as n,f,g as b,h as p,j as d}from"./chunk-RRCPZMC2.js";var c=n(b(),1),m=n(f(),1);var r=n(p(),1);function h(o){let e=(0,c.c)(8),t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=d("w-full caption-bottom text-xs",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=(0,r.jsxDEV)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto overflow-y-clip",children:(0,r.jsxDEV)("table",{"data-slot":"table",className:a,...l},void 0,!1)},void 0,!1),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}i(h,"Table");function x(o){let e=(0,c.c)(8),t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=d("bg-muted/50 [&_tr]:border-b",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=(0,r.jsxDEV)("thead",{"data-slot":"table-header",className:a,...l},void 0,!1),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}i(x,"TableHeader");function N(o){let e=(0,c.c)(8),t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=d("[&_tr:last-child]:border-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=(0,r.jsxDEV)("tbody",{"data-slot":"table-body",className:a,...l},void 0,!1),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}i(N,"TableBody");function v(o){let e=(0,c.c)(8),t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=d("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=(0,r.jsxDEV)("tr",{"data-slot":"table-row",className:a,...l},void 0,!1),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}i(v,"TableRow");function w(o){let e=(0,c.c)(8),t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=d("h-9 border-e border-border px-3 text-start align-middle font-mono text-[11px] font-medium tracking-wide whitespace-nowrap text-muted-foreground uppercase last:border-e-0 [&:has([role=checkbox])]:pe-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=(0,r.jsxDEV)("th",{"data-slot":"table-head",className:a,...l},void 0,!1),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}i(w,"TableHead");function g(o){let e=(0,c.c)(8),t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=d("border-e border-border px-3 py-1.5 align-middle whitespace-nowrap last:border-e-0 [&:has([role=checkbox])]:pe-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=(0,r.jsxDEV)("td",{"data-slot":"table-cell",className:a,...l},void 0,!1),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}i(g,"TableCell");export{h as a,x as b,N as c,v as d,w as e,g as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as H}from"./chunk-J6J54MBP.js";import{a as R,b as _,c as $,d as N,e as o,f as r}from"./chunk-GTM65MVX.js";import{c as S}from"./chunk-YQQJ4N6U.js";import"./chunk-TICVNLPM.js";import{a as w}from"./chunk-TAD43CG5.js";import{a as E}from"./chunk-FCR3HKFV.js";import{a as C,e as k}from"./chunk-SEU5V7I6.js";import"./chunk-ZH7UES4T.js";import{f as g}from"./chunk-KODWGUAB.js";import"./chunk-3OA7PECS.js";import{d as A,i as I,l as B}from"./chunk-YJGANMU7.js";import{a as m,e as T,g as j,h as z}from"./chunk-RRCPZMC2.js";var Q=T(j(),1);var t=T(z(),1);var L=200,K=m(()=>{let e=(0,Q.c)(21),d=g(),s=A(),u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u=["lunora-auth-sessions",L],e[0]=u):u=e[0];let h;e[1]!==d?(h=m(()=>d.listAuthSessions({limit:L}),"t1"),e[1]=d,e[2]=h):h=e[2];let i=E(u,h),{error:v}=i,l=i.data?.rows??null,p;e[3]!==i?(p=m(()=>{i.refetch()},"t2"),e[3]=i,e[4]=p):p=e[4],H(p,!0);let x;e[5]!==d||e[6]!==i?(x=m(a=>{I((async()=>{await d.revokeAuthSession({sessionId:a}),i.refetch()})())},"t3"),e[5]=d,e[6]=i,e[7]=x):x=e[7];let y=x,n;e[8]!==v?(n=v!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"auth-sessions-error",role:"alert",children:v},void 0,!1),e[8]=v,e[9]=n):n=e[9];let c;e[10]!==l||e[11]!==s?(c=l!==null&&l.length===0&&(0,t.jsxDEV)(w,{testId:"auth-sessions-empty",title:s("No active sessions.")},void 0,!1),e[10]=l,e[11]=s,e[12]=c):c=e[12];let f;e[13]!==y||e[14]!==l||e[15]!==s?(f=l!==null&&l.length>0&&(0,t.jsxDEV)(C,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(k,{className:"px-0",children:(0,t.jsxDEV)(R,{"data-testid":"auth-sessions-table",children:[(0,t.jsxDEV)(_,{children:(0,t.jsxDEV)(N,{children:[(0,t.jsxDEV)(o,{children:s("user")},void 0,!1),(0,t.jsxDEV)(o,{children:s("expires")},void 0,!1),(0,t.jsxDEV)(o,{children:s("ip")},void 0,!1),(0,t.jsxDEV)(o,{children:s("user agent")},void 0,!1),(0,t.jsxDEV)(o,{children:s("impersonated by")},void 0,!1),(0,t.jsxDEV)(o,{"aria-label":s("Actions")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)($,{children:l.map(a=>(0,t.jsxDEV)(N,{"data-testid":`auth-session-${a.id}`,children:[(0,t.jsxDEV)(r,{className:"font-mono text-xs",children:a.userId},void 0,!1),(0,t.jsxDEV)(r,{className:"text-muted-foreground tabular-nums",children:B(a.expiresAt)},void 0,!1),(0,t.jsxDEV)(r,{children:a.ipAddress??""},void 0,!1),(0,t.jsxDEV)(r,{className:"max-w-40 truncate",children:a.userAgent??""},void 0,!1),(0,t.jsxDEV)(r,{className:"font-mono text-xs",children:a.impersonatedBy??""},void 0,!1),(0,t.jsxDEV)(r,{children:(0,t.jsxDEV)(S,{"data-testid":`auth-session-revoke-${a.id}`,onClick:m(()=>{y(a.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:s("Revoke")},void 0,!1)},void 0,!1)]},a.id,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),e[13]=y,e[14]=l,e[15]=s,e[16]=f):f=e[16];let b;return e[17]!==n||e[18]!==c||e[19]!==f?(b=(0,t.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"auth-sessions",children:[n,c,f]},void 0,!0),e[17]=n,e[18]=c,e[19]=f,e[20]=b):b=e[20],b},"AuthSessionsPanel");export{K as AuthSessionsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as S}from"./chunk-J6J54MBP.js";import{a as R}from"./chunk-OD2POGPJ.js";import{a as h}from"./chunk-JSEXCW5Q.js";import{R as y}from"./chunk-BHTPZS7L.js";import{c as L}from"./chunk-YQQJ4N6U.js";import"./chunk-TICVNLPM.js";import"./chunk-HV7G6DFP.js";import{a as w}from"./chunk-AQGOX5DK.js";import{b as F}from"./chunk-O4PXDNR3.js";import"./chunk-ZH7UES4T.js";import{f as P}from"./chunk-KODWGUAB.js";import"./chunk-3OA7PECS.js";import{d as E,e as N,f as m,g as p,i as u}from"./chunk-YJGANMU7.js";import{a,e as O,f as Q,h as W}from"./chunk-RRCPZMC2.js";var o=O(Q(),1);var e=O(W(),1);var C=N(w.getPitrBookmark),X=N(w.pitrRestore),le=a(({initialShardKey:A})=>{let c=P(),r=E(),i=A??"",[U,v]=(0,o.useState)(null),[n,q]=(0,o.useState)(""),[B,_]=(0,o.useState)(null),[f,K]=(0,o.useState)(""),[x,M]=(0,o.useState)(!1),[s,z]=(0,o.useState)(null),[T,l]=(0,o.useState)(null),[k,d]=(0,o.useState)(!1),b=(0,o.useCallback)(async()=>{d(!0),l(null);try{let t=await c.query(C,{},m(i));v(t.current)}catch(t){l(p(t))}finally{d(!1)}},[c,i]);(0,o.useEffect)(()=>{u(b())},[b]),S(()=>{u((async()=>{try{let t=await c.query(C,{},m(i));v(t.current)}catch{}})())},!0);let D=a(t=>{q(t.target.value)},"onTimeChange"),j=a(t=>{K(t.target.value)},"onBookmarkChange"),G=a(t=>{M(t.target.checked)},"onRestartChange"),V=a(()=>{n.trim()!==""&&u((async()=>{d(!0),l(null);try{let t=await c.query(C,{time:n.trim()},m(i));_(t.forTime??null),v(t.current)}catch(t){_(null),l(p(t))}finally{d(!1)}})())},"onPreview"),I=a(t=>{u((async()=>{d(!0),l(null);try{let g=await c.mutation(X,t,m(i));z(g),await b()}catch(g){l(p(g))}finally{d(!1)}})())},"runRestore"),Z=f.trim()!==""||n.trim()!=="",H=a(()=>{let t=x?{restart:!0}:{};f.trim()===""?t.time=n.trim():t.bookmark=f.trim(),I(t)},"onConfirmRestore"),J=a(()=>{s!==null&&I(x?{bookmark:s.undoBookmark,restart:!0}:{bookmark:s.undoBookmark})},"onUndo");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"lunora-pitr",children:[(0,e.jsxDEV)("div",{className:"flex flex-wrap items-center gap-3",children:(0,e.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:[r("Shard"),": ",(0,e.jsxDEV)("span",{className:"font-mono",children:i===""?r("root"):i},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"pitr-note",children:r("In-place recovery to any moment in the last 30 days. For older or portable recovery, use the snapshot backup tier.")},void 0,!1),T!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pitr-error",role:"alert",children:T},void 0,!1),(0,e.jsxDEV)("section",{className:"rounded-xl border border-border bg-card p-3 shadow-xs",children:[(0,e.jsxDEV)("h3",{className:"mb-2 text-sm font-semibold",children:r("Current bookmark")},void 0,!1),(0,e.jsxDEV)("p",{className:"font-mono text-xs break-all text-muted-foreground","data-testid":"pitr-current",children:U??(0,e.jsxDEV)("span",{className:"text-muted-foreground",children:"\u2014"},void 0,!1)},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("section",{className:"flex flex-col gap-3 rounded-xl border border-border bg-card p-3 shadow-xs",children:[(0,e.jsxDEV)("h3",{className:"text-sm font-semibold",children:r("Restore")},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1",children:[(0,e.jsxDEV)(h,{htmlFor:"pitr-time",children:r("Time (ISO or epoch-ms, last 30 days)")},void 0,!1),(0,e.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,e.jsxDEV)(y,{"data-testid":"pitr-time",id:"pitr-time",onChange:D,placeholder:"2026-06-01T00:00:00.000Z",value:n},void 0,!1),(0,e.jsxDEV)(L,{"data-testid":"pitr-preview",disabled:k||n.trim()==="",onClick:V,size:"sm",type:"button",variant:"outline",children:r("Preview")},void 0,!1)]},void 0,!0),B!==null&&(0,e.jsxDEV)("p",{className:"font-mono text-xs break-all text-muted-foreground","data-testid":"pitr-preview-bookmark",children:[r("Bookmark for that time"),": ",B]},void 0,!0)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1",children:[(0,e.jsxDEV)(h,{htmlFor:"pitr-bookmark",children:r("Or an explicit bookmark (wins over time)")},void 0,!1),(0,e.jsxDEV)(y,{"data-testid":"pitr-bookmark",id:"pitr-bookmark",onChange:j,placeholder:r("bookmark string"),value:f},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(h,{className:"flex items-center gap-2 text-xs font-normal text-muted-foreground",htmlFor:"pitr-restart",children:[(0,e.jsxDEV)("input",{checked:x,className:"size-4 accent-primary","data-testid":"pitr-restart",id:"pitr-restart",onChange:G,type:"checkbox"},void 0,!1),r("Restart the shard now so recovery applies immediately")]},void 0,!0),(0,e.jsxDEV)("div",{children:(0,e.jsxDEV)(R,{confirmLabel:r("Confirm restore"),disabled:k||!Z,onConfirm:H,testId:"pitr-restore",children:r("Restore")},void 0,!1)},void 0,!1)]},void 0,!0),s!==null&&(0,e.jsxDEV)("section",{className:"flex flex-col gap-2 rounded-xl border border-border bg-card p-3 shadow-xs","data-testid":"pitr-result",children:[(0,e.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,e.jsxDEV)("h3",{className:"text-sm font-semibold",children:r("Restore armed")},void 0,!1),(0,e.jsxDEV)(F,{variant:s.restarted?"destructive":"secondary",children:s.restarted?r("restarted now"):r("on next restart")},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("p",{className:"font-mono text-xs break-all text-muted-foreground",children:[r("Restored to"),": ",s.restoredTo]},void 0,!0),(0,e.jsxDEV)("p",{className:"font-mono text-xs break-all text-muted-foreground","data-testid":"pitr-undo-bookmark",children:[r("Undo bookmark"),": ",s.undoBookmark]},void 0,!0),(0,e.jsxDEV)("div",{children:(0,e.jsxDEV)(R,{confirmLabel:r("Confirm undo"),disabled:k,onConfirm:J,testId:"pitr-undo",children:r("Undo restore")},void 0,!1)},void 0,!1)]},void 0,!0)]},void 0,!0)},"PitrPanel");export{le as PitrPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as be,b as ge,c as xe,d as Ne,e as Ce}from"./chunk-ASLGNHAX.js";import"./chunk-DWDILV2E.js";import{a as ue}from"./chunk-5NSZVXCS.js";import"./chunk-6VTGE3WJ.js";import"./chunk-UGMRUEBU.js";import{g as me,h as ve,i as fe,j as pe}from"./chunk-GABMIICA.js";import"./chunk-ZPUO7FNI.js";import"./chunk-ITLLHEVG.js";import"./chunk-NNISYDNI.js";import"./chunk-5OIBXYZM.js";import"./chunk-UII66UVF.js";import"./chunk-7TJJXVSE.js";import"./chunk-SVR644RF.js";import"./chunk-KEGAWN6Y.js";import{a as de,b as ne,c as oe,d as q,e as Q,f as X}from"./chunk-GTM65MVX.js";import{a as ce}from"./chunk-VLXV72QE.js";import{a as W}from"./chunk-JSEXCW5Q.js";import"./chunk-KZ6INM5M.js";import"./chunk-4QHKBC77.js";import{R as le}from"./chunk-BHTPZS7L.js";import{c as $}from"./chunk-YQQJ4N6U.js";import"./chunk-TICVNLPM.js";import"./chunk-HV7G6DFP.js";import"./chunk-AQGOX5DK.js";import{a as ye}from"./chunk-TAD43CG5.js";import"./chunk-FCR3HKFV.js";import{a as re,e as se}from"./chunk-SEU5V7I6.js";import{b as he}from"./chunk-O4PXDNR3.js";import"./chunk-ZH7UES4T.js";import{f as Y}from"./chunk-KODWGUAB.js";import"./chunk-3OA7PECS.js";import{d as U,g as z,i as R,j as ie,k as ke}from"./chunk-YJGANMU7.js";import{a as n,e as ae,f as Me,g as Le,h as Be}from"./chunk-RRCPZMC2.js";var J=ae(Me(),1);var ee=ae(Le(),1);var l=ae(Be(),1);var De=n(r=>{let e=r.trim();if(e==="")return;let s=Number(e);return Number.isFinite(s)&&s>0?Math.floor(s):void 0},"parseTtl"),Oe=n(r=>r===void 0?"\u2014":new Date(r*1e3).toISOString(),"formatExpiration"),Ae=n(r=>new TextEncoder().encode(r).length,"byteLength"),Te=n(r=>{if(r.trim()!=="")try{return JSON.stringify(JSON.parse(r),void 0,2)}catch{return}},"tryFormatJson"),Ee=n(r=>{if(r.trim()==="")return!0;try{return JSON.parse(r),!0}catch{return!1}},"isJsonOrEmpty"),Fe=[{key:"seconds",seconds:1},{key:"minutes",seconds:60},{key:"hours",seconds:3600},{key:"days",seconds:86400}],Se=n((r,e)=>{let s=r.trim();if(s==="")return"";let u=Number(s),d=Fe.find(f=>f.key===e)?.seconds??1;return Number.isFinite(u)&&u>0?String(Math.round(u*d)):s},"ttlToSeconds"),Ke=n(r=>{let e=r.trim();if(e==="")return!0;let s=Number(e);return Number.isInteger(s)&&s>=60},"isTtlValid"),Ve=n((r,e,s,u)=>{let d=De(r.ttl);return{expiration:d===void 0?u:void 0,expirationTtl:d,key:e,metadata:r.metadata.trim()===""?void 0:JSON.parse(r.metadata),namespace:s,value:r.value}},"buildKvPutOptions"),Ie=n(r=>{let e=(0,ee.c)(60),{helper:s,id:u,invalid:d,onChange:f,testId:o}=r,t=U(),[a,p]=(0,J.useState)(""),[c,x]=(0,J.useState)("seconds"),b;e[0]!==f||e[1]!==c?(b=n(g=>{p(g.target.value),f(Se(g.target.value,c))},"t1"),e[0]=f,e[1]=c,e[2]=b):b=e[2];let M=b,V;e[3]!==a||e[4]!==f?(V=n(g=>{g!==null&&(x(g),f(Se(a,g)))},"t2"),e[3]=a,e[4]=f,e[5]=V):V=e[5];let L=V,h;e[6]!==t?(h=t("days"),e[6]=t,e[7]=h):h=e[7];let v;e[8]!==t?(v=t("hours"),e[8]=t,e[9]=v):v=e[9];let y;e[10]!==t?(y=t("minutes"),e[10]=t,e[11]=y):y=e[11];let N;e[12]!==t?(N=t("seconds"),e[12]=t,e[13]=N):N=e[13];let C;e[14]!==h||e[15]!==v||e[16]!==y||e[17]!==N?(C={days:h,hours:v,minutes:y,seconds:N},e[14]=h,e[15]=v,e[16]=y,e[17]=N,e[18]=C):C=e[18];let S=C,k;e[19]!==t?(k=t("Expires after"),e[19]=t,e[20]=k):k=e[20];let w;e[21]!==u||e[22]!==k?(w=(0,l.jsxDEV)(W,{className:"text-xs",htmlFor:u,children:k},void 0,!1),e[21]=u,e[22]=k,e[23]=w):w=e[23];let E;e[24]!==t?(E=t("No expiration"),e[24]=t,e[25]=E):E=e[25];let B;e[26]!==a||e[27]!==u||e[28]!==d||e[29]!==M||e[30]!==E||e[31]!==o?(B=(0,l.jsxDEV)(le,{"aria-invalid":d,className:"flex-1","data-testid":o,id:u,inputMode:"numeric",onChange:M,placeholder:E,value:a},void 0,!1),e[26]=a,e[27]=u,e[28]=d,e[29]=M,e[30]=E,e[31]=o,e[32]=B):B=e[32];let I;e[33]!==t?(I=t("TTL unit"),e[33]=t,e[34]=I):I=e[34];let O=`${o}-unit`,D;e[35]===Symbol.for("react.memo_cache_sentinel")?(D=(0,l.jsxDEV)(ge,{},void 0,!1),e[35]=D):D=e[35];let i;e[36]!==I||e[37]!==O?(i=(0,l.jsxDEV)(xe,{"aria-label":I,className:"w-[7.5rem]","data-testid":O,children:D},void 0,!1),e[36]=I,e[37]=O,e[38]=i):i=e[38];let m;e[39]!==S?(m=Fe.map(g=>(0,l.jsxDEV)(Ce,{value:g.key,children:S[g.key]},g.key,!1)),e[39]=S,e[40]=m):m=e[40];let K;e[41]!==m?(K=(0,l.jsxDEV)(Ne,{children:m},void 0,!1),e[41]=m,e[42]=K):K=e[42];let T;e[43]!==L||e[44]!==i||e[45]!==K||e[46]!==c?(T=(0,l.jsxDEV)(be,{onValueChange:L,value:c,children:[i,K]},void 0,!0),e[43]=L,e[44]=i,e[45]=K,e[46]=c,e[47]=T):T=e[47];let _;e[48]!==B||e[49]!==T?(_=(0,l.jsxDEV)("div",{className:"flex gap-2",children:[B,T]},void 0,!0),e[48]=B,e[49]=T,e[50]=_):_=e[50];let F;e[51]!==s||e[52]!==d||e[53]!==t||e[54]!==o?(F=d?(0,l.jsxDEV)("p",{className:"text-xs text-destructive","data-testid":`${o}-invalid`,children:t("TTL must be at least 60 seconds.")},void 0,!1):s!==void 0&&(0,l.jsxDEV)("p",{className:"text-xs text-muted-foreground",children:s},void 0,!1),e[51]=s,e[52]=d,e[53]=t,e[54]=o,e[55]=F):F=e[55];let A;return e[56]!==_||e[57]!==F||e[58]!==w?(A=(0,l.jsxDEV)("div",{className:"mb-3 grid gap-1",children:[w,_,F]},void 0,!0),e[56]=_,e[57]=F,e[58]=w,e[59]=A):A=e[59],A},"TtlField"),_e=n(r=>{let e=(0,ee.c)(36),{id:s,invalidTestId:u,onChange:d,testId:f,valid:o,value:t}=r,a=U(),p;e[0]!==t?(p=Te(t),e[0]=t,e[1]=p):p=e[1];let c=p,x;e[2]!==a?(x=a("Metadata (JSON)"),e[2]=a,e[3]=x):x=e[3];let b;e[4]!==s||e[5]!==x?(b=(0,l.jsxDEV)(W,{className:"text-xs",htmlFor:s,children:x},void 0,!1),e[4]=s,e[5]=x,e[6]=b):b=e[6];let M=`${f}-format`,V=c===void 0,L;e[7]!==c||e[8]!==d?(L=n(()=>{c!==void 0&&d(c)},"t6"),e[7]=c,e[8]=d,e[9]=L):L=e[9];let h;e[10]!==a?(h=a("Format JSON"),e[10]=a,e[11]=h):h=e[11];let v;e[12]!==M||e[13]!==V||e[14]!==L||e[15]!==h?(v=(0,l.jsxDEV)($,{"data-testid":M,disabled:V,onClick:L,size:"sm",variant:"outline",children:h},void 0,!1),e[12]=M,e[13]=V,e[14]=L,e[15]=h,e[16]=v):v=e[16];let y;e[17]!==b||e[18]!==v?(y=(0,l.jsxDEV)("div",{className:"flex items-center justify-between gap-2",children:[b,v]},void 0,!0),e[17]=b,e[18]=v,e[19]=y):y=e[19];let N=!o,C;e[20]!==d?(C=n(E=>{d(E.target.value)},"t11"),e[20]=d,e[21]=C):C=e[21];let S;e[22]!==s||e[23]!==N||e[24]!==C||e[25]!==f||e[26]!==t?(S=(0,l.jsxDEV)(ce,{"aria-invalid":N,className:"min-h-[4rem] font-mono text-xs","data-testid":f,id:s,onChange:C,value:t},void 0,!1),e[22]=s,e[23]=N,e[24]=C,e[25]=f,e[26]=t,e[27]=S):S=e[27];let k;e[28]!==u||e[29]!==a||e[30]!==o?(k=!o&&(0,l.jsxDEV)("p",{className:"text-xs text-destructive","data-testid":u,children:a("Metadata must be valid JSON.")},void 0,!1),e[28]=u,e[29]=a,e[30]=o,e[31]=k):k=e[31];let w;return e[32]!==S||e[33]!==k||e[34]!==y?(w=(0,l.jsxDEV)("div",{className:"mb-3 grid gap-1",children:[y,S,k]},void 0,!0),e[32]=S,e[33]=k,e[34]=y,e[35]=w):w=e[35],w},"MetadataField"),Je={busy:!1,error:null,metadata:"",name:"",ttl:"",value:""},Pe=n((r,e)=>{switch(e.type){case"setField":return{...r,[e.field]:e.value};case"submitFailed":return{...r,busy:!1,error:e.error};case"submitStart":return{...r,busy:!0,error:null};default:return r}},"createReducer"),$e=n(r=>{let e=(0,ee.c)(73),{namespace:s,onCancel:u,onCreated:d}=r,f=Y(),o=U(),[t,a]=(0,J.useReducer)(Pe,Je),p;e[0]!==t.metadata?(p=Ee(t.metadata),e[0]=t.metadata,e[1]=p):p=e[1];let c=p,x;e[2]!==t.ttl?(x=Ke(t.ttl),e[2]=t.ttl,e[3]=x):x=e[3];let b=x,M;e[4]!==c||e[5]!==t.busy||e[6]!==t.name||e[7]!==b?(M=t.name.trim()!==""&&c&&b&&!t.busy,e[4]=c,e[5]=t.busy,e[6]=t.name,e[7]=b,e[8]=M):M=e[8];let V=M,L;e[9]!==V||e[10]!==f||e[11]!==s||e[12]!==d||e[13]!==t.metadata||e[14]!==t.name||e[15]!==t.ttl||e[16]!==t.value?(L=n(()=>{V&&(a({type:"submitStart"}),R((async()=>{try{await f.putKvValue(Ve({metadata:t.metadata,ttl:t.ttl,value:t.value},t.name,s)),d()}catch(H){a({error:z(H),type:"submitFailed"})}})()))},"t4"),e[9]=V,e[10]=f,e[11]=s,e[12]=d,e[13]=t.metadata,e[14]=t.name,e[15]=t.ttl,e[16]=t.value,e[17]=L):L=e[17];let h=L,v;e[18]!==o?(v=o("Key name"),e[18]=o,e[19]=v):v=e[19];let y;e[20]!==v?(y=(0,l.jsxDEV)(W,{className:"text-xs",htmlFor:"kv-create-name",children:v},void 0,!1),e[20]=v,e[21]=y):y=e[21];let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N=n(H=>{a({field:"name",type:"setField",value:H.target.value})},"t7"),e[22]=N):N=e[22];let C;e[23]!==o?(C=o("Key name"),e[23]=o,e[24]=C):C=e[24];let S;e[25]!==t.name||e[26]!==C?(S=(0,l.jsxDEV)(le,{autoFocus:!0,"data-testid":"kv-create-name",id:"kv-create-name",onChange:N,placeholder:C,value:t.name},void 0,!1),e[25]=t.name,e[26]=C,e[27]=S):S=e[27];let k;e[28]!==y||e[29]!==S?(k=(0,l.jsxDEV)("div",{className:"grid gap-1",children:[y,S]},void 0,!0),e[28]=y,e[29]=S,e[30]=k):k=e[30];let w;e[31]!==o?(w=o("Value"),e[31]=o,e[32]=w):w=e[32];let E;e[33]!==w?(E=(0,l.jsxDEV)(W,{className:"text-xs",htmlFor:"kv-create-value",children:w},void 0,!1),e[33]=w,e[34]=E):E=e[34];let B;e[35]===Symbol.for("react.memo_cache_sentinel")?(B=n(H=>{a({field:"value",type:"setField",value:H.target.value})},"t13"),e[35]=B):B=e[35];let I;e[36]!==t.value?(I=(0,l.jsxDEV)(ce,{className:"min-h-[6rem] font-mono text-xs","data-testid":"kv-create-value",id:"kv-create-value",onChange:B,value:t.value},void 0,!1),e[36]=t.value,e[37]=I):I=e[37];let O;e[38]!==E||e[39]!==I?(O=(0,l.jsxDEV)("div",{className:"grid gap-1",children:[E,I]},void 0,!0),e[38]=E,e[39]=I,e[40]=O):O=e[40];let D=!b,i;e[41]===Symbol.for("react.memo_cache_sentinel")?(i=n(H=>{a({field:"ttl",type:"setField",value:H})},"t17"),e[41]=i):i=e[41];let m;e[42]!==D?(m=(0,l.jsxDEV)(Ie,{id:"kv-create-ttl",invalid:D,onChange:i,testId:"kv-create-ttl"},void 0,!1),e[42]=D,e[43]=m):m=e[43];let K;e[44]===Symbol.for("react.memo_cache_sentinel")?(K=n(H=>{a({field:"metadata",type:"setField",value:H})},"t19"),e[44]=K):K=e[44];let T;e[45]!==c||e[46]!==t.metadata?(T=(0,l.jsxDEV)(_e,{id:"kv-create-metadata",invalidTestId:"kv-create-metadata-invalid",onChange:K,testId:"kv-create-metadata",valid:c,value:t.metadata},void 0,!1),e[45]=c,e[46]=t.metadata,e[47]=T):T=e[47];let _=!V,F;e[48]!==t.busy||e[49]!==o?(F=t.busy?o("Creating\u2026"):o("Create key"),e[48]=t.busy,e[49]=o,e[50]=F):F=e[50];let A;e[51]!==h||e[52]!==_||e[53]!==F?(A=(0,l.jsxDEV)($,{"data-testid":"kv-create-submit",disabled:_,onClick:h,children:F},void 0,!1),e[51]=h,e[52]=_,e[53]=F,e[54]=A):A=e[54];let g=t.busy,P;e[55]!==o?(P=o("Cancel"),e[55]=o,e[56]=P):P=e[56];let j;e[57]!==u||e[58]!==t.busy||e[59]!==P?(j=(0,l.jsxDEV)($,{"data-testid":"kv-create-cancel",disabled:g,onClick:u,variant:"outline",children:P},void 0,!1),e[57]=u,e[58]=t.busy,e[59]=P,e[60]=j):j=e[60];let Z;e[61]!==A||e[62]!==j?(Z=(0,l.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[A,j]},void 0,!0),e[61]=A,e[62]=j,e[63]=Z):Z=e[63];let G;e[64]!==t.error?(G=t.error!==null&&(0,l.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"kv-create-error",role:"alert",children:t.error},void 0,!1),e[64]=t.error,e[65]=G):G=e[65];let te;return e[66]!==k||e[67]!==O||e[68]!==m||e[69]!==T||e[70]!==Z||e[71]!==G?(te=(0,l.jsxDEV)("div",{className:"grid gap-3 px-4 pb-4","data-testid":"kv-create-form",children:[k,O,m,T,Z,G]},void 0,!0),e[66]=k,e[67]=O,e[68]=m,e[69]=T,e[70]=Z,e[71]=G,e[72]=te):te=e[72],te},"KvCreateForm"),He={busy:"",editedMetadata:"",editedTtl:"",editedValue:"",loadError:null,loading:!0,value:null,writeError:null},Re=n((r,e)=>{switch(e.type){case"deleteStart":return{...r,busy:"deleting",writeError:null};case"editMetadata":return{...r,editedMetadata:e.value};case"editTtl":return{...r,editedTtl:e.value};case"editValue":return{...r,editedValue:e.value};case"loaded":return{...r,editedMetadata:e.metadata===null||e.metadata===void 0?"":JSON.stringify(e.metadata,null,2),editedValue:e.value??"",loading:!1,value:e.value};case"loadFailed":return{...r,loadError:e.error,loading:!1};case"saveOk":return{...r,busy:"",value:r.editedValue};case"saveStart":return{...r,busy:"saving",writeError:null};case"writeFailed":return{...r,busy:"",writeError:e.error};default:return r}},"valueReducer"),je=n(r=>{let e=(0,ee.c)(67),{expiration:s,keyName:u,namespace:d,onDeleted:f}=r,o=Y(),t=U(),[a,p]=(0,J.useReducer)(Re,He),c,x;e[0]!==o||e[1]!==u||e[2]!==d?(c=n(()=>{let g={cancelled:!1};return R((async()=>{try{let P=await o.getKvValue({key:u,namespace:d});g.cancelled||p({metadata:P.metadata,type:"loaded",value:P.value})}catch(P){let j=P;g.cancelled||p({error:z(j),type:"loadFailed"})}})()),()=>{g.cancelled=!0}},"t1"),x=[o,d,u],e[0]=o,e[1]=u,e[2]=d,e[3]=c,e[4]=x):(c=e[3],x=e[4]),(0,J.useEffect)(c,x);let b;e[5]===Symbol.for("react.memo_cache_sentinel")?(b=n(g=>{p({type:"editValue",value:g.target.value})},"t3"),e[5]=b):b=e[5];let M=b,V;e[6]===Symbol.for("react.memo_cache_sentinel")?(V=n(g=>{p({type:"editMetadata",value:g})},"t4"),e[6]=V):V=e[6];let L=V,h;e[7]!==a.editedValue?(h=Te(a.editedValue),e[7]=a.editedValue,e[8]=h):h=e[8];let v=h,y;e[9]!==a.editedMetadata?(y=Ee(a.editedMetadata),e[9]=a.editedMetadata,e[10]=y):y=e[10];let N=y,C;e[11]!==a.editedTtl?(C=Ke(a.editedTtl),e[11]=a.editedTtl,e[12]=C):C=e[12];let S=C,k;e[13]!==v?(k=n(()=>{v!==void 0&&p({type:"editValue",value:v})},"t8"),e[13]=v,e[14]=k):k=e[14];let w=k,E;e[15]!==o||e[16]!==s||e[17]!==u||e[18]!==N||e[19]!==d||e[20]!==a.editedMetadata||e[21]!==a.editedTtl||e[22]!==a.editedValue||e[23]!==t?(E=n(()=>{if(!N){p({error:t("Metadata must be valid JSON."),type:"writeFailed"});return}p({type:"saveStart"}),R((async()=>{try{await o.putKvValue(Ve({metadata:a.editedMetadata,ttl:a.editedTtl,value:a.editedValue},u,d,s)),p({type:"saveOk"})}catch(g){p({error:z(g),type:"writeFailed"})}})())},"t9"),e[15]=o,e[16]=s,e[17]=u,e[18]=N,e[19]=d,e[20]=a.editedMetadata,e[21]=a.editedTtl,e[22]=a.editedValue,e[23]=t,e[24]=E):E=e[24];let B=E,I;e[25]!==o||e[26]!==u||e[27]!==d||e[28]!==f?(I=n(()=>{p({type:"deleteStart"}),R((async()=>{try{await o.deleteKvKey({key:u,namespace:d}),f(u)}catch(g){p({error:z(g),type:"writeFailed"})}})())},"t10"),e[25]=o,e[26]=u,e[27]=d,e[28]=f,e[29]=I):I=e[29];let O=I,D;e[30]!==u?(D=n(()=>{ie(u)},"t11"),e[30]=u,e[31]=D):D=e[31];let i;e[32]!==t?(i=t("Copy key"),e[32]=t,e[33]=i):i=e[33];let m;e[34]!==D||e[35]!==i?(m=(0,l.jsxDEV)("div",{className:"mb-2 flex justify-end",children:(0,l.jsxDEV)($,{"data-testid":"kv-copy-key-btn",onClick:D,size:"sm",variant:"outline",children:i},void 0,!1)},void 0,!1),e[34]=D,e[35]=i,e[36]=m):m=e[36];let K;e[37]!==a.loadError?(K=a.loadError!==null&&(0,l.jsxDEV)("p",{className:"mb-2 text-sm text-destructive","data-testid":"kv-value-error",role:"alert",children:a.loadError},void 0,!1),e[37]=a.loadError,e[38]=K):K=e[38];let T;e[39]!==a.loading||e[40]!==t?(T=a.loading&&(0,l.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-value-loading",children:t("Loading\u2026")},void 0,!1),e[39]=a.loading,e[40]=t,e[41]=T):T=e[41];let _;e[42]!==v||e[43]!==N||e[44]!==O||e[45]!==w||e[46]!==B||e[47]!==a.busy||e[48]!==a.editedMetadata||e[49]!==a.editedValue||e[50]!==a.loading||e[51]!==a.value||e[52]!==a.writeError||e[53]!==t||e[54]!==S?(_=!a.loading&&a.value!==null&&(0,l.jsxDEV)(l.Fragment,{children:[(0,l.jsxDEV)("div",{className:"mb-1 flex flex-wrap items-center gap-2",children:[(0,l.jsxDEV)(W,{className:"text-xs",htmlFor:"kv-value-editor",children:t("Value")},void 0,!1),v!==void 0&&(0,l.jsxDEV)(he,{variant:"secondary",children:t("JSON")},void 0,!1),(0,l.jsxDEV)("span",{className:"ml-auto text-xs tabular-nums text-muted-foreground","data-testid":"kv-value-size",children:ke(Ae(a.editedValue))},void 0,!1)]},void 0,!0),(0,l.jsxDEV)("textarea",{"aria-label":t("KV value"),className:"mb-2 min-h-[8rem] w-full rounded border border-border bg-muted/30 p-2 font-mono text-xs","data-testid":"kv-value-editor",id:"kv-value-editor",onChange:M,value:a.editedValue},void 0,!1),(0,l.jsxDEV)("div",{className:"mb-3 flex flex-wrap gap-2",children:[(0,l.jsxDEV)($,{"data-testid":"kv-format-btn",disabled:v===void 0,onClick:w,size:"sm",variant:"outline",children:t("Format JSON")},void 0,!1),(0,l.jsxDEV)($,{"data-testid":"kv-copy-value-btn",onClick:n(()=>{ie(a.editedValue)},"onClick"),size:"sm",variant:"outline",children:t("Copy value")},void 0,!1)]},void 0,!0),(0,l.jsxDEV)(Ie,{helper:t("Leave blank to keep the current expiration."),id:"kv-ttl-input",invalid:!S,onChange:n(g=>{p({type:"editTtl",value:g})},"onChange"),testId:"kv-ttl-input"},void 0,!1),(0,l.jsxDEV)(_e,{id:"kv-metadata-editor",invalidTestId:"kv-metadata-invalid",onChange:L,testId:"kv-metadata-editor",valid:N,value:a.editedMetadata},void 0,!1),(0,l.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[(0,l.jsxDEV)($,{"data-testid":"kv-save-btn",disabled:a.busy!==""||!N||!S,onClick:B,children:a.busy==="saving"?t("Saving\u2026"):t("Save")},void 0,!1),(0,l.jsxDEV)($,{"data-testid":"kv-delete-btn",disabled:a.busy!=="",onClick:O,variant:"destructive",children:a.busy==="deleting"?t("Deleting\u2026"):t("Delete")},void 0,!1)]},void 0,!0),a.writeError!==null&&(0,l.jsxDEV)("p",{className:"mt-2 text-sm text-destructive","data-testid":"kv-save-error",role:"alert",children:a.writeError},void 0,!1)]},void 0,!0),e[42]=v,e[43]=N,e[44]=O,e[45]=w,e[46]=B,e[47]=a.busy,e[48]=a.editedMetadata,e[49]=a.editedValue,e[50]=a.loading,e[51]=a.value,e[52]=a.writeError,e[53]=t,e[54]=S,e[55]=_):_=e[55];let F;e[56]!==a.loadError||e[57]!==a.loading||e[58]!==a.value||e[59]!==t?(F=!a.loading&&a.value===null&&a.loadError===null&&(0,l.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-absent",children:t("Key is absent or has no value.")},void 0,!1),e[56]=a.loadError,e[57]=a.loading,e[58]=a.value,e[59]=t,e[60]=F):F=e[60];let A;return e[61]!==m||e[62]!==K||e[63]!==T||e[64]!==_||e[65]!==F?(A=(0,l.jsxDEV)("div",{className:"px-4 pb-4","data-testid":"kv-value-section",children:[m,K,T,_,F]},void 0,!0),e[61]=m,e[62]=K,e[63]=T,e[64]=_,e[65]=F,e[66]=A):A=e[66],A},"KvValueEditor"),we=100,ze={appliedPrefix:"",bulk:[],bulkBusy:!1,bulkError:null,cursor:null,keys:null,listComplete:!1,loadError:null,loading:!1,prefixInput:"",reloadNonce:0,selectedKey:null},Ue=n((r,e)=>{switch(e.type){case"appendPage":return{...r,cursor:e.cursor,keys:[...r.keys??[],...e.keys],listComplete:e.listComplete,loading:!1};case"applyFilter":return{...r,appliedPrefix:r.prefixInput,bulk:[],bulkError:null,cursor:null,keys:null,listComplete:!1,selectedKey:null};case"bulkDeleted":{let s=new Set(e.deleted);return{...r,bulk:r.bulk.filter(u=>!s.has(u)),bulkBusy:!1,bulkError:e.error,keys:r.keys===null?null:r.keys.filter(u=>!s.has(u.name)),selectedKey:r.selectedKey!==null&&s.has(r.selectedKey)?null:r.selectedKey}}case"bulkDeleteStart":return{...r,bulkBusy:!0,bulkError:null};case"firstPage":return{...r,cursor:e.cursor,keys:e.keys,listComplete:e.listComplete,loading:!1};case"keyDeleted":return{...r,bulk:r.bulk.filter(s=>s!==e.name),keys:r.keys===null?null:r.keys.filter(s=>s.name!==e.name),selectedKey:null};case"loadFailed":return{...r,loadError:e.error,loading:!1};case"loadStart":return{...r,loadError:null,loading:!0};case"prefixInput":return{...r,prefixInput:e.value};case"reload":return{...r,bulk:[],bulkError:null,reloadNonce:r.reloadNonce+1,selectedKey:null};case"selectKey":return{...r,selectedKey:e.name};case"toggleAllBulk":return{...r,bulk:e.names};case"toggleBulk":return{...r,bulk:r.bulk.includes(e.name)?r.bulk.filter(s=>s!==e.name):[...r.bulk,e.name]};default:return r}},"keyListReducer"),Ze=n(({namespace:r})=>{let e=Y(),s=U(),[u,d]=(0,J.useReducer)(Ue,ze),{appliedPrefix:f,bulk:o,bulkBusy:t,bulkError:a,cursor:p,keys:c,listComplete:x,loadError:b,loading:M,prefixInput:V,reloadNonce:L,selectedKey:h}=u,[v,y]=(0,J.useState)(!1);(0,J.useEffect)(()=>{let i={cancelled:!1};return R((async()=>{d({type:"loadStart"});try{let m=await e.listKvKeys({limit:we,namespace:r,prefix:f===""?void 0:f});i.cancelled||d({cursor:m.cursor??null,keys:m.keys,listComplete:m.listComplete,type:"firstPage"})}catch(m){i.cancelled||d({error:z(m),type:"loadFailed"})}})()),()=>{i.cancelled=!0}},[e,r,f,L]);let N=n(i=>{d({type:"prefixInput",value:i.target.value})},"onPrefixChange"),C=n(()=>{d({type:"applyFilter"})},"onFilter"),S=n(i=>{d({name:i.currentTarget.dataset.key??null,type:"selectKey"})},"onSelectKey"),k=n(()=>{p!==null&&(d({type:"loadStart"}),R((async()=>{try{let i=await e.listKvKeys({cursor:p,limit:we,namespace:r,prefix:f===""?void 0:f});d({cursor:i.cursor??null,keys:i.keys,listComplete:i.listComplete,type:"appendPage"})}catch(i){d({error:z(i),type:"loadFailed"})}})()))},"onLoadMore"),w=n(i=>{d({name:i,type:"keyDeleted"})},"onKeyDeleted"),E=n(i=>{d({name:i,type:"toggleBulk"})},"onToggleBulk"),B=n(i=>{d({names:i&&c!==null?c.map(m=>m.name):[],type:"toggleAllBulk"})},"onToggleAll"),I=n(()=>{if(o.length===0)return;let i=[...o];d({type:"bulkDeleteStart"}),R((async()=>{let m=await Promise.allSettled(i.map(_=>e.deleteKvKey({key:_,namespace:r}))),K=i.filter((_,F)=>m[F]?.status==="fulfilled"),T=i.length-K.length;d({deleted:K,error:T>0?s("Failed to delete {count} keys.",{count:T}):null,type:"bulkDeleted"})})())},"onBulkDelete"),O=n(()=>{y(!1),d({type:"reload"})},"onCreated"),D=c!==null&&c.length>0&&o.length===c.length;return(0,l.jsxDEV)(l.Fragment,{children:[(0,l.jsxDEV)("section",{className:"border border-border bg-card p-3","data-testid":"kv-keys-section",children:[(0,l.jsxDEV)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,l.jsxDEV)(le,{"aria-label":s("Filter keys by prefix"),className:"min-w-[16rem] flex-1","data-testid":"kv-prefix-input",onChange:N,placeholder:s("Filter by prefix\u2026"),value:V},void 0,!1),(0,l.jsxDEV)($,{"data-testid":"kv-filter-btn",disabled:M,onClick:C,children:s("Filter")},void 0,!1),(0,l.jsxDEV)($,{"data-testid":"kv-new-key-btn",onClick:n(()=>{y(i=>!i)},"onClick"),variant:"outline",children:s("New key")},void 0,!1),o.length>0&&(0,l.jsxDEV)($,{"data-testid":"kv-bulk-delete-btn",disabled:t,onClick:I,variant:"destructive",children:t?s("Deleting\u2026"):s("Delete {count}",{count:o.length})},void 0,!1)]},void 0,!0),a!==null&&(0,l.jsxDEV)("p",{className:"mb-2 text-sm text-destructive","data-testid":"kv-bulk-error",role:"alert",children:a},void 0,!1),b!==null&&(0,l.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"kv-keys-error",role:"alert",children:b},void 0,!1),c!==null&&c.length===0&&!M&&(0,l.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-no-keys",children:s("No keys.")},void 0,!1),c!==null&&c.length>0&&(0,l.jsxDEV)(re,{className:"overflow-hidden py-0",children:(0,l.jsxDEV)(se,{className:"px-0",children:(0,l.jsxDEV)(de,{"data-testid":"kv-key-table",children:[(0,l.jsxDEV)(ne,{children:(0,l.jsxDEV)(q,{children:[(0,l.jsxDEV)(Q,{className:"w-10",children:(0,l.jsxDEV)(ue,{"aria-label":s("Select all"),checked:D,"data-testid":"kv-select-all",onCheckedChange:B},void 0,!1)},void 0,!1),(0,l.jsxDEV)(Q,{children:s("Key")},void 0,!1),(0,l.jsxDEV)(Q,{children:s("Expiration")},void 0,!1)]},void 0,!0)},void 0,!1),(0,l.jsxDEV)(oe,{children:c.map(i=>(0,l.jsxDEV)(q,{className:i.name===h?"border-l-2 border-l-royal-amethyst bg-muted/50":"cursor-pointer","data-key":i.name,"data-testid":`kv-key-row-${i.name}`,onClick:S,children:[(0,l.jsxDEV)(X,{onClick:n(m=>{m.stopPropagation()},"onClick"),children:(0,l.jsxDEV)(ue,{"aria-label":s("Select {name}",{name:i.name}),checked:o.includes(i.name),"data-testid":`kv-select-${i.name}`,onCheckedChange:n(()=>{E(i.name)},"onCheckedChange")},void 0,!1)},void 0,!1),(0,l.jsxDEV)(X,{className:"font-mono text-xs",children:i.name},void 0,!1),(0,l.jsxDEV)(X,{className:"tabular-nums text-xs",children:Oe(i.expiration)},void 0,!1)]},i.name,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),!x&&p!==null&&(0,l.jsxDEV)("div",{className:"mt-2",children:(0,l.jsxDEV)($,{"data-testid":"kv-load-more",disabled:M,onClick:k,variant:"outline",children:s(M?"Loading\u2026":"Load more")},void 0,!1)},void 0,!1)]},void 0,!0),(0,l.jsxDEV)(me,{onOpenChange:n(i=>{i||y(!1)},"onOpenChange"),open:v,children:(0,l.jsxDEV)(ve,{className:"w-full gap-0 overflow-y-auto sm:max-w-md","data-testid":"kv-create-sheet",side:"right",children:[(0,l.jsxDEV)(fe,{children:(0,l.jsxDEV)(pe,{children:s("New key")},void 0,!1)},void 0,!1),(0,l.jsxDEV)($e,{namespace:r,onCancel:n(()=>{y(!1)},"onCancel"),onCreated:O},void 0,!1)]},void 0,!0)},void 0,!1),(0,l.jsxDEV)(me,{onOpenChange:n(i=>{i||d({name:null,type:"selectKey"})},"onOpenChange"),open:h!==null,children:(0,l.jsxDEV)(ve,{className:"w-full gap-0 overflow-y-auto sm:max-w-md","data-testid":"kv-editor-sheet",side:"right",children:[(0,l.jsxDEV)(fe,{children:(0,l.jsxDEV)(pe,{className:"truncate font-mono text-xs",children:h},void 0,!1)},void 0,!1),h!==null&&(0,l.jsxDEV)(je,{expiration:c?.find(i=>i.name===h)?.expiration,keyName:h,namespace:r,onDeleted:w},`${r}:${h}`,!1)]},void 0,!0)},void 0,!1)]},void 0,!0)},"KvKeyList"),ot=n(({loadNamespaces:r}={})=>{let e=Y(),s=U(),[u,d]=(0,J.useState)(null),[f,o]=(0,J.useState)(null),[t,a]=(0,J.useState)(null);(0,J.useEffect)(()=>{let c={cancelled:!1};return R((async()=>{try{let x=await(r??(()=>e.listKvNamespaces()))();c.cancelled||(d(x),o(null),a(b=>b??x[0]?.binding??null))}catch(x){c.cancelled||(d(null),o(z(x)))}})()),()=>{c.cancelled=!0}},[e,r]);let p=n(c=>{a(c.currentTarget.dataset.ns??null)},"onSelectNs");return(0,l.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"lunora-kv-browser",children:[f!==null&&(0,l.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"kv-ns-error",role:"alert",children:f},void 0,!1),u!==null&&u.length===0&&(0,l.jsxDEV)(ye,{description:s("Add a kv_namespaces binding to wrangler.jsonc \u2014 it appears here automatically, no wiring needed."),icon:(0,l.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,l.jsxDEV)("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"},void 0,!1)},void 0,!1),testId:"kv-empty",title:s("No KV namespaces.")},void 0,!1),u!==null&&u.length>0&&(0,l.jsxDEV)(re,{className:"overflow-hidden py-0",children:(0,l.jsxDEV)(se,{className:"px-0",children:(0,l.jsxDEV)(de,{"data-testid":"kv-namespace-table",children:[(0,l.jsxDEV)(ne,{children:(0,l.jsxDEV)(q,{children:(0,l.jsxDEV)(Q,{children:s("Namespace")},void 0,!1)},void 0,!1)},void 0,!1),(0,l.jsxDEV)(oe,{children:u.map(c=>(0,l.jsxDEV)(q,{className:c.binding===t?"border-l-2 border-l-royal-amethyst bg-muted/50":"cursor-pointer","data-ns":c.binding,"data-testid":`kv-ns-row-${c.binding}`,onClick:p,children:(0,l.jsxDEV)(X,{className:"font-mono text-xs",children:c.binding},void 0,!1)},c.binding,!1))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),t!==null&&(0,l.jsxDEV)(Ze,{namespace:t},t,!1)]},void 0,!0)},"KvBrowser");export{ot as KvBrowser};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w,b as C,c as S,d as h,e as i,f as n}from"./chunk-GTM65MVX.js";import{a as k}from"./chunk-AQGOX5DK.js";import{a as R}from"./chunk-TAD43CG5.js";import{b as T}from"./chunk-FCR3HKFV.js";import{a as y,e as N}from"./chunk-SEU5V7I6.js";import{b}from"./chunk-O4PXDNR3.js";import"./chunk-ZH7UES4T.js";import"./chunk-KODWGUAB.js";import"./chunk-3OA7PECS.js";import{d as g}from"./chunk-YJGANMU7.js";import{a as u,e as x,g as E,h as O}from"./chunk-RRCPZMC2.js";var A=x(E(),1);var t=x(O(),1);var B=u((e,o)=>({delete:e("Delete"),list:e("List"),read:e("Read"),write:e("Write")})[o],"operationLabel"),$={delete:2,list:3,read:0,write:1},D=u(e=>[...e].toSorted((o,r)=>o.bucket.localeCompare(r.bucket)||$[o.on]-$[r.on]||(o.prefix??"").localeCompare(r.prefix??"")),"sortRules"),G=u(()=>{let e=(0,A.c)(12),o=g(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={},e[0]=r):r=e[0];let{data:d,error:s}=T(k.storageRules,r),p=d!==void 0,c;if(e[1]!==d||e[2]!==s||e[3]!==p||e[4]!==o){let v=D(Array.isArray(d?.rules)?d.rules:[]),f;e[6]!==s?(f=s!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"storage-rules-error",role:"alert",children:s},void 0,!1),e[6]=s,e[7]=f):f=e[7];let l;e[8]!==o?(l=o("Storage rules are declared in code with defineStorageRule and gate ctx.storage access per bucket. This view is read-only."),e[8]=o,e[9]=l):l=e[9];let m;e[10]!==l?(m=(0,t.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"storage-rules-note",children:l},void 0,!1),e[10]=l,e[11]=m):m=e[11],c=(0,t.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"lunora-storage-rules-panel",children:[f,m,p&&v.length===0?(0,t.jsxDEV)(R,{description:o("No defineStorageRule is wired through .use(storageRules(...)) in this deployment. Add one to gate object access by key prefix."),testId:"storage-rules-empty",title:o("No storage rules defined")},void 0,!1):(0,t.jsxDEV)(y,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(N,{className:"px-0",children:(0,t.jsxDEV)(w,{"data-testid":"storage-rules-table",children:[(0,t.jsxDEV)(C,{children:(0,t.jsxDEV)(h,{children:[(0,t.jsxDEV)(i,{children:o("Bucket")},void 0,!1),(0,t.jsxDEV)(i,{children:o("Operation")},void 0,!1),(0,t.jsxDEV)(i,{children:o("Key prefix")},void 0,!1),(0,t.jsxDEV)(i,{children:o("Guarded by")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(S,{children:v.map(a=>(0,t.jsxDEV)(h,{"data-testid":`storage-rule-${a.bucket}-${a.on}-${a.prefix??""}`,children:[(0,t.jsxDEV)(n,{className:"font-mono text-xs",children:a.bucket},void 0,!1),(0,t.jsxDEV)(n,{children:(0,t.jsxDEV)(b,{variant:"secondary",children:B(o,a.on)},void 0,!1)},void 0,!1),(0,t.jsxDEV)(n,{className:"font-mono text-xs",children:a.prefix??(0,t.jsxDEV)("span",{className:"text-muted-foreground",children:o("(whole bucket)")},void 0,!1)},void 0,!1),(0,t.jsxDEV)(n,{className:"font-mono text-xs text-muted-foreground",children:a.procedure},void 0,!1)]},`${a.bucket}:${a.on}:${a.prefix??""}:${a.procedure}`,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1)]},void 0,!0),e[1]=d,e[2]=s,e[3]=p,e[4]=o,e[5]=c}else c=e[5];return c},"StorageRulesPanel");export{G as StorageRulesPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as de,e as j}from"./chunk-N4JI6VQD.js";import{a as ce}from"./chunk-7RYIQKZA.js";import"./chunk-FQKNJSRA.js";import"./chunk-BJGBHGK3.js";import"./chunk-UII66UVF.js";import"./chunk-KEGAWN6Y.js";import{a as ie}from"./chunk-TBMYIZIO.js";import"./chunk-HV7G6DFP.js";import{a as E}from"./chunk-AQGOX5DK.js";import{b as ne}from"./chunk-FCR3HKFV.js";import{a as S}from"./chunk-SEU5V7I6.js";import{b as A}from"./chunk-O4PXDNR3.js";import"./chunk-ZH7UES4T.js";import{f as ae,g as le}from"./chunk-KODWGUAB.js";import"./chunk-3OA7PECS.js";import{d as D,e as T,f as H,g as Q,i as F,l as oe}from"./chunk-YJGANMU7.js";import{a as h,e as k,f as ke,g as re,h as se,j as w}from"./chunk-RRCPZMC2.js";var ve=k(re(),1);var c=k(ke(),1);var ue=k(re(),1);var W=k(se(),1);var Ae={connected:"bg-success",connecting:"bg-warning",idle:"bg-muted-foreground",offline:"bg-destructive"},fe=h(()=>{let t=(0,ue.c)(16),e=D(),a=le(),s;e:switch(a){case"connected":{let n;t[0]!==e?(n=e("Connected"),t[0]=e,t[1]=n):n=t[1],s=n;break e}case"connecting":{let n;t[2]!==e?(n=e("Connecting\u2026"),t[2]=e,t[3]=n):n=t[3],s=n;break e}case"idle":{let n;t[4]!==e?(n=e("Idle"),t[4]=e,t[5]=n):n=t[5],s=n;break e}case"offline":{let n;t[6]!==e?(n=e("Offline"),t[6]=e,t[7]=n):n=t[7],s=n;break e}default:s=a}let l=Ae[a],d;t[8]!==l?(d=w("size-2 rounded-full",l),t[8]=l,t[9]=d):d=t[9];let u;t[10]!==d?(u=(0,W.jsxDEV)("span",{"aria-hidden":"true",className:d},void 0,!1),t[10]=d,t[11]=u):u=t[11];let i;return t[12]!==a||t[13]!==u||t[14]!==s?(i=(0,W.jsxDEV)("span",{"aria-live":"polite",className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground","data-status":a,"data-testid":"dash-connection",role:"status",children:[u,s]},void 0,!0),t[12]=a,t[13]=u,t[14]=s,t[15]=i):i=t[15],i},"ConnectionBadge");var r=k(se(),1);var me={completed:0,failed:2,in_progress:1},Re=h(t=>{let e=0,a=0,s=0,l=0,d=[];for(let{metrics:u}of t){if(u===null){l+=1;continue}s+=1,e+=u.requests,a+=u.errors,d.push(...u.history??[])}return{errors:a,failed:l,history:d,reachable:s,requests:e}},"sumShardMetrics"),Me=h(t=>{let e=new Map;for(let a of t)for(let s of a){let l=e.get(s.path);if(l===void 0){e.set(s.path,{...s});continue}l.calls+=s.calls,l.errors+=s.errors,l.totalDurationMs+=s.totalDurationMs,l.scans=(l.scans??0)+(s.scans??0),l.maxDurationMs=Math.max(l.maxDurationMs,s.maxDurationMs),l.lastCalledAt=Math.max(l.lastCalledAt,s.lastCalledAt),(s.lastErrorAt??0)>(l.lastErrorAt??0)&&(l.lastErrorAt=s.lastErrorAt,l.lastErrorMessage=s.lastErrorMessage)}return[...e.values()]},"mergeFunctionStats"),_e=h(t=>{let e=new Map;for(let a of t)for(let s of a){let l=e.get(s.id);if(l===void 0){e.set(s.id,s);continue}let d=me[s.status]-me[l.status];(d>0||d===0&&(s.updatedAt??0)>(l.updatedAt??0))&&e.set(s.id,s)}return[...e.values()]},"dedupeMigrations"),Ie=T(E.getAuthMetrics),Le=T(E.getFunctionStats),Ce=T(E.getLogs),Oe=T(E.getMetrics),qe=T(E.migrationStatus),De=5,he=2e3,Fe=5,pe=.01,ge=.05,je=.1,Ue=.3,Pe=1,Ge=50,X=h((t,e,a)=>t>=a?"crit":t>=e?"warn":"ok","rateLevel"),Ve=h((t,e,a)=>t>=a?"crit":t>=e?"warn":"ok","countLevel"),Be={crit:"destructive",ok:"secondary",warn:"default"},U=h((t,e)=>e===0?"\u2014":`${(t/e*100).toFixed(1)}%`,"ratePercent"),Ke=h(t=>{let e=new Map;for(let s of t??[]){let l=e.get(s.bucketMs)??{calls:0,errors:0};l.calls+=s.calls,l.errors+=s.errors,e.set(s.bucketMs,l)}let a=[...e.entries()].toSorted((s,l)=>s[0]-l[0]);return{errors:a.map(([,s])=>s.errors),requests:a.map(([,s])=>s.calls)}},"requestErrorSeries"),$e=h(t=>{let e=0,a=0;for(let l of t)l.status==="failed"?e+=1:l.status==="in_progress"&&(a+=1);let s="ok";return e>0?s="crit":a>0&&(s="warn"),{failed:e,level:s,running:a}},"migrationSummary"),ze=h((t,e)=>t.failed>0?e("{count} failed",{count:t.failed.toString()}):t.running>0?e("{count} running",{count:t.running.toString()}):e("OK"),"migrationTileValue"),xe={crit:"bg-destructive",ok:"bg-success",warn:"bg-warning"},Ne={crit:"text-destructive",ok:"text-foreground",warn:"text-warning"},He={crit:"bg-destructive/10 text-destructive",ok:"bg-success/10 text-success",warn:"bg-warning/10 text-warning"},Qe=h(t=>t.includes("crit")?"crit":t.includes("warn")?"warn":"ok","worstLevel"),P=h(t=>{let e=(0,ve.c)(19),{chart:a,label:s,level:l,testId:d,value:u}=t,i=xe[l],n;e[0]!==i?(n=w("size-1.5 shrink-0 rounded-full",i),e[0]=i,e[1]=n):n=e[1];let p;e[2]!==n?(p=(0,r.jsxDEV)("span",{"aria-hidden":"true",className:n},void 0,!1),e[2]=n,e[3]=p):p=e[3];let g;e[4]!==s||e[5]!==p?(g=(0,r.jsxDEV)("span",{className:"flex items-center gap-1.5 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:[p,s]},void 0,!0),e[4]=s,e[5]=p,e[6]=g):g=e[6];let b=Ne[l],m;e[7]!==b?(m=w("truncate text-2xl font-semibold tabular-nums",b),e[7]=b,e[8]=m):m=e[8];let f;e[9]!==m||e[10]!==d||e[11]!==u?(f=(0,r.jsxDEV)("span",{className:m,"data-testid":d,children:u},void 0,!1),e[9]=m,e[10]=d,e[11]=u,e[12]=f):f=e[12];let v;e[13]!==a||e[14]!==f?(v=(0,r.jsxDEV)("div",{className:"flex items-center justify-between gap-3",children:[f,a]},void 0,!0),e[13]=a,e[14]=f,e[15]=v):v=e[15];let x;return e[16]!==g||e[17]!==v?(x=(0,r.jsxDEV)(S,{className:"gap-0 py-0",children:(0,r.jsxDEV)("div",{className:"flex flex-col gap-2.5 p-4",children:[g,v]},void 0,!0)},void 0,!1),e[16]=g,e[17]=v,e[18]=x):x=e[18],x},"SloCard"),We=h(async(t,e,a)=>{let s=await Promise.all(a.map(m=>{let f=H(m);return Promise.allSettled([t.query(Oe,{},f),t.query(Le,{},f),t.query(qe,{},f)])})),l=H(e),d=typeof t.schedulerStatus=="function"?t.schedulerStatus():Promise.reject(new Error("scheduler status unavailable")),[u,i,n]=await Promise.allSettled([t.query(Ce,{},l),t.query(Ie,{},l),d]),p=s.map(([m,f,v])=>({functions:f.status==="fulfilled"?f.value.functions:[],metrics:m.status==="fulfilled"?m.value:null,migrations:v.status==="fulfilled"?v.value.migrations:[]})),g=Re(p),b=s[0]?.[0];return{auth:i.status==="fulfilled"?i.value:null,entries:u.status==="fulfilled"?u.value.entries:[],functions:Me(p.map(m=>m.functions)),logsError:u.status==="rejected"?Q(u.reason):null,metricsError:g.reachable===0&&b?.status==="rejected"?Q(b.reason):null,migrations:_e(p.map(m=>m.migrations)),scheduler:n.status==="fulfilled"?n.value:null,totals:g}},"loadSloData"),ht=h(({initialShardKey:t})=>{let e=ae(),a=D(),[s,l]=(0,c.useState)([]),[d,u]=(0,c.useState)(null),[i,n]=(0,c.useState)(null),[p,g]=(0,c.useState)(null),[b,m]=(0,c.useState)([]),[f,v]=(0,c.useState)(null),[x,be]=(0,c.useState)(null),[we,Ee]=(0,c.useState)([]),[y]=(0,c.useState)(ie),R=(0,c.useRef)(!1),G=(0,c.useRef)(!0);(0,c.useEffect)(()=>(G.current=!0,()=>{G.current=!1}),[]);let M=t??"",_=(0,c.useCallback)(async()=>{if(R.current)return;R.current=!0;let o=await We(e,M,de(M,y));if(!G.current){R.current=!1;return}n(o.totals),g(o.metricsError),m(o.functions),Ee(o.migrations),l(o.entries),u(o.logsError),v(o.auth),be(o.scheduler),R.current=!1},[e,y,M]);(0,c.useEffect)(()=>{F(_())},[_]);let V=(0,c.useRef)(0),I=(0,c.useRef)(null),Se=h(()=>{let o=Date.now()-V.current;if(o>=he){V.current=Date.now(),F(_());return}I.current??=setTimeout(()=>{I.current=null,V.current=Date.now(),F(_())},he-o)},"scheduleFanOut");(0,c.useEffect)(()=>()=>{I.current!==null&&clearTimeout(I.current)},[]);let{data:J,liveError:Te}=ne(E.getMetrics,{},{live:!0,shardKey:M});(0,c.useEffect)(()=>{J!==void 0&&Se()},[J]);let B=s.filter(o=>o.level==="error"),K=B.slice(0,De),L=Ke(i?.history),Y=(0,c.useMemo)(()=>{let o=f?.history??[];return{attempts:o.map(N=>N.attempts),failures:o.map(N=>N.failures)}},[f?.history]),Z=b.filter(o=>o.calls>0).toSorted((o,N)=>N.errors/N.calls-o.errors/o.calls||N.calls-o.calls).slice(0,Fe),$=$e(we),ye=i===null||i.requests===0?0:i.errors/i.requests,z=X(ye,pe,ge),ee=f===null?"ok":X(f.failureRate,je,Ue),te=x===null?"ok":Ve(x.backlog,Pe,Ge),C=Qe([z,ee,te,$.level]),O,q;return C==="crit"?(O=a("Critical"),q=a("One or more service levels are breached.")):C==="warn"?(O=a("Degraded"),q=a("Some service levels need attention.")):(O=a("All systems healthy"),q=a("All service levels are within target.")),(0,r.jsxDEV)("div",{className:"flex flex-col gap-6","data-testid":"lunora-health",children:[(0,r.jsxDEV)(S,{className:"gap-0 py-0",children:[(0,r.jsxDEV)("div",{className:"flex flex-wrap items-center justify-between gap-4 p-4",children:[(0,r.jsxDEV)("div",{className:"flex items-center gap-3",children:[(0,r.jsxDEV)("span",{"aria-hidden":"true",className:w("flex size-10 shrink-0 items-center justify-center rounded-full",He[C]),children:(0,r.jsxDEV)("span",{className:w("size-3 rounded-full",xe[C])},void 0,!1)},void 0,!1),(0,r.jsxDEV)("div",{className:"grid leading-tight",children:[(0,r.jsxDEV)("span",{className:"text-sm font-semibold text-foreground","data-testid":"hl-status",children:O},void 0,!1),(0,r.jsxDEV)("span",{className:"text-[13px] text-muted-foreground",children:q},void 0,!1)]},void 0,!0)]},void 0,!0),(0,r.jsxDEV)("div",{className:"flex flex-wrap items-center gap-4",children:[(0,r.jsxDEV)("div",{className:"text-end",children:[(0,r.jsxDEV)("div",{className:"font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:a("Requests")},void 0,!1),(0,r.jsxDEV)("div",{className:"flex items-center justify-end gap-2",children:[L.requests.length>=2&&(0,r.jsxDEV)(j,{ariaLabel:a("Requests over time"),className:"h-6 w-20 text-foreground",series:L.requests,testId:"hl-spark-requests"},void 0,!1),(0,r.jsxDEV)("span",{className:"text-lg font-semibold tabular-nums text-foreground","data-testid":"hl-requests",children:(i?.requests??0).toString()},void 0,!1)]},void 0,!0)]},void 0,!0),(0,r.jsxDEV)("span",{"aria-hidden":"true",className:"h-9 w-px bg-border"},void 0,!1),(0,r.jsxDEV)("div",{className:"text-end",children:[(0,r.jsxDEV)("div",{className:"font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:a("Error rate")},void 0,!1),(0,r.jsxDEV)("div",{className:w("text-lg font-semibold tabular-nums",Ne[z]),"data-testid":"hl-error-rate",children:i===null?"\u2014":U(i.errors,i.requests)},void 0,!1)]},void 0,!0),(0,r.jsxDEV)("span",{"aria-hidden":"true",className:"h-9 w-px bg-border"},void 0,!1),(0,r.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,r.jsxDEV)(fe,{},void 0,!1),(0,r.jsxDEV)(ce,{message:Te,prefix:"hl"},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0),p!==null&&(0,r.jsxDEV)("div",{className:"border-t border-border bg-destructive/5 px-4 py-2 text-sm text-destructive","data-testid":"hl-metrics-error",role:"alert",children:p},void 0,!1)]},void 0,!0),(0,r.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4","data-testid":"hl-slo",children:[(0,r.jsxDEV)(P,{chart:L.errors.length>=2?(0,r.jsxDEV)(j,{ariaLabel:a("Errors over time"),className:"h-7 w-20 text-destructive",series:L.errors,testId:"hl-spark-errors"},void 0,!1):void 0,label:a("Error rate"),level:z,testId:"hl-slo-errorrate",value:i===null?"\u2014":U(i.errors,i.requests)},void 0,!1),(0,r.jsxDEV)(P,{chart:Y.failures.length>=2?(0,r.jsxDEV)(j,{ariaLabel:a("Auth failures over time"),className:"h-7 w-20 text-destructive",series:Y.failures,testId:"hl-spark-auth"},void 0,!1):void 0,label:a("Auth failures"),level:ee,testId:"hl-slo-auth",value:f===null?"\u2014":U(f.failures,f.attempts)},void 0,!1),(0,r.jsxDEV)(P,{label:a("Scheduler backlog"),level:te,testId:"hl-slo-backlog",value:x===null?"\u2014":x.backlog.toString()},void 0,!1),(0,r.jsxDEV)(P,{label:a("Migrations"),level:$.level,testId:"hl-slo-migrations",value:ze($,a)},void 0,!1)]},void 0,!0),(0,r.jsxDEV)("div",{className:"grid gap-3 lg:grid-cols-2",children:[(0,r.jsxDEV)(S,{className:"gap-0 py-0","data-testid":"hl-functions",children:[(0,r.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Functions by error rate")},void 0,!1)},void 0,!1),Z.length===0?(0,r.jsxDEV)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"hl-functions-empty",children:a("No function activity yet.")},void 0,!1):(0,r.jsxDEV)("ul",{className:"divide-y divide-border",children:Z.map(o=>(0,r.jsxDEV)("li",{className:"flex flex-wrap items-center justify-between gap-2 px-4 py-2 text-xs","data-testid":"hl-fn-row",children:[(0,r.jsxDEV)("span",{className:"truncate font-mono text-foreground",children:o.path},void 0,!1),(0,r.jsxDEV)("span",{className:"flex shrink-0 items-center gap-2",children:[(0,r.jsxDEV)("span",{className:"tabular-nums text-muted-foreground",children:a("{count} calls",{count:o.calls.toString()})},void 0,!1),(0,r.jsxDEV)(A,{variant:Be[X(o.errors/o.calls,pe,ge)],children:U(o.errors,o.calls)},void 0,!1)]},void 0,!0)]},o.path,!0))},void 0,!1)]},void 0,!0),(0,r.jsxDEV)(S,{className:"gap-0 py-0",children:[(0,r.jsxDEV)("header",{className:"flex items-center justify-between gap-2 border-b border-border px-4 py-3",children:[(0,r.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Recent errors")},void 0,!1),(0,r.jsxDEV)(A,{"data-testid":"hl-error-count",variant:B.length>0?"destructive":"outline",children:B.length},void 0,!1)]},void 0,!0),d!==null&&(0,r.jsxDEV)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"hl-logs-error",role:"alert",children:d},void 0,!1),d===null&&K.length===0&&(0,r.jsxDEV)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"hl-errors-empty",children:a("No recent errors.")},void 0,!1),K.length>0&&(0,r.jsxDEV)("ul",{className:"divide-y divide-border",children:K.map((o,N)=>(0,r.jsxDEV)("li",{className:"flex flex-col gap-0.5 px-4 py-2 text-xs","data-testid":"hl-error-row",children:[(0,r.jsxDEV)("span",{className:"flex items-center gap-2",children:[(0,r.jsxDEV)("time",{className:"shrink-0 text-muted-foreground",children:oe(o.timestamp)},void 0,!1),o.functionPath!==void 0&&(0,r.jsxDEV)("span",{className:"truncate font-mono text-foreground",children:o.functionPath},void 0,!1)]},void 0,!0),(0,r.jsxDEV)("span",{className:"text-destructive",children:o.message},void 0,!1)]},`${o.timestamp.toString()}-${N.toString()}`,!0))},void 0,!1)]},void 0,!0)]},void 0,!0),(0,r.jsxDEV)(S,{className:"gap-0 py-0",children:[(0,r.jsxDEV)("header",{className:"flex items-center justify-between gap-2 border-b border-border px-4 py-3",children:[(0,r.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Shards seen")},void 0,!1),(0,r.jsxDEV)(A,{"data-testid":"hl-shard-count",variant:"outline",children:y.length},void 0,!1)]},void 0,!0),y.length>0&&(0,r.jsxDEV)("ul",{className:"flex flex-wrap gap-1.5 p-4",children:y.map(o=>(0,r.jsxDEV)("li",{"data-testid":"hl-shard",children:(0,r.jsxDEV)(A,{variant:"secondary",children:o},void 0,!1)},o,!1))},void 0,!1)]},void 0,!0)]},void 0,!0)},"HealthPanel");export{ht as HealthPanel};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as s,c as m,f as S}from"./chunk-RRCPZMC2.js";var O=m(o=>{"use strict";(function(){function c(){}s(c,"noop");function y(t){return""+t}s(y,"testStringCoercion");function _(t,e,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;try{y(a);var l=!1}catch{l=!0}return l&&(console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",typeof Symbol=="function"&&Symbol.toStringTag&&a[Symbol.toStringTag]||a.constructor.name||"Object"),y(a)),{$$typeof:E,key:a==null?null:""+a,children:t,containerInfo:e,implementation:r}}s(_,"createPortal$1");function d(t,e){if(t==="font")return"";if(typeof e=="string")return e==="use-credentials"?e:""}s(d,"getCrossOriginStringAs");function i(t){return t===null?"`null`":t===void 0?"`undefined`":t===""?"an empty string":'something with type "'+typeof t+'"'}s(i,"getValueDescriptorExpectingObjectForWarning");function u(t){return t===null?"`null`":t===void 0?"`undefined`":t===""?"an empty string":typeof t=="string"?JSON.stringify(t):typeof t=="number"?"`"+t+"`":'something with type "'+typeof t+'"'}s(u,"getValueDescriptorExpectingEnumForWarning");function p(){var t=f.H;return t===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
2
|
+
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
3
|
+
2. You might be breaking the Rules of Hooks
|
|
4
|
+
3. You might have more than one copy of React in the same app
|
|
5
|
+
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),t}s(p,"resolveDispatcher"),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var v=S(),n={d:{f:c,r:s(function(){throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.")},"r"),D:c,C:c,L:c,m:c,X:c,S:c,M:c},p:0,findDOMNode:null},E=Symbol.for("react.portal"),f=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;typeof Map=="function"&&Map.prototype!=null&&typeof Map.prototype.forEach=="function"&&typeof Set=="function"&&Set.prototype!=null&&typeof Set.prototype.clear=="function"&&typeof Set.prototype.forEach=="function"||console.error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,o.createPortal=function(t,e){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw Error("Target container is not a DOM element.");return _(t,e,null,r)},o.flushSync=function(t){var e=f.T,r=n.p;try{if(f.T=null,n.p=2,t)return t()}finally{f.T=e,n.p=r,n.d.f()&&console.error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.")}},o.preconnect=function(t,e){typeof t=="string"&&t?e!=null&&typeof e!="object"?console.error("ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",u(e)):e!=null&&typeof e.crossOrigin!="string"&&console.error("ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",i(e.crossOrigin)):console.error("ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",i(t)),typeof t=="string"&&(e?(e=e.crossOrigin,e=typeof e=="string"?e==="use-credentials"?e:"":void 0):e=null,n.d.C(t,e))},o.prefetchDNS=function(t){if(typeof t!="string"||!t)console.error("ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",i(t));else if(1<arguments.length){var e=arguments[1];typeof e=="object"&&e.hasOwnProperty("crossOrigin")?console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",u(e)):console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",u(e))}typeof t=="string"&&n.d.D(t)},o.preinit=function(t,e){if(typeof t=="string"&&t?e==null||typeof e!="object"?console.error("ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",u(e)):e.as!=="style"&&e.as!=="script"&&console.error('ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',u(e.as)):console.error("ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",i(t)),typeof t=="string"&&e&&typeof e.as=="string"){var r=e.as,a=d(r,e.crossOrigin),l=typeof e.integrity=="string"?e.integrity:void 0,g=typeof e.fetchPriority=="string"?e.fetchPriority:void 0;r==="style"?n.d.S(t,typeof e.precedence=="string"?e.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:g}):r==="script"&&n.d.X(t,{crossOrigin:a,integrity:l,fetchPriority:g,nonce:typeof e.nonce=="string"?e.nonce:void 0})}},o.preinitModule=function(t,e){var r="";typeof t=="string"&&t||(r+=" The `href` argument encountered was "+i(t)+"."),e!==void 0&&typeof e!="object"?r+=" The `options` argument encountered was "+i(e)+".":e&&"as"in e&&e.as!=="script"&&(r+=" The `as` option encountered was "+u(e.as)+"."),r?console.error("ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",r):(r=e&&typeof e.as=="string"?e.as:"script",r)==="script"||(r=u(r),console.error('ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',r,t)),typeof t=="string"&&(typeof e=="object"&&e!==null?(e.as==null||e.as==="script")&&(r=d(e.as,e.crossOrigin),n.d.M(t,{crossOrigin:r,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0})):e==null&&n.d.M(t))},o.preload=function(t,e){var r="";if(typeof t=="string"&&t||(r+=" The `href` argument encountered was "+i(t)+"."),e==null||typeof e!="object"?r+=" The `options` argument encountered was "+i(e)+".":typeof e.as=="string"&&e.as||(r+=" The `as` option encountered was "+i(e.as)+"."),r&&console.error('ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',r),typeof t=="string"&&typeof e=="object"&&e!==null&&typeof e.as=="string"){r=e.as;var a=d(r,e.crossOrigin);n.d.L(t,r,{crossOrigin:a,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0,type:typeof e.type=="string"?e.type:void 0,fetchPriority:typeof e.fetchPriority=="string"?e.fetchPriority:void 0,referrerPolicy:typeof e.referrerPolicy=="string"?e.referrerPolicy:void 0,imageSrcSet:typeof e.imageSrcSet=="string"?e.imageSrcSet:void 0,imageSizes:typeof e.imageSizes=="string"?e.imageSizes:void 0,media:typeof e.media=="string"?e.media:void 0})}},o.preloadModule=function(t,e){var r="";typeof t=="string"&&t||(r+=" The `href` argument encountered was "+i(t)+"."),e!==void 0&&typeof e!="object"?r+=" The `options` argument encountered was "+i(e)+".":e&&"as"in e&&typeof e.as!="string"&&(r+=" The `as` option encountered was "+i(e.as)+"."),r&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',r),typeof t=="string"&&(e?(r=d(e.as,e.crossOrigin),n.d.m(t,{as:typeof e.as=="string"&&e.as!=="script"?e.as:void 0,crossOrigin:r,integrity:typeof e.integrity=="string"?e.integrity:void 0})):n.d.m(t))},o.requestFormReset=function(t){n.d.r(t)},o.unstable_batchedUpdates=function(t,e){return t(e)},o.useFormState=function(t,e,r){return p().useFormState(t,e,r)},o.useFormStatus=function(){return p().useHostTransitionStatus()},o.version="19.2.7",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var b=m((R,h)=>{"use strict";h.exports=O()});export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as a,L as j,_ as de,c as J,e as ce,f as le,g as pe,h as fe,pa as me,za as ge}from"./chunk-NNISYDNI.js";import{b as H}from"./chunk-5OIBXYZM.js";import{F as B,J as k,O as Y,P as z,h as ue,p as ae}from"./chunk-BHTPZS7L.js";import{a as P,c as F,i as ie,r as se}from"./chunk-TICVNLPM.js";import{a as re}from"./chunk-HV7G6DFP.js";import{g as O,i as w}from"./chunk-ZH7UES4T.js";import{a as we}from"./chunk-3OA7PECS.js";import{a as r,e as b,f as q}from"./chunk-RRCPZMC2.js";var he=b(q(),1),Q=b(re(),1);function $e(e,t){let n=he.useRef(null);function o(u){Q.flushSync(()=>{e.setOpen(!1,z(Y.focusOut,u.nativeEvent,u.currentTarget))}),pe(n.current)?.focus()}r(o,"handlePreFocusGuardFocus");function c(u){let i=e.select("positionerElement");if(i&&fe(u,i))e.context.beforeContentFocusGuardRef.current?.focus();else{Q.flushSync(()=>{e.setOpen(!1,z(Y.focusOut,u.nativeEvent,u.currentTarget))});let s=le(e.context.triggerFocusTargetRef.current||t.current);for(;s!==null&&ae(i,s);){let m=s;if(s=ce(s),s===m)break}s?.focus()}}return r(c,"handleFocusTargetFocus"),{preFocusGuardRef:n,handlePreFocusGuardFocus:o,handleFocusTargetFocus:c}}r($e,"useTriggerFocusGuards");var l=b(q(),1),ve=b(re(),1);var M=b(q(),1);function X(e){let t=se(e),n=parseFloat(t.width)||0,o=parseFloat(t.height)||0,c=ie(e),u=c?e.offsetWidth:n,i=c?e.offsetHeight:o;return(J(n)!==u||J(o)!==i)&&(n=u,o=i),{width:n,height:o}}r(X,"getCssDimensions");function Re(e){let{popupElement:t,positionerElement:n,content:o,mounted:c,onMeasureLayout:u,onMeasureLayoutComplete:i,side:s,direction:m}=e,x=k(t,!0,!1),g=B(),p=M.useRef(null),D=M.useRef(!0),f=M.useRef(O),I=F(u),v=F(i),C=M.useMemo(()=>{let h=s==="top",R=s==="left";return m==="rtl"?(h=h||s==="inline-end",R=R||s==="inline-end"):(h=h||s==="inline-start",R=R||s==="inline-start"),h?{position:"absolute",[s==="top"?"bottom":"top"]:"0",[R?"right":"left"]:"0"}:w},[s,m]);P(()=>{if(!c){f.current=O,D.current=!0,p.current=null;return}if(!t||!n)return;f.current=ye(t,C),Z(t,"auto");let h=K(t,"position","static"),R=K(t,"transform","none"),U=K(t,"scale","1"),y=ye(n,{"--available-width":"max-content","--available-height":"max-content"});function T(){h(),R(),y()}r(T,"restoreMeasurementOverrides");function L(){T(),U()}if(r(L,"restoreMeasurementOverridesIncludingScale"),I?.(),D.current||p.current===null){G(n,"max-content");let E=X(t);return p.current=E,G(n,E),L(),v?.(null,E),D.current=!1,()=>{f.current(),f.current=O}}G(n,"max-content");let N=p.current,S=X(t);p.current=S,Z(t,N),L(),v?.(N,S),G(n,S);let $=new AbortController;return g.request(()=>{Z(t,S),x(()=>{t.style.setProperty("--popup-width","auto"),t.style.setProperty("--popup-height","auto")},$.signal)}),()=>{$.abort(),g.cancel(),f.current(),f.current=O}},[o,t,n,x,g,c,I,v,C])}r(Re,"usePopupAutoResize");function K(e,t,n){let o=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{e.style.setProperty(t,o)}}r(K,"overrideElementStyle");function ye(e,t){let n=[];for(let[o,c]of Object.entries(t))n.push(K(e,o,c));return n.length?()=>{n.forEach(o=>o())}:O}r(ye,"applyElementStyles");function Z(e,t){let n=t==="auto"?"auto":`${t.width}px`,o=t==="auto"?"auto":`${t.height}px`;e.style.setProperty("--popup-width",n),e.style.setProperty("--popup-height",o)}r(Z,"setPopupCssSize");function G(e,t){let n=t==="max-content"?"max-content":`${t.width}px`,o=t==="max-content"?"max-content":`${t.height}px`;e.style.setProperty("--positioner-width",n),e.style.setProperty("--positioner-height",o)}r(G,"setPositionerCssSize");var A=b(we(),1);function pt(e){let{store:t,side:n,cssVars:o,children:c}=e,u=H(),i=t.useState("activeTriggerElement"),s=t.useState("activeTriggerId"),m=t.useState("open"),x=t.useState("payload"),g=t.useState("mounted"),p=t.useState("popupElement"),D=t.useState("positionerElement"),f=ge(m?i:null),I=Ae(s,x),v=l.useRef(null),[C,h]=l.useState(null),[R,U]=l.useState(null),y=l.useRef(null),T=l.useRef(null),L=k(y,!0,!1),N=B(),[S,$]=l.useState(null),[E,te]=l.useState(!1);P(()=>(t.set("hasViewport",!0),()=>{t.set("hasViewport",!1)}),[t]);let Te=F(()=>{y.current?.style.setProperty("animation","none"),y.current?.style.setProperty("transition","none"),T.current?.style.setProperty("display","none")}),Ee=F(d=>{y.current?.style.removeProperty("animation"),y.current?.style.removeProperty("transition"),T.current?.style.removeProperty("display"),d&&$(d)}),W=l.useRef(null);P(()=>{(!m||!g)&&(W.current=null)},[m,g]),P(()=>{if(i&&f&&i!==f&&W.current!==i&&v.current){h(v.current),te(!0);let d=Me(f,i);U(d),N.request(()=>{ve.flushSync(()=>{te(!1)}),L(()=>{h(null),$(null),v.current=null})}),W.current=i}},[i,f,C,L,N]),P(()=>{let d=y.current;if(!d)return;let oe=ue(d).createElement("div");for(let Oe of Array.from(d.childNodes))oe.appendChild(Oe.cloneNode(!0));v.current=oe});let ne=C!=null,_;ne?_=(0,A.jsxs)(l.Fragment,{children:[(0,A.jsx)("div",{"data-previous":!0,inert:me(!0),ref:T,style:{...S?{[o.popupWidth]:`${S.width}px`,[o.popupHeight]:`${S.height}px`}:null,position:"absolute"},"data-ending-style":E?void 0:""},"previous"),(0,A.jsx)("div",{"data-current":!0,ref:y,"data-starting-style":E?"":void 0,children:c},I)]}):_=(0,A.jsx)("div",{"data-current":!0,ref:y,children:c},I),P(()=>{let d=T.current;!d||!C||d.replaceChildren(...Array.from(C.childNodes))},[C]),Re({popupElement:p,positionerElement:D,mounted:g,content:x,onMeasureLayout:Te,onMeasureLayoutComplete:Ee,side:n,direction:u});let be={activationDirection:Fe(R),transitioning:ne};return{children:_,state:be}}r(pt,"usePopupViewport");function Fe(e){if(e)return`${Pe(e.horizontal,5,"right","left")} ${Pe(e.vertical,5,"down","up")}`}r(Fe,"getActivationDirection");function Pe(e,t,n,o){return e>t?n:e<-t?o:""}r(Pe,"getValueWithTolerance");function Me(e,t){let n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),c={x:n.left+n.width/2,y:n.top+n.height/2},u={x:o.left+o.width/2,y:o.top+o.height/2};return{horizontal:u.x-c.x,vertical:u.y-c.y}}r(Me,"calculateRelativePosition");function Ae(e,t){let[n,o]=l.useState(0),c=l.useRef(e),u=l.useRef(t),i=l.useRef(!1);return P(()=>{let s=c.current,m=u.current,x=e!==s,g=t!==m;x?(o(p=>p+1),i.current=!g):i.current&&g&&(o(p=>p+1),i.current=!1),c.current=e,u.current=t},[e,t]),`${e??"current"}-${n}`}r(Ae,"usePopupContentKey");function Ce(){return new j({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new de,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}r(Ce,"getEmptyRootContext");function St(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:Ce(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:w,inactiveTriggerProps:w,popupProps:w}}r(St,"createInitialPopupStoreState");function xt(e,t,n=!1){return new j({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0})}r(xt,"createPopupFloatingRootContext");var V=a(e=>e.triggerIdProp??e.activeTriggerId),ee=a(e=>e.openProp??e.open),Se=a(e=>(e.popupElement?.id??e.floatingId)||void 0);function xe(e,t){return t!==void 0&&ee(e)&&V(e)===t}r(xe,"triggerOwnsOpenPopup");function De(e,t){return xe(e,t)?!0:t!==void 0&&ee(e)&&V(e)==null&&e.triggerCount===1}r(De,"triggerOwnsOpenPopupOrIsOnlyTrigger");var Tt={open:ee,mounted:a(e=>e.mounted),transitionStatus:a(e=>e.transitionStatus),floatingRootContext:a(e=>e.floatingRootContext),triggerCount:a(e=>e.triggerCount),preventUnmountingOnClose:a(e=>e.preventUnmountingOnClose),payload:a(e=>e.payload),activeTriggerId:V,activeTriggerElement:a(e=>e.mounted?e.activeTriggerElement:null),popupId:Se,isTriggerActive:a((e,t)=>t!==void 0&&V(e)===t),isOpenedByTrigger:a((e,t)=>xe(e,t)),isMountedByTrigger:a((e,t)=>t!==void 0&&V(e)===t&&e.mounted),triggerProps:a((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:a((e,t)=>De(e,t)?Se(e):void 0),popupProps:a(e=>e.popupProps),popupElement:a(e=>e.popupElement),positionerElement:a(e=>e.positionerElement)};export{St as a,xt as b,Tt as c,$e as d,pt as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l,e as m,f as v,g as E}from"./chunk-RRCPZMC2.js";var R=m(E(),1),e=m(v(),1);var g=5e3,p=l((r,o,f)=>{let t=(0,R.c)(6),s=f===void 0?g:f,i=(0,e.useRef)(r),c;t[0]!==r?(c=l(()=>{i.current=r},"t1"),t[0]=r,t[1]=c):c=t[1],(0,e.useEffect)(c);let n,u;t[2]!==o||t[3]!==s?(n=l(()=>{if(!o)return;let a=setInterval(()=>{globalThis.document?.hidden!==!0&&i.current()},s);return()=>{clearInterval(a)}},"t2"),u=[o,s],t[2]=o,t[3]=s,t[4]=n,t[5]=u):(n=t[4],u=t[5]),(0,e.useEffect)(n,u)},"useAutoRefresh");export{p as a};
|