@lunora/studio 1.0.0-alpha.79 → 1.0.0-alpha.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +28 -14
- package/dist/index.js +1 -1
- package/dist/mount.d.ts +1 -1
- package/dist/mount.js +1 -1
- package/dist/packem_chunks/ApiTab.js +1 -1
- package/dist/packem_chunks/AuditPanel.js +1 -1
- package/dist/packem_chunks/DeploymentHealthPanel.js +1 -1
- package/dist/packem_chunks/ExportImportPanel.js +3 -3
- package/dist/packem_chunks/FileBrowser.js +4 -4
- package/dist/packem_chunks/FunctionRunner.js +1 -1
- package/dist/packem_chunks/FunctionStatsPanel.js +1 -1
- package/dist/packem_chunks/HealthPanel.js +1 -1
- package/dist/packem_chunks/InsightsPanel.js +1 -1
- package/dist/packem_chunks/LogsPanel.js +1 -1
- package/dist/packem_chunks/MailPanel.js +2 -2
- package/dist/packem_chunks/MetricsPanel.js +1 -1
- package/dist/packem_chunks/NotificationsPanel.js +1 -1
- package/dist/packem_chunks/PitrPanel.js +1 -1
- package/dist/packem_chunks/SchemaViewer.js +1 -2
- package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -1
- package/dist/packem_chunks/SettingsPanel.js +1 -1
- package/dist/packem_chunks/SqlEditorPanel.js +6 -4
- package/dist/packem_chunks/TableEditor.js +1 -1
- package/dist/packem_chunks/agents-panel.js +1 -1
- package/dist/packem_chunks/analytics-panel.js +1 -1
- package/dist/packem_chunks/auth-audit-panel.js +1 -1
- package/dist/packem_chunks/auth-config-panel.js +1 -1
- package/dist/packem_chunks/auth-sessions-panel.js +1 -1
- package/dist/packem_chunks/containers-panel.js +1 -1
- package/dist/packem_chunks/dashboards-panel.js +1 -1
- package/dist/packem_chunks/fanout-panel.js +1 -1
- package/dist/packem_chunks/flags-panel.js +1 -1
- package/dist/packem_chunks/issues-panel.js +1 -1
- package/dist/packem_chunks/kv-browser.js +1 -1
- package/dist/packem_chunks/log-drains-panel.js +4 -4
- package/dist/packem_chunks/migrations-route.js +1 -0
- package/dist/packem_chunks/organizations-panel.js +1 -1
- package/dist/packem_chunks/payments-panel.js +1 -1
- package/dist/packem_chunks/permissions-panel.js +1 -1
- package/dist/packem_chunks/queues-panel.js +1 -1
- package/dist/packem_chunks/rls-panel.js +1 -1
- package/dist/packem_chunks/schedule-panel.js +1 -1
- package/dist/packem_chunks/sparkline.js +1 -1
- package/dist/packem_chunks/storage-rules-panel.js +1 -1
- package/dist/packem_chunks/subscriptions-panel.js +1 -1
- package/dist/packem_chunks/sync-client-panel.js +1 -1
- package/dist/packem_chunks/traces-panel.js +1 -1
- package/dist/packem_chunks/users-panel.js +1 -1
- package/dist/packem_chunks/vector-browser.js +1 -1
- package/dist/packem_chunks/workflows-panel.js +1 -1
- package/dist/packem_shared/ADMIN_FUNCTIONS-BnD4aovm.js +1 -0
- package/dist/packem_shared/ApiDocsPanel-DfUQ1ZAF.js +2 -0
- package/dist/packem_shared/{ApiReferencePanel-C42v1jr6.js → ApiReferencePanel-9q8BbJl-.js} +1 -1
- package/dist/packem_shared/CommandPalette--SQwfTW1.js +1 -0
- package/dist/packem_shared/DataBrowser-CuRlztBz.js +1 -0
- package/dist/packem_shared/DataFilters-B26ZeqBZ.js +1 -0
- package/dist/packem_shared/GlobalDataBrowser-DB-vQ2_H.js +1 -0
- package/dist/packem_shared/HomePanel-Dcs4a3Ax.js +1 -0
- package/dist/packem_shared/MigrationsPanel-C2OnsqRb.js +1 -0
- package/dist/packem_shared/{OpenRpcReferencePanel-sGsIgYWj.js → OpenRpcReferencePanel-qOZcWXMs.js} +1 -1
- package/dist/packem_shared/ScheduledJobs-D8kBZWBu.js +1 -0
- package/dist/packem_shared/Studio-B26_pT8J.js +1 -0
- package/dist/packem_shared/StudioApp-bXhJeLlZ.js +1 -0
- package/dist/packem_shared/advisor-view-Pa8HLtBv.js +1 -0
- package/dist/packem_shared/{app.d-bRPJhby-.d.ts → app.d-DW7yZsfu.d.ts} +1 -3
- package/dist/packem_shared/bar-chart-DraN_srt.js +9 -0
- package/dist/packem_shared/data-grid-DcxyIXwG.js +1 -0
- package/dist/packem_shared/data-view-params-ClrV7XgF.js +1 -0
- package/dist/packem_shared/error-alert-t6cpEi0z.js +1 -0
- package/dist/packem_shared/grid-features-jnrD0SpX.js +6 -0
- package/dist/packem_shared/{home-panel-Cm88Nvqh.js → home-panel-CU6MWLHG.js} +2 -2
- package/dist/packem_shared/{internal-AtZ4bTal.js → internal-BSIsQVC6.js} +1 -1
- package/dist/packem_shared/live-status-CmuRLFKf.js +1 -0
- package/dist/packem_shared/operation-console-provider-BMJNtiyB.js +1 -0
- package/dist/packem_shared/recording-client-DRAZEmzE.js +1 -0
- package/dist/packem_shared/reference-view-DnYYWr7I.js +12 -0
- package/dist/packem_shared/result-chart-DzJOVsaw.js +1 -0
- package/dist/packem_shared/schema-diagram-cg-bz_VL.js +2 -0
- package/dist/packem_shared/{sparkline-DtcZoU48.js → sparkline-CgjeUU2I.js} +1 -1
- package/dist/packem_shared/studio-q-C-acL7.js +2 -0
- package/dist/packem_shared/table-list-sidebar-BFkSQwlB.js +1 -0
- package/dist/packem_shared/use-admin-query-QJ-ibl5u.js +1 -0
- package/dist/packem_shared/use-async-submit-q3ymBJkD.js +1 -0
- package/dist/packem_shared/{use-auth-config-9S_K_W-G.js → use-auth-config-BObBpdsi.js} +1 -1
- package/dist/packem_shared/use-sql-assistant-CHEu2-Rk.js +1 -0
- package/dist/standalone/chunk-2GA4SHO7.js +1 -0
- package/dist/standalone/{chunk-NG6LYBPJ.js → chunk-2VDFV5TD.js} +1 -1
- package/dist/standalone/chunk-2WOIRKEI.js +1 -0
- package/dist/standalone/chunk-33CL6OHR.js +1 -0
- package/dist/standalone/{chunk-EIT7ERYE.js → chunk-34D36UCW.js} +1 -1
- package/dist/standalone/chunk-3C3CG7ZK.js +1 -0
- package/dist/standalone/{chunk-6CULAILE.js → chunk-3O3HAXW7.js} +1 -1
- package/dist/standalone/{chunk-LSEZN2ZL.js → chunk-3STOIE7Q.js} +1 -1
- package/dist/standalone/chunk-53WEPGUD.js +1 -0
- package/dist/standalone/chunk-5CVJS7ON.js +1 -0
- package/dist/standalone/chunk-6IKEW5LG.js +1 -0
- package/dist/standalone/chunk-6LNCYDZO.js +1 -0
- package/dist/standalone/chunk-6NY7SPDL.js +1 -0
- package/dist/standalone/chunk-6PNPIW6I.js +2 -0
- package/dist/standalone/{chunk-AVZGVZZ7.js → chunk-6VAKZALJ.js} +1 -1
- package/dist/standalone/chunk-6YI4WJO4.js +1 -0
- package/dist/standalone/{chunk-HYT2ZUNP.js → chunk-6YTSSIEJ.js} +2 -2
- package/dist/standalone/{chunk-KYF2E5CJ.js → chunk-7LWMHTJ3.js} +1 -1
- package/dist/standalone/chunk-A74VSSA2.js +4 -0
- package/dist/standalone/chunk-CCVXYYPJ.js +1 -0
- package/dist/standalone/chunk-CT5MMH4O.js +1 -0
- package/dist/standalone/chunk-CTNB2KIA.js +1 -0
- package/dist/standalone/chunk-CU55Y5TV.js +62 -0
- package/dist/standalone/chunk-D2RKH6JK.js +1 -0
- package/dist/standalone/chunk-E3NMX2VU.js +4 -0
- package/dist/standalone/chunk-FNPJ7GJZ.js +1 -0
- package/dist/standalone/chunk-FOBRNWBG.js +3 -0
- package/dist/standalone/chunk-G6PSMGLD.js +1 -0
- package/dist/standalone/chunk-GAX5IZYG.js +8 -0
- package/dist/standalone/chunk-GB6U2BPU.js +1 -0
- package/dist/standalone/chunk-GEDMLM4A.js +6 -0
- package/dist/standalone/chunk-GXSZH7VJ.js +13 -0
- package/dist/standalone/chunk-GYKVBKT5.js +1 -0
- package/dist/standalone/chunk-H6YOWRFB.js +1 -0
- package/dist/standalone/chunk-HJ3E4YF5.js +1 -0
- package/dist/standalone/chunk-HJD2YUQS.js +1 -0
- package/dist/standalone/chunk-IHQC7J35.js +1 -0
- package/dist/standalone/chunk-JLOWAJRR.js +1 -0
- package/dist/standalone/chunk-JRMMYIAF.js +1 -0
- package/dist/standalone/{chunk-W6TE2I2D.js → chunk-KC44QCN6.js} +1 -1
- package/dist/standalone/chunk-KJB7YAKB.js +1 -0
- package/dist/standalone/chunk-KLQYC6CC.js +1 -0
- package/dist/standalone/{chunk-XQGANNLS.js → chunk-KZ3ALMMP.js} +1 -1
- package/dist/standalone/chunk-L7R74G63.js +1 -0
- package/dist/standalone/{chunk-3RTTXLMU.js → chunk-OY2RVUZL.js} +1 -1
- package/dist/standalone/chunk-P4YLIBCN.js +1 -0
- package/dist/standalone/chunk-PZVU2QMX.js +1 -0
- package/dist/standalone/{chunk-PRJ4RJDU.js → chunk-Q7O6B7WC.js} +1 -1
- package/dist/standalone/chunk-QLQADHFE.js +1 -0
- package/dist/standalone/{chunk-7LQWFOEU.js → chunk-QXXIJAD5.js} +1 -1
- package/dist/standalone/chunk-QZGTH6WH.js +1 -0
- package/dist/standalone/chunk-RJP3WBZ4.js +1 -0
- package/dist/standalone/chunk-RNL6BSFM.js +1 -0
- package/dist/standalone/chunk-RNRJKBY3.js +4 -0
- package/dist/standalone/{chunk-7YEFOSPH.js → chunk-RQ7AFLIV.js} +1 -1
- package/dist/standalone/chunk-S252DAFP.js +1 -0
- package/dist/standalone/chunk-S2VVR7HI.js +1 -0
- package/dist/standalone/chunk-SKW6J4VW.js +1 -0
- package/dist/standalone/chunk-T7IUZIF4.js +1 -0
- package/dist/standalone/chunk-TTGOOYLF.js +1 -0
- package/dist/standalone/chunk-U6TNNM5U.js +1 -0
- package/dist/standalone/chunk-VHWOCPRK.js +1 -0
- package/dist/standalone/chunk-W6SAOXGH.js +6 -0
- package/dist/standalone/{chunk-YCRMVBPW.js → chunk-WBYSSCV2.js} +1 -1
- package/dist/standalone/{chunk-LFXFP4IF.js → chunk-X665E2HU.js} +1 -1
- package/dist/standalone/chunk-XDAT7LHC.js +1 -0
- package/dist/standalone/chunk-XS5LDR52.js +1 -0
- package/dist/standalone/chunk-Y5Y7DHFW.js +1 -0
- package/dist/standalone/chunk-YJYTMQJI.js +1 -0
- package/dist/standalone/chunk-Z2V42P7J.js +1 -0
- package/dist/standalone/studio.js +5 -5
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/packem_chunks/MigrationsPanel.js +0 -1
- package/dist/packem_shared/ADMIN_FUNCTIONS-CpgIo9pj.js +0 -1
- package/dist/packem_shared/ApiDocsPanel-CjdsxN1t.js +0 -2
- package/dist/packem_shared/CommandPalette-CVIaY3j8.js +0 -1
- package/dist/packem_shared/DataBrowser-Bfstz_au.js +0 -1
- package/dist/packem_shared/DataFilters-Csb30F0C.js +0 -1
- package/dist/packem_shared/GlobalDataBrowser-RLJ6NvOs.js +0 -1
- package/dist/packem_shared/HomePanel-B8EFM4u3.js +0 -1
- package/dist/packem_shared/ScheduledJobs-DUbo6epc.js +0 -1
- package/dist/packem_shared/Studio-BDtS9C5g.js +0 -1
- package/dist/packem_shared/StudioApp-DjLzIO9E.js +0 -1
- package/dist/packem_shared/advisor-view-DaCX9Jy5.js +0 -1
- package/dist/packem_shared/bar-chart-AryFCeoa.js +0 -9
- package/dist/packem_shared/data-grid-BMBKzMEJ.js +0 -1
- package/dist/packem_shared/data-view-params-C8T3bW1z.js +0 -1
- package/dist/packem_shared/error-alert-B59DnrDI.js +0 -1
- package/dist/packem_shared/grid-features-uZCUj955.js +0 -6
- package/dist/packem_shared/live-status-CGW2JHf_.js +0 -1
- package/dist/packem_shared/reference-view-KvhektwF.js +0 -12
- package/dist/packem_shared/result-chart-CwKhhKM0.js +0 -1
- package/dist/packem_shared/studio-BmWFd-Rz.js +0 -2
- package/dist/packem_shared/table-list-sidebar-CMCcNALK.js +0 -1
- package/dist/packem_shared/use-admin-query-Di3fLE8H.js +0 -1
- package/dist/packem_shared/use-async-submit-DLNCqLFq.js +0 -1
- package/dist/standalone/chunk-2SHUN7KF.js +0 -1
- package/dist/standalone/chunk-2Y36BVVM.js +0 -4
- package/dist/standalone/chunk-3EXLKL6V.js +0 -1
- package/dist/standalone/chunk-3KAERFMC.js +0 -1
- package/dist/standalone/chunk-4XDMVUS5.js +0 -1
- package/dist/standalone/chunk-5RF4QDDA.js +0 -6
- package/dist/standalone/chunk-5YWJNF5X.js +0 -1
- package/dist/standalone/chunk-66YJ3IOZ.js +0 -1
- package/dist/standalone/chunk-6KHEBRBB.js +0 -1
- package/dist/standalone/chunk-6WCIFGDW.js +0 -1
- package/dist/standalone/chunk-7RG3AKPY.js +0 -1
- package/dist/standalone/chunk-A2FPLOMJ.js +0 -1
- package/dist/standalone/chunk-AADXUXZO.js +0 -1
- package/dist/standalone/chunk-ARI4JTIH.js +0 -1
- package/dist/standalone/chunk-BDO4J5AP.js +0 -1
- package/dist/standalone/chunk-BMQJ4CAO.js +0 -1
- package/dist/standalone/chunk-CMUP7HPS.js +0 -1
- package/dist/standalone/chunk-CP7AUUOU.js +0 -1
- package/dist/standalone/chunk-DX3RMFQU.js +0 -8
- package/dist/standalone/chunk-E2CJUP53.js +0 -13
- package/dist/standalone/chunk-FLYO3XY5.js +0 -1
- package/dist/standalone/chunk-FWCKM2CU.js +0 -1
- package/dist/standalone/chunk-GITJXQOS.js +0 -4
- package/dist/standalone/chunk-GP6IRITM.js +0 -1
- package/dist/standalone/chunk-GXU3ATKS.js +0 -1
- package/dist/standalone/chunk-H5Y5NQPL.js +0 -1
- package/dist/standalone/chunk-HALNNKTC.js +0 -1
- package/dist/standalone/chunk-HK4OVYG3.js +0 -1
- package/dist/standalone/chunk-HQEMYD2K.js +0 -1
- package/dist/standalone/chunk-I4WGRDL2.js +0 -1
- package/dist/standalone/chunk-ISZSYNTI.js +0 -4
- package/dist/standalone/chunk-JWG3VRGB.js +0 -1
- package/dist/standalone/chunk-KDYNM3GV.js +0 -1
- package/dist/standalone/chunk-KP6JQSH2.js +0 -4
- package/dist/standalone/chunk-LLXFYRGQ.js +0 -1
- package/dist/standalone/chunk-LU3GW7HI.js +0 -1
- package/dist/standalone/chunk-M536Y2KX.js +0 -1
- package/dist/standalone/chunk-MVGE3JJN.js +0 -1
- package/dist/standalone/chunk-MXSHWB3M.js +0 -1
- package/dist/standalone/chunk-NL2DZKFI.js +0 -1
- package/dist/standalone/chunk-OGVCXKRL.js +0 -2
- package/dist/standalone/chunk-OPC233PZ.js +0 -1
- package/dist/standalone/chunk-P4CWOYFL.js +0 -1
- package/dist/standalone/chunk-PUY3YDXI.js +0 -1
- package/dist/standalone/chunk-QZMR6MUG.js +0 -1
- package/dist/standalone/chunk-WCWYSOCN.js +0 -62
- package/dist/standalone/chunk-WEO3YVP6.js +0 -3
- package/dist/standalone/chunk-X2FQ6B5V.js +0 -1
- package/dist/standalone/chunk-XIZNYKOD.js +0 -1
- package/dist/standalone/chunk-XS6Q6GGV.js +0 -1
- package/dist/standalone/chunk-Y3CQDULJ.js +0 -1
- package/dist/standalone/chunk-Z2JPEI2V.js +0 -1
- /package/dist/standalone/{chunk-4CGALXS3.js → chunk-OG4N2XHD.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as D}from"./chunk-54MMVNPT.js";import{
|
|
1
|
+
import{a as D}from"./chunk-54MMVNPT.js";import{b as B}from"./chunk-XDAT7LHC.js";import{a as W,b as q,c as E,d as S,e as r,f as s}from"./chunk-MIQTKZAR.js";import{a as A,e as L}from"./chunk-UZERI5YC.js";import{b as x}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{f as O}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as j}from"./chunk-XQCVZAGU.js";import{d as z}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as T,e as M,g as $,h as I}from"./chunk-3XIESWL4.js";var F=M($(),1);var n=M(I(),1);var J=2e3,Q=new Set(["open"]),re=T(G=>{let e=(0,F.c)(41),{read:y}=G,t=z(),K=O(),v;e[0]!==K||e[1]!==y?(v=T(()=>Promise.resolve(y?y():K.debug()),"S"),e[0]=K,e[1]=y,e[2]=v):v=e[2];let H=v,P=y?"injected":"live",b;e[3]!==P?(b=["lunora-studio","sync-client-debug",P],e[3]=P,e[4]=b):b=e[4];let{data:c,refetch:Y}=B(b,H);if(D(Y,!0,J),!c){let i;e[5]!==t?(i=t("Reading the sync client's state\u2026"),e[5]=t,e[6]=i):i=e[6];let g;e[7]!==t?(g=t("Sync client"),e[7]=t,e[8]=g):g=e[8];let _;return e[9]!==i||e[10]!==g?(_=(0,n.jsx)(A,{children:(0,n.jsx)(L,{children:(0,n.jsx)(j,{description:i,title:g})})}),e[9]=i,e[10]=g,e[11]=_):_=e[11],_}let{pendingWrites:k,shards:N,subscriptions:w}=c,l;e[12]!==t?(l=t("This Studio session's sync client"),e[12]=t,e[13]=l):l=e[13];let a;e[14]!==l?(a=(0,n.jsx)("span",{className:"text-sm font-medium",children:l}),e[14]=l,e[15]=a):a=e[15];let R=c.connectionStatus==="connected"?"default":"secondary",o;e[16]!==c.connectionStatus||e[17]!==R?(o=(0,n.jsx)(x,{variant:R,children:c.connectionStatus}),e[16]=c.connectionStatus,e[17]=R,e[18]=o):o=e[18];let d;e[19]!==k||e[20]!==t?(d=k>0?(0,n.jsx)(x,{variant:"secondary",children:t("{count} pending writes",{count:k})}):null,e[19]=k,e[20]=t,e[21]=d):d=e[21];let h;e[22]!==a||e[23]!==o||e[24]!==d?(h=(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[a,o,d]}),e[22]=a,e[23]=o,e[24]=d,e[25]=h):h=e[25];let u;e[26]!==t?(u=t("Reads client.debug() for the client running in this page \u2014 not your application's client. Call client.debug() in your app to diagnose a specific stuck overlay there."),e[26]=t,e[27]=u):u=e[27];let m;e[28]!==u?(m=(0,n.jsx)("p",{className:"text-muted-foreground text-xs",children:u}),e[28]=u,e[29]=m):m=e[29];let p;e[30]!==N||e[31]!==t?(p=N.length===0?(0,n.jsx)(j,{description:t("No shard connection has been opened yet."),title:t("No shards")}):(0,n.jsxs)(W,{children:[(0,n.jsx)(q,{children:(0,n.jsxs)(S,{children:[(0,n.jsx)(r,{children:t("Shard")}),(0,n.jsx)(r,{children:t("Socket")}),(0,n.jsx)(r,{children:t("Confirmed watermark")})]})}),(0,n.jsx)(E,{children:N.map(i=>(0,n.jsxs)(S,{children:[(0,n.jsx)(s,{children:i.shardKey??t("(default)")}),(0,n.jsx)(s,{children:(0,n.jsx)(x,{variant:Q.has(i.wsState)?"default":"secondary",children:i.wsState})}),(0,n.jsx)(s,{children:i.confirmedMutationWatermark})]},i.shardKey??"__default__"))})]}),e[30]=N,e[31]=t,e[32]=p):p=e[32];let f;e[33]!==w||e[34]!==t?(f=w.length===0?(0,n.jsx)(j,{description:t("This client holds no live queries or shapes."),title:t("No subscriptions")}):(0,n.jsxs)(W,{children:[(0,n.jsx)(q,{children:(0,n.jsxs)(S,{children:[(0,n.jsx)(r,{children:t("Subscription")}),(0,n.jsx)(r,{children:t("Kind")}),(0,n.jsx)(r,{children:t("Acked")}),(0,n.jsx)(r,{children:t("Cursor")}),(0,n.jsx)(r,{children:t("Pending overlays")})]})}),(0,n.jsx)(E,{children:w.map(i=>(0,n.jsxs)(S,{children:[(0,n.jsx)(s,{className:"font-mono text-xs",children:i.functionPath}),(0,n.jsx)(s,{children:i.kind}),(0,n.jsx)(s,{children:(0,n.jsx)(x,{variant:i.acked?"default":"secondary",children:i.acked?t("yes"):t("no")})}),(0,n.jsx)(s,{children:i.serverCursor??"\u2014"}),(0,n.jsx)(s,{children:i.pendingOptimisticLayers})]},i.id))})]}),e[33]=w,e[34]=t,e[35]=f):f=e[35];let C;return e[36]!==m||e[37]!==p||e[38]!==f||e[39]!==h?(C=(0,n.jsx)(A,{children:(0,n.jsxs)(L,{className:"flex flex-col gap-4",children:[h,m,p,f]})}),e[36]=m,e[37]=p,e[38]=f,e[39]=h,e[40]=C):C=e[40],C},"re");export{re as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Ke}from"./chunk-LEDWUPXM.js";import"./chunk-2PJNAWB3.js";import{a as He}from"./chunk-54MMVNPT.js";import"./chunk-BGBLQ563.js";import{a as Ue}from"./chunk-53WEPGUD.js";import{a as Pe}from"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as _e}from"./chunk-XDAT7LHC.js";import{a as De,b as ke,c as Be,d as H,e as w,f as C}from"./chunk-MIQTKZAR.js";import{a as Me,e as Te}from"./chunk-UZERI5YC.js";import{a as Ge}from"./chunk-V53KNYRN.js";import{R as We}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as G}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as le}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as z}from"./chunk-2WOIRKEI.js";import{f as Fe}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as ue}from"./chunk-XQCVZAGU.js";import{d as $,f as ie,g as ce,h as me,m as he,q as je}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as h,e as Ee,f as st,g as nt,h as rt}from"./chunk-3XIESWL4.js";var F=Ee(nt(),1);var A=Ee(st(),1);var t=Ee(rt(),1);var dt=h((n,e)=>{let a=new Set(n.map(s=>s.deadLetterQueue).filter(s=>typeof s=="string"&&s!=="")),u=n.filter(s=>(s.deadLetterQueue===void 0||s.deadLetterQueue==="")&&!a.has(s.name)),o=e.filter(s=>s.deadLettered).length;return{deadLetteredCount:o,queuesWithoutDlq:u,showReliabilityWarning:u.length>0||o>0}},"st"),ot=200,lt=ie(z.sendQueueMessage),ut=ie(z.replayQueueMessage),it=ie(z.clearQueueMessages),Ve=96,ct=h(n=>{if(n===void 0)return"\u2014";try{return JSON.stringify(n)}catch{return"[unserializable]"}},"lt"),mt=h(n=>n.length>Ve?`${n.slice(0,Ve)}\u2026`:n,"ut"),ht=h(n=>n==="error"?"destructive":n==="retry"?"outline":"secondary","ct"),pt=h((n,e)=>e(n==="messages"?"Messages":n==="send"?"Send":"Declared"),"it"),gt=h(n=>{let e=(0,F.c)(11),{loaded:a,queues:u}=n,o=$(),s;e[0]!==o?(s=o("Queues are declared in code with defineQueue. Enqueue from a mutation or action with ctx.queues.<name>.send(...); push consumers process batches in the worker."),e[0]=o,e[1]=s):s=e[1];let d;e[2]!==s?(d=(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:s}),e[2]=s,e[3]=d):d=e[3];let r;e[4]!==a||e[5]!==u||e[6]!==o?(r=a&&u.length===0?(0,t.jsx)(ue,{description:o("No defineQueue is declared in lunora/queues.ts in this deployment. Add one to offload async work to a Cloudflare Queue."),testId:"queues-empty",title:o("No queues defined")}):(0,t.jsx)(Me,{className:"overflow-hidden py-0",children:(0,t.jsx)(Te,{className:"px-0",children:(0,t.jsxs)(De,{"data-testid":"queues-table",children:[(0,t.jsx)(ke,{children:(0,t.jsxs)(H,{children:[(0,t.jsx)(w,{children:o("Export")}),(0,t.jsx)(w,{children:o("Queue")}),(0,t.jsx)(w,{children:o("Mode")}),(0,t.jsx)(w,{children:o("Binding")}),(0,t.jsx)(w,{children:o("Dead-letter")})]})}),(0,t.jsx)(Be,{children:u.map(Nt)})]})})}),e[4]=a,e[5]=u,e[6]=o,e[7]=r):r=e[7];let p;return e[8]!==d||e[9]!==r?(p=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"queues-declared",children:[d,r]}),e[8]=d,e[9]=r,e[10]=p):p=e[10],p},"mt"),ft=h(n=>{let e=(0,F.c)(67),{message:a,onReplay:u,replayingId:o}=n,s=$(),d,r,p,c,N,g,y,l,m,f;if(e[0]!==a.attempts||e[1]!==a.body||e[2]!==a.deadLettered||e[3]!==a.exportName||e[4]!==a.id||e[5]!==a.messageId||e[6]!==a.outcome||e[7]!==a.queue||e[8]!==s){let W=ct(a.body);r=H,g=`queues-message-${a.id}`;let j=a.exportName??a.queue;e[19]!==j?(y=(0,t.jsx)(C,{className:"font-mono text-xs",children:j}),e[19]=j,e[20]=y):y=e[20],e[21]!==a.messageId?(l=(0,t.jsx)(C,{className:"max-w-[16ch] truncate font-mono text-xs text-muted-foreground",title:a.messageId,children:a.messageId}),e[21]=a.messageId,e[22]=l):l=e[22],e[23]!==a.attempts?(m=(0,t.jsx)(C,{className:"font-mono text-xs tabular-nums",children:a.attempts}),e[23]=a.attempts,e[24]=m):m=e[24];let M=`queues-outcome-${a.id}`,T;e[25]!==a.outcome?(T=ht(a.outcome),e[25]=a.outcome,e[26]=T):T=e[26];let Q;e[27]!==a.outcome||e[28]!==M||e[29]!==T?(Q=(0,t.jsx)(le,{"data-testid":M,variant:T,children:a.outcome}),e[27]=a.outcome,e[28]=M,e[29]=T,e[30]=Q):Q=e[30];let _;e[31]!==a.deadLettered||e[32]!==a.id||e[33]!==s?(_=a.deadLettered&&(0,t.jsx)(le,{"data-testid":`queues-dlq-${a.id}`,variant:"destructive",children:s("DLQ")}),e[31]=a.deadLettered,e[32]=a.id,e[33]=s,e[34]=_):_=e[34],e[35]!==Q||e[36]!==_?(f=(0,t.jsx)(C,{children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[Q,_]})}),e[35]=Q,e[36]=_,e[37]=f):f=e[37],d=C,p="max-w-[32ch] truncate font-mono text-xs text-muted-foreground",c=W,N=mt(W),e[0]=a.attempts,e[1]=a.body,e[2]=a.deadLettered,e[3]=a.exportName,e[4]=a.id,e[5]=a.messageId,e[6]=a.outcome,e[7]=a.queue,e[8]=s,e[9]=d,e[10]=r,e[11]=p,e[12]=c,e[13]=N,e[14]=g,e[15]=y,e[16]=l,e[17]=m,e[18]=f}else d=e[9],r=e[10],p=e[11],c=e[12],N=e[13],g=e[14],y=e[15],l=e[16],m=e[17],f=e[18];let x;e[38]!==d||e[39]!==p||e[40]!==c||e[41]!==N?(x=(0,t.jsx)(d,{className:p,title:c,children:N}),e[38]=d,e[39]=p,e[40]=c,e[41]=N,e[42]=x):x=e[42];let q;e[43]!==a.capturedAt?(q=je(a.capturedAt,"\u2014"),e[43]=a.capturedAt,e[44]=q):q=e[44];let b;e[45]!==q?(b=(0,t.jsx)(C,{className:"text-xs text-muted-foreground tabular-nums",children:q}),e[45]=q,e[46]=b):b=e[46];let S=`queues-replay-${a.id}`,E=o!==null,I;e[47]!==a.id||e[48]!==o||e[49]!==s?(I=o===a.id?s("Replaying\u2026"):s("Replay"),e[47]=a.id,e[48]=o,e[49]=s,e[50]=I):I=e[50];let L;e[51]!==a.id||e[52]!==u||e[53]!==S||e[54]!==E||e[55]!==I?(L=(0,t.jsx)(C,{children:(0,t.jsx)(G,{"data-id":a.id,"data-testid":S,disabled:E,onClick:u,size:"xs",type:"button",variant:"outline",children:I})}),e[51]=a.id,e[52]=u,e[53]=S,e[54]=E,e[55]=I,e[56]=L):L=e[56];let D;return e[57]!==r||e[58]!==b||e[59]!==L||e[60]!==g||e[61]!==y||e[62]!==l||e[63]!==m||e[64]!==f||e[65]!==x?(D=(0,t.jsxs)(r,{"data-testid":g,children:[y,l,m,f,x,b,L]}),e[57]=r,e[58]=b,e[59]=L,e[60]=g,e[61]=y,e[62]=l,e[63]=m,e[64]=f,e[65]=x,e[66]=D):D=e[66],D},"ht"),xt=h(n=>{let e=(0,F.c)(26),{hasError:a,messages:u,onClear:o,onReplay:s,replayingId:d}=n,r=$(),p;e[0]!==r?(p=r("Cloudflare Queues have no peek API, so this is what push consumers actually processed \u2014 not pending depth."),e[0]=r,e[1]=p):p=e[1];let c;e[2]!==p?(c=(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:p}),e[2]=p,e[3]=c):c=e[3];let N=u.length===0,g;e[4]!==r?(g=r("Clear log"),e[4]=r,e[5]=g):g=e[5];let y;e[6]!==o||e[7]!==N||e[8]!==g?(y=(0,t.jsx)(G,{className:"ml-auto","data-testid":"queues-clear",disabled:N,onClick:o,size:"sm",type:"button",variant:"outline",children:g}),e[6]=o,e[7]=N,e[8]=g,e[9]=y):y=e[9];let l;e[10]!==u.length||e[11]!==r?(l=u.length>0&&(0,t.jsx)(le,{"data-testid":"queues-count",variant:"secondary",children:r("{count} messages",{count:u.length})}),e[10]=u.length,e[11]=r,e[12]=l):l=e[12];let m;e[13]!==c||e[14]!==y||e[15]!==l?(m=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,y,l]}),e[13]=c,e[14]=y,e[15]=l,e[16]=m):m=e[16];let f;e[17]!==a||e[18]!==u||e[19]!==s||e[20]!==d||e[21]!==r?(f=!a&&u.length===0?(0,t.jsx)(ue,{description:r("Consumed messages appear here once a push consumer processes a batch in dev. Send one from the Send tab to see it captured."),testId:"queues-messages-empty",title:r("No consumed messages yet.")}):(0,t.jsx)(Me,{className:"overflow-hidden py-0",children:(0,t.jsx)(Te,{className:"px-0",children:(0,t.jsx)(Ke,{className:"max-h-[32rem]","data-testid":"queues-messages-scroll",children:(0,t.jsxs)(De,{"data-testid":"queues-messages-table",children:[(0,t.jsx)(ke,{children:(0,t.jsxs)(H,{children:[(0,t.jsx)(w,{children:r("Export")}),(0,t.jsx)(w,{children:r("Message")}),(0,t.jsx)(w,{children:r("Attempts")}),(0,t.jsx)(w,{children:r("Outcome")}),(0,t.jsx)(w,{children:r("Body")}),(0,t.jsx)(w,{children:r("Captured")}),(0,t.jsx)(w,{})]})}),(0,t.jsx)(Be,{children:u.map(q=>(0,t.jsx)(ft,{message:q,onReplay:s,replayingId:d},q.id))})]})})})}),e[17]=a,e[18]=u,e[19]=s,e[20]=d,e[21]=r,e[22]=f):f=e[22];let x;return e[23]!==m||e[24]!==f?(x=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"queues-messages",children:[m,f]}),e[23]=m,e[24]=f,e[25]=x):x=e[25],x},"pt"),yt=h(n=>{let e=(0,F.c)(20),{batchMode:a,bodyText:u,delayText:o,onBatchModeChange:s,onBodyChange:d,onDelayChange:r,onSelectExport:p,onSend:c,queues:N,selectedExportName:g,sending:y}=n,l=$(),m;e[0]!==l?(m=l("Enqueue a JSON message to a declared producer to exercise its consumer. Nothing is captured until the consumer processes it."),e[0]=l,e[1]=m):m=e[1];let f;e[2]!==m?(f=(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:m}),e[2]=m,e[3]=f):f=e[3];let x;e[4]!==a||e[5]!==u||e[6]!==o||e[7]!==s||e[8]!==d||e[9]!==r||e[10]!==p||e[11]!==c||e[12]!==N||e[13]!==g||e[14]!==y||e[15]!==l?(x=N.length===0?(0,t.jsx)(ue,{description:l("Declare a queue with defineQueue in lunora/queues.ts to enqueue a test message."),testId:"queues-send-empty",title:l("No queues to send to")}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("select",{"aria-label":l("Queue"),className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"queues-send-select",onChange:p,value:g,children:N.map(bt)}),(0,t.jsx)(We,{"aria-label":l("Delay (seconds)"),className:"max-w-36","data-testid":"queues-send-delay",min:0,onChange:r,placeholder:l("Delay (s)"),type:"number",value:o}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",htmlFor:"queues-send-batch",children:[(0,t.jsx)("input",{checked:a,"data-testid":"queues-send-batch",id:"queues-send-batch",onChange:s,type:"checkbox"}),l("Send as batch (JSON array)")]}),(0,t.jsx)(G,{className:"ml-auto","data-testid":"queues-send-button",disabled:y||g==="",onClick:c,type:"button",children:l(y?"Sending\u2026":"Send message")})]}),(0,t.jsx)(Ge,{"aria-label":l("Message body (JSON)"),className:"font-mono","data-testid":"queues-send-body",onChange:d,placeholder:a?'[ { "hello": "world" } ]':'{ "hello": "world" }',value:u})]}),e[4]=a,e[5]=u,e[6]=o,e[7]=s,e[8]=d,e[9]=r,e[10]=p,e[11]=c,e[12]=N,e[13]=g,e[14]=y,e[15]=l,e[16]=x):x=e[16];let q;return e[17]!==f||e[18]!==x?(q=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"queues-send",children:[f,x]}),e[17]=f,e[18]=x,e[19]=q):q=e[19],q},"gt"),Jt=h(n=>{let e=(0,F.c)(59),{limit:a}=n,u=a??ot,o=Fe(),s=$(),[d,r]=(0,A.useState)("declared"),[p,c]=(0,A.useState)(null),N;e[0]===Symbol.for("react.memo_cache_sentinel")?(N={},e[0]=N):N=e[0];let{data:g,error:y,errorSource:l}=_e(z.listQueues,N),m;e[1]!==u?(m={limit:u},e[1]=u,e[2]=m):m=e[2];let{data:f,error:x,errorSource:q,refetch:b}=_e(z.getQueueMessages,m),S=Array.isArray(g?.queues)?[...g.queues].toSorted(qt):[],E=f?.entries??[],{deadLetteredCount:I,queuesWithoutDlq:L,showReliabilityWarning:D}=dt(S,E),[W,j]=(0,A.useState)(""),[M,T]=(0,A.useState)(""),[Q,_]=(0,A.useState)(""),[P,Xe]=(0,A.useState)(!1),[pe,Oe]=(0,A.useState)(!1),[ge,Re]=(0,A.useState)(null),K=S.some(i=>i.exportName===W)?W:S[0]?.exportName??"",Je=d==="messages"?x:y,Ye=d==="messages"?q:l,fe=Je??p,xe=Je===null?p:Ye,V;e[3]!==b?(V=h(()=>{b()},"H"),e[3]=b,e[4]=V):V=e[4],He(V,d==="messages");let ye=h(async()=>{c(null);let i=K;if(i==="")return;let v=null,$e=M.trim();if($e!=="")try{v=JSON.parse($e)}catch{c(s("Body must be valid JSON."));return}let Ae,ze=Q.trim();if(ze!==""){let U=Number(ze);if(!Number.isFinite(U)||U<0){c(s("Delay must be a non-negative number of seconds."));return}Ae=U}if(P&&!Array.isArray(v)){c(s("Batch mode needs a JSON array body \u2014 each element is enqueued as one message."));return}Oe(!0);let at=P?{batch:v,delaySeconds:Ae,exportName:i}:{body:v,delaySeconds:Ae,exportName:i};try{await o.query(lt,at,ce("")),b()}catch(U){c(me(U))}Oe(!1)},"me"),X;e[5]!==o||e[6]!==b?(X=h(async i=>{c(null),Re(i);try{await o.query(ut,{id:i},ce("")),b()}catch(v){c(me(v))}Re(null)},"K"),e[5]=o,e[6]=b,e[7]=X):X=e[7];let Ne=X,Y;e[8]!==o||e[9]!==b?(Y=h(async()=>{c(null);try{await o.query(it,{},ce("")),b()}catch(i){c(me(i))}},"V"),e[8]=o,e[9]=b,e[10]=Y):Y=e[10];let be=Y,Z;e[11]===Symbol.for("react.memo_cache_sentinel")?(Z=h(i=>{let v=i.currentTarget.dataset.tab;(v==="declared"||v==="messages"||v==="send")&&r(v)},"X"),e[11]=Z):Z=e[11];let Ze=Z,ee;e[12]===Symbol.for("react.memo_cache_sentinel")?(ee=h(i=>{j(i.currentTarget.value)},"Y"),e[12]=ee):ee=e[12];let qe=ee,te;e[13]===Symbol.for("react.memo_cache_sentinel")?(te=h(i=>{T(i.currentTarget.value)},"Z"),e[13]=te):te=e[13];let ve=te,ae;e[14]===Symbol.for("react.memo_cache_sentinel")?(ae=h(i=>{_(i.currentTarget.value)},"ee"),e[14]=ae):ae=e[14];let Se=ae,se;e[15]===Symbol.for("react.memo_cache_sentinel")?(se=h(i=>{Xe(i.currentTarget.checked)},"te"),e[15]=se):se=e[15];let we=se,ne;e[16]!==ye?(ne=h(()=>{he(ye())},"ae"),e[16]=ye,e[17]=ne):ne=e[17];let Ce=ne,re;e[18]!==Ne?(re=h(i=>{let{id:v}=i.currentTarget.dataset;v!==void 0&&he(Ne(v))},"se"),e[18]=Ne,e[19]=re):re=e[19];let Qe=re,de;e[20]!==be?(de=h(()=>{he(be())},"re"),e[20]=be,e[21]=de):de=e[21];let Ie=de,et="flex flex-col gap-6",tt="lunora-queues-panel",k;e[22]!==s||e[23]!==d?(k=(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"queues-tabs",role:"tablist",children:["declared","messages","send"].map(i=>(0,t.jsx)(G,{"aria-selected":d===i,"data-tab":i,"data-testid":`queues-tab-${i}`,onClick:Ze,role:"tab",size:"sm",type:"button",variant:d===i?"secondary":"ghost",children:pt(i,s)},i))}),e[22]=s,e[23]=d,e[24]=k):k=e[24];let B;e[25]!==fe||e[26]!==xe?(B=fe!==null&&(0,t.jsx)(Ue,{error:xe,testId:"queues-error"}),e[25]=fe,e[26]=xe,e[27]=B):B=e[27];let Le=D&&(0,t.jsx)(Pe,{icon:(0,t.jsx)("span",{"aria-hidden":"true",className:"text-base leading-none",children:"\u26A0"}),testId:"queues-dlq-warning",variant:"warning",children:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[L.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"font-medium",children:s("No dead-letter queue on {queues}.",{queues:L.map(vt).join(", ")})}),(0,t.jsx)("p",{className:"text-muted-foreground",children:s("Exhausted messages are dropped after retries. Add a deadLetterQueue to capture them.")})]}),I>0&&(0,t.jsx)("p",{className:L.length>0?"text-muted-foreground":"font-medium",children:I===1?s("1 message was recently dead-lettered."):s("{count} messages were recently dead-lettered.",{count:I})})]})}),O;e[28]!==S||e[29]!==g||e[30]!==d?(O=d==="declared"&&(0,t.jsx)(gt,{loaded:g!==void 0,queues:S}),e[28]=S,e[29]=g,e[30]=d,e[31]=O):O=e[31];let R;e[32]!==E||e[33]!==x||e[34]!==Ie||e[35]!==Qe||e[36]!==ge||e[37]!==d?(R=d==="messages"&&(0,t.jsx)(xt,{hasError:x!==null,messages:E,onClear:Ie,onReplay:Qe,replayingId:ge}),e[32]=E,e[33]=x,e[34]=Ie,e[35]=Qe,e[36]=ge,e[37]=d,e[38]=R):R=e[38];let J;e[39]!==P||e[40]!==M||e[41]!==Q||e[42]!==we||e[43]!==ve||e[44]!==Se||e[45]!==qe||e[46]!==Ce||e[47]!==S||e[48]!==K||e[49]!==pe||e[50]!==d?(J=d==="send"&&(0,t.jsx)(yt,{batchMode:P,bodyText:M,delayText:Q,onBatchModeChange:we,onBodyChange:ve,onDelayChange:Se,onSelectExport:qe,onSend:Ce,queues:S,selectedExportName:K,sending:pe}),e[39]=P,e[40]=M,e[41]=Q,e[42]=we,e[43]=ve,e[44]=Se,e[45]=qe,e[46]=Ce,e[47]=S,e[48]=K,e[49]=pe,e[50]=d,e[51]=J):J=e[51];let oe;return e[52]!==k||e[53]!==B||e[54]!==Le||e[55]!==O||e[56]!==R||e[57]!==J?(oe=(0,t.jsxs)("div",{className:et,"data-testid":tt,children:[k,B,Le,O,R,J]}),e[52]=k,e[53]=B,e[54]=Le,e[55]=O,e[56]=R,e[57]=J,e[58]=oe):oe=e[58],oe},"Bt");function Nt(n){return(0,t.jsxs)(H,{"data-testid":`queues-row-${n.exportName}`,children:[(0,t.jsx)(C,{className:"font-mono text-xs",children:n.exportName}),(0,t.jsx)(C,{className:"font-mono text-xs text-muted-foreground",children:n.name}),(0,t.jsx)(C,{className:"font-mono text-xs text-muted-foreground",children:n.mode}),(0,t.jsx)(C,{className:"font-mono text-xs text-muted-foreground",children:n.binding}),(0,t.jsx)(C,{className:"font-mono text-xs text-muted-foreground",children:n.deadLetterQueue??"\u2014"})]},n.exportName)}h(Nt,"ft");function bt(n){return(0,t.jsx)("option",{value:n.exportName,children:n.exportName},n.exportName)}h(bt,"xt");function qt(n,e){return n.exportName.localeCompare(e.exportName)}h(qt,"yt");function vt(n){return n.name}h(vt,"Nt");export{Jt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as H}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as z}from"./chunk-XDAT7LHC.js";import{a as M,b as U,c as $,d as P,e as d,f as c}from"./chunk-MIQTKZAR.js";import{a as C,e as E}from"./chunk-UZERI5YC.js";import{b as T}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as B}from"./chunk-2WOIRKEI.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as G}from"./chunk-XQCVZAGU.js";import{d as q}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as S,e as _,g as L,h as V}from"./chunk-3XIESWL4.js";var K=_(L(),1);var r=_(V(),1);var J=["read","insert","update","delete"],W=S((e,t)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[t],"q"),Q=S(e=>{let t=new Map;for(let a of e){let s=t.get(a.table)??{operations:new Set,procedures:new Set,table:a.table};s.operations.add(a.on),s.procedures.add(a.procedure),t.set(a.table,s)}return[...t.values()].toSorted((a,s)=>a.table.localeCompare(s.table))},"B"),ie=S(()=>{let e=(0,K.c)(49),t=q(),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let{data:s,error:R,errorSource:k}=z(B.rlsPolicies,a),p=s!==void 0,m,n,h,l,f,u,x,N,o;if(e[1]!==s||e[2]!==R||e[3]!==k||e[4]!==p||e[5]!==t){let F=Q(Array.isArray(s?.policies)?s.policies:[]),D;e[15]!==s?(D=Array.isArray(s?.roles)?s.roles:[],e[15]=s,e[16]=D):D=e[16],n=D,x="flex flex-col gap-6",N="lunora-rls-panel",e[17]!==R||e[18]!==k?(o=R!==null&&(0,r.jsx)(H,{error:k,testId:"rls-error"}),e[17]=R,e[18]=k,e[19]=o):o=e[19],u="flex flex-col gap-2",m=C,h="overflow-hidden py-0";let I;e[20]!==t?(I=t("Policies"),e[20]=t,e[21]=I):I=e[21],e[22]!==I?(l=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:I})}),e[22]=I,e[23]=l):l=e[23],f=p&&F.length===0?(0,r.jsx)(G,{description:t("No `definePolicy` is wired through `.use(rls(...))` in this deployment. Add one to guard a table's rows."),testId:"rls-policies-empty",title:t("No policies defined")}):(0,r.jsx)(E,{className:"px-0",children:(0,r.jsxs)(M,{"data-testid":"rls-policies-table",children:[(0,r.jsx)(U,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:t("Table")}),J.map(i=>(0,r.jsx)(d,{children:W(t,i)},i)),(0,r.jsx)(d,{children:t("Guarded by")})]})}),(0,r.jsx)($,{children:F.map(i=>(0,r.jsxs)(P,{"data-testid":`rls-table-${i.table}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:i.table}),J.map(O=>(0,r.jsx)(c,{children:i.operations.has(O)?(0,r.jsx)(T,{variant:"secondary",children:t("Guarded")}):(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"})},O)),(0,r.jsx)(c,{className:"font-mono text-xs text-muted-foreground",children:[...i.procedures].join(", ")})]},i.table))})]})}),e[1]=s,e[2]=R,e[3]=k,e[4]=p,e[5]=t,e[6]=m,e[7]=n,e[8]=h,e[9]=l,e[10]=f,e[11]=u,e[12]=x,e[13]=N,e[14]=o}else m=e[6],n=e[7],h=e[8],l=e[9],f=e[10],u=e[11],x=e[12],N=e[13],o=e[14];let b;e[24]!==m||e[25]!==h||e[26]!==l||e[27]!==f?(b=(0,r.jsxs)(m,{className:h,children:[l,f]}),e[24]=m,e[25]=h,e[26]=l,e[27]=f,e[28]=b):b=e[28];let g;e[29]!==u||e[30]!==b?(g=(0,r.jsx)("section",{className:u,children:b}),e[29]=u,e[30]=b,e[31]=g):g=e[31];let y;e[32]!==t?(y=t("Roles"),e[32]=t,e[33]=y):y=e[33];let w;e[34]!==y?(w=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:y})}),e[34]=y,e[35]=w):w=e[35];let v;e[36]!==p||e[37]!==n||e[38]!==t?(v=p&&n.length===0?(0,r.jsx)(G,{description:t("No `defineRole` is registered via `rls(policies, { roles })`. Roles back `ctx.auth.can(...)` permission checks."),testId:"rls-roles-empty",title:t("No roles defined")}):(0,r.jsx)(E,{className:"px-0",children:(0,r.jsxs)(M,{"data-testid":"rls-roles-table",children:[(0,r.jsx)(U,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:t("Role")}),(0,r.jsx)(d,{children:t("Description")}),(0,r.jsx)(d,{children:t("Permissions")})]})}),(0,r.jsx)($,{children:n.map(Y)})]})}),e[36]=p,e[37]=n,e[38]=t,e[39]=v):v=e[39];let A;e[40]!==w||e[41]!==v?(A=(0,r.jsx)("section",{className:"flex flex-col gap-2",children:(0,r.jsxs)(C,{className:"overflow-hidden py-0",children:[w,v]})}),e[40]=w,e[41]=v,e[42]=A):A=e[42];let j;return e[43]!==A||e[44]!==x||e[45]!==N||e[46]!==o||e[47]!==g?(j=(0,r.jsxs)("div",{className:x,"data-testid":N,children:[o,g,A]}),e[43]=A,e[44]=x,e[45]=N,e[46]=o,e[47]=g,e[48]=j):j=e[48],j},"ae");function X(e){return(0,r.jsx)(T,{variant:"outline",children:e},e)}S(X,"H");function Y(e){return(0,r.jsxs)(P,{"data-testid":`rls-role-${e.name}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:e.name}),(0,r.jsx)(c,{className:"text-muted-foreground",children:e.description??""}),(0,r.jsx)(c,{children:e.permissions.length===0?(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,r.jsx)("span",{className:"flex flex-wrap gap-1",children:e.permissions.map(X)})})]},e.name)}S(Y,"L");export{ie as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as de,c as Wo,d as Xo}from"./chunk-SD4BERSA.js";import{a as qo}from"./chunk-IC4L6G56.js";import{a as So,c as No,d as Do,e as $o}from"./chunk-KYF2E5CJ.js";import{A as lo,D as U,E as mo,F as fo,I as go,K as Ro,L as xo,O as Mo,P as ho,Q as bo,S as Co,T as vo,U as Io,V as Eo,W as yo,Y as Po,_ as Oo,aa as To,ba as at,ca as ko,da as wo,ea as ut,ha as _o,ia as At,ja as He,l as Dt,la as Ao,ma as Vo,n as ro,na as Lo,o as so,oa as Fo,pa as Go,q as io,qa as Uo,r as nt,ra as Ho,s as rt,t as ao,ta as jo,u as st,ua as Yo,v as uo,va as Ko,w as co,x as po,y as it}from"./chunk-7YEFOSPH.js";import{b as Bo}from"./chunk-BGBLQ563.js";import{i as zo,k as Jo}from"./chunk-QBWRC5YX.js";import{C as Ne,I as Fe,J as no,K as Ge,L as tt,M as ot,O as y,P as W,d as wt,e as oe,h as We,i as oo,p as _t}from"./chunk-CFPZYHPY.js";import{a as ct,b as Ue}from"./chunk-FXCBF4XT.js";import{a as Ee,c as Le,i as Zt,q as eo,t as to}from"./chunk-2OUPA2WJ.js";import{a as he,c as L,d as Qt,e as et,h as Je,i as pe,j as I}from"./chunk-6ST5ECQA.js";import{a as n,d as $n,e as f,f as C,g as zn,h as fe,j as Be}from"./chunk-3XIESWL4.js";var _e=f(zn(),1),Dc=f(C(),1);var ne={};$n(ne,{Arrow:()=>Zo,Backdrop:()=>tn,CheckboxItem:()=>sn,CheckboxItemIndicator:()=>an,Group:()=>pn,GroupLabel:()=>ln,Handle:()=>Qe,Item:()=>fn,LinkItem:()=>gn,Popup:()=>xn,Portal:()=>bn,Positioner:()=>Cn,RadioGroup:()=>In,RadioItem:()=>Pn,RadioItemIndicator:()=>Sn,Root:()=>Ot,Separator:()=>qo,SubmenuRoot:()=>On,SubmenuTrigger:()=>Ln,Trigger:()=>Dn,Viewport:()=>Bn,createHandle:()=>Fn});var Qo=f(C(),1);var pt=f(C(),1);var Vt=pt.createContext(void 0);function X(t){let e=pt.useContext(Vt);if(e===void 0&&!t)throw new Error(L(33));return e}n(X,"useMenuPositionerContext");var dt=f(C(),1);var Bt=dt.createContext(void 0);function O(t){let e=dt.useContext(Bt);if(e===void 0&&!t)throw new Error(L(36));return e}n(O,"useMenuRootContext");var Zo=Qo.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,{store:l}=O(),{arrowRef:r,side:m,align:R,arrowUncentered:g,arrowStyles:x}=X(),v={open:l.useState("open"),side:m,align:R,uncentered:g};return I("div",e,{ref:[r,o],stateAttributesMapping:He,state:v,props:{style:x,"aria-hidden":!0,...d}})},"MenuArrow"));var en=f(C(),1);var lt=f(C(),1);var Jn=lt.createContext(void 0);function be(t=!0){let e=lt.useContext(Jn);if(e===void 0&&!t)throw new Error(L(25));return e}n(be,"useContextMenuRootContext");var Wn={...He,...Fe},tn=en.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,{store:l}=O(),r=l.useState("open"),m=l.useState("mounted"),R=l.useState("transitionStatus"),g=l.useState("lastOpenChangeReason"),x=be(),M={open:r,transitionStatus:R};return I("div",e,{ref:x?.backdropRef?[o,x.backdropRef]:o,state:M,stateAttributesMapping:Wn,props:[{role:"presentation",hidden:!m,style:{pointerEvents:g===y.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},d]})},"MenuBackdrop"));var gt=f(C(),1);var mt=f(C(),1);var Lt=mt.createContext(void 0);function on(){let t=mt.useContext(Lt);if(t===void 0)throw new Error(L(30));return t}n(on,"useMenuCheckboxItemContext");var je=f(C(),1);var nn=f(C(),1);function ft(t){let{closeOnClick:e,highlighted:o,id:i,nodeId:u,store:a,typingRef:d,itemRef:l,itemMetadata:r}=t,{events:m}=a.useState("floatingTreeRoot"),R=a.useState("open"),g=be(!0),x=g!==void 0;return nn.useMemo(()=>({id:i,role:"menuitem",tabIndex:R&&o?0:-1,onKeyDown(M){M.key===" "&&d?.current&&M.preventDefault()},onMouseMove(M){u&&m.emit("itemhover",{nodeId:u,target:M.currentTarget})},onClick(M){e&&m.emit("close",{domEvent:M,reason:y.itemPress})},onMouseUp(M){if(g){let v=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,x&&v&&Math.abs(M.clientX-v.x)<=1&&Math.abs(M.clientY-v.y)<=1||x&&!oo.os.mac&&M.button===2)return}l.current&&a.context.allowMouseUpTriggerRef.current&&(!x||M.button===2)&&(!r||r.type==="regular-item")&&l.current.click()}}),[e,o,i,m,u,R,a,d,l,g,x,r])}n(ft,"useMenuItemCommonProps");var Ye={type:"regular-item"};function Oe(t){let{closeOnClick:e,disabled:o=!1,highlighted:i,id:u,store:a,typingRef:d=a.context.typingRef,nativeButton:l,itemMetadata:r,nodeId:m}=t,R=a.useState("disabled"),g=o||R,x=je.useRef(null),{getButtonProps:M,buttonRef:v}=Ue({disabled:g,focusableWhenDisabled:!0,native:l,composite:!0}),P=ft({closeOnClick:e,highlighted:i,id:u,nodeId:m,store:a,typingRef:d,itemRef:x,itemMetadata:r}),c=je.useCallback(b=>he(P,{onMouseEnter(){r.type==="submenu-trigger"&&r.setActive()}},b,M),[P,M,r]),h=et(x,v);return je.useMemo(()=>({getItemProps:c,itemRef:h}),[c,h])}n(Oe,"useMenuItem");var Ft=(function(t){return t.checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t})({});var Te={checked(t){return t?{[Ft.checked]:""}:{[Ft.unchecked]:""}},...Fe};var rn=f(fe(),1);var sn=gt.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!1,checked:R,defaultChecked:g,onCheckedChange:x,style:M,...v}=e,P=de({label:d}),c=X(!0),h=oe(a),{store:b}=O(),p=b.useState("isActive",P.index),T=b.useState("itemProps"),[V,s]=ot({controlled:R,default:g??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:w,itemRef:S}=Oe({closeOnClick:m,disabled:r,highlighted:p,id:h,store:b,nativeButton:l,nodeId:c?.context.nodeId,itemMetadata:Ye}),j=gt.useMemo(()=>({disabled:r,highlighted:p,checked:V}),[r,p,V]);function N(D){let F=W(y.itemPress,D.nativeEvent,void 0,{preventUnmountOnClose(){}});x?.(!V,F),!F.isCanceled&&s($=>!$)}n(N,"handleClick");let _=I("div",e,{state:j,stateAttributesMapping:Te,props:[T,{role:"menuitemcheckbox","aria-checked":V,onClick:N},v,w],ref:[S,o,P.ref]});return(0,rn.jsx)(Lt.Provider,{value:j,children:_})},"MenuCheckboxItem"));var Rt=f(C(),1);var an=Rt.forwardRef(n(function(e,o){let{render:i,className:u,style:a,keepMounted:d=!1,...l}=e,r=on(),m=Rt.useRef(null),{transitionStatus:R,setMounted:g}=tt(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||g(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:R};return I("span",e,{state:x,ref:[o,m],stateAttributesMapping:Te,props:{"aria-hidden":!0,...l},enabled:d||r.checked})},"MenuCheckboxItemIndicator"));var Mt=f(C(),1);var xt=f(C(),1);var Xe=xt.createContext(void 0);function un(){let t=xt.useContext(Xe);if(t===void 0)throw new Error(L(31));return t}n(un,"useMenuGroupRootContext");var cn=f(fe(),1);var pn=Mt.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,[l,r]=Mt.useState(void 0),m=I("div",e,{ref:o,props:{role:"group","aria-labelledby":l,...d}});return(0,cn.jsx)(Xe.Provider,{value:r,children:m})},"MenuGroup"));var dn=f(C(),1);var ln=dn.forwardRef(n(function(e,o){let{render:i,className:u,style:a,id:d,...l}=e,r=oe(d),m=un();return Ee(()=>(m(r),()=>{m(void 0)}),[m,r]),I("div",e,{ref:o,props:{id:r,role:"presentation",...l}})},"MenuGroupLabel"));var mn=f(C(),1);var fn=mn.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!0,style:R,...g}=e,x=de({label:d}),M=X(!0),v=oe(a),{store:P}=O(),c=P.useState("isActive",x.index),h=P.useState("itemProps"),{getItemProps:b,itemRef:p}=Oe({closeOnClick:m,disabled:r,highlighted:c,id:v,store:P,nativeButton:l,nodeId:M?.context.nodeId,itemMetadata:Ye});return I("div",e,{state:{disabled:r,highlighted:c},props:[h,g,b],ref:[p,o,x.ref]})},"MenuItem"));var ht=f(C(),1);var gn=ht.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,closeOnClick:l=!1,style:r,...m}=e,R=ht.useRef(null),g=de({label:d}),M=X(!0)?.context.nodeId,v=oe(a),{store:P}=O(),c=P.useState("isActive",g.index),h=P.useState("itemProps"),b=P.context.typingRef,{getButtonProps:p,buttonRef:T}=Ue({native:!1,composite:!0}),V=ft({closeOnClick:l,highlighted:c,id:v,nodeId:M,store:P,typingRef:b,itemRef:R});function s(S){return he(V,S,p)}return n(s,"getItemProps"),I("a",e,{state:{highlighted:c},props:[h,m,s],ref:[R,T,o,g.ref]})},"MenuLinkItem"));var Ke=f(C(),1);var Rn=f(fe(),1);var Xn={...He,...Fe},xn=Ke.forwardRef(n(function(e,o){let{render:i,className:u,style:a,finalFocus:d,...l}=e,{store:r}=O(),{side:m,align:R}=X(),g=Ko(!0)!=null,x=r.useState("open"),M=r.useState("transitionStatus"),v=r.useState("popupProps"),P=r.useState("mounted"),c=r.useState("instantType"),h=r.useState("activeTriggerElement"),b=r.useState("parent"),p=r.useState("lastOpenChangeReason"),T=r.useState("rootId"),V=r.useState("floatingRootContext"),s=r.useState("floatingTreeRoot"),w=r.useState("closeDelay"),S=r.useState("activeTriggerElement"),j=r.useState("hoverEnabled"),N=r.useState("disabled"),_=r.useState("openMethod"),D=b.type==="context-menu";Ge({open:x,ref:r.context.popupRef,onComplete(){x&&r.context.onOpenChangeComplete?.(!0)}}),Ke.useEffect(()=>{function K(k){r.setOpen(!1,W(k.reason,k.domEvent))}return n(K,"handleClose"),s.events.on("close",K),()=>{s.events.off("close",K)}},[s.events,r]),To(V,{enabled:j&&!N&&!D&&b.type!=="menubar",closeDelay:w});let F=Ke.useCallback(K=>{r.set("popupElement",K)},[r]),$={transitionStatus:M,side:m,align:R,open:x,nested:b.type==="menu",instant:c},Y=I("div",e,{state:$,ref:[o,r.context.popupRef,F],stateAttributesMapping:Xn,props:[v,{onKeyDown(K){g&&Yo.has(K.key)&&K.stopPropagation()}},Uo(M),l,{"data-rootownerid":T}]}),Q=b.type===void 0||D;return(h||b.type==="menubar"&&p!==y.outsidePress)&&(Q=!0),(0,Rn.jsx)(po,{context:V,openInteractionType:_,modal:D,disabled:!P,returnFocus:d===void 0?Q:d,initialFocus:b.type!=="menu",restoreFocus:!0,externalTree:b.type!=="menubar"?s:void 0,previousFocusableElement:S,nextFocusableElement:b.type===void 0?r.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:b.type===void 0?r.context.beforeContentFocusGuardRef:void 0,children:Y})},"MenuPopup"));var hn=f(C(),1);var bt=f(C(),1);var Gt=bt.createContext(void 0);function Mn(){let t=bt.useContext(Gt);if(t===void 0)throw new Error(L(32));return t}n(Mn,"useMenuPortalContext");var Ut=f(fe(),1);var bn=hn.forwardRef(n(function(e,o){let{keepMounted:i=!1,...u}=e,{store:a}=O();return a.useState("mounted")||i?(0,Ut.jsx)(Gt.Provider,{value:i,children:(0,Ut.jsx)(io,{ref:o,...u})}):null},"MenuPortal"));var Ce=f(C(),1);var $e=f(fe(),1);var Cn=Ce.forwardRef(n(function(e,o){let{anchor:i,positionMethod:u="absolute",className:a,render:d,side:l,align:r,sideOffset:m=0,alignOffset:R=0,collisionBoundary:g="clipping-ancestors",collisionPadding:x=5,arrowPadding:M=5,sticky:v=!1,disableAnchorTracking:P=!1,collisionAvoidance:c=ro,style:h,...b}=e,{store:p}=O(),T=Mn(),V=be(!0),s=p.useState("parent"),w=p.useState("floatingRootContext"),S=p.useState("floatingTreeRoot"),j=p.useState("mounted"),N=p.useState("open"),_=p.useState("modal"),D=p.useState("openMethod"),F=p.useState("activeTriggerElement"),$=p.useState("transitionStatus"),Y=p.useState("positionerElement"),Q=p.useState("instantType"),K=p.useState("hasViewport"),k=p.useState("lastOpenChangeReason"),Z=p.useState("floatingNodeId"),re=p.useState("floatingParentNodeId"),ve=w.useState("domReferenceElement"),le=Ce.useRef(null),ie=no(Y,!1,!1),ge=i,Re=m,Pe=R,z=r,ae=c;s.type==="context-menu"&&(ge=i??s.context?.anchor,z=z??"start",!l&&z!=="center"&&(Pe=e.alignOffset??2,Re=e.sideOffset??-5));let ue=l,xe=z;s.type==="menu"?(ue=ue??"inline-end",xe=xe??"start",ae=e.collisionAvoidance??so):s.type==="menubar"&&(ue=ue??(s.context.orientation==="vertical"?"inline-end":"bottom"),xe=xe??"start");let Me=s.type==="context-menu",se=Fo({anchor:ge,floatingRootContext:w,positionMethod:V?"fixed":u,mounted:j,side:ue,sideOffset:Re,align:xe,alignOffset:Pe,arrowPadding:Me?0:M,collisionBoundary:g,collisionPadding:x,sticky:v,nodeId:Z,keepMounted:T,disableAnchorTracking:P,collisionAvoidance:ae,shiftCrossAxis:Me&&!("side"in ae&&ae.side==="flip"),externalTree:S,adaptiveOrigin:K?Lo:void 0});Ce.useEffect(()=>{function B(A){A.open&&(A.parentNodeId===Z&&p.set("hoverEnabled",!1),A.nodeId!==Z&&A.parentNodeId===p.select("floatingParentNodeId")&&p.setOpen(!1,W(y.siblingOpen)))}return n(B,"onMenuOpenChange"),S.events.on("menuopenchange",B),()=>{S.events.off("menuopenchange",B)}},[p,S.events,Z]),Ce.useEffect(()=>{if(p.select("floatingParentNodeId")==null)return;function B(A){if(A.open||A.nodeId!==p.select("floatingParentNodeId"))return;let Ie=A.reason??y.siblingOpen;p.setOpen(!1,W(Ie))}return n(B,"onParentClose"),S.events.on("menuopenchange",B),()=>{S.events.off("menuopenchange",B)}},[S.events,p]);let ce=Ne();Ce.useEffect(()=>{N||ce.clear()},[N,ce]),Ce.useEffect(()=>{function B(A){if(!(!N||A.nodeId!==p.select("floatingParentNodeId")))if(A.target&&F&&F!==A.target){let Ie=p.select("closeDelay");Ie>0?ce.isStarted()||ce.start(Ie,()=>{p.setOpen(!1,W(y.siblingOpen))}):p.setOpen(!1,W(y.siblingOpen))}else ce.clear()}return n(B,"onItemHover"),S.events.on("itemhover",B),()=>{S.events.off("itemhover",B)}},[S.events,N,F,p,ce]),Ce.useEffect(()=>{let B={open:N,nodeId:Z,parentNodeId:re,reason:p.select("lastOpenChangeReason")};S.events.emit("menuopenchange",B)},[S.events,N,p,Z,re]),Ee(()=>{let B=ve,A=le.current;if(B&&(le.current=B),A&&B&&B!==A){p.set("instantType",void 0);let Ie=new AbortController;return ie(()=>{p.set("instantType","trigger-change")},Ie.signal),()=>{Ie.abort()}}},[ve,ie,p]);let De={open:N,side:se.side,align:se.align,anchorHidden:se.anchorHidden,nested:s.type==="menu",instant:Q},Se=s.type==="menubar"&&s.context.modal,me=_&&k!==y.triggerHover;jo(N&&(Se||me),D==="touch",Y,F);let Ae=Ho(e,De,{styles:se.positionerStyles,transitionStatus:$,props:b,refs:[o,p.useStateSetter("positionerElement")],hidden:!j,inert:!N}),Ve=j&&s.type!=="menu"&&(s.type!=="menubar"&&_&&k!==y.triggerHover||s.type==="menubar"&&s.context.modal),G=null;return s.type==="menubar"?G=s.context.contentElement:s.type===void 0&&(G=F),(0,$e.jsxs)(Vt.Provider,{value:se,children:[Ve&&(0,$e.jsx)(Go,{ref:s.type==="context-menu"||s.type==="nested-context-menu"?s.context.internalBackdropRef:null,inert:Vo(!N),cutout:G}),(0,$e.jsx)(uo,{id:Z,children:(0,$e.jsx)(Wo,{elementsRef:p.context.itemDomElements,labelsRef:p.context.itemLabels,children:Ae})})]})},"MenuPositioner"));var ke=f(C(),1);var Ct=f(C(),1);var Ht=Ct.createContext(void 0);function vn(){let t=Ct.useContext(Ht);if(t===void 0)throw new Error(L(34));return t}n(vn,"useMenuRadioGroupContext");var jt=f(fe(),1);var In=ke.memo(ke.forwardRef(n(function(e,o){let{render:i,className:u,value:a,defaultValue:d,onValueChange:l,disabled:r=!1,style:m,"aria-labelledby":R,...g}=e,[x,M]=ke.useState(void 0),[v,P]=ot({controlled:a,default:d,name:"MenuRadioGroup"}),c=Le((T,V)=>{l?.(T,V),!V.isCanceled&&P(T)}),b=I("div",e,{state:{disabled:r},ref:o,props:{role:"group","aria-labelledby":R??x,"aria-disabled":r||void 0,...g}}),p=ke.useMemo(()=>({value:v,setValue:c,disabled:r}),[v,c,r]);return(0,jt.jsx)(Xe.Provider,{value:M,children:(0,jt.jsx)(Ht.Provider,{value:p,children:b})})},"MenuRadioGroup")));var It=f(C(),1);var vt=f(C(),1);var Yt=vt.createContext(void 0);function En(){let t=vt.useContext(Yt);if(t===void 0)throw new Error(L(35));return t}n(En,"useMenuRadioItemContext");var yn=f(fe(),1);var Pn=It.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!1,value:R,style:g,...x}=e,M=de({label:d}),v=X(!0),P=oe(a),{store:c}=O(),h=c.useState("isActive",M.index),b=c.useState("itemProps"),{value:p,setValue:T,disabled:V}=vn(),s=V||r,w=p===R,{getItemProps:S,itemRef:j}=Oe({closeOnClick:m,disabled:s,highlighted:h,id:P,store:c,nativeButton:l,nodeId:v?.context.nodeId,itemMetadata:Ye}),N=It.useMemo(()=>({disabled:s,highlighted:h,checked:w}),[s,h,w]);function _(F){let $=W(y.itemPress,F.nativeEvent,void 0,{preventUnmountOnClose(){}});T(R,$)}n(_,"handleClick");let D=I("div",e,{state:N,stateAttributesMapping:Te,props:[b,{role:"menuitemradio","aria-checked":w,onClick:_},x,S],ref:[j,o,M.ref]});return(0,yn.jsx)(Yt.Provider,{value:N,children:D})},"MenuRadioItem"));var Et=f(C(),1);var Sn=Et.forwardRef(n(function(e,o){let{render:i,className:u,style:a,keepMounted:d=!1,...l}=e,r=En(),m=Et.useRef(null),{transitionStatus:R,setMounted:g}=tt(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||g(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:R};return I("span",e,{state:x,stateAttributesMapping:Te,ref:[o,m],props:{"aria-hidden":!0,...l},enabled:d||r.checked})},"MenuRadioItemIndicator"));var H=f(C(),1);var yt=f(C(),1);var qn=yt.createContext(null);function Pt(t){let e=yt.useContext(qn);if(e===null&&!t)throw new Error(L(5));return e}n(Pt,"useMenubarContext");var qe=f(C(),1);var Qn={...No,disabled:U(t=>t.parent.type==="menubar"&&t.parent.context.disabled||t.disabled),modal:U(t=>(t.parent.type===void 0||t.parent.type==="context-menu")&&(t.modal??!0)),openMethod:U(t=>t.openMethod),allowMouseEnter:U(t=>t.allowMouseEnter),highlightItemOnHover:U(t=>t.highlightItemOnHover),stickIfOpen:U(t=>t.stickIfOpen),parent:U(t=>t.parent),rootId:U(t=>t.parent.type==="menu"?t.parent.store.select("rootId"):t.parent.type!==void 0?t.parent.context.rootId:t.rootId),activeIndex:U(t=>t.activeIndex),isActive:U((t,e)=>t.activeIndex===e),hoverEnabled:U(t=>t.hoverEnabled),instantType:U(t=>t.instantType),lastOpenChangeReason:U(t=>t.openChangeReason),floatingTreeRoot:U(t=>t.parent.type==="menu"?t.parent.store.select("floatingTreeRoot"):t.floatingTreeRoot),floatingNodeId:U(t=>t.floatingNodeId),floatingParentNodeId:U(t=>t.floatingParentNodeId),itemProps:U(t=>t.itemProps),closeDelay:U(t=>t.closeDelay),hasViewport:U(t=>t.hasViewport),keyboardEventRelay:U(t=>{if(t.keyboardEventRelay)return t.keyboardEventRelay;if(t.parent.type==="menu")return t.parent.store.select("keyboardEventRelay")})},ze=class t extends go{static{n(this,"MenuStore")}constructor(e){super({...Zn(),...e},{positionerRef:qe.createRef(),popupRef:qe.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:qe.createRef(),beforeContentFocusGuardRef:qe.createRef(),onOpenChangeComplete:void 0,triggerElements:new Po},Qn),this.unsubscribeParentListener=this.observe("parent",o=>{if(this.unsubscribeParentListener?.(),o.type==="menu"){let i=o.store.select("rootId"),u=o.store.select("floatingTreeRoot"),a=o.store.select("keyboardEventRelay");this.unsubscribeParentListener=o.store.subscribe(()=>{let d=o.store.select("rootId"),l=o.store.select("floatingTreeRoot"),r=o.store.select("keyboardEventRelay");i===d&&u===l&&a===r||(i=d,u=l,a=r,this.notifyAll())}),this.context.allowMouseUpTriggerRef=o.store.context.allowMouseUpTriggerRef;return}o.type!==void 0&&(this.context.allowMouseUpTriggerRef=o.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,o){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:o})}static useStore(e,o){let i=Qt(()=>new t(o)).current;return e??i}unsubscribeParentListener=null};function Zn(){return{...So(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new nt,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:pe,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}n(Zn,"createInitialState");var St=f(C(),1);var Kt=St.createContext(void 0);function Nt(){return St.useContext(Kt)}n(Nt,"useMenuSubmenuRootContext");var $t=f(fe(),1);var Ot=mo(n(function(e){let{children:o,open:i,onOpenChange:u,onOpenChangeComplete:a,defaultOpen:d=!1,disabled:l=!1,modal:r,loopFocus:m=!0,orientation:R="vertical",actionsRef:g,closeParentOnEsc:x=!1,handle:M,triggerId:v,defaultTriggerId:P=null,highlightItemOnHover:c=!0}=e,h=be(!0),b=O(!0),p=Pt(!0),T=Nt(),V=H.useMemo(()=>T&&b?{type:"menu",store:b.store}:p?{type:"menubar",context:p}:h&&!b?{type:"context-menu",context:h}:{type:void 0},[h,b,p,T]),s=ze.useStore(M?.store,{open:d,openProp:i,activeTriggerId:P,triggerIdProp:v,parent:V});Co(s,i,d,P),s.useControlledProp("openProp",i),s.useControlledProp("triggerIdProp",v),s.useContextCallback("onOpenChangeComplete",a);let w=wt(),S=wt(),j=s.useState("floatingTreeRoot"),N=st(j),_=rt(),D=s.useState("open"),F=s.useState("activeTriggerElement"),$=s.useState("positionerElement"),Y=s.useState("hoverEnabled"),Q=s.useState("disabled"),K=s.useState("lastOpenChangeReason"),k=s.useState("parent"),Z=s.useState("activeIndex"),re=s.useState("payload"),ve=s.useState("floatingParentNodeId"),le=H.useRef(null),ie=H.useRef(k.type!=="context-menu"),ge=Ne(),Re=H.useRef(!0),Pe=Ne(),z=ve!=null,{openMethod:ae,triggerProps:ue}=Ao(D);s.useSyncedValues({disabled:l,highlightItemOnHover:c,modal:k.type===void 0?r:void 0,openMethod:ae,rootId:w}),Io(s);let{forceUnmount:xe}=Eo(D,s,()=>{s.update({allowMouseEnter:!1,stickIfOpen:!0})});Ee(()=>{h&&!b?s.update({parent:{type:"context-menu",context:h},floatingNodeId:N,floatingParentNodeId:_}):b&&s.update({floatingNodeId:N,floatingParentNodeId:_})},[h,b,N,_,s]),H.useEffect(()=>{if(D||(le.current=null),k.type==="context-menu"){if(!D){ge.clear(),ie.current=!1;return}ge.start(500,()=>{ie.current=!0})}},[ge,D,k.type]),Ee(()=>{!D&&!Y&&s.set("hoverEnabled",!0)},[D,Y,s]);let Me=Le((E,J)=>{let te=J.reason;if(D===E&&J.trigger===F&&K===te)return;let Yn=bo(J);if(!E&&J.trigger==null&&(J.trigger=F??void 0),u?.(E,J),J.isCanceled)return;s.state.floatingRootContext.dispatchOpenChange(E,J);let Ze=J.event;if(E===!1&&Ze?.type==="click"&&Ze.pointerType==="touch"&&!Re.current)return;E&&te===y.triggerFocus?(Re.current=!1,Pe.start(300,()=>{Re.current=!0})):(Re.current=!0,Pe.clear());let Xt=(te===y.triggerPress||te===y.itemPress)&&Ze.detail===0&&Ze?.isTrusted,Kn=!E&&(te===y.escapeKey||te==null),qt={open:E,openChangeReason:te};le.current=J.event??null,ho(qt,E,J.trigger,Yn()),s.update(qt),k.type==="menubar"&&(te===y.triggerFocus||te===y.focusOut||te===y.triggerHover||te===y.listNavigation||te===y.siblingOpen)?s.set("instantType","group"):Xt||Kn?s.set("instantType",Xt?"click":"dismiss"):s.set("instantType",void 0)}),se=Ro({popupStore:s,floatingId:S,nested:_!=null,onOpenChange:Me}),ce=se.context.events;H.useEffect(()=>{let E=n(({open:J,eventDetails:te})=>Me(J,te),"handleSetOpenEvent");return ce.on("setOpen",E),()=>{ce?.off("setOpen",E)}},[ce,Me]);let De=H.useCallback(()=>{s.setOpen(!1,W(y.imperativeAction))},[s]);H.useImperativeHandle(g,()=>({unmount:xe,close:De}),[xe,De]);let Se;k.type==="context-menu"&&(Se=k.context),H.useImperativeHandle(Se?.positionerRef,()=>$,[$]),H.useImperativeHandle(Se?.actionsRef,()=>({setOpen:Me}),[Me]);let me=lo(se,{enabled:!Q,bubbles:{escapeKey:x&&k.type==="menu"},outsidePress(){return k.type!=="context-menu"||le.current?.type==="contextmenu"?!0:ie.current},externalTree:z?j:void 0}),Ae=Bo(),Ve=H.useCallback(E=>{s.select("activeIndex")!==E&&s.set("activeIndex",E)},[s]),G=ko(se,{enabled:!Q,listRef:s.context.itemDomElements,activeIndex:Z,nested:k.type!==void 0,loopFocus:m,orientation:R,parentOrientation:k.type==="menubar"?k.context.orientation:void 0,rtl:Ae==="rtl",disabledIndices:Je,onNavigate:Ve,openOnArrowKeyDown:k.type!=="context-menu",externalTree:z?j:void 0,focusItemOnHover:c}),B=H.useCallback(E=>{s.context.typingRef.current=E},[s]),A=wo(se,{enabled:!Q,listRef:s.context.itemLabels,elementsRef:s.context.itemDomElements,activeIndex:Z,resetMs:500,onMatch:n(E=>{D&&E!==Z&&s.set("activeIndex",E)},"onMatch"),onTyping:B}),Ie=H.useMemo(()=>{let E=he(A.reference,G.reference,me.reference,{onMouseMove(){s.set("allowMouseEnter",!0)}},ue);return E["aria-haspopup"]="menu",E["aria-expanded"]=D,E},[s,A.reference,G.reference,me.reference,ue,D]),Gn=H.useMemo(()=>{let E=he(G.trigger,me.trigger,ue);return E["aria-haspopup"]="menu",E["aria-expanded"]=!1,E},[G.trigger,me.trigger,ue]),Un=H.useMemo(()=>he(xo,{id:S,role:"menu","aria-labelledby":F?.id,onMouseMove(){s.set("allowMouseEnter",!0),k.type==="menu"&&s.set("hoverEnabled",!1)},onClick(){s.select("hoverEnabled")&&s.set("hoverEnabled",!1)},onKeyDown(E){let J=s.select("keyboardEventRelay");J&&!E.isPropagationStopped()&&J(E)}},A.floating,G.floating,me.floating),[F,S,k.type,s,A.floating,G.floating,me.floating]),Hn=G.item??pe;yo(s,{floatingRootContext:se,activeTriggerProps:Ie,inactiveTriggerProps:Gn,popupProps:Un,itemProps:Hn});let jn=H.useMemo(()=>({store:s,parent:V}),[s,V]),Wt=(0,$t.jsx)(Bt.Provider,{value:jn,children:typeof o=="function"?o({payload:re}):o});return k.type===void 0||k.type==="context-menu"?(0,$t.jsx)(co,{externalTree:j,children:Wt}):Wt},"MenuRoot"));var Nn=f(C(),1);var zt=f(fe(),1);function On(t){let e=O().store,o=Nn.useMemo(()=>({parentMenu:e}),[e]);return(0,zt.jsx)(Kt.Provider,{value:o,children:(0,zt.jsx)(Ot,{...t})})}n(On,"MenuSubmenuRoot");var q=f(C(),1);var Tn=f(C(),1);function kn(t={}){let{highlightItemOnHover:e,highlightedIndex:o,onHighlightedIndexChange:i}=ct(),{ref:u,index:a}=de(t),d=o===a,l=Tn.useRef(null),r=et(u,l);return{compositeProps:{tabIndex:d?0:-1,onFocus(){i(a)},onMouseMove(){let R=l.current;if(!e||!R)return;let g=R.hasAttribute("disabled")||R.ariaDisabled==="true";!d&&!g&&R.focus()}},compositeRef:r,index:a}}n(kn,"useCompositeItem");function wn(t){let{render:e,className:o,style:i,state:u=pe,props:a=Je,refs:d=Je,metadata:l,stateAttributesMapping:r,tag:m="div",...R}=t,{compositeProps:g,compositeRef:x}=kn({metadata:l});return I(m,t,{state:u,ref:[...d,x],props:[g,...a,R],stateAttributesMapping:r})}n(wn,"CompositeItem");function Jt(t){if(Zt(t)&&t.hasAttribute("data-rootownerid"))return t.getAttribute("data-rootownerid")??void 0;if(!eo(t))return Jt(to(t))}n(Jt,"findRootOwnerId");var Tt=f(C(),1);function _n(t){let{enabled:e=!0,mouseDownAction:o,open:i}=t,u=Tt.useRef(!1);return Tt.useMemo(()=>e?{onMouseDown:n(a=>{(o==="open"&&!i||o==="close"&&i)&&(u.current=!0,We(a.currentTarget).addEventListener("click",()=>{u.current=!1},{once:!0}))},"onMouseDown"),onClick:n(a=>{u.current&&(u.current=!1,a.preventBaseUIHandler())},"onClick")}:pe,[e,o,i])}n(_n,"useMixedToggleClickHandler");var we=f(fe(),1);var kt=2,Dn=fo(n(function(e,o){let{render:i,className:u,style:a,disabled:d=!1,nativeButton:l=!0,id:r,openOnHover:m,delay:R=100,closeDelay:g=0,handle:x,payload:M,...v}=e,P=O(!0),c=x?.store??P?.store;if(!c)throw new Error(L(85));let h=oe(r),b=c.useState("isTriggerActive",h),p=c.useState("floatingRootContext"),T=c.useState("isOpenedByTrigger",h),V=c.useState("triggerPopupId",h),s=q.useRef(null),w=tr(),S=ct(!0),j=ao(),N=q.useMemo(()=>j??new nt,[j]),_=st(N),D=rt(),{registerTrigger:F,isMountedByThisTrigger:$}=vo(h,s,c,{payload:M,closeDelay:g,parent:w,floatingTreeRoot:N,floatingNodeId:_,floatingParentNodeId:D,keyboardEventRelay:S?.relayKeyboardEvent}),Y=w.type==="menubar",Q=c.useState("disabled"),K=d||Q||Y&&w.context.disabled,{getButtonProps:k,buttonRef:Z}=Ue({disabled:K,native:l});q.useEffect(()=>{!T&&w.type===void 0&&(c.context.allowMouseUpTriggerRef.current=!1)},[c,T,w.type]);let re=q.useRef(null),ve=Ne(),le=Le(G=>{if(!re.current)return;ve.clear(),c.context.allowMouseUpTriggerRef.current=!1;let B=G.target;if(_t(re.current,B)||_t(c.select("positionerElement"),B)||B===re.current||B!=null&&Jt(B)===c.select("rootId"))return;let A=Xo(re.current);G.clientX>=A.left-kt&&G.clientX<=A.right+kt&&G.clientY>=A.top-kt&&G.clientY<=A.bottom+kt||N.events.emit("close",{domEvent:G,reason:y.cancelOpen})});q.useEffect(()=>{T&&c.select("lastOpenChangeReason")===y.triggerHover&&We(re.current).addEventListener("mouseup",le,{once:!0})},[T,le,c]);let ie=Y&&w.context.hasSubmenuOpen,Re=at(p,{enabled:(m??ie)&&!K&&w.type!=="context-menu"&&(!Y||ie&&!$),handleClose:ut({blockPointerEvents:!Y}),mouseOnly:!0,move:!1,restMs:w.type===void 0?R:void 0,delay:{close:g},triggerElementRef:s,externalTree:N,isActiveTrigger:b,isClosing:n(()=>c.select("transitionStatus")==="ending","isClosing")}),Pe=er(T,c.select("lastOpenChangeReason")),z=it(p,{enabled:!K&&w.type!=="context-menu",event:T&&Y?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:w.type===void 0?Pe:!1}),ae=Oo(p,{enabled:!K&&ie}),ue=_n({open:T,enabled:Y,mouseDownAction:"open"}),xe=q.useMemo(()=>he(ae.reference,z.reference),[ae.reference,z.reference]),Me=c.useState("triggerProps",$),{preFocusGuardRef:se,handlePreFocusGuardFocus:ce,handleFocusTargetFocus:De}=Do(c,s),Se={disabled:K,open:T},me=[re,o,Z,F,s],Ae=[xe,Re??pe,Me,{"aria-haspopup":"menu","aria-controls":V,id:h,onMouseDown:n(G=>{if(c.select("open"))return;ve.start(200,()=>{c.context.allowMouseUpTriggerRef.current=!0}),We(G.currentTarget).addEventListener("mouseup",le,{once:!0})},"onMouseDown")},Y?{role:"menuitem"}:{},ue,v,k],Ve=I("button",e,{enabled:!Y,stateAttributesMapping:At,state:Se,ref:me,props:Ae});return Y?(0,we.jsx)(wn,{tag:"button",render:i,className:u,style:a,state:Se,refs:me,props:Ae,stateAttributesMapping:At}):T?(0,we.jsxs)(q.Fragment,{children:[(0,we.jsx)(Dt,{ref:se,onFocus:ce},`${h}-pre-focus-guard`),(0,we.jsx)(q.Fragment,{children:Ve},h),(0,we.jsx)(Dt,{ref:c.context.triggerFocusTargetRef,onFocus:De},`${h}-post-focus-guard`)]}):(0,we.jsx)(q.Fragment,{children:Ve},h)},"MenuTrigger"));function er(t,e){let o=Ne(),[i,u]=q.useState(!1);return Ee(()=>{t&&e==="trigger-hover"?(u(!0),o.start(500,()=>{u(!1)})):t||(o.clear(),u(!1))},[t,e,o]),i}n(er,"useStickIfOpen");function tr(){let t=be(!0),e=O(!0),o=Pt(!0);return q.useMemo(()=>o?{type:"menubar",context:o}:t&&!e?{type:"context-menu",context:t}:{type:void 0},[t,e,o])}n(tr,"useMenuParent");var Vn=f(C(),1);var An=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var or={activationDirection:n(t=>t?{"data-activation-direction":t}:null,"activationDirection")},Bn=Vn.forwardRef(n(function(e,o){let{render:i,className:u,style:a,children:d,...l}=e,{store:r}=O(),{side:m}=X(),R=r.useState("instantType"),{children:g,state:x}=$o({store:r,side:m,cssVars:An,children:d}),M={activationDirection:x.activationDirection,transitioning:x.transitioning,instant:R};return I("div",e,{state:M,ref:o,props:[l,{children:g}],stateAttributesMapping:or})},"MenuViewport"));var ye=f(C(),1);var Ln=ye.forwardRef(n(function(e,o){let{render:i,className:u,style:a,label:d,id:l,nativeButton:r=!1,openOnHover:m=!0,delay:R=100,closeDelay:g=0,disabled:x=!1,...M}=e,v=de({label:d}),P=X(),{store:c}=O(),h=oe(l),b=c.useState("open"),p=c.useState("floatingRootContext"),T=c.useState("floatingTreeRoot"),V=c.useState("triggerPopupId",h),s=Mo(h,c),w=ye.useCallback(z=>{let ae=s(z);return z!==null&&c.select("open")&&c.select("activeTriggerId")==null&&c.update({activeTriggerId:h,activeTriggerElement:z,closeDelay:g}),ae},[s,g,c,h]),S=ye.useRef(null),j=ye.useCallback(z=>{S.current=z,c.set("activeTriggerElement",z)},[c]),N=Nt();if(!N?.parentMenu)throw new Error(L(37));c.useSyncedValue("closeDelay",g);let _=N.parentMenu,D=c.useState("disabled"),F=_.useState("disabled"),$=x||D||F,Y=_.useState("itemProps"),Q=_.useState("isActive",v.index),K=ye.useMemo(()=>({type:"submenu-trigger",setActive(){_.select("highlightItemOnHover")&&_.set("activeIndex",v.index)}}),[_,v.index]),{getItemProps:k,itemRef:Z}=Oe({closeOnClick:!1,disabled:$,highlighted:Q,id:h,store:c,typingRef:_.context.typingRef,nativeButton:r,itemMetadata:K,nodeId:P?.context.nodeId}),re=c.useState("hoverEnabled"),ve=at(p,{enabled:re&&m&&!$,handleClose:ut({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:R,delay:{open:R,close:g},shouldOpen:R>0?()=>_.select("allowMouseEnter"):void 0,triggerElementRef:S,externalTree:T,isClosing:n(()=>c.select("transitionStatus")==="ending","isClosing")}),ie=it(p,{enabled:!$,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??pe,ge=c.useState("triggerProps",!0);return delete ge.id,I("div",e,{state:{disabled:$,highlighted:Q,open:b},stateAttributesMapping:_o,props:[ie,ve,ge,Y,{"aria-controls":V,tabIndex:b||Q?0:-1,onBlur(){Q&&_.set("activeIndex",null)}},M,k],ref:[o,v.ref,Z,w,j]})},"MenuSubmenuTrigger"));var Qe=class{static{n(this,"MenuHandle")}constructor(){this.store=new ze}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!o)throw new Error(L(83,e));this.store.setOpen(!0,W("imperative-action",void 0,o))}close(){this.store.setOpen(!1,W("imperative-action",void 0,void 0))}get isOpen(){return this.store.select("open")}};function Fn(){return new Qe}n(Fn,"createMenuHandle");var ee=f(fe(),1);function Fc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Root,{"data-slot":"dropdown-menu",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Fc,"_");function Gc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Trigger,{"data-slot":"dropdown-menu-trigger",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Gc,"y");function Uc({align:t="start",alignOffset:e=0,side:o="bottom",sideOffset:i=4,className:u,...a}){return(0,ee.jsx)(ne.Portal,{children:(0,ee.jsx)(ne.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:e,side:o,sideOffset:i,children:(0,ee.jsx)(ne.Popup,{"data-slot":"dropdown-menu-content",className:Be("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",u),...a})})})}n(Uc,"I");function Hc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Group,{"data-slot":"dropdown-menu-group",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Hc,"$");function jc(t){let e=(0,_e.c)(10),o,i,u;e[0]!==t?({className:o,inset:i,...u}=t,e[0]=t,e[1]=o,e[2]=i,e[3]=u):(o=e[1],i=e[2],u=e[3]);let a;e[4]!==o?(a=Be("px-2 py-2 text-xs text-muted-foreground data-inset:ps-7",o),e[4]=o,e[5]=a):a=e[5];let d;return e[6]!==i||e[7]!==u||e[8]!==a?(d=(0,ee.jsx)(ne.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:a,...u}),e[6]=i,e[7]=u,e[8]=a,e[9]=d):d=e[9],d}n(jc,"O");function Yc({className:t,inset:e,variant:o="default",...i}){return(0,ee.jsx)(ne.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":o,className:Be("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",t),...i})}n(Yc,"P");function Kc(t){let e=(0,_e.c)(15),o,i,u,a,d;e[0]!==t?({className:u,children:i,checked:o,inset:a,...d}=t,e[0]=t,e[1]=o,e[2]=i,e[3]=u,e[4]=a,e[5]=d):(o=e[1],i=e[2],u=e[3],a=e[4],d=e[5]);let l;e[6]!==u?(l=Be("relative flex cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),e[6]=u,e[7]=l):l=e[7];let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,ee.jsx)("span",{className:"pointer-events-none absolute end-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,ee.jsx)(ne.CheckboxItemIndicator,{children:(0,ee.jsx)(Jo,{icon:zo,strokeWidth:2})})}),e[8]=r):r=e[8];let m;return e[9]!==o||e[10]!==i||e[11]!==a||e[12]!==d||e[13]!==l?(m=(0,ee.jsxs)(ne.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item","data-inset":a,className:l,checked:o,...d,children:[r,i]}),e[9]=o,e[10]=i,e[11]=a,e[12]=d,e[13]=l,e[14]=m):m=e[14],m}n(Kc,"j");function $c(t){let e=(0,_e.c)(8),o,i;e[0]!==t?({className:o,...i}=t,e[0]=t,e[1]=o,e[2]=i):(o=e[1],i=e[2]);let u;e[3]!==o?(u=Be("-mx-1 h-px bg-border",o),e[3]=o,e[4]=u):u=e[4];let a;return e[5]!==i||e[6]!==u?(a=(0,ee.jsx)(ne.Separator,{"data-slot":"dropdown-menu-separator",className:u,...i}),e[5]=i,e[6]=u,e[7]=a):a=e[7],a}n($c,"C");export{Fc as a,Gc as b,Uc as c,Hc as d,jc as e,Yc as f,Kc as g,$c as h};
|
|
1
|
+
import{b as de,c as Wo,d as Xo}from"./chunk-SD4BERSA.js";import{a as qo}from"./chunk-IC4L6G56.js";import{a as So,c as No,d as Do,e as $o}from"./chunk-7LWMHTJ3.js";import{A as lo,D as U,E as mo,F as fo,I as go,K as Ro,L as xo,O as Mo,P as ho,Q as bo,S as Co,T as vo,U as Io,V as Eo,W as yo,Y as Po,_ as Oo,aa as To,ba as at,ca as ko,da as wo,ea as ut,ha as _o,ia as At,ja as He,l as Dt,la as Ao,ma as Vo,n as ro,na as Lo,o as so,oa as Fo,pa as Go,q as io,qa as Uo,r as nt,ra as Ho,s as rt,t as ao,ta as jo,u as st,ua as Yo,v as uo,va as Ko,w as co,x as po,y as it}from"./chunk-RQ7AFLIV.js";import{b as Bo}from"./chunk-BGBLQ563.js";import{i as zo,k as Jo}from"./chunk-QBWRC5YX.js";import{C as Ne,I as Fe,J as no,K as Ge,L as tt,M as ot,O as y,P as W,d as wt,e as oe,h as We,i as oo,p as _t}from"./chunk-CFPZYHPY.js";import{a as ct,b as Ue}from"./chunk-FXCBF4XT.js";import{a as Ee,c as Le,i as Zt,q as eo,t as to}from"./chunk-2OUPA2WJ.js";import{a as he,c as L,d as Qt,e as et,h as Je,i as pe,j as I}from"./chunk-6ST5ECQA.js";import{a as n,d as $n,e as f,f as C,g as zn,h as fe,j as Be}from"./chunk-3XIESWL4.js";var _e=f(zn(),1),Dc=f(C(),1);var ne={};$n(ne,{Arrow:()=>Zo,Backdrop:()=>tn,CheckboxItem:()=>sn,CheckboxItemIndicator:()=>an,Group:()=>pn,GroupLabel:()=>ln,Handle:()=>Qe,Item:()=>fn,LinkItem:()=>gn,Popup:()=>xn,Portal:()=>bn,Positioner:()=>Cn,RadioGroup:()=>In,RadioItem:()=>Pn,RadioItemIndicator:()=>Sn,Root:()=>Ot,Separator:()=>qo,SubmenuRoot:()=>On,SubmenuTrigger:()=>Ln,Trigger:()=>Dn,Viewport:()=>Bn,createHandle:()=>Fn});var Qo=f(C(),1);var pt=f(C(),1);var Vt=pt.createContext(void 0);function X(t){let e=pt.useContext(Vt);if(e===void 0&&!t)throw new Error(L(33));return e}n(X,"useMenuPositionerContext");var dt=f(C(),1);var Bt=dt.createContext(void 0);function O(t){let e=dt.useContext(Bt);if(e===void 0&&!t)throw new Error(L(36));return e}n(O,"useMenuRootContext");var Zo=Qo.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,{store:l}=O(),{arrowRef:r,side:m,align:R,arrowUncentered:g,arrowStyles:x}=X(),v={open:l.useState("open"),side:m,align:R,uncentered:g};return I("div",e,{ref:[r,o],stateAttributesMapping:He,state:v,props:{style:x,"aria-hidden":!0,...d}})},"MenuArrow"));var en=f(C(),1);var lt=f(C(),1);var Jn=lt.createContext(void 0);function be(t=!0){let e=lt.useContext(Jn);if(e===void 0&&!t)throw new Error(L(25));return e}n(be,"useContextMenuRootContext");var Wn={...He,...Fe},tn=en.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,{store:l}=O(),r=l.useState("open"),m=l.useState("mounted"),R=l.useState("transitionStatus"),g=l.useState("lastOpenChangeReason"),x=be(),M={open:r,transitionStatus:R};return I("div",e,{ref:x?.backdropRef?[o,x.backdropRef]:o,state:M,stateAttributesMapping:Wn,props:[{role:"presentation",hidden:!m,style:{pointerEvents:g===y.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},d]})},"MenuBackdrop"));var gt=f(C(),1);var mt=f(C(),1);var Lt=mt.createContext(void 0);function on(){let t=mt.useContext(Lt);if(t===void 0)throw new Error(L(30));return t}n(on,"useMenuCheckboxItemContext");var je=f(C(),1);var nn=f(C(),1);function ft(t){let{closeOnClick:e,highlighted:o,id:i,nodeId:u,store:a,typingRef:d,itemRef:l,itemMetadata:r}=t,{events:m}=a.useState("floatingTreeRoot"),R=a.useState("open"),g=be(!0),x=g!==void 0;return nn.useMemo(()=>({id:i,role:"menuitem",tabIndex:R&&o?0:-1,onKeyDown(M){M.key===" "&&d?.current&&M.preventDefault()},onMouseMove(M){u&&m.emit("itemhover",{nodeId:u,target:M.currentTarget})},onClick(M){e&&m.emit("close",{domEvent:M,reason:y.itemPress})},onMouseUp(M){if(g){let v=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,x&&v&&Math.abs(M.clientX-v.x)<=1&&Math.abs(M.clientY-v.y)<=1||x&&!oo.os.mac&&M.button===2)return}l.current&&a.context.allowMouseUpTriggerRef.current&&(!x||M.button===2)&&(!r||r.type==="regular-item")&&l.current.click()}}),[e,o,i,m,u,R,a,d,l,g,x,r])}n(ft,"useMenuItemCommonProps");var Ye={type:"regular-item"};function Oe(t){let{closeOnClick:e,disabled:o=!1,highlighted:i,id:u,store:a,typingRef:d=a.context.typingRef,nativeButton:l,itemMetadata:r,nodeId:m}=t,R=a.useState("disabled"),g=o||R,x=je.useRef(null),{getButtonProps:M,buttonRef:v}=Ue({disabled:g,focusableWhenDisabled:!0,native:l,composite:!0}),P=ft({closeOnClick:e,highlighted:i,id:u,nodeId:m,store:a,typingRef:d,itemRef:x,itemMetadata:r}),c=je.useCallback(b=>he(P,{onMouseEnter(){r.type==="submenu-trigger"&&r.setActive()}},b,M),[P,M,r]),h=et(x,v);return je.useMemo(()=>({getItemProps:c,itemRef:h}),[c,h])}n(Oe,"useMenuItem");var Ft=(function(t){return t.checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t})({});var Te={checked(t){return t?{[Ft.checked]:""}:{[Ft.unchecked]:""}},...Fe};var rn=f(fe(),1);var sn=gt.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!1,checked:R,defaultChecked:g,onCheckedChange:x,style:M,...v}=e,P=de({label:d}),c=X(!0),h=oe(a),{store:b}=O(),p=b.useState("isActive",P.index),T=b.useState("itemProps"),[V,s]=ot({controlled:R,default:g??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:w,itemRef:S}=Oe({closeOnClick:m,disabled:r,highlighted:p,id:h,store:b,nativeButton:l,nodeId:c?.context.nodeId,itemMetadata:Ye}),j=gt.useMemo(()=>({disabled:r,highlighted:p,checked:V}),[r,p,V]);function N(D){let F=W(y.itemPress,D.nativeEvent,void 0,{preventUnmountOnClose(){}});x?.(!V,F),!F.isCanceled&&s($=>!$)}n(N,"handleClick");let _=I("div",e,{state:j,stateAttributesMapping:Te,props:[T,{role:"menuitemcheckbox","aria-checked":V,onClick:N},v,w],ref:[S,o,P.ref]});return(0,rn.jsx)(Lt.Provider,{value:j,children:_})},"MenuCheckboxItem"));var Rt=f(C(),1);var an=Rt.forwardRef(n(function(e,o){let{render:i,className:u,style:a,keepMounted:d=!1,...l}=e,r=on(),m=Rt.useRef(null),{transitionStatus:R,setMounted:g}=tt(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||g(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:R};return I("span",e,{state:x,ref:[o,m],stateAttributesMapping:Te,props:{"aria-hidden":!0,...l},enabled:d||r.checked})},"MenuCheckboxItemIndicator"));var Mt=f(C(),1);var xt=f(C(),1);var Xe=xt.createContext(void 0);function un(){let t=xt.useContext(Xe);if(t===void 0)throw new Error(L(31));return t}n(un,"useMenuGroupRootContext");var cn=f(fe(),1);var pn=Mt.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,[l,r]=Mt.useState(void 0),m=I("div",e,{ref:o,props:{role:"group","aria-labelledby":l,...d}});return(0,cn.jsx)(Xe.Provider,{value:r,children:m})},"MenuGroup"));var dn=f(C(),1);var ln=dn.forwardRef(n(function(e,o){let{render:i,className:u,style:a,id:d,...l}=e,r=oe(d),m=un();return Ee(()=>(m(r),()=>{m(void 0)}),[m,r]),I("div",e,{ref:o,props:{id:r,role:"presentation",...l}})},"MenuGroupLabel"));var mn=f(C(),1);var fn=mn.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!0,style:R,...g}=e,x=de({label:d}),M=X(!0),v=oe(a),{store:P}=O(),c=P.useState("isActive",x.index),h=P.useState("itemProps"),{getItemProps:b,itemRef:p}=Oe({closeOnClick:m,disabled:r,highlighted:c,id:v,store:P,nativeButton:l,nodeId:M?.context.nodeId,itemMetadata:Ye});return I("div",e,{state:{disabled:r,highlighted:c},props:[h,g,b],ref:[p,o,x.ref]})},"MenuItem"));var ht=f(C(),1);var gn=ht.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,closeOnClick:l=!1,style:r,...m}=e,R=ht.useRef(null),g=de({label:d}),M=X(!0)?.context.nodeId,v=oe(a),{store:P}=O(),c=P.useState("isActive",g.index),h=P.useState("itemProps"),b=P.context.typingRef,{getButtonProps:p,buttonRef:T}=Ue({native:!1,composite:!0}),V=ft({closeOnClick:l,highlighted:c,id:v,nodeId:M,store:P,typingRef:b,itemRef:R});function s(S){return he(V,S,p)}return n(s,"getItemProps"),I("a",e,{state:{highlighted:c},props:[h,m,s],ref:[R,T,o,g.ref]})},"MenuLinkItem"));var Ke=f(C(),1);var Rn=f(fe(),1);var Xn={...He,...Fe},xn=Ke.forwardRef(n(function(e,o){let{render:i,className:u,style:a,finalFocus:d,...l}=e,{store:r}=O(),{side:m,align:R}=X(),g=Ko(!0)!=null,x=r.useState("open"),M=r.useState("transitionStatus"),v=r.useState("popupProps"),P=r.useState("mounted"),c=r.useState("instantType"),h=r.useState("activeTriggerElement"),b=r.useState("parent"),p=r.useState("lastOpenChangeReason"),T=r.useState("rootId"),V=r.useState("floatingRootContext"),s=r.useState("floatingTreeRoot"),w=r.useState("closeDelay"),S=r.useState("activeTriggerElement"),j=r.useState("hoverEnabled"),N=r.useState("disabled"),_=r.useState("openMethod"),D=b.type==="context-menu";Ge({open:x,ref:r.context.popupRef,onComplete(){x&&r.context.onOpenChangeComplete?.(!0)}}),Ke.useEffect(()=>{function K(k){r.setOpen(!1,W(k.reason,k.domEvent))}return n(K,"handleClose"),s.events.on("close",K),()=>{s.events.off("close",K)}},[s.events,r]),To(V,{enabled:j&&!N&&!D&&b.type!=="menubar",closeDelay:w});let F=Ke.useCallback(K=>{r.set("popupElement",K)},[r]),$={transitionStatus:M,side:m,align:R,open:x,nested:b.type==="menu",instant:c},Y=I("div",e,{state:$,ref:[o,r.context.popupRef,F],stateAttributesMapping:Xn,props:[v,{onKeyDown(K){g&&Yo.has(K.key)&&K.stopPropagation()}},Uo(M),l,{"data-rootownerid":T}]}),Q=b.type===void 0||D;return(h||b.type==="menubar"&&p!==y.outsidePress)&&(Q=!0),(0,Rn.jsx)(po,{context:V,openInteractionType:_,modal:D,disabled:!P,returnFocus:d===void 0?Q:d,initialFocus:b.type!=="menu",restoreFocus:!0,externalTree:b.type!=="menubar"?s:void 0,previousFocusableElement:S,nextFocusableElement:b.type===void 0?r.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:b.type===void 0?r.context.beforeContentFocusGuardRef:void 0,children:Y})},"MenuPopup"));var hn=f(C(),1);var bt=f(C(),1);var Gt=bt.createContext(void 0);function Mn(){let t=bt.useContext(Gt);if(t===void 0)throw new Error(L(32));return t}n(Mn,"useMenuPortalContext");var Ut=f(fe(),1);var bn=hn.forwardRef(n(function(e,o){let{keepMounted:i=!1,...u}=e,{store:a}=O();return a.useState("mounted")||i?(0,Ut.jsx)(Gt.Provider,{value:i,children:(0,Ut.jsx)(io,{ref:o,...u})}):null},"MenuPortal"));var Ce=f(C(),1);var $e=f(fe(),1);var Cn=Ce.forwardRef(n(function(e,o){let{anchor:i,positionMethod:u="absolute",className:a,render:d,side:l,align:r,sideOffset:m=0,alignOffset:R=0,collisionBoundary:g="clipping-ancestors",collisionPadding:x=5,arrowPadding:M=5,sticky:v=!1,disableAnchorTracking:P=!1,collisionAvoidance:c=ro,style:h,...b}=e,{store:p}=O(),T=Mn(),V=be(!0),s=p.useState("parent"),w=p.useState("floatingRootContext"),S=p.useState("floatingTreeRoot"),j=p.useState("mounted"),N=p.useState("open"),_=p.useState("modal"),D=p.useState("openMethod"),F=p.useState("activeTriggerElement"),$=p.useState("transitionStatus"),Y=p.useState("positionerElement"),Q=p.useState("instantType"),K=p.useState("hasViewport"),k=p.useState("lastOpenChangeReason"),Z=p.useState("floatingNodeId"),re=p.useState("floatingParentNodeId"),ve=w.useState("domReferenceElement"),le=Ce.useRef(null),ie=no(Y,!1,!1),ge=i,Re=m,Pe=R,z=r,ae=c;s.type==="context-menu"&&(ge=i??s.context?.anchor,z=z??"start",!l&&z!=="center"&&(Pe=e.alignOffset??2,Re=e.sideOffset??-5));let ue=l,xe=z;s.type==="menu"?(ue=ue??"inline-end",xe=xe??"start",ae=e.collisionAvoidance??so):s.type==="menubar"&&(ue=ue??(s.context.orientation==="vertical"?"inline-end":"bottom"),xe=xe??"start");let Me=s.type==="context-menu",se=Fo({anchor:ge,floatingRootContext:w,positionMethod:V?"fixed":u,mounted:j,side:ue,sideOffset:Re,align:xe,alignOffset:Pe,arrowPadding:Me?0:M,collisionBoundary:g,collisionPadding:x,sticky:v,nodeId:Z,keepMounted:T,disableAnchorTracking:P,collisionAvoidance:ae,shiftCrossAxis:Me&&!("side"in ae&&ae.side==="flip"),externalTree:S,adaptiveOrigin:K?Lo:void 0});Ce.useEffect(()=>{function B(A){A.open&&(A.parentNodeId===Z&&p.set("hoverEnabled",!1),A.nodeId!==Z&&A.parentNodeId===p.select("floatingParentNodeId")&&p.setOpen(!1,W(y.siblingOpen)))}return n(B,"onMenuOpenChange"),S.events.on("menuopenchange",B),()=>{S.events.off("menuopenchange",B)}},[p,S.events,Z]),Ce.useEffect(()=>{if(p.select("floatingParentNodeId")==null)return;function B(A){if(A.open||A.nodeId!==p.select("floatingParentNodeId"))return;let Ie=A.reason??y.siblingOpen;p.setOpen(!1,W(Ie))}return n(B,"onParentClose"),S.events.on("menuopenchange",B),()=>{S.events.off("menuopenchange",B)}},[S.events,p]);let ce=Ne();Ce.useEffect(()=>{N||ce.clear()},[N,ce]),Ce.useEffect(()=>{function B(A){if(!(!N||A.nodeId!==p.select("floatingParentNodeId")))if(A.target&&F&&F!==A.target){let Ie=p.select("closeDelay");Ie>0?ce.isStarted()||ce.start(Ie,()=>{p.setOpen(!1,W(y.siblingOpen))}):p.setOpen(!1,W(y.siblingOpen))}else ce.clear()}return n(B,"onItemHover"),S.events.on("itemhover",B),()=>{S.events.off("itemhover",B)}},[S.events,N,F,p,ce]),Ce.useEffect(()=>{let B={open:N,nodeId:Z,parentNodeId:re,reason:p.select("lastOpenChangeReason")};S.events.emit("menuopenchange",B)},[S.events,N,p,Z,re]),Ee(()=>{let B=ve,A=le.current;if(B&&(le.current=B),A&&B&&B!==A){p.set("instantType",void 0);let Ie=new AbortController;return ie(()=>{p.set("instantType","trigger-change")},Ie.signal),()=>{Ie.abort()}}},[ve,ie,p]);let De={open:N,side:se.side,align:se.align,anchorHidden:se.anchorHidden,nested:s.type==="menu",instant:Q},Se=s.type==="menubar"&&s.context.modal,me=_&&k!==y.triggerHover;jo(N&&(Se||me),D==="touch",Y,F);let Ae=Ho(e,De,{styles:se.positionerStyles,transitionStatus:$,props:b,refs:[o,p.useStateSetter("positionerElement")],hidden:!j,inert:!N}),Ve=j&&s.type!=="menu"&&(s.type!=="menubar"&&_&&k!==y.triggerHover||s.type==="menubar"&&s.context.modal),G=null;return s.type==="menubar"?G=s.context.contentElement:s.type===void 0&&(G=F),(0,$e.jsxs)(Vt.Provider,{value:se,children:[Ve&&(0,$e.jsx)(Go,{ref:s.type==="context-menu"||s.type==="nested-context-menu"?s.context.internalBackdropRef:null,inert:Vo(!N),cutout:G}),(0,$e.jsx)(uo,{id:Z,children:(0,$e.jsx)(Wo,{elementsRef:p.context.itemDomElements,labelsRef:p.context.itemLabels,children:Ae})})]})},"MenuPositioner"));var ke=f(C(),1);var Ct=f(C(),1);var Ht=Ct.createContext(void 0);function vn(){let t=Ct.useContext(Ht);if(t===void 0)throw new Error(L(34));return t}n(vn,"useMenuRadioGroupContext");var jt=f(fe(),1);var In=ke.memo(ke.forwardRef(n(function(e,o){let{render:i,className:u,value:a,defaultValue:d,onValueChange:l,disabled:r=!1,style:m,"aria-labelledby":R,...g}=e,[x,M]=ke.useState(void 0),[v,P]=ot({controlled:a,default:d,name:"MenuRadioGroup"}),c=Le((T,V)=>{l?.(T,V),!V.isCanceled&&P(T)}),b=I("div",e,{state:{disabled:r},ref:o,props:{role:"group","aria-labelledby":R??x,"aria-disabled":r||void 0,...g}}),p=ke.useMemo(()=>({value:v,setValue:c,disabled:r}),[v,c,r]);return(0,jt.jsx)(Xe.Provider,{value:M,children:(0,jt.jsx)(Ht.Provider,{value:p,children:b})})},"MenuRadioGroup")));var It=f(C(),1);var vt=f(C(),1);var Yt=vt.createContext(void 0);function En(){let t=vt.useContext(Yt);if(t===void 0)throw new Error(L(35));return t}n(En,"useMenuRadioItemContext");var yn=f(fe(),1);var Pn=It.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!1,value:R,style:g,...x}=e,M=de({label:d}),v=X(!0),P=oe(a),{store:c}=O(),h=c.useState("isActive",M.index),b=c.useState("itemProps"),{value:p,setValue:T,disabled:V}=vn(),s=V||r,w=p===R,{getItemProps:S,itemRef:j}=Oe({closeOnClick:m,disabled:s,highlighted:h,id:P,store:c,nativeButton:l,nodeId:v?.context.nodeId,itemMetadata:Ye}),N=It.useMemo(()=>({disabled:s,highlighted:h,checked:w}),[s,h,w]);function _(F){let $=W(y.itemPress,F.nativeEvent,void 0,{preventUnmountOnClose(){}});T(R,$)}n(_,"handleClick");let D=I("div",e,{state:N,stateAttributesMapping:Te,props:[b,{role:"menuitemradio","aria-checked":w,onClick:_},x,S],ref:[j,o,M.ref]});return(0,yn.jsx)(Yt.Provider,{value:N,children:D})},"MenuRadioItem"));var Et=f(C(),1);var Sn=Et.forwardRef(n(function(e,o){let{render:i,className:u,style:a,keepMounted:d=!1,...l}=e,r=En(),m=Et.useRef(null),{transitionStatus:R,setMounted:g}=tt(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||g(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:R};return I("span",e,{state:x,stateAttributesMapping:Te,ref:[o,m],props:{"aria-hidden":!0,...l},enabled:d||r.checked})},"MenuRadioItemIndicator"));var H=f(C(),1);var yt=f(C(),1);var qn=yt.createContext(null);function Pt(t){let e=yt.useContext(qn);if(e===null&&!t)throw new Error(L(5));return e}n(Pt,"useMenubarContext");var qe=f(C(),1);var Qn={...No,disabled:U(t=>t.parent.type==="menubar"&&t.parent.context.disabled||t.disabled),modal:U(t=>(t.parent.type===void 0||t.parent.type==="context-menu")&&(t.modal??!0)),openMethod:U(t=>t.openMethod),allowMouseEnter:U(t=>t.allowMouseEnter),highlightItemOnHover:U(t=>t.highlightItemOnHover),stickIfOpen:U(t=>t.stickIfOpen),parent:U(t=>t.parent),rootId:U(t=>t.parent.type==="menu"?t.parent.store.select("rootId"):t.parent.type!==void 0?t.parent.context.rootId:t.rootId),activeIndex:U(t=>t.activeIndex),isActive:U((t,e)=>t.activeIndex===e),hoverEnabled:U(t=>t.hoverEnabled),instantType:U(t=>t.instantType),lastOpenChangeReason:U(t=>t.openChangeReason),floatingTreeRoot:U(t=>t.parent.type==="menu"?t.parent.store.select("floatingTreeRoot"):t.floatingTreeRoot),floatingNodeId:U(t=>t.floatingNodeId),floatingParentNodeId:U(t=>t.floatingParentNodeId),itemProps:U(t=>t.itemProps),closeDelay:U(t=>t.closeDelay),hasViewport:U(t=>t.hasViewport),keyboardEventRelay:U(t=>{if(t.keyboardEventRelay)return t.keyboardEventRelay;if(t.parent.type==="menu")return t.parent.store.select("keyboardEventRelay")})},ze=class t extends go{static{n(this,"MenuStore")}constructor(e){super({...Zn(),...e},{positionerRef:qe.createRef(),popupRef:qe.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:qe.createRef(),beforeContentFocusGuardRef:qe.createRef(),onOpenChangeComplete:void 0,triggerElements:new Po},Qn),this.unsubscribeParentListener=this.observe("parent",o=>{if(this.unsubscribeParentListener?.(),o.type==="menu"){let i=o.store.select("rootId"),u=o.store.select("floatingTreeRoot"),a=o.store.select("keyboardEventRelay");this.unsubscribeParentListener=o.store.subscribe(()=>{let d=o.store.select("rootId"),l=o.store.select("floatingTreeRoot"),r=o.store.select("keyboardEventRelay");i===d&&u===l&&a===r||(i=d,u=l,a=r,this.notifyAll())}),this.context.allowMouseUpTriggerRef=o.store.context.allowMouseUpTriggerRef;return}o.type!==void 0&&(this.context.allowMouseUpTriggerRef=o.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,o){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:o})}static useStore(e,o){let i=Qt(()=>new t(o)).current;return e??i}unsubscribeParentListener=null};function Zn(){return{...So(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new nt,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:pe,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}n(Zn,"createInitialState");var St=f(C(),1);var Kt=St.createContext(void 0);function Nt(){return St.useContext(Kt)}n(Nt,"useMenuSubmenuRootContext");var $t=f(fe(),1);var Ot=mo(n(function(e){let{children:o,open:i,onOpenChange:u,onOpenChangeComplete:a,defaultOpen:d=!1,disabled:l=!1,modal:r,loopFocus:m=!0,orientation:R="vertical",actionsRef:g,closeParentOnEsc:x=!1,handle:M,triggerId:v,defaultTriggerId:P=null,highlightItemOnHover:c=!0}=e,h=be(!0),b=O(!0),p=Pt(!0),T=Nt(),V=H.useMemo(()=>T&&b?{type:"menu",store:b.store}:p?{type:"menubar",context:p}:h&&!b?{type:"context-menu",context:h}:{type:void 0},[h,b,p,T]),s=ze.useStore(M?.store,{open:d,openProp:i,activeTriggerId:P,triggerIdProp:v,parent:V});Co(s,i,d,P),s.useControlledProp("openProp",i),s.useControlledProp("triggerIdProp",v),s.useContextCallback("onOpenChangeComplete",a);let w=wt(),S=wt(),j=s.useState("floatingTreeRoot"),N=st(j),_=rt(),D=s.useState("open"),F=s.useState("activeTriggerElement"),$=s.useState("positionerElement"),Y=s.useState("hoverEnabled"),Q=s.useState("disabled"),K=s.useState("lastOpenChangeReason"),k=s.useState("parent"),Z=s.useState("activeIndex"),re=s.useState("payload"),ve=s.useState("floatingParentNodeId"),le=H.useRef(null),ie=H.useRef(k.type!=="context-menu"),ge=Ne(),Re=H.useRef(!0),Pe=Ne(),z=ve!=null,{openMethod:ae,triggerProps:ue}=Ao(D);s.useSyncedValues({disabled:l,highlightItemOnHover:c,modal:k.type===void 0?r:void 0,openMethod:ae,rootId:w}),Io(s);let{forceUnmount:xe}=Eo(D,s,()=>{s.update({allowMouseEnter:!1,stickIfOpen:!0})});Ee(()=>{h&&!b?s.update({parent:{type:"context-menu",context:h},floatingNodeId:N,floatingParentNodeId:_}):b&&s.update({floatingNodeId:N,floatingParentNodeId:_})},[h,b,N,_,s]),H.useEffect(()=>{if(D||(le.current=null),k.type==="context-menu"){if(!D){ge.clear(),ie.current=!1;return}ge.start(500,()=>{ie.current=!0})}},[ge,D,k.type]),Ee(()=>{!D&&!Y&&s.set("hoverEnabled",!0)},[D,Y,s]);let Me=Le((E,J)=>{let te=J.reason;if(D===E&&J.trigger===F&&K===te)return;let Yn=bo(J);if(!E&&J.trigger==null&&(J.trigger=F??void 0),u?.(E,J),J.isCanceled)return;s.state.floatingRootContext.dispatchOpenChange(E,J);let Ze=J.event;if(E===!1&&Ze?.type==="click"&&Ze.pointerType==="touch"&&!Re.current)return;E&&te===y.triggerFocus?(Re.current=!1,Pe.start(300,()=>{Re.current=!0})):(Re.current=!0,Pe.clear());let Xt=(te===y.triggerPress||te===y.itemPress)&&Ze.detail===0&&Ze?.isTrusted,Kn=!E&&(te===y.escapeKey||te==null),qt={open:E,openChangeReason:te};le.current=J.event??null,ho(qt,E,J.trigger,Yn()),s.update(qt),k.type==="menubar"&&(te===y.triggerFocus||te===y.focusOut||te===y.triggerHover||te===y.listNavigation||te===y.siblingOpen)?s.set("instantType","group"):Xt||Kn?s.set("instantType",Xt?"click":"dismiss"):s.set("instantType",void 0)}),se=Ro({popupStore:s,floatingId:S,nested:_!=null,onOpenChange:Me}),ce=se.context.events;H.useEffect(()=>{let E=n(({open:J,eventDetails:te})=>Me(J,te),"handleSetOpenEvent");return ce.on("setOpen",E),()=>{ce?.off("setOpen",E)}},[ce,Me]);let De=H.useCallback(()=>{s.setOpen(!1,W(y.imperativeAction))},[s]);H.useImperativeHandle(g,()=>({unmount:xe,close:De}),[xe,De]);let Se;k.type==="context-menu"&&(Se=k.context),H.useImperativeHandle(Se?.positionerRef,()=>$,[$]),H.useImperativeHandle(Se?.actionsRef,()=>({setOpen:Me}),[Me]);let me=lo(se,{enabled:!Q,bubbles:{escapeKey:x&&k.type==="menu"},outsidePress(){return k.type!=="context-menu"||le.current?.type==="contextmenu"?!0:ie.current},externalTree:z?j:void 0}),Ae=Bo(),Ve=H.useCallback(E=>{s.select("activeIndex")!==E&&s.set("activeIndex",E)},[s]),G=ko(se,{enabled:!Q,listRef:s.context.itemDomElements,activeIndex:Z,nested:k.type!==void 0,loopFocus:m,orientation:R,parentOrientation:k.type==="menubar"?k.context.orientation:void 0,rtl:Ae==="rtl",disabledIndices:Je,onNavigate:Ve,openOnArrowKeyDown:k.type!=="context-menu",externalTree:z?j:void 0,focusItemOnHover:c}),B=H.useCallback(E=>{s.context.typingRef.current=E},[s]),A=wo(se,{enabled:!Q,listRef:s.context.itemLabels,elementsRef:s.context.itemDomElements,activeIndex:Z,resetMs:500,onMatch:n(E=>{D&&E!==Z&&s.set("activeIndex",E)},"onMatch"),onTyping:B}),Ie=H.useMemo(()=>{let E=he(A.reference,G.reference,me.reference,{onMouseMove(){s.set("allowMouseEnter",!0)}},ue);return E["aria-haspopup"]="menu",E["aria-expanded"]=D,E},[s,A.reference,G.reference,me.reference,ue,D]),Gn=H.useMemo(()=>{let E=he(G.trigger,me.trigger,ue);return E["aria-haspopup"]="menu",E["aria-expanded"]=!1,E},[G.trigger,me.trigger,ue]),Un=H.useMemo(()=>he(xo,{id:S,role:"menu","aria-labelledby":F?.id,onMouseMove(){s.set("allowMouseEnter",!0),k.type==="menu"&&s.set("hoverEnabled",!1)},onClick(){s.select("hoverEnabled")&&s.set("hoverEnabled",!1)},onKeyDown(E){let J=s.select("keyboardEventRelay");J&&!E.isPropagationStopped()&&J(E)}},A.floating,G.floating,me.floating),[F,S,k.type,s,A.floating,G.floating,me.floating]),Hn=G.item??pe;yo(s,{floatingRootContext:se,activeTriggerProps:Ie,inactiveTriggerProps:Gn,popupProps:Un,itemProps:Hn});let jn=H.useMemo(()=>({store:s,parent:V}),[s,V]),Wt=(0,$t.jsx)(Bt.Provider,{value:jn,children:typeof o=="function"?o({payload:re}):o});return k.type===void 0||k.type==="context-menu"?(0,$t.jsx)(co,{externalTree:j,children:Wt}):Wt},"MenuRoot"));var Nn=f(C(),1);var zt=f(fe(),1);function On(t){let e=O().store,o=Nn.useMemo(()=>({parentMenu:e}),[e]);return(0,zt.jsx)(Kt.Provider,{value:o,children:(0,zt.jsx)(Ot,{...t})})}n(On,"MenuSubmenuRoot");var q=f(C(),1);var Tn=f(C(),1);function kn(t={}){let{highlightItemOnHover:e,highlightedIndex:o,onHighlightedIndexChange:i}=ct(),{ref:u,index:a}=de(t),d=o===a,l=Tn.useRef(null),r=et(u,l);return{compositeProps:{tabIndex:d?0:-1,onFocus(){i(a)},onMouseMove(){let R=l.current;if(!e||!R)return;let g=R.hasAttribute("disabled")||R.ariaDisabled==="true";!d&&!g&&R.focus()}},compositeRef:r,index:a}}n(kn,"useCompositeItem");function wn(t){let{render:e,className:o,style:i,state:u=pe,props:a=Je,refs:d=Je,metadata:l,stateAttributesMapping:r,tag:m="div",...R}=t,{compositeProps:g,compositeRef:x}=kn({metadata:l});return I(m,t,{state:u,ref:[...d,x],props:[g,...a,R],stateAttributesMapping:r})}n(wn,"CompositeItem");function Jt(t){if(Zt(t)&&t.hasAttribute("data-rootownerid"))return t.getAttribute("data-rootownerid")??void 0;if(!eo(t))return Jt(to(t))}n(Jt,"findRootOwnerId");var Tt=f(C(),1);function _n(t){let{enabled:e=!0,mouseDownAction:o,open:i}=t,u=Tt.useRef(!1);return Tt.useMemo(()=>e?{onMouseDown:n(a=>{(o==="open"&&!i||o==="close"&&i)&&(u.current=!0,We(a.currentTarget).addEventListener("click",()=>{u.current=!1},{once:!0}))},"onMouseDown"),onClick:n(a=>{u.current&&(u.current=!1,a.preventBaseUIHandler())},"onClick")}:pe,[e,o,i])}n(_n,"useMixedToggleClickHandler");var we=f(fe(),1);var kt=2,Dn=fo(n(function(e,o){let{render:i,className:u,style:a,disabled:d=!1,nativeButton:l=!0,id:r,openOnHover:m,delay:R=100,closeDelay:g=0,handle:x,payload:M,...v}=e,P=O(!0),c=x?.store??P?.store;if(!c)throw new Error(L(85));let h=oe(r),b=c.useState("isTriggerActive",h),p=c.useState("floatingRootContext"),T=c.useState("isOpenedByTrigger",h),V=c.useState("triggerPopupId",h),s=q.useRef(null),w=tr(),S=ct(!0),j=ao(),N=q.useMemo(()=>j??new nt,[j]),_=st(N),D=rt(),{registerTrigger:F,isMountedByThisTrigger:$}=vo(h,s,c,{payload:M,closeDelay:g,parent:w,floatingTreeRoot:N,floatingNodeId:_,floatingParentNodeId:D,keyboardEventRelay:S?.relayKeyboardEvent}),Y=w.type==="menubar",Q=c.useState("disabled"),K=d||Q||Y&&w.context.disabled,{getButtonProps:k,buttonRef:Z}=Ue({disabled:K,native:l});q.useEffect(()=>{!T&&w.type===void 0&&(c.context.allowMouseUpTriggerRef.current=!1)},[c,T,w.type]);let re=q.useRef(null),ve=Ne(),le=Le(G=>{if(!re.current)return;ve.clear(),c.context.allowMouseUpTriggerRef.current=!1;let B=G.target;if(_t(re.current,B)||_t(c.select("positionerElement"),B)||B===re.current||B!=null&&Jt(B)===c.select("rootId"))return;let A=Xo(re.current);G.clientX>=A.left-kt&&G.clientX<=A.right+kt&&G.clientY>=A.top-kt&&G.clientY<=A.bottom+kt||N.events.emit("close",{domEvent:G,reason:y.cancelOpen})});q.useEffect(()=>{T&&c.select("lastOpenChangeReason")===y.triggerHover&&We(re.current).addEventListener("mouseup",le,{once:!0})},[T,le,c]);let ie=Y&&w.context.hasSubmenuOpen,Re=at(p,{enabled:(m??ie)&&!K&&w.type!=="context-menu"&&(!Y||ie&&!$),handleClose:ut({blockPointerEvents:!Y}),mouseOnly:!0,move:!1,restMs:w.type===void 0?R:void 0,delay:{close:g},triggerElementRef:s,externalTree:N,isActiveTrigger:b,isClosing:n(()=>c.select("transitionStatus")==="ending","isClosing")}),Pe=er(T,c.select("lastOpenChangeReason")),z=it(p,{enabled:!K&&w.type!=="context-menu",event:T&&Y?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:w.type===void 0?Pe:!1}),ae=Oo(p,{enabled:!K&&ie}),ue=_n({open:T,enabled:Y,mouseDownAction:"open"}),xe=q.useMemo(()=>he(ae.reference,z.reference),[ae.reference,z.reference]),Me=c.useState("triggerProps",$),{preFocusGuardRef:se,handlePreFocusGuardFocus:ce,handleFocusTargetFocus:De}=Do(c,s),Se={disabled:K,open:T},me=[re,o,Z,F,s],Ae=[xe,Re??pe,Me,{"aria-haspopup":"menu","aria-controls":V,id:h,onMouseDown:n(G=>{if(c.select("open"))return;ve.start(200,()=>{c.context.allowMouseUpTriggerRef.current=!0}),We(G.currentTarget).addEventListener("mouseup",le,{once:!0})},"onMouseDown")},Y?{role:"menuitem"}:{},ue,v,k],Ve=I("button",e,{enabled:!Y,stateAttributesMapping:At,state:Se,ref:me,props:Ae});return Y?(0,we.jsx)(wn,{tag:"button",render:i,className:u,style:a,state:Se,refs:me,props:Ae,stateAttributesMapping:At}):T?(0,we.jsxs)(q.Fragment,{children:[(0,we.jsx)(Dt,{ref:se,onFocus:ce},`${h}-pre-focus-guard`),(0,we.jsx)(q.Fragment,{children:Ve},h),(0,we.jsx)(Dt,{ref:c.context.triggerFocusTargetRef,onFocus:De},`${h}-post-focus-guard`)]}):(0,we.jsx)(q.Fragment,{children:Ve},h)},"MenuTrigger"));function er(t,e){let o=Ne(),[i,u]=q.useState(!1);return Ee(()=>{t&&e==="trigger-hover"?(u(!0),o.start(500,()=>{u(!1)})):t||(o.clear(),u(!1))},[t,e,o]),i}n(er,"useStickIfOpen");function tr(){let t=be(!0),e=O(!0),o=Pt(!0);return q.useMemo(()=>o?{type:"menubar",context:o}:t&&!e?{type:"context-menu",context:t}:{type:void 0},[t,e,o])}n(tr,"useMenuParent");var Vn=f(C(),1);var An=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var or={activationDirection:n(t=>t?{"data-activation-direction":t}:null,"activationDirection")},Bn=Vn.forwardRef(n(function(e,o){let{render:i,className:u,style:a,children:d,...l}=e,{store:r}=O(),{side:m}=X(),R=r.useState("instantType"),{children:g,state:x}=$o({store:r,side:m,cssVars:An,children:d}),M={activationDirection:x.activationDirection,transitioning:x.transitioning,instant:R};return I("div",e,{state:M,ref:o,props:[l,{children:g}],stateAttributesMapping:or})},"MenuViewport"));var ye=f(C(),1);var Ln=ye.forwardRef(n(function(e,o){let{render:i,className:u,style:a,label:d,id:l,nativeButton:r=!1,openOnHover:m=!0,delay:R=100,closeDelay:g=0,disabled:x=!1,...M}=e,v=de({label:d}),P=X(),{store:c}=O(),h=oe(l),b=c.useState("open"),p=c.useState("floatingRootContext"),T=c.useState("floatingTreeRoot"),V=c.useState("triggerPopupId",h),s=Mo(h,c),w=ye.useCallback(z=>{let ae=s(z);return z!==null&&c.select("open")&&c.select("activeTriggerId")==null&&c.update({activeTriggerId:h,activeTriggerElement:z,closeDelay:g}),ae},[s,g,c,h]),S=ye.useRef(null),j=ye.useCallback(z=>{S.current=z,c.set("activeTriggerElement",z)},[c]),N=Nt();if(!N?.parentMenu)throw new Error(L(37));c.useSyncedValue("closeDelay",g);let _=N.parentMenu,D=c.useState("disabled"),F=_.useState("disabled"),$=x||D||F,Y=_.useState("itemProps"),Q=_.useState("isActive",v.index),K=ye.useMemo(()=>({type:"submenu-trigger",setActive(){_.select("highlightItemOnHover")&&_.set("activeIndex",v.index)}}),[_,v.index]),{getItemProps:k,itemRef:Z}=Oe({closeOnClick:!1,disabled:$,highlighted:Q,id:h,store:c,typingRef:_.context.typingRef,nativeButton:r,itemMetadata:K,nodeId:P?.context.nodeId}),re=c.useState("hoverEnabled"),ve=at(p,{enabled:re&&m&&!$,handleClose:ut({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:R,delay:{open:R,close:g},shouldOpen:R>0?()=>_.select("allowMouseEnter"):void 0,triggerElementRef:S,externalTree:T,isClosing:n(()=>c.select("transitionStatus")==="ending","isClosing")}),ie=it(p,{enabled:!$,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??pe,ge=c.useState("triggerProps",!0);return delete ge.id,I("div",e,{state:{disabled:$,highlighted:Q,open:b},stateAttributesMapping:_o,props:[ie,ve,ge,Y,{"aria-controls":V,tabIndex:b||Q?0:-1,onBlur(){Q&&_.set("activeIndex",null)}},M,k],ref:[o,v.ref,Z,w,j]})},"MenuSubmenuTrigger"));var Qe=class{static{n(this,"MenuHandle")}constructor(){this.store=new ze}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!o)throw new Error(L(83,e));this.store.setOpen(!0,W("imperative-action",void 0,o))}close(){this.store.setOpen(!1,W("imperative-action",void 0,void 0))}get isOpen(){return this.store.select("open")}};function Fn(){return new Qe}n(Fn,"createMenuHandle");var ee=f(fe(),1);function Fc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Root,{"data-slot":"dropdown-menu",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Fc,"_");function Gc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Trigger,{"data-slot":"dropdown-menu-trigger",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Gc,"y");function Uc({align:t="start",alignOffset:e=0,side:o="bottom",sideOffset:i=4,className:u,...a}){return(0,ee.jsx)(ne.Portal,{children:(0,ee.jsx)(ne.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:e,side:o,sideOffset:i,children:(0,ee.jsx)(ne.Popup,{"data-slot":"dropdown-menu-content",className:Be("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",u),...a})})})}n(Uc,"I");function Hc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Group,{"data-slot":"dropdown-menu-group",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Hc,"$");function jc(t){let e=(0,_e.c)(10),o,i,u;e[0]!==t?({className:o,inset:i,...u}=t,e[0]=t,e[1]=o,e[2]=i,e[3]=u):(o=e[1],i=e[2],u=e[3]);let a;e[4]!==o?(a=Be("px-2 py-2 text-xs text-muted-foreground data-inset:ps-7",o),e[4]=o,e[5]=a):a=e[5];let d;return e[6]!==i||e[7]!==u||e[8]!==a?(d=(0,ee.jsx)(ne.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:a,...u}),e[6]=i,e[7]=u,e[8]=a,e[9]=d):d=e[9],d}n(jc,"O");function Yc({className:t,inset:e,variant:o="default",...i}){return(0,ee.jsx)(ne.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":o,className:Be("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",t),...i})}n(Yc,"P");function Kc(t){let e=(0,_e.c)(15),o,i,u,a,d;e[0]!==t?({className:u,children:i,checked:o,inset:a,...d}=t,e[0]=t,e[1]=o,e[2]=i,e[3]=u,e[4]=a,e[5]=d):(o=e[1],i=e[2],u=e[3],a=e[4],d=e[5]);let l;e[6]!==u?(l=Be("relative flex cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),e[6]=u,e[7]=l):l=e[7];let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,ee.jsx)("span",{className:"pointer-events-none absolute end-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,ee.jsx)(ne.CheckboxItemIndicator,{children:(0,ee.jsx)(Jo,{icon:zo,strokeWidth:2})})}),e[8]=r):r=e[8];let m;return e[9]!==o||e[10]!==i||e[11]!==a||e[12]!==d||e[13]!==l?(m=(0,ee.jsxs)(ne.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item","data-inset":a,className:l,checked:o,...d,children:[r,i]}),e[9]=o,e[10]=i,e[11]=a,e[12]=d,e[13]=l,e[14]=m):m=e[14],m}n(Kc,"j");function $c(t){let e=(0,_e.c)(8),o,i;e[0]!==t?({className:o,...i}=t,e[0]=t,e[1]=o,e[2]=i):(o=e[1],i=e[2]);let u;e[3]!==o?(u=Be("-mx-1 h-px bg-border",o),e[3]=o,e[4]=u):u=e[4];let a;return e[5]!==i||e[6]!==u?(a=(0,ee.jsx)(ne.Separator,{"data-slot":"dropdown-menu-separator",className:u,...i}),e[5]=i,e[6]=u,e[7]=a):a=e[7],a}n($c,"C");export{Fc as a,Gc as b,Uc as c,Hc as d,jc as e,Yc as f,Kc as g,$c as h};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Pe}from"./chunk-CTNB2KIA.js";import{a as ge}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as ae}from"./chunk-XDAT7LHC.js";import{a as Ne,b as ve,c as we,d as ce,e as le,f as re}from"./chunk-MIQTKZAR.js";import{a as se,b as pe,c as fe,d as ue,e as ne}from"./chunk-UZERI5YC.js";import{a as ke}from"./chunk-V53KNYRN.js";import{a as T}from"./chunk-5Y3QLNWX.js";import{a as be}from"./chunk-X665E2HU.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as M}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as F}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as j}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as Z}from"./chunk-2WOIRKEI.js";import{f as oe}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as de}from"./chunk-XQCVZAGU.js";import{d as Y,f as he,g as xe,h as ye,m as te}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as d,e as ie,f as Ae,g as Ie,h as Fe}from"./chunk-3XIESWL4.js";var p=ie(Ae(),1);var me=ie(Ie(),1);var t=ie(Fe(),1);var Ce=["read","insert","update","delete"],Te=d((e,a)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[a],"$e"),Ee=d(e=>{let a=new Set;for(let i of e?.advisories??[])if(i.name==="rls_uncovered_table"){let{table:s}=i.metadata;typeof s=="string"&&s!==""&&a.add(s)}return a},"Ae"),ze=d((e,a,i)=>{let s=new Map,l=d(n=>{let o=s.get(n);if(o!==void 0)return o;let f={cells:{delete:{},insert:{},read:{},update:{}},maskedColumns:new Set,table:n,uncovered:i.has(n)};return s.set(n,f),f},"r");for(let n of e)l(n.table).cells[n.on]={procedure:n.procedure};for(let n of a)l(n.table).maskedColumns.add(n.column);for(let n of i)l(n);return[...s.values()].toSorted((n,o)=>n.table.localeCompare(o.table))},"Fe"),$e=d(e=>{let a=(0,me.c)(17),i;a[0]!==e?(i=e===void 0?{}:e,a[0]=e,a[1]=i):i=a[1];let{onProbe:s}=i,l=Y(),n,o;a[2]===Symbol.for("react.memo_cache_sentinel")?(n={},o={live:!0},a[2]=n,a[3]=o):(n=a[2],o=a[3]);let f=ae(Z.rlsPolicies,n,o),r;a[4]===Symbol.for("react.memo_cache_sentinel")?(r={},a[4]=r):r=a[4];let b=ae(Z.maskPolicies,r),h;a[5]===Symbol.for("react.memo_cache_sentinel")?(h={},a[5]=h):h=a[5];let g=ae(Z.getAdvisories,h),N;if(a[6]!==g.data||a[7]!==b.data||a[8]!==s||a[9]!==f||a[10]!==l){let v=null;f.data!==void 0&&(v=Array.isArray(f.data.policies)?f.data.policies:[]);let E=Array.isArray(b.data?.columns)?b.data.columns:[],R=g.data??null,{error:C,errorSource:w,liveError:S}=f,A=v===null?[]:ze(v,E,Ee(R)),k;a[12]!==S?(k=(0,t.jsx)("div",{className:"flex items-center justify-end",children:(0,t.jsx)(Pe,{message:S,prefix:"pm"})}),a[12]=S,a[13]=k):k=a[13];let x;a[14]!==C||a[15]!==w?(x=C!==null&&(0,t.jsx)(ge,{error:w,testId:"pm-error"}),a[14]=C,a[15]=w,a[16]=x):x=a[16],N=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-matrix",children:[k,x,v!==null&&A.length===0?(0,t.jsx)(de,{description:l("Add a `definePolicy` and wire it through `.use(rls(...))` to populate this matrix."),testId:"pm-empty",title:l("No policy")}):(0,t.jsxs)(Ne,{"data-testid":"pm-table",children:[(0,t.jsx)(ve,{children:(0,t.jsxs)(ce,{children:[(0,t.jsx)(le,{children:l("Table")}),Ce.map(c=>(0,t.jsx)(le,{children:Te(l,c)},c)),(0,t.jsx)(le,{children:l("Masked columns")})]})}),(0,t.jsx)(we,{children:A.map(c=>(0,t.jsxs)(ce,{"data-testid":`pm-row-${c.table}`,children:[(0,t.jsx)(re,{className:"font-mono text-xs",children:(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[c.table,c.uncovered&&(0,t.jsx)(j,{"data-testid":`pm-uncovered-${c.table}`,title:l("Uncovered \u2014 reachable without a policy"),variant:"destructive",children:l("Uncovered \u2014 reachable without a policy")})]})}),Ce.map(_=>{let y=c.cells[_];return(0,t.jsx)(re,{"data-testid":`pm-cell-${c.table}-${_}`,children:y.procedure===void 0?(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l("No policy")}):(0,t.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,t.jsx)(j,{variant:"secondary",children:l("Covered by {procedure}",{procedure:y.procedure})}),s!==void 0&&(0,t.jsx)(F,{className:"h-auto justify-start p-0 text-[11px]","data-testid":`pm-probe-${c.table}-${_}`,onClick:d(()=>{s(c.table,_,y.procedure??"")},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Probe this")})]})},_)}),(0,t.jsx)(re,{children:c.maskedColumns.size===0?(0,t.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)("span",{className:"flex flex-wrap gap-1",children:[...c.maskedColumns].map(Le)})})]},c.table))})]})]}),a[6]=g.data,a[7]=b.data,a[8]=s,a[9]=f,a[10]=l,a[11]=N}else N=a[11];return N},"Ee");function Le(e){return(0,t.jsx)(j,{variant:"outline",children:e},e)}d(Le,"Te");var Oe=he(Z.runAs),Re=d(()=>{let e=oe();return async({args:a,functionPath:i,shardKey:s="",userId:l})=>{let n=Oe;try{return{kind:"allowed",value:await e.query(n,{args:a,functionPath:i,userId:l},xe(s))}}catch(o){return{kind:"denied",message:o instanceof Error?o.message:String(o)}}}},"Re"),je=d(e=>e===void 0?"undefined":JSON.stringify(e,null,2),"Me"),Me=d(({functions:e,prefill:a,runAsIdentity:i=!1}={})=>{let s=oe(),l=Y(),n=Re(),[o,f]=(0,p.useState)(null),[r,b]=(0,p.useState)(null),h=e??o??[],[g,N]=(0,p.useState)(""),[v,E]=(0,p.useState)("{}"),[R,C]=(0,p.useState)(""),[w,S]=(0,p.useState)(""),[A,k]=(0,p.useState)(!1),[x,c]=(0,p.useState)(null),[_,y]=(0,p.useState)(null),I=(0,p.useRef)(-1);(0,p.useEffect)(()=>{if(e!==void 0)return;let m=!1;return s.listFunctions().then(u=>(m||f(u),u)).catch(u=>{m||b(ye(u))}),()=>{m=!0}},[s,e]),(0,p.useEffect)(()=>{if(a===void 0||I.current===a.nonce)return;I.current=a.nonce;let m=a.functionPath;queueMicrotask(()=>{N(m),c(null)})},[a]);let P=g===""?h[0]?.path??"":g,z=d(async()=>{if(P==="")return;let m;try{m=v.trim()===""?{}:JSON.parse(v)}catch(u){y(l("Invalid JSON args: {message}",{message:u.message})),c(null);return}y(null),k(!0);try{let u=await n({args:m,functionPath:P,shardKey:R.trim(),userId:w.trim()});c(u)}finally{k(!1)}},"F"),$=d(()=>{te(z())},"E"),H=d(m=>{N(m.target.value)},"B"),L=d(m=>{E(m.target.value)},"T"),O=d(m=>{S(m.target.value)},"L");return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-playground",children:[r!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pp-discover-error",role:"alert",children:r}),!i&&(0,t.jsx)(de,{description:l("Dev only: runs the selected function as this user over the admin gate so you can test auth and RLS."),testId:"pp-gate",title:l("Set `runAsIdentity` to forge an identity and probe access.")}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(T,{htmlFor:"pp-function",children:l("Function")}),(0,t.jsx)("select",{"aria-label":l("Function"),className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","data-testid":"pp-function",id:"pp-function",onChange:H,value:P,children:h.map(m=>(0,t.jsxs)("option",{value:m.path,children:[m.path," (",m.kind,")"]},m.path))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(T,{htmlFor:"pp-args",children:l("Arguments")}),(0,t.jsx)(ke,{"aria-label":l("Arguments"),className:"font-mono text-xs","data-testid":"pp-args",id:"pp-args",onChange:L,value:v})]}),(0,t.jsx)(be,{onChange:C,testId:"pp-shard",value:R}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(T,{htmlFor:"pp-user",children:l("Run as (userId)")}),(0,t.jsx)(M,{"aria-label":l("Identity (userId) to run as"),className:"font-mono text-xs","data-testid":"pp-user",id:"pp-user",onChange:O,placeholder:l("Leave empty to run as admin"),value:w})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(F,{"data-testid":"pp-run",disabled:!i||A||P==="",onClick:$,type:"button",children:l(A?"Probing\u2026":"Run probe")}),w.trim()!==""&&(0,t.jsx)(j,{"data-testid":"pp-as-badge",variant:"secondary",children:l("as {userId}",{userId:w.trim()})})]})]}),_!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pp-args-error",role:"alert",children:_}),x!==null&&x.kind==="allowed"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-allowed",children:[(0,t.jsx)(j,{variant:"secondary",children:l("Allowed")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-result",children:je(x.value)})]}),x!==null&&x.kind==="denied"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-denied",children:[(0,t.jsx)(j,{variant:"destructive",children:l("Denied")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs text-destructive","data-testid":"pp-denied",role:"alert",children:x.message})]})]})},"Oe"),qe="/__lunora/policy-scaffold",De={"already-wired":"That procedure already has an rls(...) policy wired in.","file-exists":"A policy file with that name already exists \u2014 pick another name or edit it by hand.","invalid-identifier":"Name, table, and policy-set must be plain identifiers (letters, digits, _ or $).","unknown-procedure":"No exported procedure was found at that file path.","unsupported-procedure-shape":"That procedure uses the bare query({\u2026}) form \u2014 convert it to the builder form (c.use(\u2026).query(\u2026)) before wiring RLS."},Je=d(async e=>{let a=await fetch(qe,{body:JSON.stringify(e),headers:{"Content-Type":"application/json"},method:"POST"}),i=await a.json();if(i.needsManualEdit===!0)return{kind:"needs-manual-edit",message:i.message??"This change must be made by hand."};if(a.ok)return{diagnostics:i.diagnostics??[],kind:"ok",label:i.fileName??i.exportName??""};let s=i.error;return{kind:"error",message:s===void 0?`policy scaffold failed (${String(a.status)})`:De[s]??s}},"qe"),Se={exportName:"",filePath:"",policyName:"",policies:"",tableName:""},Ke=d(()=>{let e=(0,me.c)(69),a=Y(),[i,s]=(0,p.useState)(null),[l,n]=(0,p.useState)(!1),[o,f]=(0,p.useState)(null),[r,b]=(0,p.useState)(Se),h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=d(ee=>{let G=ee.target.name,{value:V}=ee.target;b(_e=>({..._e,[G]:V}))},"u"),e[0]=h):h=e[0];let g=h,N;e[1]===Symbol.for("react.memo_cache_sentinel")?(N=d(()=>{s(null),b(Se)},"N"),e[1]=N):N=e[1];let v=N,E;e[2]===Symbol.for("react.memo_cache_sentinel")?(E=d(async ee=>{n(!0),f(null);try{let G=await Je(ee);f(G),G.kind==="ok"&&v()}catch(G){let V=G;f({kind:"error",message:V instanceof Error?V.message:String(V)})}n(!1)},"A"),e[2]=E):E=e[2];let R=E,C;e[3]!==r.policyName||e[4]!==r.tableName?(C=d(()=>{te(R({kind:"scaffoldPolicy",name:r.policyName.trim(),table:r.tableName.trim()}))},"S"),e[3]=r.policyName,e[4]=r.tableName,e[5]=C):C=e[5];let w=C,S;e[6]!==r.exportName||e[7]!==r.filePath||e[8]!==r.policies?(S=d(()=>{te(R({exportName:r.exportName.trim(),filePath:r.filePath.trim(),kind:"wireRls",policies:r.policies.trim()}))},"C"),e[6]=r.exportName,e[7]=r.filePath,e[8]=r.policies,e[9]=S):S=e[9];let A=S,k;e[10]===Symbol.for("react.memo_cache_sentinel")?(k=d(()=>{f(null),s("scaffold")},"k"),e[10]=k):k=e[10];let x=k,c;e[11]===Symbol.for("react.memo_cache_sentinel")?(c=d(()=>{f(null),s("wire")},"c"),e[11]=c):c=e[11];let _=c,y;e[12]!==a?(y=a("Scaffold access rules"),e[12]=a,e[13]=y):y=e[13];let I;e[14]!==y?(I=(0,t.jsx)(fe,{children:y}),e[14]=y,e[15]=I):I=e[15];let P;e[16]!==a?(P=a("Writes a new deny-by-default policy file under lunora/, or wires one into a procedure, then reruns codegen. Local dev only."),e[16]=a,e[17]=P):P=e[17];let z;e[18]!==P?(z=(0,t.jsx)(ue,{children:P}),e[18]=P,e[19]=z):z=e[19];let $;e[20]!==z||e[21]!==I?($=(0,t.jsxs)(pe,{children:[I,z]}),e[20]=z,e[21]=I,e[22]=$):$=e[22];let H=i==="scaffold"?"default":"outline",L;e[23]!==a?(L=a("New policy file"),e[23]=a,e[24]=L):L=e[24];let O;e[25]!==H||e[26]!==L?(O=(0,t.jsx)(F,{"data-testid":"policy-scaffolder-new",onClick:x,size:"xs",type:"button",variant:H,children:L}),e[25]=H,e[26]=L,e[27]=O):O=e[27];let m=i==="wire"?"default":"outline",u;e[28]!==a?(u=a("Wire into a procedure"),e[28]=a,e[29]=u):u=e[29];let q;e[30]!==m||e[31]!==u?(q=(0,t.jsx)(F,{"data-testid":"policy-scaffolder-wire",onClick:_,size:"xs",type:"button",variant:m,children:u}),e[30]=m,e[31]=u,e[32]=q):q=e[32];let D;e[33]!==O||e[34]!==q?(D=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[O,q]}),e[33]=O,e[34]=q,e[35]=D):D=e[35];let J;e[36]!==l||e[37]!==r.policyName||e[38]!==r.tableName||e[39]!==i||e[40]!==w||e[41]!==a?(J=i==="scaffold"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-new-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-name",children:a("Policy name")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-name",id:"policy-scaffolder-name",name:"policyName",onChange:g,value:r.policyName})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-table",children:a("Table name")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-table",id:"policy-scaffolder-table",name:"tableName",onChange:g,value:r.tableName})]}),(0,t.jsx)(F,{"data-testid":"policy-scaffolder-create",disabled:l||r.policyName.trim()===""||r.tableName.trim()==="",onClick:w,size:"xs",type:"button",children:a(l?"Creating\u2026":"Create policy file")}),(0,t.jsx)(F,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")})]}),e[36]=l,e[37]=r.policyName,e[38]=r.tableName,e[39]=i,e[40]=w,e[41]=a,e[42]=J):J=e[42];let K;e[43]!==l||e[44]!==r.exportName||e[45]!==r.filePath||e[46]!==r.policies||e[47]!==i||e[48]!==A||e[49]!==a?(K=i==="wire"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-wire-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-file",children:a("Procedure file path")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-file",id:"policy-scaffolder-file",name:"filePath",onChange:g,value:r.filePath})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-export",children:a("Exported procedure")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-export",id:"policy-scaffolder-export",name:"exportName",onChange:g,value:r.exportName})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-policies",children:a("Policy set identifier")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-policies",id:"policy-scaffolder-policies",name:"policies",onChange:g,value:r.policies})]}),(0,t.jsx)(F,{"data-testid":"policy-scaffolder-apply",disabled:l||r.filePath.trim()===""||r.exportName.trim()===""||r.policies.trim()==="",onClick:A,size:"xs",type:"button",children:a(l?"Wiring\u2026":"Wire RLS")}),(0,t.jsx)(F,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")})]}),e[43]=l,e[44]=r.exportName,e[45]=r.filePath,e[46]=r.policies,e[47]=i,e[48]=A,e[49]=a,e[50]=K):K=e[50];let U;e[51]!==o?(U=o?.kind==="error"&&(0,t.jsx)("p",{className:"mt-3 text-sm text-destructive","data-testid":"policy-scaffolder-error",role:"alert",children:o.message}),e[51]=o,e[52]=U):U=e[52];let W;e[53]!==o?.kind||e[54]!==a?(W=o?.kind==="needs-manual-edit"&&(0,t.jsx)("p",{className:"mt-3 text-sm text-amber-600 dark:text-amber-500","data-testid":"policy-scaffolder-manual",role:"alert",children:a("This change must be made by hand \u2014 the scaffolder only adds new, deny-by-default rules.")}),e[53]=o?.kind,e[54]=a,e[55]=W):W=e[55];let B;e[56]!==o||e[57]!==a?(B=o?.kind==="ok"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"policy-scaffolder-ok",children:[(0,t.jsx)("p",{className:"text-sm text-emerald-600 dark:text-emerald-500",children:a("Scaffolded {label} and reran codegen. Fill in the `when` predicates before relying on it.",{label:o.label})}),o.diagnostics.length>0&&(0,t.jsx)("ul",{className:"flex flex-col gap-0.5","data-testid":"policy-scaffolder-diagnostics",children:o.diagnostics.map(Ue)})]}),e[56]=o,e[57]=a,e[58]=B):B=e[58];let Q;e[59]!==D||e[60]!==J||e[61]!==K||e[62]!==U||e[63]!==W||e[64]!==B?(Q=(0,t.jsxs)(ne,{children:[D,J,K,U,W,B]}),e[59]=D,e[60]=J,e[61]=K,e[62]=U,e[63]=W,e[64]=B,e[65]=Q):Q=e[65];let X;return e[66]!==$||e[67]!==Q?(X=(0,t.jsxs)(se,{"data-testid":"policy-scaffolder",size:"sm",children:[$,Q]}),e[66]=$,e[67]=Q,e[68]=X):X=e[68],X},"Je");function Ue(e){return(0,t.jsx)("li",{className:"font-mono text-[11px] text-destructive",children:e},e)}d(Ue,"De");var st=d(({functions:e,runAsIdentity:a=!1,schemaEditable:i=!1}={})=>{let s=Y(),[l,n]=(0,p.useState)(void 0),o=d((f,r,b)=>{b!==""&&n(h=>({functionPath:b,nonce:(h?.nonce??0)+1}))},"o");return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"lunora-permissions",children:[(0,t.jsxs)("section",{className:"flex flex-col gap-3",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Permissions")})}),(0,t.jsx)($e,{onProbe:o})]}),(0,t.jsx)("section",{className:"flex flex-col gap-3",children:(0,t.jsxs)(se,{className:"gap-0 py-0",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Probe")})}),(0,t.jsxs)(ne,{className:"px-4 py-4",children:[(0,t.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:s("Pick a function and an identity, then run it to see the access outcome.")}),(0,t.jsx)(Me,{functions:e,prefill:l,runAsIdentity:a})]})]})}),i&&(0,t.jsx)("section",{className:"flex flex-col gap-2",children:(0,t.jsx)(Ke,{})})]})},"nt");export{st as PermissionsPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Nt,b as Ve,c as dt,d as gt,e as Tt,f as dr}from"./chunk-2PJNAWB3.js";import{a as ar,b as cr,c as ur,d as pr,e as mr}from"./chunk-SD4BERSA.js";import{a as fr}from"./chunk-IC4L6G56.js";import{A as _o,B as Uo,C as ko,D as P,G as a,H as Fo,L as Bo,Z as Ho,a as Eo,ca as jo,d as wo,da as zo,ha as Wo,ia as Go,ja as mt,k as Ht,la as qo,ma as $o,n as Vo,oa as Ko,pa as Jo,q as Oo,qa as Zo,ra as Qo,ta as er,ua as tr,va as or,wa as rr,x as Do,y as Lo}from"./chunk-7YEFOSPH.js";import{a as To,b as Xo}from"./chunk-BGBLQ563.js";import{a as Po,b as Mo,c as Yo}from"./chunk-IVFHIQOT.js";import{a as nr,b as sr,i as lr,j as ir,k as At}from"./chunk-QBWRC5YX.js";import{C as pt,F as Ao,I as _e,K as Xe,L as ft,M as ro,N as No,O as ge,P as xe,a as Ut,b as ut,c as Ro,e as bo,f as yo,g as Ft,h as Ct,i as Io,p as Bt,y as vo,z as Co}from"./chunk-CFPZYHPY.js";import{b as jt}from"./chunk-FXCBF4XT.js";import{a as ee,c as de,e as kt}from"./chunk-2OUPA2WJ.js";import{a as wt,c as je,d as So,e as ho,h as oo,i as xo,j as O}from"./chunk-6ST5ECQA.js";import{a as r,d as mn,e as I,f as _,g as dn,h as Me,j as ot}from"./chunk-3XIESWL4.js";var Ot=I(dn(),1),Ec=I(_(),1);var me={};mn(me,{Arrow:()=>Zr,Backdrop:()=>kr,Group:()=>cn,GroupLabel:()=>pn,Icon:()=>Or,Item:()=>qr,ItemIndicator:()=>Xr,ItemText:()=>Kr,Label:()=>Nr,List:()=>Gr,Popup:()=>zr,Portal:()=>_r,Positioner:()=>Fr,Root:()=>Er,ScrollDownArrow:()=>on,ScrollUpArrow:()=>sn,Separator:()=>fr,Trigger:()=>Tr,Value:()=>Mr});var j=I(_(),1);var St=I(_(),1);var no=St.createContext(null),so=St.createContext(null);function U(){let e=St.useContext(no);if(e===null)throw new Error(je(60));return e}r(U,"useSelectRootContext");function zt(){let e=St.useContext(so);if(e===null)throw new Error(je(61));return e}r(zt,"useSelectFloatingContext");var gr=r((e,t)=>Object.is(e,t),"defaultItemEquality");function Ue(e,t,o){return e==null||t==null?Object.is(e,t):o(e,t)}r(Ue,"compareItemEquality");function Sr(e,t,o){return!e||e.length===0?!1:e.some(n=>n===void 0?!1:Ue(t,n,o))}r(Sr,"selectedValueIncludes");function rt(e,t,o){return!e||e.length===0?-1:e.findIndex(n=>n===void 0?!1:Ue(n,t,o))}r(rt,"findItemIndex");function hr(e,t,o){return e.filter(n=>!Ue(t,n,o))}r(hr,"removeItem");var xr=I(_(),1);function Wt(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}r(Wt,"serializeValue");var Rr=I(Me(),1);function br(e){return e!=null&&e.length>0&&typeof e[0]=="object"&&e[0]!=null&&"items"in e[0]}r(br,"isGroupedItems");function yr(e){if(!Array.isArray(e))return e!=null&&"null"in e;let t=e;if(br(t)){for(let o of t)for(let n of o.items)if(n&&n.value==null&&n.label!=null)return!0;return!1}for(let o of t)if(o&&o.value==null&&o.label!=null)return!0;return!1}r(yr,"hasNullItemLabel");function lo(e,t){if(t&&e!=null)return t(e)??"";if(e&&typeof e=="object"){if("label"in e&&e.label!=null)return String(e.label);if("value"in e)return String(e.value)}return Wt(e)}r(lo,"stringifyAsLabel");function ze(e,t){return t&&e!=null?t(e)??"":e&&typeof e=="object"&&"value"in e&&"label"in e?Wt(e.value):Wt(e)}r(ze,"stringifyAsValue");function io(e,t,o){function n(){return lo(e,o)}if(r(n,"fallback"),o&&e!=null)return o(e);if(e&&typeof e=="object"&&"label"in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??n();if(Array.isArray(t)){let l=t,c=br(l)?l.flatMap(s=>s.items):l;if(e==null||typeof e!="object"){let s=c.find(m=>m.value===e);return s&&s.label!=null?s.label:n()}if("value"in e){let s=c.find(m=>m&&m.value===e.value);if(s&&s.label!=null)return s.label}}return n()}r(io,"resolveSelectedLabel");function Ir(e,t,o){return e.reduce((n,l,c)=>(c>0&&n.push(", "),n.push((0,Rr.jsx)(xr.Fragment,{children:io(l,t,o)},c)),n),[])}r(Ir,"resolveMultipleLabels");var i={id:P(e=>e.id),labelId:P(e=>e.labelId),modal:P(e=>e.modal),multiple:P(e=>e.multiple),items:P(e=>e.items),itemToStringLabel:P(e=>e.itemToStringLabel),itemToStringValue:P(e=>e.itemToStringValue),isItemEqualToValue:P(e=>e.isItemEqualToValue),value:P(e=>e.value),hasSelectedValue:P(e=>{let{value:t,multiple:o,itemToStringValue:n}=e;return t==null?!1:o&&Array.isArray(t)?t.length>0:ze(t,n)!==""}),hasNullItemLabel:P((e,t)=>t?yr(e.items):!1),open:P(e=>e.open),mounted:P(e=>e.mounted),forceMount:P(e=>e.forceMount),transitionStatus:P(e=>e.transitionStatus),openMethod:P(e=>e.openMethod),activeIndex:P(e=>e.activeIndex),selectedIndex:P(e=>e.selectedIndex),isActive:P((e,t)=>e.activeIndex===t),isSelected:P((e,t)=>{let o=e.isItemEqualToValue,n=e.value;return e.multiple?Array.isArray(n)&&n.some(l=>Ue(t,l,o)):Ue(t,n,o)}),isSelectedByFocus:P((e,t)=>e.selectedIndex===t),popupProps:P(e=>e.popupProps),triggerProps:P(e=>e.triggerProps),triggerElement:P(e=>e.triggerElement),positionerElement:P(e=>e.positionerElement),listElement:P(e=>e.listElement),popupSide:P(e=>e.popupSide),scrollUpArrowVisible:P(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:P(e=>e.scrollDownArrowVisible),hasScrollArrows:P(e=>e.hasScrollArrows)};function vr(e,t,o=(n,l)=>n===l){return e.length===t.length&&e.every((n,l)=>o(n,t[l]))}r(vr,"areArraysEqual");var ht=I(Me(),1);function Er(e){let{id:t,value:o,defaultValue:n=null,onValueChange:l,open:c,defaultOpen:s=!1,onOpenChange:m,name:p,form:f,autoComplete:g,disabled:h=!1,readOnly:R=!1,required:v=!1,modal:C=!0,actionsRef:k,inputRef:x,onOpenChangeComplete:J,items:B,multiple:A=!1,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M=gr,highlightItemOnHover:ae=!0,children:te}=e,{clearErrors:$}=Ro(),{setDirty:se,setTouched:Se,setFocused:Re,validityData:z,setFilled:X,name:D,disabled:ce,validation:N,validationMode:Z}=ut(),H=Ft({id:t}),V=ce||h,u=D??p,[S,le]=ro({controlled:o,default:A?n??oo:n,name:"Select",state:"value"}),[F,be]=ro({controlled:c,default:s,name:"Select",state:"open"}),he=j.useRef([]),d=j.useRef([]),w=j.useRef(null),ue=j.useRef(null),Ae=j.useRef(0),T=j.useRef(null),K=j.useRef([]),W=j.useRef(!1),Ie=j.useRef(null),ie=j.useRef(null),pe=j.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),fe=j.useRef(!1),{mounted:oe,setMounted:Ne,transitionStatus:Q}=ft(F),{openMethod:G,triggerProps:re}=qo(F),y=So(()=>new Fo({id:H,labelId:void 0,modal:C,multiple:A,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,value:S,open:F,mounted:oe,transitionStatus:Q,items:B,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,We=a(y,i.activeIndex),Te=a(y,i.selectedIndex),Oe=a(y,i.triggerElement),ke=a(y,i.positionerElement),Ge=rr(G),Je=G??Ge??null,It=j.useMemo(()=>A?"":ze(S,L),[A,S,L]),Fe=j.useMemo(()=>A&&Array.isArray(S)?S.map(E=>ze(E,L)):ze(S,L),[A,S,L]),Ze=Ht(y.state.triggerElement),ne=de(()=>Fe);No(Ze,H,S,ne,!V,p);let Be=j.useRef(S),He=A?Array.isArray(S)&&S.length>0:S!=null&&ze(S,L)!=="";ee(()=>{S!==Be.current&&y.set("forceMount",!0)},[y,S]),ee(()=>{X(He)},[He,X]),ee(r(function(){let Y=K.current,ve;if(A){let ye=Array.isArray(S)?S:[];if(ye.length===0)ve=null;else{let $e=ye[ye.length-1],tt=rt(Y,$e,M);ve=tt===-1?null:tt}}else{let ye=rt(Y,S,M);ve=ye===-1?null:ye}ve===null&&(ie.current=null),!F&&y.set("selectedIndex",ve)},"syncSelectedIndex"),[He,A,F,S,K,M,y,ie]);function De(E){let Y=z.initialValue;return Array.isArray(E)&&Array.isArray(Y)?!vr(E,Y,(ve,ye)=>Ue(ve,ye,M)):E!==Y}r(De,"isSelectedValueDirty"),Yo(S,()=>{$(u),se(De(S)),N.change(S)});let st=de((E,Y)=>{m?.(E,Y),!Y.isCanceled&&(be(E),!E&&(Y.reason===ge.focusOut||Y.reason===ge.outsidePress)&&(Se(!0),Re(!1),Z==="onBlur"&&N.commit(S)))}),lt=de(()=>{Ne(!1),y.update({activeIndex:null,openMethod:null}),J?.(!1)});Xe({enabled:!k,open:F,ref:w,onComplete(){F||lt()}}),j.useImperativeHandle(k,()=>({unmount:lt}),[lt]);let Ye=de((E,Y)=>{l?.(E,Y),!Y.isCanceled&&le(E)}),Le=de(()=>{let E=y.state.listElement||w.current;if(!E)return;let Y=dt(E.scrollHeight,E.clientHeight),ve=gt(E.scrollTop,Y),ye=ve>0,$e=ve<Y;y.state.scrollUpArrowVisible!==ye&&y.set("scrollUpArrowVisible",ye),y.state.scrollDownArrowVisible!==$e&&y.set("scrollDownArrowVisible",$e)}),Qe=Ho({open:F,onOpenChange:st,elements:{reference:Oe,floating:ke}}),it=Lo(Qe,{enabled:!R&&!V,event:"mousedown"}),at=_o(Qe),qe=jo(Qe,{enabled:!R&&!V,listRef:he,activeIndex:We,selectedIndex:Te,disabledIndices:oo,onNavigate(E){E===null&&!F||y.set("activeIndex",E)},focusItemOnHover:ae}),et=zo(Qe,{enabled:!R&&!V&&(F||!A),listRef:d,activeIndex:We,selectedIndex:Te,disabledIndices:r(E=>mr(he.current[E]),"disabledIndices"),onMatch(E){F?y.set("activeIndex",E):Ye(K.current[E],xe("none"))},onTyping(E){W.current=E}}),vt=j.useMemo(()=>{let E=wt(et.reference,qe.reference,at.reference,it.reference,re);return H&&(E.id=H),E},[it.reference,et.reference,qe.reference,at.reference,re,H]),Et=j.useMemo(()=>wt(Bo,et.floating,qe.floating,at.floating),[et.floating,qe.floating,at.floating]),Dt=qe.item??xo;ko(()=>{y.update({popupProps:Et,triggerProps:vt})}),ee(()=>{y.update({id:H,modal:C,multiple:A,value:S,open:F,mounted:oe,transitionStatus:Q,popupProps:Et,triggerProps:vt,items:B,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,openMethod:Je})},[y,H,C,A,S,F,oe,Q,Et,vt,B,b,L,M,Je]);let Pe=j.useMemo(()=>({store:y,name:u,required:v,disabled:V,readOnly:R,multiple:A,highlightItemOnHover:ae,setValue:Ye,setOpen:st,listRef:he,popupRef:w,scrollHandlerRef:ue,handleScrollArrowVisibility:Le,scrollArrowsMountedCountRef:Ae,itemProps:Dt,valueRef:T,valuesRef:K,labelsRef:d,typingRef:W,selectionRef:pe,firstItemTextRef:Ie,selectedItemTextRef:ie,validation:N,onOpenChangeComplete:J,alignItemWithTriggerActiveRef:fe,initialValueRef:Be}),[y,u,v,V,R,A,ae,Ye,st,Dt,N,J,Le]),ct=ho(x,N.inputRef),Lt=A&&Array.isArray(S)&&S.length>0,_t=A?void 0:u,eo=j.useMemo(()=>!A||!Array.isArray(S)||!u?null:S.map(E=>{let Y=ze(E,L);return(0,ht.jsx)("input",{type:"hidden",form:f,name:u,value:Y,disabled:V},Y)}),[A,S,f,u,L,V]);return(0,ht.jsx)(no.Provider,{value:Pe,children:(0,ht.jsxs)(so.Provider,{value:Qe,children:[te,(0,ht.jsx)("input",{...N.getValidationProps(V,{onFocus(){y.state.triggerElement?.focus({focusVisible:!0})},onChange(E){if(E.nativeEvent.defaultPrevented||V||R)return;let Y=E.currentTarget.value,ve=xe(ge.none,E.nativeEvent);function ye(){if(A)return;let $e=Y.toLowerCase(),tt=K.current.findIndex(to=>ze(to,L).toLowerCase()===$e||lo(to,b).toLowerCase()===$e);tt===-1&&(tt=K.current.findIndex((to,fn)=>{let go=d.current[fn];return go!=null&&go.toLowerCase()===$e}));let mo=tt===-1?void 0:K.current[tt];mo!=null&&Ye(mo,ve)}r(ye,"handleChange"),y.set("forceMount",!0),queueMicrotask(ye)}}),id:H&&_t==null?`${H}-hidden-input`:void 0,form:f,name:_t,autoComplete:g,value:It,disabled:V,required:v&&!Lt,readOnly:R,ref:ct,style:u?Mo:Po,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),eo]})})}r(Er,"SelectRoot");var Ar=I(_(),1);function wr(e){return e==null?void 0:`${e}-label`}r(wr,"getDefaultLabelId");function Cr(e,t){return e??t}r(Cr,"resolveAriaLabelledBy");var Nr=Ar.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,m=s;delete m.id;let p=ut(),{store:f}=U(),g=a(f,i.triggerElement),h=a(f,i.id),R=wr(h),v=Co({id:R,fallbackControlId:g?.id??h,setLabelId(C){f.set("labelId",C)}});return O("div",t,{ref:o,state:p.state,props:[v,s],stateAttributesMapping:Ut})},"SelectLabel"));var xt=I(_(),1);var Gt=2,gn=400,Sn={...Go,...Ut,popupSide:r(e=>e?{"data-popup-side":e}:null,"popupSide"),value:r(()=>null,"value")},Tr=xt.forwardRef(r(function(t,o){let{render:n,className:l,id:c,disabled:s=!1,nativeButton:m=!0,style:p,...f}=t,{setTouched:g,setFocused:h,validationMode:R,state:v,disabled:C}=ut(),{labelId:k}=yo(),{store:x,setOpen:J,selectionRef:B,validation:A,readOnly:b,required:L,alignItemWithTriggerActiveRef:M,disabled:ae}=U(),te=C||ae||s,$=a(x,i.open),se=a(x,i.mounted),Se=a(x,i.value),Re=a(x,i.triggerProps),z=a(x,i.positionerElement),X=a(x,i.listElement),D=a(x,i.popupSide),ce=a(x,i.id),N=a(x,i.labelId),Z=a(x,i.hasSelectedValue),H=se&&z?D:null,V=c??ce,u=Cr(k,N);Ft({id:V});let S=Ht(z),le=xt.useRef(null),{getButtonProps:F,buttonRef:be}=jt({disabled:te,native:m}),he=de(W=>{x.set("triggerElement",W)}),d=pt(),w=pt(),ue=pt();xt.useEffect(()=>{if($)return ue.start(gn,()=>{B.current.allowUnselectedMouseUp=!0,B.current.allowSelectedMouseUp=!0}),()=>{ue.clear()};B.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},w.clear()},[$,B,w,ue]);let Ae=wt(Re,{id:V,role:"combobox","aria-expanded":$?"true":"false","aria-haspopup":"listbox","aria-controls":$?X?.id??vo(z)?.id:void 0,"aria-labelledby":u,"aria-readonly":b||void 0,"aria-required":L||void 0,tabIndex:te?-1:0,onFocus(W){h(!0),$&&M.current&&J(!1,xe(ge.none,W.nativeEvent)),d.start(0,()=>{x.set("forceMount",!0)})},onBlur(W){Bt(z,W.relatedTarget)||(g(!0),h(!1),R==="onBlur"&&A.commit(Se))},onMouseDown(W){if($)return;let Ie=Ct(W.currentTarget);function ie(pe){if(!le.current)return;let fe=pe.target;if(Bt(le.current,fe)||Bt(S.current,fe))return;let oe=pr(le.current);pe.clientX>=oe.left-Gt&&pe.clientX<=oe.right+Gt&&pe.clientY>=oe.top-Gt&&pe.clientY<=oe.bottom+Gt||J(!1,xe(ge.cancelOpen,pe))}r(ie,"handleMouseUp"),w.start(0,()=>{Ie.addEventListener("mouseup",ie,{once:!0})})}},f,F),T=A.getValidationProps(te,Ae);T.role="combobox";let K={...v,open:$,disabled:te,value:Se,readOnly:b,popupSide:H,placeholder:!Z};return O("button",t,{ref:[o,le,be,he],state:K,stateAttributesMapping:Sn,props:T})},"SelectTrigger"));var Pr=I(_(),1);var hn={value:r(()=>null,"value")},Mr=Pr.forwardRef(r(function(t,o){let{className:n,render:l,children:c,placeholder:s,style:m,...p}=t,{store:f,valueRef:g}=U(),h=a(f,i.value),R=a(f,i.items),v=a(f,i.itemToStringLabel),C=a(f,i.hasSelectedValue),k=!C&&s!=null&&c==null,x=a(f,i.hasNullItemLabel,k),J={value:h,placeholder:!C},B=null;return typeof c=="function"?B=c(h):c!=null?B=c:!C&&s!=null&&!x?B=s:Array.isArray(h)?B=Ir(h,R,v):B=io(h,R,v),O("span",t,{state:J,ref:[o,g],props:[{children:B},p],stateAttributesMapping:hn})},"SelectValue"));var Vr=I(_(),1);var Or=Vr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),f={open:a(m,i.open)};return O("span",t,{state:f,ref:o,props:[{"aria-hidden":!0,children:"\u25BC"},s],stateAttributesMapping:Wo})},"SelectIcon"));var Lr=I(_(),1);var ao=I(_(),1);var Dr=ao.createContext(void 0);var co=I(Me(),1);var _r=Lr.forwardRef(r(function(t,o){let{store:n}=U(),l=a(n,i.mounted),c=a(n,i.forceMount);return l||c?(0,co.jsx)(Dr.Provider,{value:!0,children:(0,co.jsx)(Oo,{ref:o,...t})}):null},"SelectPortal"));var Ur=I(_(),1);var xn={...mt,..._e},kr=Ur.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),p=a(m,i.open),f=a(m,i.mounted),g=a(m,i.transitionStatus);return O("div",t,{state:{open:p,transitionStatus:g},ref:o,props:[{role:"presentation",hidden:!f,style:{userSelect:"none",WebkitUserSelect:"none"}},s],stateAttributesMapping:xn})},"SelectBackdrop"));var Ee=I(_(),1);var Yt=I(_(),1);var uo=Yt.createContext(void 0);function Ke(){let e=Yt.useContext(uo);if(!e)throw new Error(je(59));return e}r(Ke,"useSelectPositionerContext");function Rt(e,t){e&&Object.assign(e.style,t)}r(Rt,"clearStyles");var qt={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"};var Pt=I(Me(),1);var Rn={position:"fixed"},Fr=Ee.forwardRef(r(function(t,o){let{anchor:n,positionMethod:l="absolute",className:c,render:s,side:m="bottom",align:p="center",sideOffset:f=0,alignOffset:g=0,collisionBoundary:h="clipping-ancestors",collisionPadding:R,arrowPadding:v=5,sticky:C=!1,disableAnchorTracking:k,alignItemWithTrigger:x=!0,collisionAvoidance:J=Vo,style:B,...A}=t,{store:b,listRef:L,labelsRef:M,alignItemWithTriggerActiveRef:ae,selectedItemTextRef:te,valuesRef:$,initialValueRef:se,popupRef:Se,setValue:Re}=U(),z=zt(),X=a(b,i.open),D=a(b,i.mounted),ce=a(b,i.modal),N=a(b,i.value),Z=a(b,i.openMethod),H=a(b,i.positionerElement),V=a(b,i.triggerElement),u=a(b,i.isItemEqualToValue),S=a(b,i.transitionStatus),le=Ee.useRef(null),F=Ee.useRef(null),[be,he]=Ee.useState(x),d=D&&be&&Z!=="touch";!D&&be!==x&&he(x),ee(()=>{D||(i.scrollUpArrowVisible(b.state)&&b.set("scrollUpArrowVisible",!1),i.scrollDownArrowVisible(b.state)&&b.set("scrollDownArrowVisible",!1))},[b,D]),Ee.useImperativeHandle(ae,()=>d),er((d||ce)&&X,Z==="touch",H,V);let w=Ko({anchor:n,floatingRootContext:z,positionMethod:l,mounted:D,side:m,sideOffset:f,align:p,alignOffset:g,arrowPadding:v,collisionBoundary:h,collisionPadding:R,sticky:C,disableAnchorTracking:k??d,collisionAvoidance:J,keepMounted:!0}),ue=d?"none":w.side,Ae=d?Rn:w.positionerStyles,T={open:X,side:ue,align:w.align,anchorHidden:w.anchorHidden};ee(()=>{b.set("popupSide",w.side)},[b,w.side]);let K=de(fe=>{b.set("positionerElement",fe)}),W=Qo(t,T,{styles:Ae,transitionStatus:S,props:A,refs:[o,K],hidden:!D,inert:!X}),Ie=Ee.useRef(0),ie=de(fe=>{if(fe.size===0&&Ie.current===0||$.current.length===0)return;let oe=Ie.current;if(Ie.current=fe.size,fe.size===oe)return;let Ne=xe(ge.none);if(oe!==0&&!b.state.multiple&&N!==null&&rt($.current,N,u)===-1){let G=se.current,y=G!=null&&rt($.current,G,u)!==-1?G:null;Re(y,Ne),y===null&&(b.set("selectedIndex",null),te.current=null)}if(oe!==0&&b.state.multiple&&Array.isArray(N)){let Q=r(re=>rt($.current,re,u)!==-1,"hasVisibleItem"),G=N.filter(re=>Q(re));(G.length!==N.length||G.some(re=>!Sr(N,re,u)))&&(Re(G,Ne),G.length===0&&(b.set("selectedIndex",null),te.current=null))}if(X&&d){b.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let Q={height:""};Rt(H,Q),Rt(Se.current,Q)}}),pe=Ee.useMemo(()=>({...w,side:ue,alignItemWithTriggerActive:d,setControlledAlignItemWithTrigger:he,scrollUpArrowRef:le,scrollDownArrowRef:F}),[w,ue,d,he]);return(0,Pt.jsx)(ur,{elementsRef:L,labelsRef:M,onMapChange:ie,children:(0,Pt.jsxs)(uo.Provider,{value:pe,children:[D&&ce&&(0,Pt.jsx)(Jo,{inert:$o(!X),cutout:V}),W]})})},"SelectPositioner"));var we=I(_(),1);var Kt=I(Me(),1);var bn={...mt,..._e},zr=we.forwardRef(r(function(t,o){let{render:n,className:l,style:c,finalFocus:s,...m}=t,{store:p,popupRef:f,onOpenChangeComplete:g,setOpen:h,valueRef:R,firstItemTextRef:v,selectedItemTextRef:C,multiple:k,handleScrollArrowVisibility:x,scrollHandlerRef:J,listRef:B,highlightItemOnHover:A}=U(),{side:b,align:L,alignItemWithTriggerActive:M,isPositioned:ae,setControlledAlignItemWithTrigger:te}=Ke(),$=or(!0)!=null,se=zt(),Se=Xo(),{nonce:Re,disableStyleElements:z}=dr(),X=a(p,i.id),D=a(p,i.open),ce=a(p,i.openMethod),N=a(p,i.mounted),Z=a(p,i.popupProps),H=a(p,i.transitionStatus),V=a(p,i.triggerElement),u=a(p,i.positionerElement),S=a(p,i.listElement),le=we.useRef(!1),F=we.useRef(!1),be=we.useRef({}),he=Ao(),d=de(T=>{if(!u||!f.current||!F.current)return;if(le.current||!M){x();return}let K=u.style.top==="0px",W=u.style.bottom==="0px";if(!K&&!W){x();return}let Ie=Hr(u),ie=Mt(u.getBoundingClientRect().height,"y",Ie),pe=Ct(u),fe=kt(u),oe=fe.getComputedStyle(u),Ne=parseFloat(oe.marginTop),Q=parseFloat(oe.marginBottom),G=Br(fe.getComputedStyle(f.current)),re=Math.min(pe.documentElement.clientHeight-Ne-Q,G),y=T.scrollTop,We=$t(T),Te=0,Oe=null,ke=!1,Ge=!1,Je=r(ne=>{u.style.height=`${ne}px`},"setHeight"),It=r((ne,Be)=>{let He=Nt(ne,0,re-ie);He>0&&Je(ie+He),T.scrollTop=Be,re-(ie+He)<=Ve&&(le.current=!0),x()},"handleSmallDiff"),Fe=K?We-y:y,Ze=Math.min(ie+Fe,re);if(Te=Ze,Fe<=Ve){It(Fe,K?We:0);return}if(re-Ze>Ve)K?Ge=!0:Oe=0;else if(ke=!0,W&&y<We){let ne=ie+Fe-re;Oe=y-(Fe-ne)}if(Te=Math.ceil(Te),Te!==0&&Je(Te),Ge||Oe!=null){let ne=$t(T),Be=Ge?ne:Nt(Oe,0,ne);Math.abs(T.scrollTop-Be)>Ve&&(T.scrollTop=Be)}(ke||Te>=re-Ve)&&(le.current=!0),x()});we.useImperativeHandle(J,()=>d,[d]),Xe({open:D,ref:f,onComplete(){D&&g?.(!0)}});let w={open:D,transitionStatus:H,side:b,align:L};ee(()=>{!u||!f.current||Object.keys(be.current).length||(be.current={top:u.style.top||"0",left:u.style.left||"0",right:u.style.right,height:u.style.height,bottom:u.style.bottom,minHeight:u.style.minHeight,maxHeight:u.style.maxHeight,marginTop:u.style.marginTop,marginBottom:u.style.marginBottom})},[f,u]),ee(()=>{D||M||(F.current=!1,le.current=!1,Rt(u,be.current))},[D,M,u,f]),ee(()=>{let T=f.current;if(!D||!V||!u||!T||M&&!ae||p.state.transitionStatus==="ending")return;if(!M){F.current=!0,he.request(x),T.style.removeProperty("--transform-origin");return}let K=yn(T);T.style.removeProperty("--transform-origin");try{let W=C.current;W?.isConnected||(W=!i.hasSelectedValue(p.state)&&v.current?.isConnected?v.current:null);let Ie=R.current,ie=kt(u),pe=ie.getComputedStyle(u),fe=ie.getComputedStyle(T),oe=Ct(V),Ne=Hr(V),Q=Xt(V.getBoundingClientRect(),Ne),G=Xt(u.getBoundingClientRect(),Ne),re=Q.height,y=S||T,We=y.scrollHeight,Te=parseFloat(fe.borderBottomWidth),Oe=parseFloat(pe.marginTop)||10,ke=parseFloat(pe.marginBottom)||10,Ge=parseFloat(pe.minHeight)||100,Je=Br(fe),It=5,Fe=5,Ze=20,ne=oe.documentElement.clientHeight-Oe-ke,Be=oe.documentElement.clientWidth,He=ne-Q.bottom+re,De,st=Se==="rtl"?Q.right-G.width:Q.left,lt=0;if(W&&Ie){let Pe=Xt(Ie.getBoundingClientRect(),Ne);De=Xt(W.getBoundingClientRect(),Ne),st=G.left+(Se==="rtl"?Pe.right-De.right:Pe.left-De.left);let ct=Pe.top-Q.top+Pe.height/2;lt=De.top-G.top+De.height/2-ct}let Ye=He+lt+ke+Te,Le=Math.min(ne,Ye),Qe=ne-Oe-ke,it=Ye-Le,at=Be-Fe;u.style.left=`${Nt(st,It,at-G.width)}px`,u.style.height=`${Le}px`,u.style.maxHeight="none",u.style.marginTop=`${Oe}px`,u.style.marginBottom=`${ke}px`,T.style.height="100%";let qe=$t(y),et=it>=qe-Ve;et&&(Le=Math.min(ne,G.height)-(it-qe));let vt=Q.top<Ze||Q.bottom>ne-Ze||Math.ceil(Le)+Ve<Math.min(We,Ge),Et=(ie.visualViewport?.scale??1)!==1&&Io.engine.webkit;if(vt||Et){F.current=!0,Rt(u,be.current),te(!1);return}let Dt=Math.max(Ge,Le);if(et){let Pe=Math.max(0,ne-Ye);u.style.top=G.height>=Qe?"0":`${Pe}px`,u.style.height=`${Le}px`,y.scrollTop=$t(y)}else u.style.bottom="0",y.scrollTop=it;if(De){let Pe=G.top,ct=G.height,Lt=De.top+De.height/2,_t=ct>0?(Lt-Pe)/ct*100:50,eo=Nt(_t,0,100);T.style.setProperty("--transform-origin",`50% ${eo}%`)}(Dt===ne||Le>=Je)&&(le.current=!0),x(),A&&p.state.selectedIndex===null&&p.state.activeIndex===null&&B.current[0]!=null&&p.set("activeIndex",0),F.current=!0}finally{K()}},[p,D,u,V,R,v,C,f,x,M,te,he,S,B,A,Se,ae]),we.useEffect(()=>{if(!M||!u||!D)return;let T=kt(u);function K(W){h(!1,xe(ge.windowResize,W))}return r(K,"handleResize"),To(T,"resize",K)},[h,M,u,D]);let ue={...S?{role:"presentation","aria-orientation":void 0}:{role:"listbox","aria-multiselectable":k||void 0,id:`${X}-list`},onKeyDown(T){$&&tr.has(T.key)&&T.stopPropagation()},onScroll(T){S||d(T.currentTarget)},...M&&{style:S?{height:"100%"}:qt}},Ae=O("div",t,{ref:[o,f],state:w,stateAttributesMapping:bn,props:[Z,ue,Zo(H),{className:!S&&M?Tt.className:void 0},m]});return(0,Kt.jsxs)(we.Fragment,{children:[!z&&Tt.getElement(Re),(0,Kt.jsx)(Do,{context:se,modal:!1,disabled:!N,openInteractionType:ce,returnFocus:s,restoreFocus:!0,children:Ae})]})},"SelectPopup"));function Br(e){let t=e.maxHeight||"";return t.endsWith("px")&&parseFloat(t)||1/0}r(Br,"getMaxPopupHeight");function $t(e){return dt(e.scrollHeight,e.clientHeight)}r($t,"getMaxScrollTop");function Hr(e){return Uo.getScale(e)}r(Hr,"getScale");function Mt(e,t,o){return e/o[t]}r(Mt,"normalizeSize");function Xt(e,t){return wo({x:Mt(e.x,"x",t),y:Mt(e.y,"y",t),width:Mt(e.width,"x",t),height:Mt(e.height,"y",t)})}r(Xt,"normalizeRect");var jr=[["transform","none"],["scale","1"],["translate","0 0"]];function yn(e){let{style:t}=e,o={};for(let[n,l]of jr)o[n]=t.getPropertyValue(n),t.setProperty(n,l,"important");return()=>{for(let[n]of jr){let l=o[n];l?t.setProperty(n,l):t.removeProperty(n)}}}r(yn,"unsetTransformStyles");var Wr=I(_(),1);var Gr=Wr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m,scrollHandlerRef:p}=U(),{alignItemWithTriggerActive:f}=Ke(),g=a(m,i.hasScrollArrows),h=a(m,i.openMethod),R=a(m,i.multiple),C={id:`${a(m,i.id)}-list`,role:"listbox","aria-multiselectable":R||void 0,onScroll(x){p.current?.(x.currentTarget)},...f&&{style:qt},className:g&&h!=="touch"?Tt.className:void 0},k=de(x=>{m.set("listElement",x)});return O("div",t,{ref:[o,k],props:[C,s]})},"SelectList"));var Ce=I(_(),1);var Jt=I(_(),1);var po=Jt.createContext(void 0);function Vt(){let e=Jt.useContext(po);if(!e)throw new Error(je(57));return e}r(Vt,"useSelectItemContext");var Yr=I(Me(),1);var qr=Ce.memo(Ce.forwardRef(r(function(t,o){let{render:n,className:l,style:c,value:s=null,label:m,disabled:p=!1,nativeButton:f=!1,...g}=t,h=Ce.useRef(null),R=cr({label:m,textRef:h,indexGuessBehavior:ar.GuessFromOrder}),{store:v,itemProps:C,setOpen:k,setValue:x,selectionRef:J,typingRef:B,valuesRef:A,multiple:b,selectedItemTextRef:L,disabled:M,readOnly:ae}=U(),te=a(v,i.isActive,R.index),$=a(v,i.open),se=a(v,i.isSelected,s),Se=a(v,i.isSelectedByFocus,R.index),Re=a(v,i.isItemEqualToValue),z=R.index,X=z!==-1,D=Ce.useRef(null);ee(()=>{if(!X)return;let d=A.current;return d[z]=s,()=>{delete d[z]}},[X,z,s,A]),ee(()=>{if(!X)return;let d=v.state.value,w=d;b&&Array.isArray(d)&&(w=d.length>0?d[d.length-1]:void 0),w!==void 0&&Ue(s,w,Re)&&(v.set("selectedIndex",z),h.current&&(L.current=h.current))},[X,z,b,Re,v,s,L]);let ce=Ce.useRef(null),N=Ce.useRef("mouse"),Z=Ce.useRef(!1),{getButtonProps:H,buttonRef:V}=jt({disabled:p,focusableWhenDisabled:!0,native:f,composite:!0}),u={disabled:p,selected:se,highlighted:te};function S(d){if(M||ae)return;let w=v.state.value;if(b){let ue=Array.isArray(w)?w:[],Ae=se?hr(ue,s,Re):[...ue,s];x(Ae,xe(ge.itemPress,d))}else x(s,xe(ge.itemPress,d)),k(!1,xe(ge.itemPress,d))}r(S,"commitSelection");function le(){J.current.dragY=0}r(le,"resetDragMovement");let F={role:"option","aria-selected":se,tabIndex:$&&te?0:-1,onKeyDown(d){ce.current=d.key,v.set("activeIndex",z),d.key===" "&&B.current&&d.preventDefault()},onClick(d){let w=d.type==="click"&&N.current!=="touch",ue=d.nativeEvent.pointerType,Ae=w&&Eo(d.nativeEvent)&&(ue!==void 0||te),T=w&&!Ae&&!Z.current;Z.current=!1,!(d.type==="keydown"&&ce.current===null)&&(p||d.type==="keydown"&&ce.current===" "&&B.current||T||(ce.current=null,S(d.nativeEvent)))},onPointerEnter(d){N.current=d.pointerType},onPointerMove(d){if(d.pointerType==="mouse"&&d.buttons===1){let w=J.current;w.dragY+=d.movementY,w.dragY**2>=64&&(w.allowUnselectedMouseUp=!0)}},onPointerDown(d){N.current=d.pointerType,Z.current=!0,le()},onMouseUp(){if(le(),p||N.current==="touch"||Z.current)return;let d=!J.current.allowSelectedMouseUp&&se,w=!J.current.allowUnselectedMouseUp&&!se;d||w||(Z.current=!0,D.current?.click(),Z.current=!1)}},be=O("div",t,{ref:[V,o,R.ref,D],state:u,props:[C,F,g,H]}),he=Ce.useMemo(()=>({selected:se,index:z,textRef:h,selectedByFocus:Se,hasRegistered:X}),[se,z,h,Se,X]);return(0,Yr.jsx)(po.Provider,{value:he,children:be})},"SelectItem")));var nt=I(_(),1);var $r=I(Me(),1);var Xr=nt.forwardRef(r(function(t,o){let n=t.keepMounted??!1,{selected:l}=Vt();return n||l?(0,$r.jsx)(In,{...t,ref:o}):null},"SelectItemIndicator")),In=nt.memo(nt.forwardRef((e,t)=>{let{render:o,className:n,style:l,keepMounted:c,...s}=e,{selected:m}=Vt(),p=nt.useRef(null),{transitionStatus:f,setMounted:g}=ft(m),R=O("span",e,{ref:[t,p],state:{selected:m,transitionStatus:f},props:[{"aria-hidden":!0,children:"\u2714\uFE0F"},s],stateAttributesMapping:_e});return Xe({open:m,ref:p,onComplete(){m||g(!1)}}),R}));var bt=I(_(),1);var Kr=bt.memo(bt.forwardRef(r(function(t,o){let{index:n,textRef:l,selectedByFocus:c,hasRegistered:s}=Vt(),{firstItemTextRef:m,selectedItemTextRef:p}=U(),{render:f,className:g,style:h,...R}=t,v=bt.useCallback(k=>{k&&(s&&n===0&&(m.current=k),s&&c&&(p.current=k))},[m,p,n,c,s]);return O("div",t,{ref:[v,o,l],props:R})},"SelectItemText")));var Jr=I(_(),1);var vn={...mt,..._e},Zr=Jr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),{side:p,align:f,arrowRef:g,arrowStyles:h,arrowUncentered:R,alignItemWithTriggerActive:v}=Ke(),k={open:a(m,i.open),side:p,align:f,uncentered:R},x=O("div",t,{state:k,ref:[g,o],props:[{style:h,"aria-hidden":!0},s],stateAttributesMapping:vn});return v?null:x},"SelectArrow"));var en=I(_(),1);var Qr=I(_(),1);var Zt=Qr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,direction:s,keepMounted:m=!1,...p}=t,f=s==="up",{store:g,popupRef:h,listRef:R,handleScrollArrowVisibility:v,scrollArrowsMountedCountRef:C}=U(),{side:k,scrollDownArrowRef:x,scrollUpArrowRef:J}=Ke(),B=f?i.scrollUpArrowVisible:i.scrollDownArrowVisible,A=a(g,B),b=a(g,i.openMethod),L=A&&b!=="touch",M=pt(),ae=f?J:x,{mounted:te,transitionStatus:$,setMounted:se}=ft(L);ee(()=>(C.current+=1,g.state.hasScrollArrows||g.set("hasScrollArrows",!0),()=>{C.current=Math.max(0,C.current-1),C.current===0&&g.state.hasScrollArrows&&g.set("hasScrollArrows",!1)}),[g,C]),Xe({open:L,ref:ae,onComplete(){L||se(!1)}});let z=O("div",t,{ref:[o,ae],state:{direction:s,visible:L,side:k,transitionStatus:$},props:[{"aria-hidden":!0,children:f?"\u25B2":"\u25BC",style:{position:"absolute"},onMouseMove(D){if(D.movementX===0&&D.movementY===0||M.isStarted())return;g.set("activeIndex",null);function ce(){let N=g.state.listElement??h.current;if(!N)return;g.set("activeIndex",null),v();let Z=dt(N.scrollHeight,N.clientHeight),H=gt(N.scrollTop,Z),V=H===(f?0:Z),u=R.current;if(H!==N.scrollTop&&(N.scrollTop=H),u.length===0&&g.set(f?"scrollUpArrowVisible":"scrollDownArrowVisible",!V),V){M.clear();return}if(u.length>0){let S=ae.current?.offsetHeight||0;N.scrollTop=En(u,f,H,N.clientHeight,S,Z)}M.start(40,ce)}r(ce,"scrollNextItem"),M.start(40,ce)},onMouseLeave(){M.clear()}},p],stateAttributesMapping:_e});return te||m?z:null},"SelectScrollArrow"));function En(e,t,o,n,l,c){if(t){let g=0,h=o+l-Ve;for(let C=0;C<e.length;C+=1){let k=e[C];if(k&&k.offsetTop>=h){g=C;break}}let R=Math.max(0,g-1),v=e[R];return R<g&&v?gt(v.offsetTop-l,c):0}let s=e.length-1,m=o+n-l+Ve;for(let g=0;g<e.length;g+=1){let h=e[g];if(h&&h.offsetTop+h.offsetHeight>m){s=Math.max(0,g-1);break}}let p=Math.min(e.length-1,s+1),f=e[p];return p>s&&f?gt(f.offsetTop+f.offsetHeight-n+l,c):c}r(En,"getTargetScrollTop");var tn=I(Me(),1);var on=en.forwardRef(r(function(t,o){return(0,tn.jsx)(Zt,{...t,ref:o,direction:"down"})},"SelectScrollDownArrow"));var rn=I(_(),1);var nn=I(Me(),1);var sn=rn.forwardRef(r(function(t,o){return(0,nn.jsx)(Zt,{...t,ref:o,direction:"up"})},"SelectScrollUpArrow"));var yt=I(_(),1);var Qt=I(_(),1);var fo=Qt.createContext(void 0);function ln(){let e=Qt.useContext(fo);if(e===void 0)throw new Error(je(56));return e}r(ln,"useSelectGroupContext");var an=I(Me(),1);var cn=yt.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,[m,p]=yt.useState(),f=yt.useMemo(()=>({labelId:m,setLabelId:p}),[m,p]),g=O("div",t,{ref:o,props:[{role:"group","aria-labelledby":m},s]});return(0,an.jsx)(fo.Provider,{value:f,children:g})},"SelectGroup"));var un=I(_(),1);var pn=un.forwardRef(r(function(t,o){let{render:n,className:l,style:c,id:s,...m}=t,{setLabelId:p}=ln(),f=bo(s);return ee(()=>{p(f)},[f,p]),O("div",t,{ref:o,props:[{id:f},m]})},"SelectGroupLabel"));var q=I(Me(),1);var Tc=me.Root;function Pc(e){let t=(0,Ot.c)(8),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("flex flex-1 text-start",o),t[3]=o,t[4]=l):l=t[4];let c;return t[5]!==n||t[6]!==l?(c=(0,q.jsx)(me.Value,{"data-slot":"select-value",className:l,...n}),t[5]=n,t[6]=l,t[7]=c):c=t[7],c}r(Pc,"W");function Mc({className:e,size:t="default",children:o,...n}){return(0,q.jsxs)(me.Trigger,{"data-slot":"select-trigger","data-size":t,className:ot("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pe-2 ps-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[o,(0,q.jsx)(me.Icon,{render:(0,q.jsx)(At,{icon:ir,strokeWidth:2,className:"pointer-events-none size-4 text-muted-foreground"})})]})}r(Mc,"T");function Vc({className:e,children:t,side:o="bottom",sideOffset:n=4,align:l="center",alignOffset:c=0,alignItemWithTrigger:s=!0,...m}){return(0,q.jsx)(me.Portal,{children:(0,q.jsx)(me.Positioner,{side:o,sideOffset:n,align:l,alignOffset:c,alignItemWithTrigger:s,className:"isolate z-50",children:(0,q.jsxs)(me.Popup,{"data-slot":"select-content","data-align-trigger":s,className:ot("isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",e),...m,children:[(0,q.jsx)(wn,{}),(0,q.jsx)(me.List,{children:t}),(0,q.jsx)(Cn,{})]})})})}r(Vc,"$");function Oc(e){let t=(0,Ot.c)(13),o,n,l;t[0]!==e?({className:n,children:o,...l}=e,t[0]=e,t[1]=o,t[2]=n,t[3]=l):(o=t[1],n=t[2],l=t[3]);let c;t[4]!==n?(c=ot("relative flex w-full cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),t[4]=n,t[5]=c):c=t[5];let s;t[6]!==o?(s=(0,q.jsx)(me.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:o}),t[6]=o,t[7]=s):s=t[7];let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,q.jsx)(me.ItemIndicator,{render:(0,q.jsx)("span",{className:"pointer-events-none absolute end-2 flex size-4 items-center justify-center"}),children:(0,q.jsx)(At,{icon:lr,strokeWidth:2,className:"pointer-events-none"})}),t[8]=m):m=t[8];let p;return t[9]!==l||t[10]!==c||t[11]!==s?(p=(0,q.jsxs)(me.Item,{"data-slot":"select-item",className:c,...l,children:[s,m]}),t[9]=l,t[10]=c,t[11]=s,t[12]=p):p=t[12],p}r(Oc,"A");function wn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:sr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(wn,"x");function Cn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:nr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(Cn,"w");export{Tc as a,Pc as b,Mc as c,Vc as d,Oc as e};
|
|
1
|
+
import{a as Nt,b as Ve,c as dt,d as gt,e as Tt,f as dr}from"./chunk-2PJNAWB3.js";import{a as ar,b as cr,c as ur,d as pr,e as mr}from"./chunk-SD4BERSA.js";import{a as fr}from"./chunk-IC4L6G56.js";import{A as _o,B as Uo,C as ko,D as P,G as a,H as Fo,L as Bo,Z as Ho,a as Eo,ca as jo,d as wo,da as zo,ha as Wo,ia as Go,ja as mt,k as Ht,la as qo,ma as $o,n as Vo,oa as Ko,pa as Jo,q as Oo,qa as Zo,ra as Qo,ta as er,ua as tr,va as or,wa as rr,x as Do,y as Lo}from"./chunk-RQ7AFLIV.js";import{a as To,b as Xo}from"./chunk-BGBLQ563.js";import{a as Po,b as Mo,c as Yo}from"./chunk-IVFHIQOT.js";import{a as nr,b as sr,i as lr,j as ir,k as At}from"./chunk-QBWRC5YX.js";import{C as pt,F as Ao,I as _e,K as Xe,L as ft,M as ro,N as No,O as ge,P as xe,a as Ut,b as ut,c as Ro,e as bo,f as yo,g as Ft,h as Ct,i as Io,p as Bt,y as vo,z as Co}from"./chunk-CFPZYHPY.js";import{b as jt}from"./chunk-FXCBF4XT.js";import{a as ee,c as de,e as kt}from"./chunk-2OUPA2WJ.js";import{a as wt,c as je,d as So,e as ho,h as oo,i as xo,j as O}from"./chunk-6ST5ECQA.js";import{a as r,d as mn,e as I,f as _,g as dn,h as Me,j as ot}from"./chunk-3XIESWL4.js";var Ot=I(dn(),1),Ec=I(_(),1);var me={};mn(me,{Arrow:()=>Zr,Backdrop:()=>kr,Group:()=>cn,GroupLabel:()=>pn,Icon:()=>Or,Item:()=>qr,ItemIndicator:()=>Xr,ItemText:()=>Kr,Label:()=>Nr,List:()=>Gr,Popup:()=>zr,Portal:()=>_r,Positioner:()=>Fr,Root:()=>Er,ScrollDownArrow:()=>on,ScrollUpArrow:()=>sn,Separator:()=>fr,Trigger:()=>Tr,Value:()=>Mr});var j=I(_(),1);var St=I(_(),1);var no=St.createContext(null),so=St.createContext(null);function U(){let e=St.useContext(no);if(e===null)throw new Error(je(60));return e}r(U,"useSelectRootContext");function zt(){let e=St.useContext(so);if(e===null)throw new Error(je(61));return e}r(zt,"useSelectFloatingContext");var gr=r((e,t)=>Object.is(e,t),"defaultItemEquality");function Ue(e,t,o){return e==null||t==null?Object.is(e,t):o(e,t)}r(Ue,"compareItemEquality");function Sr(e,t,o){return!e||e.length===0?!1:e.some(n=>n===void 0?!1:Ue(t,n,o))}r(Sr,"selectedValueIncludes");function rt(e,t,o){return!e||e.length===0?-1:e.findIndex(n=>n===void 0?!1:Ue(n,t,o))}r(rt,"findItemIndex");function hr(e,t,o){return e.filter(n=>!Ue(t,n,o))}r(hr,"removeItem");var xr=I(_(),1);function Wt(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}r(Wt,"serializeValue");var Rr=I(Me(),1);function br(e){return e!=null&&e.length>0&&typeof e[0]=="object"&&e[0]!=null&&"items"in e[0]}r(br,"isGroupedItems");function yr(e){if(!Array.isArray(e))return e!=null&&"null"in e;let t=e;if(br(t)){for(let o of t)for(let n of o.items)if(n&&n.value==null&&n.label!=null)return!0;return!1}for(let o of t)if(o&&o.value==null&&o.label!=null)return!0;return!1}r(yr,"hasNullItemLabel");function lo(e,t){if(t&&e!=null)return t(e)??"";if(e&&typeof e=="object"){if("label"in e&&e.label!=null)return String(e.label);if("value"in e)return String(e.value)}return Wt(e)}r(lo,"stringifyAsLabel");function ze(e,t){return t&&e!=null?t(e)??"":e&&typeof e=="object"&&"value"in e&&"label"in e?Wt(e.value):Wt(e)}r(ze,"stringifyAsValue");function io(e,t,o){function n(){return lo(e,o)}if(r(n,"fallback"),o&&e!=null)return o(e);if(e&&typeof e=="object"&&"label"in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??n();if(Array.isArray(t)){let l=t,c=br(l)?l.flatMap(s=>s.items):l;if(e==null||typeof e!="object"){let s=c.find(m=>m.value===e);return s&&s.label!=null?s.label:n()}if("value"in e){let s=c.find(m=>m&&m.value===e.value);if(s&&s.label!=null)return s.label}}return n()}r(io,"resolveSelectedLabel");function Ir(e,t,o){return e.reduce((n,l,c)=>(c>0&&n.push(", "),n.push((0,Rr.jsx)(xr.Fragment,{children:io(l,t,o)},c)),n),[])}r(Ir,"resolveMultipleLabels");var i={id:P(e=>e.id),labelId:P(e=>e.labelId),modal:P(e=>e.modal),multiple:P(e=>e.multiple),items:P(e=>e.items),itemToStringLabel:P(e=>e.itemToStringLabel),itemToStringValue:P(e=>e.itemToStringValue),isItemEqualToValue:P(e=>e.isItemEqualToValue),value:P(e=>e.value),hasSelectedValue:P(e=>{let{value:t,multiple:o,itemToStringValue:n}=e;return t==null?!1:o&&Array.isArray(t)?t.length>0:ze(t,n)!==""}),hasNullItemLabel:P((e,t)=>t?yr(e.items):!1),open:P(e=>e.open),mounted:P(e=>e.mounted),forceMount:P(e=>e.forceMount),transitionStatus:P(e=>e.transitionStatus),openMethod:P(e=>e.openMethod),activeIndex:P(e=>e.activeIndex),selectedIndex:P(e=>e.selectedIndex),isActive:P((e,t)=>e.activeIndex===t),isSelected:P((e,t)=>{let o=e.isItemEqualToValue,n=e.value;return e.multiple?Array.isArray(n)&&n.some(l=>Ue(t,l,o)):Ue(t,n,o)}),isSelectedByFocus:P((e,t)=>e.selectedIndex===t),popupProps:P(e=>e.popupProps),triggerProps:P(e=>e.triggerProps),triggerElement:P(e=>e.triggerElement),positionerElement:P(e=>e.positionerElement),listElement:P(e=>e.listElement),popupSide:P(e=>e.popupSide),scrollUpArrowVisible:P(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:P(e=>e.scrollDownArrowVisible),hasScrollArrows:P(e=>e.hasScrollArrows)};function vr(e,t,o=(n,l)=>n===l){return e.length===t.length&&e.every((n,l)=>o(n,t[l]))}r(vr,"areArraysEqual");var ht=I(Me(),1);function Er(e){let{id:t,value:o,defaultValue:n=null,onValueChange:l,open:c,defaultOpen:s=!1,onOpenChange:m,name:p,form:f,autoComplete:g,disabled:h=!1,readOnly:R=!1,required:v=!1,modal:C=!0,actionsRef:k,inputRef:x,onOpenChangeComplete:J,items:B,multiple:A=!1,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M=gr,highlightItemOnHover:ae=!0,children:te}=e,{clearErrors:$}=Ro(),{setDirty:se,setTouched:Se,setFocused:Re,validityData:z,setFilled:X,name:D,disabled:ce,validation:N,validationMode:Z}=ut(),H=Ft({id:t}),V=ce||h,u=D??p,[S,le]=ro({controlled:o,default:A?n??oo:n,name:"Select",state:"value"}),[F,be]=ro({controlled:c,default:s,name:"Select",state:"open"}),he=j.useRef([]),d=j.useRef([]),w=j.useRef(null),ue=j.useRef(null),Ae=j.useRef(0),T=j.useRef(null),K=j.useRef([]),W=j.useRef(!1),Ie=j.useRef(null),ie=j.useRef(null),pe=j.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),fe=j.useRef(!1),{mounted:oe,setMounted:Ne,transitionStatus:Q}=ft(F),{openMethod:G,triggerProps:re}=qo(F),y=So(()=>new Fo({id:H,labelId:void 0,modal:C,multiple:A,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,value:S,open:F,mounted:oe,transitionStatus:Q,items:B,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,We=a(y,i.activeIndex),Te=a(y,i.selectedIndex),Oe=a(y,i.triggerElement),ke=a(y,i.positionerElement),Ge=rr(G),Je=G??Ge??null,It=j.useMemo(()=>A?"":ze(S,L),[A,S,L]),Fe=j.useMemo(()=>A&&Array.isArray(S)?S.map(E=>ze(E,L)):ze(S,L),[A,S,L]),Ze=Ht(y.state.triggerElement),ne=de(()=>Fe);No(Ze,H,S,ne,!V,p);let Be=j.useRef(S),He=A?Array.isArray(S)&&S.length>0:S!=null&&ze(S,L)!=="";ee(()=>{S!==Be.current&&y.set("forceMount",!0)},[y,S]),ee(()=>{X(He)},[He,X]),ee(r(function(){let Y=K.current,ve;if(A){let ye=Array.isArray(S)?S:[];if(ye.length===0)ve=null;else{let $e=ye[ye.length-1],tt=rt(Y,$e,M);ve=tt===-1?null:tt}}else{let ye=rt(Y,S,M);ve=ye===-1?null:ye}ve===null&&(ie.current=null),!F&&y.set("selectedIndex",ve)},"syncSelectedIndex"),[He,A,F,S,K,M,y,ie]);function De(E){let Y=z.initialValue;return Array.isArray(E)&&Array.isArray(Y)?!vr(E,Y,(ve,ye)=>Ue(ve,ye,M)):E!==Y}r(De,"isSelectedValueDirty"),Yo(S,()=>{$(u),se(De(S)),N.change(S)});let st=de((E,Y)=>{m?.(E,Y),!Y.isCanceled&&(be(E),!E&&(Y.reason===ge.focusOut||Y.reason===ge.outsidePress)&&(Se(!0),Re(!1),Z==="onBlur"&&N.commit(S)))}),lt=de(()=>{Ne(!1),y.update({activeIndex:null,openMethod:null}),J?.(!1)});Xe({enabled:!k,open:F,ref:w,onComplete(){F||lt()}}),j.useImperativeHandle(k,()=>({unmount:lt}),[lt]);let Ye=de((E,Y)=>{l?.(E,Y),!Y.isCanceled&&le(E)}),Le=de(()=>{let E=y.state.listElement||w.current;if(!E)return;let Y=dt(E.scrollHeight,E.clientHeight),ve=gt(E.scrollTop,Y),ye=ve>0,$e=ve<Y;y.state.scrollUpArrowVisible!==ye&&y.set("scrollUpArrowVisible",ye),y.state.scrollDownArrowVisible!==$e&&y.set("scrollDownArrowVisible",$e)}),Qe=Ho({open:F,onOpenChange:st,elements:{reference:Oe,floating:ke}}),it=Lo(Qe,{enabled:!R&&!V,event:"mousedown"}),at=_o(Qe),qe=jo(Qe,{enabled:!R&&!V,listRef:he,activeIndex:We,selectedIndex:Te,disabledIndices:oo,onNavigate(E){E===null&&!F||y.set("activeIndex",E)},focusItemOnHover:ae}),et=zo(Qe,{enabled:!R&&!V&&(F||!A),listRef:d,activeIndex:We,selectedIndex:Te,disabledIndices:r(E=>mr(he.current[E]),"disabledIndices"),onMatch(E){F?y.set("activeIndex",E):Ye(K.current[E],xe("none"))},onTyping(E){W.current=E}}),vt=j.useMemo(()=>{let E=wt(et.reference,qe.reference,at.reference,it.reference,re);return H&&(E.id=H),E},[it.reference,et.reference,qe.reference,at.reference,re,H]),Et=j.useMemo(()=>wt(Bo,et.floating,qe.floating,at.floating),[et.floating,qe.floating,at.floating]),Dt=qe.item??xo;ko(()=>{y.update({popupProps:Et,triggerProps:vt})}),ee(()=>{y.update({id:H,modal:C,multiple:A,value:S,open:F,mounted:oe,transitionStatus:Q,popupProps:Et,triggerProps:vt,items:B,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,openMethod:Je})},[y,H,C,A,S,F,oe,Q,Et,vt,B,b,L,M,Je]);let Pe=j.useMemo(()=>({store:y,name:u,required:v,disabled:V,readOnly:R,multiple:A,highlightItemOnHover:ae,setValue:Ye,setOpen:st,listRef:he,popupRef:w,scrollHandlerRef:ue,handleScrollArrowVisibility:Le,scrollArrowsMountedCountRef:Ae,itemProps:Dt,valueRef:T,valuesRef:K,labelsRef:d,typingRef:W,selectionRef:pe,firstItemTextRef:Ie,selectedItemTextRef:ie,validation:N,onOpenChangeComplete:J,alignItemWithTriggerActiveRef:fe,initialValueRef:Be}),[y,u,v,V,R,A,ae,Ye,st,Dt,N,J,Le]),ct=ho(x,N.inputRef),Lt=A&&Array.isArray(S)&&S.length>0,_t=A?void 0:u,eo=j.useMemo(()=>!A||!Array.isArray(S)||!u?null:S.map(E=>{let Y=ze(E,L);return(0,ht.jsx)("input",{type:"hidden",form:f,name:u,value:Y,disabled:V},Y)}),[A,S,f,u,L,V]);return(0,ht.jsx)(no.Provider,{value:Pe,children:(0,ht.jsxs)(so.Provider,{value:Qe,children:[te,(0,ht.jsx)("input",{...N.getValidationProps(V,{onFocus(){y.state.triggerElement?.focus({focusVisible:!0})},onChange(E){if(E.nativeEvent.defaultPrevented||V||R)return;let Y=E.currentTarget.value,ve=xe(ge.none,E.nativeEvent);function ye(){if(A)return;let $e=Y.toLowerCase(),tt=K.current.findIndex(to=>ze(to,L).toLowerCase()===$e||lo(to,b).toLowerCase()===$e);tt===-1&&(tt=K.current.findIndex((to,fn)=>{let go=d.current[fn];return go!=null&&go.toLowerCase()===$e}));let mo=tt===-1?void 0:K.current[tt];mo!=null&&Ye(mo,ve)}r(ye,"handleChange"),y.set("forceMount",!0),queueMicrotask(ye)}}),id:H&&_t==null?`${H}-hidden-input`:void 0,form:f,name:_t,autoComplete:g,value:It,disabled:V,required:v&&!Lt,readOnly:R,ref:ct,style:u?Mo:Po,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),eo]})})}r(Er,"SelectRoot");var Ar=I(_(),1);function wr(e){return e==null?void 0:`${e}-label`}r(wr,"getDefaultLabelId");function Cr(e,t){return e??t}r(Cr,"resolveAriaLabelledBy");var Nr=Ar.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,m=s;delete m.id;let p=ut(),{store:f}=U(),g=a(f,i.triggerElement),h=a(f,i.id),R=wr(h),v=Co({id:R,fallbackControlId:g?.id??h,setLabelId(C){f.set("labelId",C)}});return O("div",t,{ref:o,state:p.state,props:[v,s],stateAttributesMapping:Ut})},"SelectLabel"));var xt=I(_(),1);var Gt=2,gn=400,Sn={...Go,...Ut,popupSide:r(e=>e?{"data-popup-side":e}:null,"popupSide"),value:r(()=>null,"value")},Tr=xt.forwardRef(r(function(t,o){let{render:n,className:l,id:c,disabled:s=!1,nativeButton:m=!0,style:p,...f}=t,{setTouched:g,setFocused:h,validationMode:R,state:v,disabled:C}=ut(),{labelId:k}=yo(),{store:x,setOpen:J,selectionRef:B,validation:A,readOnly:b,required:L,alignItemWithTriggerActiveRef:M,disabled:ae}=U(),te=C||ae||s,$=a(x,i.open),se=a(x,i.mounted),Se=a(x,i.value),Re=a(x,i.triggerProps),z=a(x,i.positionerElement),X=a(x,i.listElement),D=a(x,i.popupSide),ce=a(x,i.id),N=a(x,i.labelId),Z=a(x,i.hasSelectedValue),H=se&&z?D:null,V=c??ce,u=Cr(k,N);Ft({id:V});let S=Ht(z),le=xt.useRef(null),{getButtonProps:F,buttonRef:be}=jt({disabled:te,native:m}),he=de(W=>{x.set("triggerElement",W)}),d=pt(),w=pt(),ue=pt();xt.useEffect(()=>{if($)return ue.start(gn,()=>{B.current.allowUnselectedMouseUp=!0,B.current.allowSelectedMouseUp=!0}),()=>{ue.clear()};B.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},w.clear()},[$,B,w,ue]);let Ae=wt(Re,{id:V,role:"combobox","aria-expanded":$?"true":"false","aria-haspopup":"listbox","aria-controls":$?X?.id??vo(z)?.id:void 0,"aria-labelledby":u,"aria-readonly":b||void 0,"aria-required":L||void 0,tabIndex:te?-1:0,onFocus(W){h(!0),$&&M.current&&J(!1,xe(ge.none,W.nativeEvent)),d.start(0,()=>{x.set("forceMount",!0)})},onBlur(W){Bt(z,W.relatedTarget)||(g(!0),h(!1),R==="onBlur"&&A.commit(Se))},onMouseDown(W){if($)return;let Ie=Ct(W.currentTarget);function ie(pe){if(!le.current)return;let fe=pe.target;if(Bt(le.current,fe)||Bt(S.current,fe))return;let oe=pr(le.current);pe.clientX>=oe.left-Gt&&pe.clientX<=oe.right+Gt&&pe.clientY>=oe.top-Gt&&pe.clientY<=oe.bottom+Gt||J(!1,xe(ge.cancelOpen,pe))}r(ie,"handleMouseUp"),w.start(0,()=>{Ie.addEventListener("mouseup",ie,{once:!0})})}},f,F),T=A.getValidationProps(te,Ae);T.role="combobox";let K={...v,open:$,disabled:te,value:Se,readOnly:b,popupSide:H,placeholder:!Z};return O("button",t,{ref:[o,le,be,he],state:K,stateAttributesMapping:Sn,props:T})},"SelectTrigger"));var Pr=I(_(),1);var hn={value:r(()=>null,"value")},Mr=Pr.forwardRef(r(function(t,o){let{className:n,render:l,children:c,placeholder:s,style:m,...p}=t,{store:f,valueRef:g}=U(),h=a(f,i.value),R=a(f,i.items),v=a(f,i.itemToStringLabel),C=a(f,i.hasSelectedValue),k=!C&&s!=null&&c==null,x=a(f,i.hasNullItemLabel,k),J={value:h,placeholder:!C},B=null;return typeof c=="function"?B=c(h):c!=null?B=c:!C&&s!=null&&!x?B=s:Array.isArray(h)?B=Ir(h,R,v):B=io(h,R,v),O("span",t,{state:J,ref:[o,g],props:[{children:B},p],stateAttributesMapping:hn})},"SelectValue"));var Vr=I(_(),1);var Or=Vr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),f={open:a(m,i.open)};return O("span",t,{state:f,ref:o,props:[{"aria-hidden":!0,children:"\u25BC"},s],stateAttributesMapping:Wo})},"SelectIcon"));var Lr=I(_(),1);var ao=I(_(),1);var Dr=ao.createContext(void 0);var co=I(Me(),1);var _r=Lr.forwardRef(r(function(t,o){let{store:n}=U(),l=a(n,i.mounted),c=a(n,i.forceMount);return l||c?(0,co.jsx)(Dr.Provider,{value:!0,children:(0,co.jsx)(Oo,{ref:o,...t})}):null},"SelectPortal"));var Ur=I(_(),1);var xn={...mt,..._e},kr=Ur.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),p=a(m,i.open),f=a(m,i.mounted),g=a(m,i.transitionStatus);return O("div",t,{state:{open:p,transitionStatus:g},ref:o,props:[{role:"presentation",hidden:!f,style:{userSelect:"none",WebkitUserSelect:"none"}},s],stateAttributesMapping:xn})},"SelectBackdrop"));var Ee=I(_(),1);var Yt=I(_(),1);var uo=Yt.createContext(void 0);function Ke(){let e=Yt.useContext(uo);if(!e)throw new Error(je(59));return e}r(Ke,"useSelectPositionerContext");function Rt(e,t){e&&Object.assign(e.style,t)}r(Rt,"clearStyles");var qt={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"};var Pt=I(Me(),1);var Rn={position:"fixed"},Fr=Ee.forwardRef(r(function(t,o){let{anchor:n,positionMethod:l="absolute",className:c,render:s,side:m="bottom",align:p="center",sideOffset:f=0,alignOffset:g=0,collisionBoundary:h="clipping-ancestors",collisionPadding:R,arrowPadding:v=5,sticky:C=!1,disableAnchorTracking:k,alignItemWithTrigger:x=!0,collisionAvoidance:J=Vo,style:B,...A}=t,{store:b,listRef:L,labelsRef:M,alignItemWithTriggerActiveRef:ae,selectedItemTextRef:te,valuesRef:$,initialValueRef:se,popupRef:Se,setValue:Re}=U(),z=zt(),X=a(b,i.open),D=a(b,i.mounted),ce=a(b,i.modal),N=a(b,i.value),Z=a(b,i.openMethod),H=a(b,i.positionerElement),V=a(b,i.triggerElement),u=a(b,i.isItemEqualToValue),S=a(b,i.transitionStatus),le=Ee.useRef(null),F=Ee.useRef(null),[be,he]=Ee.useState(x),d=D&&be&&Z!=="touch";!D&&be!==x&&he(x),ee(()=>{D||(i.scrollUpArrowVisible(b.state)&&b.set("scrollUpArrowVisible",!1),i.scrollDownArrowVisible(b.state)&&b.set("scrollDownArrowVisible",!1))},[b,D]),Ee.useImperativeHandle(ae,()=>d),er((d||ce)&&X,Z==="touch",H,V);let w=Ko({anchor:n,floatingRootContext:z,positionMethod:l,mounted:D,side:m,sideOffset:f,align:p,alignOffset:g,arrowPadding:v,collisionBoundary:h,collisionPadding:R,sticky:C,disableAnchorTracking:k??d,collisionAvoidance:J,keepMounted:!0}),ue=d?"none":w.side,Ae=d?Rn:w.positionerStyles,T={open:X,side:ue,align:w.align,anchorHidden:w.anchorHidden};ee(()=>{b.set("popupSide",w.side)},[b,w.side]);let K=de(fe=>{b.set("positionerElement",fe)}),W=Qo(t,T,{styles:Ae,transitionStatus:S,props:A,refs:[o,K],hidden:!D,inert:!X}),Ie=Ee.useRef(0),ie=de(fe=>{if(fe.size===0&&Ie.current===0||$.current.length===0)return;let oe=Ie.current;if(Ie.current=fe.size,fe.size===oe)return;let Ne=xe(ge.none);if(oe!==0&&!b.state.multiple&&N!==null&&rt($.current,N,u)===-1){let G=se.current,y=G!=null&&rt($.current,G,u)!==-1?G:null;Re(y,Ne),y===null&&(b.set("selectedIndex",null),te.current=null)}if(oe!==0&&b.state.multiple&&Array.isArray(N)){let Q=r(re=>rt($.current,re,u)!==-1,"hasVisibleItem"),G=N.filter(re=>Q(re));(G.length!==N.length||G.some(re=>!Sr(N,re,u)))&&(Re(G,Ne),G.length===0&&(b.set("selectedIndex",null),te.current=null))}if(X&&d){b.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let Q={height:""};Rt(H,Q),Rt(Se.current,Q)}}),pe=Ee.useMemo(()=>({...w,side:ue,alignItemWithTriggerActive:d,setControlledAlignItemWithTrigger:he,scrollUpArrowRef:le,scrollDownArrowRef:F}),[w,ue,d,he]);return(0,Pt.jsx)(ur,{elementsRef:L,labelsRef:M,onMapChange:ie,children:(0,Pt.jsxs)(uo.Provider,{value:pe,children:[D&&ce&&(0,Pt.jsx)(Jo,{inert:$o(!X),cutout:V}),W]})})},"SelectPositioner"));var we=I(_(),1);var Kt=I(Me(),1);var bn={...mt,..._e},zr=we.forwardRef(r(function(t,o){let{render:n,className:l,style:c,finalFocus:s,...m}=t,{store:p,popupRef:f,onOpenChangeComplete:g,setOpen:h,valueRef:R,firstItemTextRef:v,selectedItemTextRef:C,multiple:k,handleScrollArrowVisibility:x,scrollHandlerRef:J,listRef:B,highlightItemOnHover:A}=U(),{side:b,align:L,alignItemWithTriggerActive:M,isPositioned:ae,setControlledAlignItemWithTrigger:te}=Ke(),$=or(!0)!=null,se=zt(),Se=Xo(),{nonce:Re,disableStyleElements:z}=dr(),X=a(p,i.id),D=a(p,i.open),ce=a(p,i.openMethod),N=a(p,i.mounted),Z=a(p,i.popupProps),H=a(p,i.transitionStatus),V=a(p,i.triggerElement),u=a(p,i.positionerElement),S=a(p,i.listElement),le=we.useRef(!1),F=we.useRef(!1),be=we.useRef({}),he=Ao(),d=de(T=>{if(!u||!f.current||!F.current)return;if(le.current||!M){x();return}let K=u.style.top==="0px",W=u.style.bottom==="0px";if(!K&&!W){x();return}let Ie=Hr(u),ie=Mt(u.getBoundingClientRect().height,"y",Ie),pe=Ct(u),fe=kt(u),oe=fe.getComputedStyle(u),Ne=parseFloat(oe.marginTop),Q=parseFloat(oe.marginBottom),G=Br(fe.getComputedStyle(f.current)),re=Math.min(pe.documentElement.clientHeight-Ne-Q,G),y=T.scrollTop,We=$t(T),Te=0,Oe=null,ke=!1,Ge=!1,Je=r(ne=>{u.style.height=`${ne}px`},"setHeight"),It=r((ne,Be)=>{let He=Nt(ne,0,re-ie);He>0&&Je(ie+He),T.scrollTop=Be,re-(ie+He)<=Ve&&(le.current=!0),x()},"handleSmallDiff"),Fe=K?We-y:y,Ze=Math.min(ie+Fe,re);if(Te=Ze,Fe<=Ve){It(Fe,K?We:0);return}if(re-Ze>Ve)K?Ge=!0:Oe=0;else if(ke=!0,W&&y<We){let ne=ie+Fe-re;Oe=y-(Fe-ne)}if(Te=Math.ceil(Te),Te!==0&&Je(Te),Ge||Oe!=null){let ne=$t(T),Be=Ge?ne:Nt(Oe,0,ne);Math.abs(T.scrollTop-Be)>Ve&&(T.scrollTop=Be)}(ke||Te>=re-Ve)&&(le.current=!0),x()});we.useImperativeHandle(J,()=>d,[d]),Xe({open:D,ref:f,onComplete(){D&&g?.(!0)}});let w={open:D,transitionStatus:H,side:b,align:L};ee(()=>{!u||!f.current||Object.keys(be.current).length||(be.current={top:u.style.top||"0",left:u.style.left||"0",right:u.style.right,height:u.style.height,bottom:u.style.bottom,minHeight:u.style.minHeight,maxHeight:u.style.maxHeight,marginTop:u.style.marginTop,marginBottom:u.style.marginBottom})},[f,u]),ee(()=>{D||M||(F.current=!1,le.current=!1,Rt(u,be.current))},[D,M,u,f]),ee(()=>{let T=f.current;if(!D||!V||!u||!T||M&&!ae||p.state.transitionStatus==="ending")return;if(!M){F.current=!0,he.request(x),T.style.removeProperty("--transform-origin");return}let K=yn(T);T.style.removeProperty("--transform-origin");try{let W=C.current;W?.isConnected||(W=!i.hasSelectedValue(p.state)&&v.current?.isConnected?v.current:null);let Ie=R.current,ie=kt(u),pe=ie.getComputedStyle(u),fe=ie.getComputedStyle(T),oe=Ct(V),Ne=Hr(V),Q=Xt(V.getBoundingClientRect(),Ne),G=Xt(u.getBoundingClientRect(),Ne),re=Q.height,y=S||T,We=y.scrollHeight,Te=parseFloat(fe.borderBottomWidth),Oe=parseFloat(pe.marginTop)||10,ke=parseFloat(pe.marginBottom)||10,Ge=parseFloat(pe.minHeight)||100,Je=Br(fe),It=5,Fe=5,Ze=20,ne=oe.documentElement.clientHeight-Oe-ke,Be=oe.documentElement.clientWidth,He=ne-Q.bottom+re,De,st=Se==="rtl"?Q.right-G.width:Q.left,lt=0;if(W&&Ie){let Pe=Xt(Ie.getBoundingClientRect(),Ne);De=Xt(W.getBoundingClientRect(),Ne),st=G.left+(Se==="rtl"?Pe.right-De.right:Pe.left-De.left);let ct=Pe.top-Q.top+Pe.height/2;lt=De.top-G.top+De.height/2-ct}let Ye=He+lt+ke+Te,Le=Math.min(ne,Ye),Qe=ne-Oe-ke,it=Ye-Le,at=Be-Fe;u.style.left=`${Nt(st,It,at-G.width)}px`,u.style.height=`${Le}px`,u.style.maxHeight="none",u.style.marginTop=`${Oe}px`,u.style.marginBottom=`${ke}px`,T.style.height="100%";let qe=$t(y),et=it>=qe-Ve;et&&(Le=Math.min(ne,G.height)-(it-qe));let vt=Q.top<Ze||Q.bottom>ne-Ze||Math.ceil(Le)+Ve<Math.min(We,Ge),Et=(ie.visualViewport?.scale??1)!==1&&Io.engine.webkit;if(vt||Et){F.current=!0,Rt(u,be.current),te(!1);return}let Dt=Math.max(Ge,Le);if(et){let Pe=Math.max(0,ne-Ye);u.style.top=G.height>=Qe?"0":`${Pe}px`,u.style.height=`${Le}px`,y.scrollTop=$t(y)}else u.style.bottom="0",y.scrollTop=it;if(De){let Pe=G.top,ct=G.height,Lt=De.top+De.height/2,_t=ct>0?(Lt-Pe)/ct*100:50,eo=Nt(_t,0,100);T.style.setProperty("--transform-origin",`50% ${eo}%`)}(Dt===ne||Le>=Je)&&(le.current=!0),x(),A&&p.state.selectedIndex===null&&p.state.activeIndex===null&&B.current[0]!=null&&p.set("activeIndex",0),F.current=!0}finally{K()}},[p,D,u,V,R,v,C,f,x,M,te,he,S,B,A,Se,ae]),we.useEffect(()=>{if(!M||!u||!D)return;let T=kt(u);function K(W){h(!1,xe(ge.windowResize,W))}return r(K,"handleResize"),To(T,"resize",K)},[h,M,u,D]);let ue={...S?{role:"presentation","aria-orientation":void 0}:{role:"listbox","aria-multiselectable":k||void 0,id:`${X}-list`},onKeyDown(T){$&&tr.has(T.key)&&T.stopPropagation()},onScroll(T){S||d(T.currentTarget)},...M&&{style:S?{height:"100%"}:qt}},Ae=O("div",t,{ref:[o,f],state:w,stateAttributesMapping:bn,props:[Z,ue,Zo(H),{className:!S&&M?Tt.className:void 0},m]});return(0,Kt.jsxs)(we.Fragment,{children:[!z&&Tt.getElement(Re),(0,Kt.jsx)(Do,{context:se,modal:!1,disabled:!N,openInteractionType:ce,returnFocus:s,restoreFocus:!0,children:Ae})]})},"SelectPopup"));function Br(e){let t=e.maxHeight||"";return t.endsWith("px")&&parseFloat(t)||1/0}r(Br,"getMaxPopupHeight");function $t(e){return dt(e.scrollHeight,e.clientHeight)}r($t,"getMaxScrollTop");function Hr(e){return Uo.getScale(e)}r(Hr,"getScale");function Mt(e,t,o){return e/o[t]}r(Mt,"normalizeSize");function Xt(e,t){return wo({x:Mt(e.x,"x",t),y:Mt(e.y,"y",t),width:Mt(e.width,"x",t),height:Mt(e.height,"y",t)})}r(Xt,"normalizeRect");var jr=[["transform","none"],["scale","1"],["translate","0 0"]];function yn(e){let{style:t}=e,o={};for(let[n,l]of jr)o[n]=t.getPropertyValue(n),t.setProperty(n,l,"important");return()=>{for(let[n]of jr){let l=o[n];l?t.setProperty(n,l):t.removeProperty(n)}}}r(yn,"unsetTransformStyles");var Wr=I(_(),1);var Gr=Wr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m,scrollHandlerRef:p}=U(),{alignItemWithTriggerActive:f}=Ke(),g=a(m,i.hasScrollArrows),h=a(m,i.openMethod),R=a(m,i.multiple),C={id:`${a(m,i.id)}-list`,role:"listbox","aria-multiselectable":R||void 0,onScroll(x){p.current?.(x.currentTarget)},...f&&{style:qt},className:g&&h!=="touch"?Tt.className:void 0},k=de(x=>{m.set("listElement",x)});return O("div",t,{ref:[o,k],props:[C,s]})},"SelectList"));var Ce=I(_(),1);var Jt=I(_(),1);var po=Jt.createContext(void 0);function Vt(){let e=Jt.useContext(po);if(!e)throw new Error(je(57));return e}r(Vt,"useSelectItemContext");var Yr=I(Me(),1);var qr=Ce.memo(Ce.forwardRef(r(function(t,o){let{render:n,className:l,style:c,value:s=null,label:m,disabled:p=!1,nativeButton:f=!1,...g}=t,h=Ce.useRef(null),R=cr({label:m,textRef:h,indexGuessBehavior:ar.GuessFromOrder}),{store:v,itemProps:C,setOpen:k,setValue:x,selectionRef:J,typingRef:B,valuesRef:A,multiple:b,selectedItemTextRef:L,disabled:M,readOnly:ae}=U(),te=a(v,i.isActive,R.index),$=a(v,i.open),se=a(v,i.isSelected,s),Se=a(v,i.isSelectedByFocus,R.index),Re=a(v,i.isItemEqualToValue),z=R.index,X=z!==-1,D=Ce.useRef(null);ee(()=>{if(!X)return;let d=A.current;return d[z]=s,()=>{delete d[z]}},[X,z,s,A]),ee(()=>{if(!X)return;let d=v.state.value,w=d;b&&Array.isArray(d)&&(w=d.length>0?d[d.length-1]:void 0),w!==void 0&&Ue(s,w,Re)&&(v.set("selectedIndex",z),h.current&&(L.current=h.current))},[X,z,b,Re,v,s,L]);let ce=Ce.useRef(null),N=Ce.useRef("mouse"),Z=Ce.useRef(!1),{getButtonProps:H,buttonRef:V}=jt({disabled:p,focusableWhenDisabled:!0,native:f,composite:!0}),u={disabled:p,selected:se,highlighted:te};function S(d){if(M||ae)return;let w=v.state.value;if(b){let ue=Array.isArray(w)?w:[],Ae=se?hr(ue,s,Re):[...ue,s];x(Ae,xe(ge.itemPress,d))}else x(s,xe(ge.itemPress,d)),k(!1,xe(ge.itemPress,d))}r(S,"commitSelection");function le(){J.current.dragY=0}r(le,"resetDragMovement");let F={role:"option","aria-selected":se,tabIndex:$&&te?0:-1,onKeyDown(d){ce.current=d.key,v.set("activeIndex",z),d.key===" "&&B.current&&d.preventDefault()},onClick(d){let w=d.type==="click"&&N.current!=="touch",ue=d.nativeEvent.pointerType,Ae=w&&Eo(d.nativeEvent)&&(ue!==void 0||te),T=w&&!Ae&&!Z.current;Z.current=!1,!(d.type==="keydown"&&ce.current===null)&&(p||d.type==="keydown"&&ce.current===" "&&B.current||T||(ce.current=null,S(d.nativeEvent)))},onPointerEnter(d){N.current=d.pointerType},onPointerMove(d){if(d.pointerType==="mouse"&&d.buttons===1){let w=J.current;w.dragY+=d.movementY,w.dragY**2>=64&&(w.allowUnselectedMouseUp=!0)}},onPointerDown(d){N.current=d.pointerType,Z.current=!0,le()},onMouseUp(){if(le(),p||N.current==="touch"||Z.current)return;let d=!J.current.allowSelectedMouseUp&&se,w=!J.current.allowUnselectedMouseUp&&!se;d||w||(Z.current=!0,D.current?.click(),Z.current=!1)}},be=O("div",t,{ref:[V,o,R.ref,D],state:u,props:[C,F,g,H]}),he=Ce.useMemo(()=>({selected:se,index:z,textRef:h,selectedByFocus:Se,hasRegistered:X}),[se,z,h,Se,X]);return(0,Yr.jsx)(po.Provider,{value:he,children:be})},"SelectItem")));var nt=I(_(),1);var $r=I(Me(),1);var Xr=nt.forwardRef(r(function(t,o){let n=t.keepMounted??!1,{selected:l}=Vt();return n||l?(0,$r.jsx)(In,{...t,ref:o}):null},"SelectItemIndicator")),In=nt.memo(nt.forwardRef((e,t)=>{let{render:o,className:n,style:l,keepMounted:c,...s}=e,{selected:m}=Vt(),p=nt.useRef(null),{transitionStatus:f,setMounted:g}=ft(m),R=O("span",e,{ref:[t,p],state:{selected:m,transitionStatus:f},props:[{"aria-hidden":!0,children:"\u2714\uFE0F"},s],stateAttributesMapping:_e});return Xe({open:m,ref:p,onComplete(){m||g(!1)}}),R}));var bt=I(_(),1);var Kr=bt.memo(bt.forwardRef(r(function(t,o){let{index:n,textRef:l,selectedByFocus:c,hasRegistered:s}=Vt(),{firstItemTextRef:m,selectedItemTextRef:p}=U(),{render:f,className:g,style:h,...R}=t,v=bt.useCallback(k=>{k&&(s&&n===0&&(m.current=k),s&&c&&(p.current=k))},[m,p,n,c,s]);return O("div",t,{ref:[v,o,l],props:R})},"SelectItemText")));var Jr=I(_(),1);var vn={...mt,..._e},Zr=Jr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),{side:p,align:f,arrowRef:g,arrowStyles:h,arrowUncentered:R,alignItemWithTriggerActive:v}=Ke(),k={open:a(m,i.open),side:p,align:f,uncentered:R},x=O("div",t,{state:k,ref:[g,o],props:[{style:h,"aria-hidden":!0},s],stateAttributesMapping:vn});return v?null:x},"SelectArrow"));var en=I(_(),1);var Qr=I(_(),1);var Zt=Qr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,direction:s,keepMounted:m=!1,...p}=t,f=s==="up",{store:g,popupRef:h,listRef:R,handleScrollArrowVisibility:v,scrollArrowsMountedCountRef:C}=U(),{side:k,scrollDownArrowRef:x,scrollUpArrowRef:J}=Ke(),B=f?i.scrollUpArrowVisible:i.scrollDownArrowVisible,A=a(g,B),b=a(g,i.openMethod),L=A&&b!=="touch",M=pt(),ae=f?J:x,{mounted:te,transitionStatus:$,setMounted:se}=ft(L);ee(()=>(C.current+=1,g.state.hasScrollArrows||g.set("hasScrollArrows",!0),()=>{C.current=Math.max(0,C.current-1),C.current===0&&g.state.hasScrollArrows&&g.set("hasScrollArrows",!1)}),[g,C]),Xe({open:L,ref:ae,onComplete(){L||se(!1)}});let z=O("div",t,{ref:[o,ae],state:{direction:s,visible:L,side:k,transitionStatus:$},props:[{"aria-hidden":!0,children:f?"\u25B2":"\u25BC",style:{position:"absolute"},onMouseMove(D){if(D.movementX===0&&D.movementY===0||M.isStarted())return;g.set("activeIndex",null);function ce(){let N=g.state.listElement??h.current;if(!N)return;g.set("activeIndex",null),v();let Z=dt(N.scrollHeight,N.clientHeight),H=gt(N.scrollTop,Z),V=H===(f?0:Z),u=R.current;if(H!==N.scrollTop&&(N.scrollTop=H),u.length===0&&g.set(f?"scrollUpArrowVisible":"scrollDownArrowVisible",!V),V){M.clear();return}if(u.length>0){let S=ae.current?.offsetHeight||0;N.scrollTop=En(u,f,H,N.clientHeight,S,Z)}M.start(40,ce)}r(ce,"scrollNextItem"),M.start(40,ce)},onMouseLeave(){M.clear()}},p],stateAttributesMapping:_e});return te||m?z:null},"SelectScrollArrow"));function En(e,t,o,n,l,c){if(t){let g=0,h=o+l-Ve;for(let C=0;C<e.length;C+=1){let k=e[C];if(k&&k.offsetTop>=h){g=C;break}}let R=Math.max(0,g-1),v=e[R];return R<g&&v?gt(v.offsetTop-l,c):0}let s=e.length-1,m=o+n-l+Ve;for(let g=0;g<e.length;g+=1){let h=e[g];if(h&&h.offsetTop+h.offsetHeight>m){s=Math.max(0,g-1);break}}let p=Math.min(e.length-1,s+1),f=e[p];return p>s&&f?gt(f.offsetTop+f.offsetHeight-n+l,c):c}r(En,"getTargetScrollTop");var tn=I(Me(),1);var on=en.forwardRef(r(function(t,o){return(0,tn.jsx)(Zt,{...t,ref:o,direction:"down"})},"SelectScrollDownArrow"));var rn=I(_(),1);var nn=I(Me(),1);var sn=rn.forwardRef(r(function(t,o){return(0,nn.jsx)(Zt,{...t,ref:o,direction:"up"})},"SelectScrollUpArrow"));var yt=I(_(),1);var Qt=I(_(),1);var fo=Qt.createContext(void 0);function ln(){let e=Qt.useContext(fo);if(e===void 0)throw new Error(je(56));return e}r(ln,"useSelectGroupContext");var an=I(Me(),1);var cn=yt.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,[m,p]=yt.useState(),f=yt.useMemo(()=>({labelId:m,setLabelId:p}),[m,p]),g=O("div",t,{ref:o,props:[{role:"group","aria-labelledby":m},s]});return(0,an.jsx)(fo.Provider,{value:f,children:g})},"SelectGroup"));var un=I(_(),1);var pn=un.forwardRef(r(function(t,o){let{render:n,className:l,style:c,id:s,...m}=t,{setLabelId:p}=ln(),f=bo(s);return ee(()=>{p(f)},[f,p]),O("div",t,{ref:o,props:[{id:f},m]})},"SelectGroupLabel"));var q=I(Me(),1);var Tc=me.Root;function Pc(e){let t=(0,Ot.c)(8),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("flex flex-1 text-start",o),t[3]=o,t[4]=l):l=t[4];let c;return t[5]!==n||t[6]!==l?(c=(0,q.jsx)(me.Value,{"data-slot":"select-value",className:l,...n}),t[5]=n,t[6]=l,t[7]=c):c=t[7],c}r(Pc,"W");function Mc({className:e,size:t="default",children:o,...n}){return(0,q.jsxs)(me.Trigger,{"data-slot":"select-trigger","data-size":t,className:ot("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pe-2 ps-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[o,(0,q.jsx)(me.Icon,{render:(0,q.jsx)(At,{icon:ir,strokeWidth:2,className:"pointer-events-none size-4 text-muted-foreground"})})]})}r(Mc,"T");function Vc({className:e,children:t,side:o="bottom",sideOffset:n=4,align:l="center",alignOffset:c=0,alignItemWithTrigger:s=!0,...m}){return(0,q.jsx)(me.Portal,{children:(0,q.jsx)(me.Positioner,{side:o,sideOffset:n,align:l,alignOffset:c,alignItemWithTrigger:s,className:"isolate z-50",children:(0,q.jsxs)(me.Popup,{"data-slot":"select-content","data-align-trigger":s,className:ot("isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",e),...m,children:[(0,q.jsx)(wn,{}),(0,q.jsx)(me.List,{children:t}),(0,q.jsx)(Cn,{})]})})})}r(Vc,"$");function Oc(e){let t=(0,Ot.c)(13),o,n,l;t[0]!==e?({className:n,children:o,...l}=e,t[0]=e,t[1]=o,t[2]=n,t[3]=l):(o=t[1],n=t[2],l=t[3]);let c;t[4]!==n?(c=ot("relative flex w-full cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),t[4]=n,t[5]=c):c=t[5];let s;t[6]!==o?(s=(0,q.jsx)(me.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:o}),t[6]=o,t[7]=s):s=t[7];let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,q.jsx)(me.ItemIndicator,{render:(0,q.jsx)("span",{className:"pointer-events-none absolute end-2 flex size-4 items-center justify-center"}),children:(0,q.jsx)(At,{icon:lr,strokeWidth:2,className:"pointer-events-none"})}),t[8]=m):m=t[8];let p;return t[9]!==l||t[10]!==c||t[11]!==s?(p=(0,q.jsxs)(me.Item,{"data-slot":"select-item",className:c,...l,children:[s,m]}),t[9]=l,t[10]=c,t[11]=s,t[12]=p):p=t[12],p}r(Oc,"A");function wn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:sr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(wn,"x");function Cn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:nr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(Cn,"w");export{Tc as a,Pc as b,Mc as c,Vc as d,Oc as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as st}from"./chunk-CTNB2KIA.js";import{a as Y}from"./chunk-LFKCLLPT.js";import{a as Z}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as Q}from"./chunk-XDAT7LHC.js";import{a as tt,b as et,c as rt,d as z,e as n,f as o}from"./chunk-MIQTKZAR.js";import{a as W,e as G}from"./chunk-UZERI5YC.js";import{a as X}from"./chunk-X665E2HU.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as U}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as R}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as V}from"./chunk-2WOIRKEI.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as H}from"./chunk-XQCVZAGU.js";import{d as O,q as J}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a,e as K,f as mt,g as ht,h as ut,j as P}from"./chunk-3XIESWL4.js";var at=K(ht(),1),B=K(mt(),1);var e=K(ut(),1);var ft={action:"outline",mutation:"default",query:"secondary"},lt=a(r=>r<1e3?`${r<10?r.toFixed(1):Math.round(r).toString()}ms`:`${(r/1e3).toFixed(2)}s`,"O"),pt=a(r=>r.calls===0?"\u2014":r.errors===0?"0":`${r.errors.toString()} (${(r.errors/r.calls*100).toFixed(1)}%)`,"mt"),xt=a(r=>{let t=r.conflicts??0;return r.calls===0?"\u2014":t===0?"0":`${t.toString()} (${(t/r.calls*100).toFixed(1)}%)`},"ut"),gt={calls:a((r,t)=>t.calls-r.calls,"calls"),recent:a((r,t)=>t.lastCalledAt-r.lastCalledAt,"recent"),slowest:a((r,t)=>t.maxDurationMs-r.maxDurationMs,"slowest")},At=a(r=>{let t=(0,at.c)(47),{functions:A,initialShardKey:nt}=r,l=O(),[i,ot]=(0,B.useState)(nt??""),[c,it]=(0,B.useState)("recent"),M;t[0]!==i?(M=i.trim(),t[0]=i,t[1]=M):M=t[1];let j=Y(M,400),w;t[2]===Symbol.for("react.memo_cache_sentinel")?(w={},t[2]=w):w=t[2];let $;t[3]!==j?($={live:!0,shardKey:j},t[3]=j,t[4]=$):$=t[4];let{data:ct,error:d,errorSource:v,liveError:k}=Q(V.getFunctionStats,w,$),S=ct?.functions??null,C;t[5]!==A?(C=new Map((A??[]).map(Nt)),t[5]=A,t[6]=C):C=t[6];let L=C,F;t[7]===Symbol.for("react.memo_cache_sentinel")?(F=a(b=>{it(b.currentTarget.dataset.sort)},"C"),t[7]=F):F=t[7];let dt=F,D;if(t[8]!==d||t[9]!==v||t[10]!==L||t[11]!==k||t[12]!==i||t[13]!==c||t[14]!==S||t[15]!==l){let b=S===null?[]:S.toSorted(gt[c]),m;t[17]!==l?(m=l("Recent"),t[17]=l,t[18]=m):m=t[18];let h;t[19]!==m?(h={key:"recent",label:m},t[19]=m,t[20]=h):h=t[20];let u;t[21]!==l?(u=l("Most called"),t[21]=l,t[22]=u):u=t[22];let f;t[23]!==u?(f={key:"calls",label:u},t[23]=u,t[24]=f):f=t[24];let p;t[25]!==l?(p=l("Slowest"),t[25]=l,t[26]=p):p=t[26];let x;t[27]!==p?(x={key:"slowest",label:p},t[27]=p,t[28]=x):x=t[28];let I;t[29]!==f||t[30]!==x||t[31]!==h?(I=[h,f,x],t[29]=f,t[30]=x,t[31]=h,t[32]=I):I=t[32];let T=I,g;t[33]!==i?(g=(0,e.jsx)(X,{onChange:ot,testId:"fs-shard-input",value:i}),t[33]=i,t[34]=g):g=t[34];let N;t[35]!==k?(N=(0,e.jsx)(st,{message:k,prefix:"fs"}),t[35]=k,t[36]=N):N=t[36];let y;t[37]!==T||t[38]!==c?(y=(0,e.jsx)("div",{className:"ml-auto flex items-center gap-1",role:"group",children:T.map(s=>(0,e.jsx)(U,{"data-sort":s.key,"data-testid":`fs-sort-${s.key}`,onClick:dt,size:"sm",type:"button",variant:c===s.key?"secondary":"ghost",children:s.label},s.key))}),t[37]=T,t[38]=c,t[39]=y):y=t[39];let E;t[40]!==g||t[41]!==N||t[42]!==y?(E=(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[g,N,y]}),t[40]=g,t[41]=N,t[42]=y,t[43]=E):E=t[43];let _;t[44]!==d||t[45]!==v?(_=d!==null&&(0,e.jsx)(Z,{error:v,testId:"fs-error"}),t[44]=d,t[45]=v,t[46]=_):_=t[46],D=(0,e.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-stats",children:[E,_,S!==null&&b.length===0&&d===null&&(0,e.jsx)(H,{description:l("Per-function call counts, error rates, and latency land here after your first request."),icon:(0,e.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,e.jsx)("path",{d:"M3 3v18h18"}),(0,e.jsx)("path",{d:"M7 14l4-4 3 3 5-6"})]}),testId:"fs-empty",title:l("No functions have run on this shard yet.")}),b.length>0&&(0,e.jsx)(W,{className:"overflow-hidden py-0",children:(0,e.jsx)(G,{className:"px-0",children:(0,e.jsxs)(tt,{"data-testid":"fs-table",children:[(0,e.jsx)(et,{children:(0,e.jsxs)(z,{children:[(0,e.jsx)(n,{children:l("function")}),(0,e.jsx)(n,{children:l("kind")}),(0,e.jsx)(n,{className:"text-right",children:l("calls")}),(0,e.jsx)(n,{className:"text-right",children:l("errors")}),(0,e.jsx)(n,{className:"text-right",children:l("conflicts")}),(0,e.jsx)(n,{className:"text-right",children:l("avg")}),(0,e.jsx)(n,{className:"text-right",children:l("max")}),(0,e.jsx)(n,{children:l("last run")}),(0,e.jsx)(n,{children:l("last error")})]})}),(0,e.jsx)(rt,{children:b.map(s=>{let q=L.get(s.path);return(0,e.jsxs)(z,{"data-testid":`fs-row-${s.path}`,children:[(0,e.jsx)(o,{className:"font-medium",children:s.path}),(0,e.jsx)(o,{children:q===void 0?(0,e.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}):(0,e.jsx)(R,{variant:ft[q],children:q})}),(0,e.jsx)(o,{className:"text-right tabular-nums",children:s.calls}),(0,e.jsx)(o,{className:P("text-right tabular-nums",s.errors>0&&"text-destructive"),children:pt(s)}),(0,e.jsx)(o,{className:P("text-right tabular-nums",(s.conflicts??0)>0&&"text-warning"),children:xt(s)}),(0,e.jsx)(o,{className:"text-right tabular-nums",children:s.calls===0?"\u2014":lt(s.totalDurationMs/s.calls)}),(0,e.jsx)(o,{className:"text-right tabular-nums",children:s.calls===0?"\u2014":lt(s.maxDurationMs)}),(0,e.jsx)(o,{className:"text-muted-foreground",children:J(s.lastCalledAt,"\u2014")}),(0,e.jsx)(o,{className:"max-w-[24ch] truncate text-destructive",title:s.lastErrorMessage??void 0,children:s.lastErrorMessage??(0,e.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},s.path)})})]})})})]}),t[8]=d,t[9]=v,t[10]=L,t[11]=k,t[12]=i,t[13]=c,t[14]=S,t[15]=l,t[16]=D}else D=t[16];return D},"Dt");function Nt(r){return[r.path,r.kind]}a(Nt,"ft");export{At as FunctionStatsPanel};
|