orcaq 1.1.8 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BWTTrGtY.js → B-E4SrDA.js} +2 -2
  3. package/.output/public/_nuxt/{BHr4_sbs.js → B-OC4Wzf.js} +1 -1
  4. package/.output/public/_nuxt/{CQFANjzf.js → B-cBPXHS.js} +1 -1
  5. package/.output/public/_nuxt/{D5Oboajo.js → B1ydsdXg.js} +1 -1
  6. package/.output/public/_nuxt/B2Wngdut.js +1 -0
  7. package/.output/public/_nuxt/{soHTUlpn.js → B3ZoiMh5.js} +1 -1
  8. package/.output/public/_nuxt/B3jyHGmo.js +1 -0
  9. package/.output/public/_nuxt/{XjywAggc.js → B6aTbrvX.js} +1 -1
  10. package/.output/public/_nuxt/{DpsqSAMo.js → B9vFZSzU.js} +1 -1
  11. package/.output/public/_nuxt/BFlFdtcI.js +12 -0
  12. package/.output/public/_nuxt/BFxd7ZWZ.js +1 -0
  13. package/.output/public/_nuxt/BI0OYmAG.js +1 -0
  14. package/.output/public/_nuxt/{BQm1mt0O.js → BIYjBgOJ.js} +1 -1
  15. package/.output/public/_nuxt/BMwuBt1W.js +1 -0
  16. package/.output/public/_nuxt/{D8egDyEO.js → BP23Jaxf.js} +1 -1
  17. package/.output/public/_nuxt/BWpduGRB.js +1 -0
  18. package/.output/public/_nuxt/{JxgekUqn.js → BX-NC3FD.js} +1 -1
  19. package/.output/public/_nuxt/{B0gkARnK.js → BY0VC_fp.js} +1 -1
  20. package/.output/public/_nuxt/BZOLz5Xw.js +1 -0
  21. package/.output/public/_nuxt/{7iCr9_qw.js → BblWMS7J.js} +3 -3
  22. package/.output/public/_nuxt/{BRzWRTTF.js → Bc7Kpanq.js} +1 -1
  23. package/.output/public/_nuxt/{DmnufEYq.js → BcbezgEJ.js} +1 -1
  24. package/.output/public/_nuxt/{DJXrgohw.js → BeMg7yb6.js} +2 -2
  25. package/.output/public/_nuxt/Bg0K-n53.js +18 -0
  26. package/.output/public/_nuxt/{7H5y5euK.js → BgFbw5aK.js} +1 -1
  27. package/.output/public/_nuxt/{DBSV6YXN.js → BkHJ3kuB.js} +1 -1
  28. package/.output/public/_nuxt/BlVXGJOG.js +1 -0
  29. package/.output/public/_nuxt/{DwPmcz47.js → BorA7uj6.js} +1 -1
  30. package/.output/public/_nuxt/BqQfmS94.js +1 -0
  31. package/.output/public/_nuxt/{DgxTwFGe.js → Btu3pVWi.js} +2 -2
  32. package/.output/public/_nuxt/{CXbrqQhC.js → C0kVUAwR.js} +1 -1
  33. package/.output/public/_nuxt/C1GKs4YV.js +1 -0
  34. package/.output/public/_nuxt/C4fd0pgB.js +1 -0
  35. package/.output/public/_nuxt/{CuXTA7ZW.js → C4zVAAUp.js} +1 -1
  36. package/.output/public/_nuxt/{B6N_D8QI.js → C6ajLfO0.js} +1 -1
  37. package/.output/public/_nuxt/{CyKRjZZo.js → C9JT2-RE.js} +1 -1
  38. package/.output/public/_nuxt/{BsCPQnkm.js → CAnZNTn6.js} +1 -1
  39. package/.output/public/_nuxt/{vP25tZUh.js → CB2XoHaK.js} +1 -1
  40. package/.output/public/_nuxt/{CAjVwGyz.js → CBy17iCN.js} +1 -1
  41. package/.output/public/_nuxt/{D4DMGxvZ.js → CCwJzmTT.js} +1 -1
  42. package/.output/public/_nuxt/{5450EsIE.js → CGlRJg9T.js} +1 -1
  43. package/.output/public/_nuxt/{Dpkaavgs.js → CH3m0zKs.js} +1 -1
  44. package/.output/public/_nuxt/{BO3FEgXG.js → CHFYZcjC.js} +1 -1
  45. package/.output/public/_nuxt/{LU_a7qLd.js → CM4UzWO5.js} +1 -1
  46. package/.output/public/_nuxt/{CMnjMfEQ.js → CM7fDldV.js} +1 -1
  47. package/.output/public/_nuxt/{Dtry_3Qa.js → CQi4GvAy.js} +1 -1
  48. package/.output/public/_nuxt/{zndqWf9s.js → CRtMS55w.js} +1 -1
  49. package/.output/public/_nuxt/{C0jXhwNq.js → CSIDbD5d.js} +1 -1
  50. package/.output/public/_nuxt/{BuTCm7Bo.js → CT4V-SdE.js} +1 -1
  51. package/.output/public/_nuxt/{CCCJ2fw7.js → CV3uHXW4.js} +1 -1
  52. package/.output/public/_nuxt/{FmHWbXNk.js → CX2dGf8T.js} +1 -1
  53. package/.output/public/_nuxt/{f6XRRKUb.js → Ce00XEKL.js} +1 -1
  54. package/.output/public/_nuxt/{_uLivI44.js → CfglFxLQ.js} +1 -1
  55. package/.output/public/_nuxt/{mcYTISF7.js → Cgc3lXst.js} +1 -1
  56. package/.output/public/_nuxt/{Bu6ybm3Z.js → CiGbpFVs.js} +1 -1
  57. package/.output/public/_nuxt/{DG9CsZCx.js → Cilp0euQ.js} +1 -1
  58. package/.output/public/_nuxt/CjE9xodL.js +1 -0
  59. package/.output/public/_nuxt/{DrkGD_bQ.js → Ck7gJ0Ru.js} +1 -1
  60. package/.output/public/_nuxt/{CKlMKmo6.js → CkVRbNxk.js} +1 -1
  61. package/.output/public/_nuxt/CmROOZW3.js +1 -0
  62. package/.output/public/_nuxt/{BRWis86L.js → CqwK0iC2.js} +1 -1
  63. package/.output/public/_nuxt/{CvbYm0uB.js → CsRqTS8p.js} +1 -1
  64. package/.output/public/_nuxt/{So0hX8V0.js → Cv8aMucD.js} +3 -3
  65. package/.output/public/_nuxt/CvFBHqKj.js +1 -0
  66. package/.output/public/_nuxt/{BzNEuLKx.js → CvrjITPr.js} +1 -1
  67. package/.output/public/_nuxt/CwEAH09c.js +1 -0
  68. package/.output/public/_nuxt/{DXVrM3CN.js → D0TQTmc_.js} +1 -1
  69. package/.output/public/_nuxt/{BRCvv3op.js → D33qa5aT.js} +1 -1
  70. package/.output/public/_nuxt/{vEHvfalB.js → D6FGhPpz.js} +1 -1
  71. package/.output/public/_nuxt/{DCewvWOu.js → D8dLCNO1.js} +1 -1
  72. package/.output/public/_nuxt/DA2L1Ivx.js +1 -0
  73. package/.output/public/_nuxt/{DHXwq7wT.js → DB45HoaN.js} +1 -1
  74. package/.output/public/_nuxt/DBIf1geQ.js +1 -0
  75. package/.output/public/_nuxt/{C6teO48Y.js → DD6NieRw.js} +74 -74
  76. package/.output/public/_nuxt/DDNFAZ6A.js +1 -0
  77. package/.output/public/_nuxt/{D_kY6P5P.js → DDgsZmht.js} +1 -1
  78. package/.output/public/_nuxt/{BNh4NY7v.js → DEBj_roB.js} +1 -1
  79. package/.output/public/_nuxt/{BzqjH2-H.js → DI-I25kb.js} +1 -1
  80. package/.output/public/_nuxt/{Cd_fVKDw.js → DMhhDVL0.js} +1 -1
  81. package/.output/public/_nuxt/{C-e53AuW.js → DNL5Q-iy.js} +1 -1
  82. package/.output/public/_nuxt/DX42Brjy.js +1 -0
  83. package/.output/public/_nuxt/DYBPW385.js +1 -0
  84. package/.output/public/_nuxt/{CU5cwnUW.js → DYFx7Tau.js} +1 -1
  85. package/.output/public/_nuxt/{CXQ2zrsE.js → DZJEpoYA.js} +1 -1
  86. package/.output/public/_nuxt/{DZ4xLzJg.js → D_dxq6Av.js} +1 -1
  87. package/.output/public/_nuxt/{jtwYTq7X.js → DcIKg-oA.js} +25 -25
  88. package/.output/public/_nuxt/Dcf3u1x9.js +1 -0
  89. package/.output/public/_nuxt/{CFi6G8Aj.js → DdjYB9eX.js} +2 -2
  90. package/.output/public/_nuxt/{CCC5u9Ni.js → DeGwWuWf.js} +1 -1
  91. package/.output/public/_nuxt/Dgh1FhxQ.js +1 -0
  92. package/.output/public/_nuxt/{DQRyK9Io.js → DghZRCwT.js} +1 -1
  93. package/.output/public/_nuxt/{CMI-3q_e.js → DngnCd9Q.js} +1 -1
  94. package/.output/public/_nuxt/{BalNYDR1.js → Dpdssse1.js} +1 -1
  95. package/.output/public/_nuxt/{BXMKgn-J.js → DrfFcngk.js} +1 -1
  96. package/.output/public/_nuxt/{BYaoWfSN.js → Ds4LpS8e.js} +1 -1
  97. package/.output/public/_nuxt/{C874itvn.js → DsHltPpv.js} +1 -1
  98. package/.output/public/_nuxt/{C6K-C4_d.js → DuvFgQqu.js} +1 -1
  99. package/.output/public/_nuxt/{BJvJ0Hlu.js → Dzy2Amcc.js} +4 -4
  100. package/.output/public/_nuxt/{R04uZjs6.js → EzQMUIRl.js} +1 -1
  101. package/.output/public/_nuxt/FrxNy5Hb.js +2 -0
  102. package/.output/public/_nuxt/{DkX74xDd.js → ImQ5Dcjp.js} +1 -1
  103. package/.output/public/_nuxt/{CyEOtFwE.js → QZbgg6bx.js} +1 -1
  104. package/.output/public/_nuxt/{Cw1HIv3s.js → RCyqQNC4.js} +1 -1
  105. package/.output/public/_nuxt/{BmfnP4qD.js → RpDfSk0l.js} +1 -1
  106. package/.output/public/_nuxt/UowwUtRH.js +1 -0
  107. package/.output/public/_nuxt/{CMDq7o88.js → V_GiMERb.js} +1 -1
  108. package/.output/public/_nuxt/{LxqkguPP.js → W2el5otm.js} +1 -1
  109. package/.output/public/_nuxt/{Dopm1f4X.js → bJGrilFb.js} +1 -1
  110. package/.output/public/_nuxt/builds/latest.json +1 -1
  111. package/.output/public/_nuxt/builds/meta/657bdee4-fa56-4862-bc13-309345429302.json +1 -0
  112. package/.output/public/_nuxt/entry.CQwtqNMg.css +1 -0
  113. package/.output/public/_nuxt/jgZoykhT.js +1 -0
  114. package/.output/public/_nuxt/{BK-6CJ0A.js → lFU3Ma5J.js} +1 -1
  115. package/.output/public/_nuxt/{WZQ8mcv9.js → lPZuSUw2.js} +1 -1
  116. package/.output/public/_nuxt/{Cqk0ImDE.js → ljX6O69y.js} +1 -1
  117. package/.output/public/_nuxt/{BMVgfiQu.js → mtBjWkj4.js} +1 -1
  118. package/.output/public/_nuxt/ngeX9iiO.js +1 -0
  119. package/.output/public/_nuxt/s10hyhzI.js +1 -0
  120. package/.output/public/_nuxt/{tc7vkD0J.js → w8sha2t6.js} +2 -2
  121. package/.output/public/_nuxt/{WGDY9i_Q.js → yPPOBtqs.js} +1 -1
  122. package/.output/server/chunks/build/client.manifest.mjs +833 -795
  123. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  124. package/.output/server/chunks/nitro/nitro.mjs +692 -671
  125. package/.output/server/package.json +1 -1
  126. package/package.json +1 -1
  127. package/.output/public/_nuxt/-7uW7YTy.js +0 -1
  128. package/.output/public/_nuxt/6mVUr42b.js +0 -1
  129. package/.output/public/_nuxt/B21nC2NZ.js +0 -1
  130. package/.output/public/_nuxt/B232GDut.js +0 -2
  131. package/.output/public/_nuxt/B7C8fo37.js +0 -1
  132. package/.output/public/_nuxt/BC82eJHt.js +0 -1
  133. package/.output/public/_nuxt/Bn6_QGSK.js +0 -1
  134. package/.output/public/_nuxt/BuzCyLCh.js +0 -1
  135. package/.output/public/_nuxt/BzNNFvTW.js +0 -1
  136. package/.output/public/_nuxt/C8ZJ2pm_.js +0 -1
  137. package/.output/public/_nuxt/CA3O4M9L.js +0 -1
  138. package/.output/public/_nuxt/CZXyfpHW.js +0 -1
  139. package/.output/public/_nuxt/CZgTP5wX.js +0 -1
  140. package/.output/public/_nuxt/CeXnSKvd.js +0 -1
  141. package/.output/public/_nuxt/Chw5tFzx.js +0 -1
  142. package/.output/public/_nuxt/CkLSGVwV.js +0 -1
  143. package/.output/public/_nuxt/Cv9v5fHN.js +0 -1
  144. package/.output/public/_nuxt/D5GonnbJ.js +0 -1
  145. package/.output/public/_nuxt/DH2V7e8U.js +0 -1
  146. package/.output/public/_nuxt/DZIoL4RO.js +0 -1
  147. package/.output/public/_nuxt/DyjsVMbv.js +0 -1
  148. package/.output/public/_nuxt/KoGK2wLb.js +0 -1
  149. package/.output/public/_nuxt/Q8x88Gcd.js +0 -1
  150. package/.output/public/_nuxt/builds/meta/30582efd-125a-4f88-bd89-20a7b2ba8697.json +0 -1
  151. package/.output/public/_nuxt/eQskTKIU.js +0 -1
  152. package/.output/public/_nuxt/ecWNT6PZ.js +0 -1
  153. package/.output/public/_nuxt/entry.BcHy7sxf.css +0 -1
  154. package/.output/public/_nuxt/mcfKrWU-.js +0 -1
@@ -1,3 +1,3 @@
1
- import{d as M,bJ as pe,k as C,w as l,p as re,g as t,o as s,E as ce,c as N,bi as te,n as I,f as e,z as p,j as fe,A as Z,t as b,r as $,e as u,m as n,l as V,F as L,s as A,O as ve,J as ge,N as ue,bf as _e,L as be,bN as he,am as ie,bO as ye,bP as xe,bQ as Ce,bR as $e,bj as K,_ as ke,h as Ne,bS as Te,x as we,B as Pe,bk as Ee,bT as Se,bU as je,Z as De,V as Re,an as de,ae as Be,i as ze,G as X,M as Le,ai as Oe}from"./C6teO48Y.js";import{C as Ie,a as Ue,b as Ve}from"./D_kY6P5P.js";import{_ as Ae}from"./BRCvv3op.js";import{u as Me,_ as Ge}from"./Cv9v5fHN.js";import{u as Fe}from"./Bu6ybm3Z.js";import"./BHr4_sbs.js";import"./BuTCm7Bo.js";const qe=M({__name:"Collapsible",props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["update:open"],setup(w,{emit:h}){const a=pe(w,h);return(k,g)=>(s(),C(t(Ie),re({"data-slot":"collapsible"},t(a)),{default:l(({open:T})=>[ce(k.$slots,"default",{open:T})]),_:3},16))}}),He=M({__name:"CollapsibleContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ue),re({"data-slot":"collapsible-content"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),Je=M({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ve),re({"data-slot":"collapsible-trigger"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),me=M({__name:"PermissionBadge",props:{label:{},value:{type:[Boolean,String]},type:{default:"boolean"}},setup(w){const h=w,f=N(()=>h.type==="boolean"),d=N(()=>h.value===!0);return(a,k)=>{const g=Z,T=te;return t(f)?(s(),C(T,{key:0,variant:"outline",class:I(["text-xs items-center flex gap-1 ",!t(d)&&"opacity-50"])},{default:l(()=>[e(g,{name:t(d)?"lucide:check":"lucide:x",class:I(t(fe)("size-3",t(d)&&"text-green-500"))},null,8,["name","class"]),p(" "+b(a.label),1)]),_:1},8,["class"])):(s(),C(T,{key:1,variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(a.label)+": "+b(a.value),1)]),_:1}))}}}),Qe={class:"rounded-md border"},Ke={key:1,class:"ml-auto flex gap-1"},Xe={key:0,class:"border-t bg-muted/20 p-3"},Ze={class:"px-3 py-2 border-b border-border/50"},We={class:"flex flex-wrap gap-2"},Ye={class:"flex border-b border-border/50"},es=["onClick"],ss={class:"max-h-[350px] overflow-y-auto"},ts={key:0,class:"flex flex-col items-center justify-center py-6 text-muted-foreground"},ns={class:"text-xs"},as={key:1,class:"divide-y divide-border/50"},os={class:"flex-1 min-w-0"},ls={class:"text-xs font-medium truncate"},is={class:"text-muted-foreground"},rs={class:"flex items-center gap-0.5"},cs={key:1,class:"flex items-center gap-2 p-3 text-xs text-muted-foreground bg-muted/30 rounded"},us=M({__name:"DatabasePermissionCard",props:{database:{},isExpanded:{type:Boolean},isCurrentDatabase:{type:Boolean},permissions:{}},emits:["toggle","updatePermission"],setup(w,{emit:h}){const f=w,d=h,a=$("tables"),k=[{id:"schemas",label:"Schemas",icon:"hugeicons:folder-02"},{id:"tables",label:"Tables",icon:"hugeicons:grid-table"},{id:"views",label:"Views",icon:"hugeicons:property-view"},{id:"functions",label:"Functions",icon:"gravity-ui:function"}],g=N(()=>{if(!f.permissions)return[];switch(a.value){case"schemas":return f.permissions.schemaPermissions;case"tables":return f.permissions.tablePermissions;case"views":return f.permissions.viewPermissions;case"functions":return f.permissions.functionPermissions;default:return[]}}),T=N(()=>{var c,m,_,P;return{tables:((c=f.permissions)==null?void 0:c.tablePermissions.length)??0,schemas:((m=f.permissions)==null?void 0:m.schemaPermissions.length)??0,views:((_=f.permissions)==null?void 0:_.viewPermissions.length)??0,functions:((P=f.permissions)==null?void 0:P.functionPermissions.length)??0}}),y=c=>{switch(c){case"table":return"hugeicons:grid-table";case"schema":return"hugeicons:folder-02";case"view":return"hugeicons:property-view";case"function":return"gravity-ui:function";default:return"hugeicons:knight-shield"}},j=N(()=>[{id:"connect",label:"CONNECT",value:f.database.canConnect,type:"boolean"},{id:"create",label:"CREATE",value:f.database.canCreate,type:"boolean"},{id:"temp",label:"TEMP",value:f.database.canTemp,type:"boolean"}]);return(c,m)=>{const _=Z,P=te,R=ue,D=ge,B=be,Q=ve,G=he;return s(),u("div",Qe,[n("div",{class:I(["flex items-center gap-1 px-3 py-2 cursor-pointer hover:bg-accent/50",!c.database.canConnect&&"opacity-50 cursor-not-allowed"]),onClick:m[0]||(m[0]=v=>c.database.canConnect&&d("toggle"))},[e(_,{name:c.isExpanded?"hugeicons:arrow-down-01":"hugeicons:arrow-right-01",class:I(["size-4 transition-transform",!c.database.canConnect&&"invisible"])},null,8,["name","class"]),e(_,{name:c.database.canConnect?"hugeicons:database":"hugeicons:database-locked",class:I(["size-4",c.database.canConnect?"text-yellow-400":"text-muted-foreground"])},null,8,["name","class"]),n("span",{class:I(["text-sm font-medium",!c.database.canConnect&&"text-muted-foreground"])},b(c.database.databaseName),3),c.database.canConnect?(s(),u("div",Ke,[c.database.canConnect?(s(),C(P,{key:0,variant:"outline",class:"text-xs"},{default:l(()=>m[1]||(m[1]=[p("CONNECT")])),_:1})):V("",!0),c.database.canCreate?(s(),C(P,{key:1,variant:"outline",class:"text-xs"},{default:l(()=>m[2]||(m[2]=[p("CREATE")])),_:1})):V("",!0),c.database.canTemp?(s(),C(P,{key:2,variant:"outline",class:"text-xs"},{default:l(()=>m[3]||(m[3]=[p("TEMP")])),_:1})):V("",!0)])):(s(),C(_,{key:0,name:"hugeicons:circle-lock-01",class:"size-3 text-muted-foreground ml-auto"}))],2),c.isExpanded&&c.database.canConnect?(s(),u("div",Xe,[n("div",Ze,[m[4]||(m[4]=n("p",{class:"text-xs text-muted-foreground mb-2"}," Database-level privileges: ",-1)),n("div",We,[(s(!0),u(L,null,A(t(j),v=>(s(),C(me,{key:v.id,label:v.label,value:v.value,type:v.type},null,8,["label","value","type"]))),128))])]),c.isCurrentDatabase?(s(),u(L,{key:0},[n("div",Ye,[(s(),u(L,null,A(k,v=>n("button",{key:v.id,class:I(["flex items-center gap-1 px-3 py-1.5 text-xs transition-colors cursor-pointer",t(a)===v.id?"border-b-2 border-primary text-foreground":"text-muted-foreground border-b-2 border-transparent hover:text-foreground"]),onClick:O=>a.value=v.id},[e(_,{name:v.icon,class:"size-3"},null,8,["name"]),p(" "+b(v.label)+" ",1),e(P,{variant:"secondary",class:"ml-1 text-xs px-1 py-0"},{default:l(()=>[p(b(t(T)[v.id]),1)]),_:2},1024)],10,es)),64))]),n("div",ss,[t(g).length?(s(),u("div",as,[(s(!0),u(L,null,A(t(g),(v,O)=>(s(),u("div",{key:`${v.schemaName}-${v.objectName}-${O}`,class:"group flex items-center gap-2 px-3 py-2 hover:bg-accent/30"},[e(_,{name:y(v.objectType),class:"size-4 text-muted-foreground shrink-0"},null,8,["name"]),n("div",os,[n("p",ls,[n("span",is,b(v.schemaName)+".",1),p(b(v.objectName),1)])]),n("div",rs,[(s(!0),u(L,null,A(v.privileges,H=>(s(),C(P,{variant:"outline",class:"text-xs normal-case"},{default:l(()=>[p(b(H),1)]),_:2},1024))),256))]),e(G,null,{default:l(()=>[e(Q,null,{default:l(()=>[e(D,{"as-child":""},{default:l(()=>[e(R,{variant:"ghost",size:"iconSm",onClick:_e(H=>d("updatePermission",v),["stop"])},{default:l(()=>[e(_,{name:"hugeicons:pencil-edit-02",class:"size-3"})]),_:2},1032,["onClick"])]),_:2},1024),e(B,null,{default:l(()=>m[5]||(m[5]=[p("Update Permission")])),_:1})]),_:2},1024)]),_:2},1024)]))),128))])):(s(),u("div",ts,[e(_,{name:"hugeicons:knight-shield",class:"size-8 mb-1 opacity-50"}),n("p",ns,"No "+b(t(a))+" permissions",1)]))])],64)):(s(),u("div",cs,[e(_,{name:"hugeicons:information-circle",class:"size-4"}),m[6]||(m[6]=n("span",null,"Connect to this database to view tables, schemas, and functions permissions.",-1))]))])):V("",!0)])}}}),ds={class:"grid gap-4 py-2"},ms={class:"grid gap-2"},ps={class:"grid gap-2"},fs={class:"grid gap-2"},vs={class:"grid gap-2"},gs={class:"grid grid-cols-2 md:grid-cols-3 gap-2"},_s={class:"text-xs"},bs={class:"grid gap-2"},hs=M({__name:"GrantRevokeDialog",props:{open:{type:Boolean},mode:{},roleName:{},permission:{},loading:{type:Boolean}},emits:["update:open","confirm"],setup(w,{emit:h}){const f=["SELECT","INSERT","UPDATE","DELETE","TRUNCATE","REFERENCES","TRIGGER"],d=["USAGE","CREATE"],a=["EXECUTE"],k=["USAGE","SELECT","UPDATE"],g=w,T=h,y=$("table"),j=$("public"),c=$(""),m=$([]),_=$([]);Me();const P=N(()=>{switch(y.value){case"table":return f;case"schema":return d;case"function":return a;case"sequence":return k;default:return[]}});ie(()=>g.open,x=>{x&&(g.permission?(y.value=g.permission.objectType,j.value=g.permission.schemaName,c.value=g.permission.objectName,_.value=[...g.permission.privileges],m.value=[...g.permission.privileges]):(y.value="table",j.value="public",c.value="",_.value=[],m.value=[]))});const R=N(()=>m.value),D=N(()=>f.filter(x=>!m.value.includes(x))),B=N(()=>R.value.length>0||D.value.length>0),Q=N(()=>{const x=j.value||"<schema>",i=c.value||"<object>",F=g.roleName||"<role>",q=`${y.value.toUpperCase()} "${x}"."${i}"`,U=[];return R.value.length&&U.push(`GRANT ${R.value.join(", ")} ON ${q} TO "${F}";`),D.value.length&&U.push(`REVOKE ${D.value.join(", ")} ON ${q} FROM "${F}";`),U.length?U.join(`
1
+ import{d as M,bJ as pe,q as C,w as l,s as re,u as t,o as s,E as ce,i as N,bi as te,n as I,a as e,f as p,p as fe,_ as Z,t as b,r as $,c as u,e as n,b as V,F as L,x as A,O as ve,J as ge,N as ue,bf as _e,L as be,bN as he,am as ie,bO as ye,bP as xe,bQ as Ce,bR as $e,bj as K,k as ke,m as Ne,bS as Te,z as we,B as Pe,bk as Ee,bT as Se,bU as De,Z as Re,V as je,an as de,ae as Be,l as ze,G as X,M as Le,ai as Oe}from"./DD6NieRw.js";import{C as Ie,a as Ue,b as Ve}from"./DDgsZmht.js";import{_ as Ae}from"./D33qa5aT.js";import{u as Me,_ as Ge}from"./C1GKs4YV.js";import{u as qe}from"./CiGbpFVs.js";import"./B-OC4Wzf.js";import"./CT4V-SdE.js";const Fe=M({__name:"Collapsible",props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["update:open"],setup(w,{emit:h}){const a=pe(w,h);return(k,g)=>(s(),C(t(Ie),re({"data-slot":"collapsible"},t(a)),{default:l(({open:T})=>[ce(k.$slots,"default",{open:T})]),_:3},16))}}),He=M({__name:"CollapsibleContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ue),re({"data-slot":"collapsible-content"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),Je=M({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ve),re({"data-slot":"collapsible-trigger"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),me=M({__name:"PermissionBadge",props:{label:{},value:{type:[Boolean,String]},type:{default:"boolean"}},setup(w){const h=w,f=N(()=>h.type==="boolean"),d=N(()=>h.value===!0);return(a,k)=>{const g=Z,T=te;return t(f)?(s(),C(T,{key:0,variant:"outline",class:I(["text-xs items-center flex gap-1 ",!t(d)&&"opacity-50"])},{default:l(()=>[e(g,{name:t(d)?"lucide:check":"lucide:x",class:I(t(fe)("size-3",t(d)&&"text-green-500"))},null,8,["name","class"]),p(" "+b(a.label),1)]),_:1},8,["class"])):(s(),C(T,{key:1,variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(a.label)+": "+b(a.value),1)]),_:1}))}}}),Qe={class:"rounded-md border"},Ke={key:1,class:"ml-auto flex gap-1"},Xe={key:0,class:"border-t bg-muted/20 p-3"},Ze={class:"px-3 py-2 border-b border-border/50"},We={class:"flex flex-wrap gap-2"},Ye={class:"flex border-b border-border/50"},es=["onClick"],ss={class:"max-h-[350px] overflow-y-auto"},ts={key:0,class:"flex flex-col items-center justify-center py-6 text-muted-foreground"},ns={class:"text-xs"},as={key:1,class:"divide-y divide-border/50"},os={class:"flex-1 min-w-0"},ls={class:"text-xs font-medium truncate"},is={class:"text-muted-foreground"},rs={class:"flex items-center gap-0.5"},cs={key:1,class:"flex items-center gap-2 p-3 text-xs text-muted-foreground bg-muted/30 rounded"},us=M({__name:"DatabasePermissionCard",props:{database:{},isExpanded:{type:Boolean},isCurrentDatabase:{type:Boolean},permissions:{}},emits:["toggle","updatePermission"],setup(w,{emit:h}){const f=w,d=h,a=$("tables"),k=[{id:"schemas",label:"Schemas",icon:"hugeicons:folder-02"},{id:"tables",label:"Tables",icon:"hugeicons:grid-table"},{id:"views",label:"Views",icon:"hugeicons:property-view"},{id:"functions",label:"Functions",icon:"gravity-ui:function"}],g=N(()=>{if(!f.permissions)return[];switch(a.value){case"schemas":return f.permissions.schemaPermissions;case"tables":return f.permissions.tablePermissions;case"views":return f.permissions.viewPermissions;case"functions":return f.permissions.functionPermissions;default:return[]}}),T=N(()=>{var c,m,_,P;return{tables:((c=f.permissions)==null?void 0:c.tablePermissions.length)??0,schemas:((m=f.permissions)==null?void 0:m.schemaPermissions.length)??0,views:((_=f.permissions)==null?void 0:_.viewPermissions.length)??0,functions:((P=f.permissions)==null?void 0:P.functionPermissions.length)??0}}),y=c=>{switch(c){case"table":return"hugeicons:grid-table";case"schema":return"hugeicons:folder-02";case"view":return"hugeicons:property-view";case"function":return"gravity-ui:function";default:return"hugeicons:knight-shield"}},D=N(()=>[{id:"connect",label:"CONNECT",value:f.database.canConnect,type:"boolean"},{id:"create",label:"CREATE",value:f.database.canCreate,type:"boolean"},{id:"temp",label:"TEMP",value:f.database.canTemp,type:"boolean"}]);return(c,m)=>{const _=Z,P=te,j=ue,R=ge,B=be,Q=ve,G=he;return s(),u("div",Qe,[n("div",{class:I(["flex items-center gap-1 px-3 py-2 cursor-pointer hover:bg-accent/50",!c.database.canConnect&&"opacity-50 cursor-not-allowed"]),onClick:m[0]||(m[0]=v=>c.database.canConnect&&d("toggle"))},[e(_,{name:c.isExpanded?"hugeicons:arrow-down-01":"hugeicons:arrow-right-01",class:I(["size-4 transition-transform",!c.database.canConnect&&"invisible"])},null,8,["name","class"]),e(_,{name:c.database.canConnect?"hugeicons:database":"hugeicons:database-locked",class:I(["size-4",c.database.canConnect?"text-yellow-400":"text-muted-foreground"])},null,8,["name","class"]),n("span",{class:I(["text-sm font-medium",!c.database.canConnect&&"text-muted-foreground"])},b(c.database.databaseName),3),c.database.canConnect?(s(),u("div",Ke,[c.database.canConnect?(s(),C(P,{key:0,variant:"outline",class:"text-xs"},{default:l(()=>m[1]||(m[1]=[p("CONNECT")])),_:1})):V("",!0),c.database.canCreate?(s(),C(P,{key:1,variant:"outline",class:"text-xs"},{default:l(()=>m[2]||(m[2]=[p("CREATE")])),_:1})):V("",!0),c.database.canTemp?(s(),C(P,{key:2,variant:"outline",class:"text-xs"},{default:l(()=>m[3]||(m[3]=[p("TEMP")])),_:1})):V("",!0)])):(s(),C(_,{key:0,name:"hugeicons:circle-lock-01",class:"size-3 text-muted-foreground ml-auto"}))],2),c.isExpanded&&c.database.canConnect?(s(),u("div",Xe,[n("div",Ze,[m[4]||(m[4]=n("p",{class:"text-xs text-muted-foreground mb-2"}," Database-level privileges: ",-1)),n("div",We,[(s(!0),u(L,null,A(t(D),v=>(s(),C(me,{key:v.id,label:v.label,value:v.value,type:v.type},null,8,["label","value","type"]))),128))])]),c.isCurrentDatabase?(s(),u(L,{key:0},[n("div",Ye,[(s(),u(L,null,A(k,v=>n("button",{key:v.id,class:I(["flex items-center gap-1 px-3 py-1.5 text-xs transition-colors cursor-pointer",t(a)===v.id?"border-b-2 border-primary text-foreground":"text-muted-foreground border-b-2 border-transparent hover:text-foreground"]),onClick:O=>a.value=v.id},[e(_,{name:v.icon,class:"size-3"},null,8,["name"]),p(" "+b(v.label)+" ",1),e(P,{variant:"secondary",class:"ml-1 text-xs px-1 py-0"},{default:l(()=>[p(b(t(T)[v.id]),1)]),_:2},1024)],10,es)),64))]),n("div",ss,[t(g).length?(s(),u("div",as,[(s(!0),u(L,null,A(t(g),(v,O)=>(s(),u("div",{key:`${v.schemaName}-${v.objectName}-${O}`,class:"group flex items-center gap-2 px-3 py-2 hover:bg-accent/30"},[e(_,{name:y(v.objectType),class:"size-4 text-muted-foreground shrink-0"},null,8,["name"]),n("div",os,[n("p",ls,[n("span",is,b(v.schemaName)+".",1),p(b(v.objectName),1)])]),n("div",rs,[(s(!0),u(L,null,A(v.privileges,H=>(s(),C(P,{variant:"outline",class:"text-xs normal-case"},{default:l(()=>[p(b(H),1)]),_:2},1024))),256))]),e(G,null,{default:l(()=>[e(Q,null,{default:l(()=>[e(R,{"as-child":""},{default:l(()=>[e(j,{variant:"ghost",size:"iconSm",onClick:_e(H=>d("updatePermission",v),["stop"])},{default:l(()=>[e(_,{name:"hugeicons:pencil-edit-02",class:"size-3"})]),_:2},1032,["onClick"])]),_:2},1024),e(B,null,{default:l(()=>m[5]||(m[5]=[p("Update Permission")])),_:1})]),_:2},1024)]),_:2},1024)]))),128))])):(s(),u("div",ts,[e(_,{name:"hugeicons:knight-shield",class:"size-8 mb-1 opacity-50"}),n("p",ns,"No "+b(t(a))+" permissions",1)]))])],64)):(s(),u("div",cs,[e(_,{name:"hugeicons:information-circle",class:"size-4"}),m[6]||(m[6]=n("span",null,"Connect to this database to view tables, schemas, and functions permissions.",-1))]))])):V("",!0)])}}}),ds={class:"grid gap-4 py-2"},ms={class:"grid gap-2"},ps={class:"grid gap-2"},fs={class:"grid gap-2"},vs={class:"grid gap-2"},gs={class:"grid grid-cols-2 md:grid-cols-3 gap-2"},_s={class:"text-xs"},bs={class:"grid gap-2"},hs=M({__name:"GrantRevokeDialog",props:{open:{type:Boolean},mode:{},roleName:{},permission:{},loading:{type:Boolean}},emits:["update:open","confirm"],setup(w,{emit:h}){const f=["SELECT","INSERT","UPDATE","DELETE","TRUNCATE","REFERENCES","TRIGGER"],d=["USAGE","CREATE"],a=["EXECUTE"],k=["USAGE","SELECT","UPDATE"],g=w,T=h,y=$("table"),D=$("public"),c=$(""),m=$([]),_=$([]);Me();const P=N(()=>{switch(y.value){case"table":return f;case"schema":return d;case"function":return a;case"sequence":return k;default:return[]}});ie(()=>g.open,x=>{x&&(g.permission?(y.value=g.permission.objectType,D.value=g.permission.schemaName,c.value=g.permission.objectName,_.value=[...g.permission.privileges],m.value=[...g.permission.privileges]):(y.value="table",D.value="public",c.value="",_.value=[],m.value=[]))});const j=N(()=>m.value),R=N(()=>f.filter(x=>!m.value.includes(x))),B=N(()=>j.value.length>0||R.value.length>0),Q=N(()=>{const x=D.value||"<schema>",i=c.value||"<object>",q=g.roleName||"<role>",F=`${y.value.toUpperCase()} "${x}"."${i}"`,U=[];return j.value.length&&U.push(`GRANT ${j.value.join(", ")} ON ${F} TO "${q}";`),R.value.length&&U.push(`REVOKE ${R.value.join(", ")} ON ${F} FROM "${q}";`),U.length?U.join(`
2
2
 
3
- `):"-- No permission changes"}),G=x=>{const i=m.value.indexOf(x);i>-1?m.value.splice(i,1):m.value.push(x)},v=()=>{B.value&&T("confirm",{objectType:y.value,schemaName:j.value,objectName:c.value,grant:R.value,revoke:D.value})},O=()=>T("update:open",!1),H=N(()=>g.mode==="grant"?`Grant Permission to ${g.roleName}`:`Update Permission for ${g.roleName}`);return(x,i)=>{const F=Ce,q=$e,U=xe,ne=Te,o=Ne,r=Pe,z=we,W=ke,Y=Ee,ae=Ae,oe=Ge,ee=ue,se=Z,E=Se,J=je,le=ye;return s(),C(le,{open:x.open,"onUpdate:open":i[3]||(i[3]=S=>T("update:open",S))},{default:l(()=>[e(J,{class:"max-w-[45vw]! w-[45vw]!"},{default:l(()=>[e(U,null,{default:l(()=>[e(F,null,{default:l(()=>[p(b(H.value),1)]),_:1}),e(q,null,{default:l(()=>i[4]||(i[4]=[p(" Tick to grant, untick to revoke privileges. ")])),_:1})]),_:1}),n("div",ds,[n("div",ms,[e(t(K),null,{default:l(()=>i[5]||(i[5]=[p("Object Type")])),_:1}),e(W,{modelValue:y.value,"onUpdate:modelValue":i[0]||(i[0]=S=>y.value=S),disabled:x.mode==="update"},{default:l(()=>[e(o,null,{default:l(()=>[e(ne)]),_:1}),e(z,null,{default:l(()=>[e(r,{value:"table"},{default:l(()=>i[6]||(i[6]=[p("Table")])),_:1}),e(r,{value:"schema"},{default:l(()=>i[7]||(i[7]=[p("Schema")])),_:1}),e(r,{value:"function"},{default:l(()=>i[8]||(i[8]=[p("Function")])),_:1}),e(r,{value:"sequence"},{default:l(()=>i[9]||(i[9]=[p("Sequence")])),_:1})]),_:1})]),_:1},8,["modelValue","disabled"])]),n("div",ps,[e(t(K),null,{default:l(()=>i[10]||(i[10]=[p("Schema")])),_:1}),e(Y,{modelValue:j.value,"onUpdate:modelValue":i[1]||(i[1]=S=>j.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",fs,[e(t(K),null,{default:l(()=>i[11]||(i[11]=[p("Object Name")])),_:1}),e(Y,{modelValue:c.value,"onUpdate:modelValue":i[2]||(i[2]=S=>c.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",vs,[e(t(K),null,{default:l(()=>i[12]||(i[12]=[p("Privileges")])),_:1}),n("div",gs,[(s(!0),u(L,null,A(P.value,S=>(s(),u("div",{key:S,class:"flex items-center gap-2 cursor-pointer"},[e(ae,{"model-value":m.value.includes(S),"onUpdate:modelValue":Hs=>G(S)},null,8,["model-value","onUpdate:modelValue"]),n("span",_s,b(S),1)]))),128))])]),n("div",bs,[e(t(K),null,{default:l(()=>i[13]||(i[13]=[p("SQL Preview")])),_:1}),e(oe,{code:Q.value,"show-copy-button":"","max-height":"24rem"},null,8,["code"])])]),e(E,null,{default:l(()=>[e(ee,{variant:"outline",onClick:O},{default:l(()=>i[14]||(i[14]=[p(" Cancel ")])),_:1}),e(ee,{disabled:!B.value||x.loading,onClick:v},{default:l(()=>[x.loading?(s(),C(se,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):V("",!0),p(" "+b(x.mode==="grant"?"Grant":"Update"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),ys={class:"px-4 py-3 shrink-0"},xs={class:"flex items-center gap-2 mb-2"},Cs={key:0,class:"flex flex-wrap gap-2"},$s={key:1,class:"mt-2 text-xs text-muted-foreground"},ks={class:"text-foreground"},Ns=M({__name:"RoleAttributesCard",props:{roleInfo:{}},setup(w){const h=w,f=N(()=>{if(!h.roleInfo)return[];const a=h.roleInfo;return[{id:"superuser",label:"Superuser",value:a.isSuperuser,type:"boolean"},{id:"login",label:"Can Login",value:a.canLogin,type:"boolean"},{id:"createdb",label:"Create DB",value:a.canCreateDb,type:"boolean"},{id:"createrole",label:"Create Role",value:a.canCreateRole,type:"boolean"},{id:"replication",label:"Replication",value:a.isReplication,type:"boolean"},{id:"connlimit",label:"Connections",value:a.connectionLimit===-1?"Unlimited":`${a.connectionLimit}`,type:"text"}]}),d=N(()=>{var a,k;return(k=(a=h.roleInfo)==null?void 0:a.memberOf)!=null&&k.length?h.roleInfo.memberOf:[]});return(a,k)=>{const g=Z,T=te;return s(),u("div",ys,[n("div",xs,[e(g,{name:"hugeicons:shield-01",class:"size-4"}),k[0]||(k[0]=n("p",{class:"text-sm font-medium"},"Role Attributes",-1))]),a.roleInfo?(s(),u("div",Cs,[(s(!0),u(L,null,A(t(f),y=>(s(),C(me,{key:y.id,label:y.label,value:y.value,type:y.type},null,8,["label","value","type"]))),128)),a.roleInfo.validUntil?(s(),C(T,{key:0,variant:"secondary",class:"text-xs"},{default:l(()=>[e(g,{name:"lucide:calendar",class:"size-3 mr-1"}),p(" Expires: "+b(new Date(a.roleInfo.validUntil).toLocaleDateString()),1)]),_:1})):V("",!0)])):V("",!0),t(d).length?(s(),u("div",$s,[k[1]||(k[1]=p(" Member of: ")),n("span",ks,b(t(d).join(", ")),1)])):V("",!0)])}}}),Ts={class:"flex flex-col h-full p-1 relative"},ws={class:"flex flex-col h-full border rounded-md overflow-hidden"},Ps={class:"flex items-center gap-3 px-4 py-1 bg-sidebar"},Es={class:"font-normal text-sm"},Ss={class:"ml-auto flex items-center gap-2"},js={key:0,class:"flex-1 flex items-center justify-center"},Ds={key:1,class:"flex-1 flex flex-col items-center justify-center p-4"},Rs={class:"text-sm text-destructive"},Bs={class:"px-4 pt-0 pb-3"},zs={class:"flex items-center gap-2 mb-2"},Ls={class:"flex items-center gap-2"},Os={variant:"secondary",class:"text-xs cursor-pointer text-muted-foreground flex items-center gap-1"},Is={class:"text-xs ml-1"},Us={key:0,class:"flex items-center gap-2 text-muted-foreground"},Vs={key:1,class:"text-sm text-muted-foreground"},As={key:2,class:"space-y-1"},Ms={class:"flex flex-col flex-1 min-h-0 p-4 pt-0"},Gs={class:"flex items-center gap-2 mb-3 shrink-0"},Fs={key:0,class:"flex items-center gap-2 text-muted-foreground"},qs={key:2,class:"space-y-1 flex-1 overflow-y-auto"},et=M({__name:"[roleName]",setup(w){const h=De(),f=Re(),d=N(()=>h.params.roleName),a=N(()=>f.selectedConnection),k=N(()=>{if(!a.value)return"";if(a.value.database)return a.value.database;const o=a.value.connectionString;if(!o)return"";try{return new URL(o).pathname.slice(1)||""}catch{const r=o.match(/\/([^/?]+)(\?|$)/);return(r==null?void 0:r[1])||""}}),g=o=>k.value.toLowerCase()===o.toLowerCase(),T=$(null),y=$([]),j=async()=>{if(!(!a.value||!d.value))try{const r=await $fetch("/api/database-roles/get-role",{method:"POST",body:{...X(a.value),roleName:d.value}});r&&(T.value={isSuperuser:r.isSuperuser,canLogin:r.canLogin,canCreateDb:r.canCreateDb,canCreateRole:r.canCreateRole,isReplication:r.isReplication,connectionLimit:r.connectionLimit,validUntil:r.validUntil,memberOf:r.memberOf})}catch(o){console.error("Error fetching role info:",o)}},c=$(!1),m=async()=>{if(!(!a.value||!d.value)){c.value=!0;try{const o=await $fetch("/api/database-roles/get-role-inheritance",{method:"POST",body:{...X(a.value),roleName:d.value}});y.value=o}catch(o){console.error("Error fetching role inheritance:",o),y.value=[]}finally{c.value=!1}}},_=$(!1),P=$(!1),R=$(null),D=$(null),B=async()=>{if(!(!a.value||!d.value)){_.value=!0,D.value=null;try{const o=await $fetch("/api/database-roles/get-permissions",{method:"POST",body:{...X(a.value),roleName:d.value}});R.value=o}catch(o){D.value=o instanceof Error?o.message:"Failed to fetch permissions",console.error("Error fetching permissions:",o)}finally{_.value=!1}}};de(()=>{B(),j(),m()}),ie(d,()=>{B(),j(),m()});const{isLoading:Q,databasePermissions:G,fetchDatabasePermissions:v}=Fe(a),O=$(new Set),H=o=>{O.value.has(o)?O.value.delete(o):O.value.add(o)},x=o=>O.value.has(o);de(()=>v(d.value)),ie(d,o=>v(o));const i=$(!1),F=$("grant"),q=$(),U=o=>{F.value="update",q.value=o,i.value=!0},ne=async o=>{if(!(!a.value||!d.value)){P.value=!0;try{const r=[];o.grant.length>0&&r.push($fetch("/api/database-roles/grant-permission",{method:"POST",body:{...X(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.grant}})),o.revoke.length>0&&r.push($fetch("/api/database-roles/revoke-permission",{method:"POST",body:{...X(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.revoke}})),await Promise.all(r),i.value=!1,await B()}catch(r){console.error("Error updating permissions:",r)}finally{P.value=!1}}};return(o,r)=>{const z=Z,W=ue,Y=Je,ae=He,oe=qe,ee=te,se=Oe;return s(),u("div",Ts,[n("div",ws,[n("div",Ps,[n("div",null,[n("p",Es,b(t(d)),1)]),n("div",Ss,[e(W,{variant:"outline",size:"iconSm",disabled:t(_),onClick:B},{default:l(()=>[e(z,{name:t(_)?"hugeicons:loading-03":"lucide:refresh-cw",class:I(["size-4",t(_)&&"animate-spin"])},null,8,["name","class"])]),_:1},8,["disabled"])])]),t(_)?(s(),u("div",js,[e(t(Be),{visible:t(_)},null,8,["visible"])])):t(D)?(s(),u("div",Ds,[e(z,{name:"hugeicons:information-circle",class:"size-12 text-destructive"}),n("p",Rs,b(t(D)),1),e(W,{variant:"outline",size:"sm",class:"mt-4 font-normal",onClick:B},{default:l(()=>r[1]||(r[1]=[p(" Retry ")])),_:1})])):t(R)?(s(),u(L,{key:2},[e(Ns,{"role-info":t(T)},null,8,["role-info"]),n("div",Bs,[e(oe,{"default-open":!0},{default:l(({open:E})=>[n("div",zs,[n("div",Ls,[e(z,{name:"lucide:git-branch",class:"size-4 text-muted-foreground"}),r[2]||(r[2]=n("p",{class:"text-sm font-medium"},"Inherited from",-1))]),e(Y,{"as-child":""},{default:l(()=>[n("div",Os,[n("span",Is,b(E?"Collapse":"Expand"),1),e(z,{name:"lucide:chevron-down",class:I(["size-4 transition-transform",E&&"rotate-180"])},null,8,["class"])])]),_:2},1024)]),e(ae,null,{default:l(()=>[t(c)?(s(),u("div",Us,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[3]||(r[3]=n("span",{class:"text-sm"},"Loading inheritance...",-1))])):t(y).length===0?(s(),u("div",Vs," No inherited roles ")):(s(),u("div",As,[(s(!0),u(L,null,A(t(y),(J,le)=>(s(),u("div",{key:`${J.roleName}-${le}`,class:"flex items-center text-sm gap-1 hover:bg-accent rounded-sm",style:Le({paddingLeft:`${J.depth*16}px`})},[e(z,{name:"lucide:corner-down-right",class:"size-3 text-muted-foreground"}),n("span",null,b(J.roleName),1)],4))),128))]))]),_:1})]),_:1})]),n("div",Ms,[n("div",Gs,[e(z,{name:"hugeicons:database",class:"size-5 text-yellow-400"}),r[4]||(r[4]=n("p",{class:"text-sm font-medium"},"Database Access",-1)),e(ee,{variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(t(G).filter(E=>E.canConnect).length),1)]),_:1})]),t(Q)?(s(),u("div",Fs,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[5]||(r[5]=n("span",{class:"text-sm"},"Loading databases...",-1))])):t(G).length===0?(s(),C(se,{key:1,title:"No permissions found",desc:"No database permissions were found for this role."})):(s(),u("div",qs,[(s(!0),u(L,null,A(t(G),E=>(s(),C(us,{key:E.databaseName,database:E,"is-expanded":x(E.databaseName),"is-current-database":g(E.databaseName),permissions:t(R),onToggle:J=>H(E.databaseName),onUpdatePermission:U},null,8,["database","is-expanded","is-current-database","permissions","onToggle"]))),128))]))])],64)):(s(),C(se,{key:3,icon:"hugeicons:shield-01",title:"No data available",desc:"No permissions data is available for the current selection."}))]),e(hs,{open:t(i),"onUpdate:open":r[0]||(r[0]=E=>ze(i)?i.value=E:null),mode:t(F),roleName:t(d),permission:t(q),loading:t(P),onConfirm:ne},null,8,["open","mode","roleName","permission","loading"])])}}});export{et as default};
3
+ `):"-- No permission changes"}),G=x=>{const i=m.value.indexOf(x);i>-1?m.value.splice(i,1):m.value.push(x)},v=()=>{B.value&&T("confirm",{objectType:y.value,schemaName:D.value,objectName:c.value,grant:j.value,revoke:R.value})},O=()=>T("update:open",!1),H=N(()=>g.mode==="grant"?`Grant Permission to ${g.roleName}`:`Update Permission for ${g.roleName}`);return(x,i)=>{const q=Ce,F=$e,U=xe,ne=Te,o=Ne,r=Pe,z=we,W=ke,Y=Ee,ae=Ae,oe=Ge,ee=ue,se=Z,E=Se,J=De,le=ye;return s(),C(le,{open:x.open,"onUpdate:open":i[3]||(i[3]=S=>T("update:open",S))},{default:l(()=>[e(J,{class:"max-w-[45vw]! w-[45vw]!"},{default:l(()=>[e(U,null,{default:l(()=>[e(q,null,{default:l(()=>[p(b(H.value),1)]),_:1}),e(F,null,{default:l(()=>i[4]||(i[4]=[p(" Tick to grant, untick to revoke privileges. ")])),_:1})]),_:1}),n("div",ds,[n("div",ms,[e(t(K),null,{default:l(()=>i[5]||(i[5]=[p("Object Type")])),_:1}),e(W,{modelValue:y.value,"onUpdate:modelValue":i[0]||(i[0]=S=>y.value=S),disabled:x.mode==="update"},{default:l(()=>[e(o,null,{default:l(()=>[e(ne)]),_:1}),e(z,null,{default:l(()=>[e(r,{value:"table"},{default:l(()=>i[6]||(i[6]=[p("Table")])),_:1}),e(r,{value:"schema"},{default:l(()=>i[7]||(i[7]=[p("Schema")])),_:1}),e(r,{value:"function"},{default:l(()=>i[8]||(i[8]=[p("Function")])),_:1}),e(r,{value:"sequence"},{default:l(()=>i[9]||(i[9]=[p("Sequence")])),_:1})]),_:1})]),_:1},8,["modelValue","disabled"])]),n("div",ps,[e(t(K),null,{default:l(()=>i[10]||(i[10]=[p("Schema")])),_:1}),e(Y,{modelValue:D.value,"onUpdate:modelValue":i[1]||(i[1]=S=>D.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",fs,[e(t(K),null,{default:l(()=>i[11]||(i[11]=[p("Object Name")])),_:1}),e(Y,{modelValue:c.value,"onUpdate:modelValue":i[2]||(i[2]=S=>c.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",vs,[e(t(K),null,{default:l(()=>i[12]||(i[12]=[p("Privileges")])),_:1}),n("div",gs,[(s(!0),u(L,null,A(P.value,S=>(s(),u("div",{key:S,class:"flex items-center gap-2 cursor-pointer"},[e(ae,{"model-value":m.value.includes(S),"onUpdate:modelValue":Hs=>G(S)},null,8,["model-value","onUpdate:modelValue"]),n("span",_s,b(S),1)]))),128))])]),n("div",bs,[e(t(K),null,{default:l(()=>i[13]||(i[13]=[p("SQL Preview")])),_:1}),e(oe,{code:Q.value,"show-copy-button":"","max-height":"24rem"},null,8,["code"])])]),e(E,null,{default:l(()=>[e(ee,{variant:"outline",onClick:O},{default:l(()=>i[14]||(i[14]=[p(" Cancel ")])),_:1}),e(ee,{disabled:!B.value||x.loading,onClick:v},{default:l(()=>[x.loading?(s(),C(se,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):V("",!0),p(" "+b(x.mode==="grant"?"Grant":"Update"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),ys={class:"px-4 py-3 shrink-0"},xs={class:"flex items-center gap-2 mb-2"},Cs={key:0,class:"flex flex-wrap gap-2"},$s={key:1,class:"mt-2 text-xs text-muted-foreground"},ks={class:"text-foreground"},Ns=M({__name:"RoleAttributesCard",props:{roleInfo:{}},setup(w){const h=w,f=N(()=>{if(!h.roleInfo)return[];const a=h.roleInfo;return[{id:"superuser",label:"Superuser",value:a.isSuperuser,type:"boolean"},{id:"login",label:"Can Login",value:a.canLogin,type:"boolean"},{id:"createdb",label:"Create DB",value:a.canCreateDb,type:"boolean"},{id:"createrole",label:"Create Role",value:a.canCreateRole,type:"boolean"},{id:"replication",label:"Replication",value:a.isReplication,type:"boolean"},{id:"connlimit",label:"Connections",value:a.connectionLimit===-1?"Unlimited":`${a.connectionLimit}`,type:"text"}]}),d=N(()=>{var a,k;return(k=(a=h.roleInfo)==null?void 0:a.memberOf)!=null&&k.length?h.roleInfo.memberOf:[]});return(a,k)=>{const g=Z,T=te;return s(),u("div",ys,[n("div",xs,[e(g,{name:"hugeicons:shield-01",class:"size-4"}),k[0]||(k[0]=n("p",{class:"text-sm font-medium"},"Role Attributes",-1))]),a.roleInfo?(s(),u("div",Cs,[(s(!0),u(L,null,A(t(f),y=>(s(),C(me,{key:y.id,label:y.label,value:y.value,type:y.type},null,8,["label","value","type"]))),128)),a.roleInfo.validUntil?(s(),C(T,{key:0,variant:"secondary",class:"text-xs"},{default:l(()=>[e(g,{name:"lucide:calendar",class:"size-3 mr-1"}),p(" Expires: "+b(new Date(a.roleInfo.validUntil).toLocaleDateString()),1)]),_:1})):V("",!0)])):V("",!0),t(d).length?(s(),u("div",$s,[k[1]||(k[1]=p(" Member of: ")),n("span",ks,b(t(d).join(", ")),1)])):V("",!0)])}}}),Ts={class:"flex flex-col h-full p-1 relative"},ws={class:"flex flex-col h-full border rounded-md overflow-hidden"},Ps={class:"flex items-center gap-3 px-4 py-1 bg-sidebar"},Es={class:"font-normal text-sm"},Ss={class:"ml-auto flex items-center gap-2"},Ds={key:0,class:"flex-1 flex items-center justify-center"},Rs={key:1,class:"flex-1 flex flex-col items-center justify-center p-4"},js={class:"text-sm text-destructive"},Bs={class:"px-4 pt-0 pb-3"},zs={class:"flex items-center gap-2 mb-2"},Ls={class:"flex items-center gap-2"},Os={variant:"secondary",class:"text-xs cursor-pointer text-muted-foreground flex items-center gap-1"},Is={class:"text-xs ml-1"},Us={key:0,class:"flex items-center gap-2 text-muted-foreground"},Vs={key:1,class:"text-sm text-muted-foreground"},As={key:2,class:"space-y-1"},Ms={class:"flex flex-col flex-1 min-h-0 p-4 pt-0"},Gs={class:"flex items-center gap-2 mb-3 shrink-0"},qs={key:0,class:"flex items-center gap-2 text-muted-foreground"},Fs={key:2,class:"space-y-1 flex-1 overflow-y-auto"},et=M({__name:"[roleName]",setup(w){const h=Re(),f=je(),d=N(()=>h.params.roleName),a=N(()=>f.selectedConnection),k=N(()=>{if(!a.value)return"";if(a.value.database)return a.value.database;const o=a.value.connectionString;if(!o)return"";try{return new URL(o).pathname.slice(1)||""}catch{const r=o.match(/\/([^/?]+)(\?|$)/);return(r==null?void 0:r[1])||""}}),g=o=>k.value.toLowerCase()===o.toLowerCase(),T=$(null),y=$([]),D=async()=>{if(!(!a.value||!d.value))try{const r=await $fetch("/api/database-roles/get-role",{method:"POST",body:{...X(a.value),roleName:d.value}});r&&(T.value={isSuperuser:r.isSuperuser,canLogin:r.canLogin,canCreateDb:r.canCreateDb,canCreateRole:r.canCreateRole,isReplication:r.isReplication,connectionLimit:r.connectionLimit,validUntil:r.validUntil,memberOf:r.memberOf})}catch(o){console.error("Error fetching role info:",o)}},c=$(!1),m=async()=>{if(!(!a.value||!d.value)){c.value=!0;try{const o=await $fetch("/api/database-roles/get-role-inheritance",{method:"POST",body:{...X(a.value),roleName:d.value}});y.value=o}catch(o){console.error("Error fetching role inheritance:",o),y.value=[]}finally{c.value=!1}}},_=$(!1),P=$(!1),j=$(null),R=$(null),B=async()=>{if(!(!a.value||!d.value)){_.value=!0,R.value=null;try{const o=await $fetch("/api/database-roles/get-permissions",{method:"POST",body:{...X(a.value),roleName:d.value}});j.value=o}catch(o){R.value=o instanceof Error?o.message:"Failed to fetch permissions",console.error("Error fetching permissions:",o)}finally{_.value=!1}}};de(()=>{B(),D(),m()}),ie(d,()=>{B(),D(),m()});const{isLoading:Q,databasePermissions:G,fetchDatabasePermissions:v}=qe(a),O=$(new Set),H=o=>{O.value.has(o)?O.value.delete(o):O.value.add(o)},x=o=>O.value.has(o);de(()=>v(d.value)),ie(d,o=>v(o));const i=$(!1),q=$("grant"),F=$(),U=o=>{q.value="update",F.value=o,i.value=!0},ne=async o=>{if(!(!a.value||!d.value)){P.value=!0;try{const r=[];o.grant.length>0&&r.push($fetch("/api/database-roles/grant-permission",{method:"POST",body:{...X(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.grant}})),o.revoke.length>0&&r.push($fetch("/api/database-roles/revoke-permission",{method:"POST",body:{...X(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.revoke}})),await Promise.all(r),i.value=!1,await B()}catch(r){console.error("Error updating permissions:",r)}finally{P.value=!1}}};return(o,r)=>{const z=Z,W=ue,Y=Je,ae=He,oe=Fe,ee=te,se=Oe;return s(),u("div",Ts,[n("div",ws,[n("div",Ps,[n("div",null,[n("p",Es,b(t(d)),1)]),n("div",Ss,[e(W,{variant:"outline",size:"iconSm",disabled:t(_),onClick:B},{default:l(()=>[e(z,{name:t(_)?"hugeicons:loading-03":"lucide:refresh-cw",class:I(["size-4",t(_)&&"animate-spin"])},null,8,["name","class"])]),_:1},8,["disabled"])])]),t(_)?(s(),u("div",Ds,[e(t(Be),{visible:t(_)},null,8,["visible"])])):t(R)?(s(),u("div",Rs,[e(z,{name:"hugeicons:information-circle",class:"size-12 text-destructive"}),n("p",js,b(t(R)),1),e(W,{variant:"outline",size:"sm",class:"mt-4 font-normal",onClick:B},{default:l(()=>r[1]||(r[1]=[p(" Retry ")])),_:1})])):t(j)?(s(),u(L,{key:2},[e(Ns,{"role-info":t(T)},null,8,["role-info"]),n("div",Bs,[e(oe,{"default-open":!0},{default:l(({open:E})=>[n("div",zs,[n("div",Ls,[e(z,{name:"lucide:git-branch",class:"size-4 text-muted-foreground"}),r[2]||(r[2]=n("p",{class:"text-sm font-medium"},"Inherited from",-1))]),e(Y,{"as-child":""},{default:l(()=>[n("div",Os,[n("span",Is,b(E?"Collapse":"Expand"),1),e(z,{name:"lucide:chevron-down",class:I(["size-4 transition-transform",E&&"rotate-180"])},null,8,["class"])])]),_:2},1024)]),e(ae,null,{default:l(()=>[t(c)?(s(),u("div",Us,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[3]||(r[3]=n("span",{class:"text-sm"},"Loading inheritance...",-1))])):t(y).length===0?(s(),u("div",Vs," No inherited roles ")):(s(),u("div",As,[(s(!0),u(L,null,A(t(y),(J,le)=>(s(),u("div",{key:`${J.roleName}-${le}`,class:"flex items-center text-sm gap-1 hover:bg-accent rounded-sm",style:Le({paddingLeft:`${J.depth*16}px`})},[e(z,{name:"lucide:corner-down-right",class:"size-3 text-muted-foreground"}),n("span",null,b(J.roleName),1)],4))),128))]))]),_:1})]),_:1})]),n("div",Ms,[n("div",Gs,[e(z,{name:"hugeicons:database",class:"size-5 text-yellow-400"}),r[4]||(r[4]=n("p",{class:"text-sm font-medium"},"Database Access",-1)),e(ee,{variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(t(G).filter(E=>E.canConnect).length),1)]),_:1})]),t(Q)?(s(),u("div",qs,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[5]||(r[5]=n("span",{class:"text-sm"},"Loading databases...",-1))])):t(G).length===0?(s(),C(se,{key:1,title:"No permissions found",desc:"No database permissions were found for this role."})):(s(),u("div",Fs,[(s(!0),u(L,null,A(t(G),E=>(s(),C(us,{key:E.databaseName,database:E,"is-expanded":x(E.databaseName),"is-current-database":g(E.databaseName),permissions:t(j),onToggle:J=>H(E.databaseName),onUpdatePermission:U},null,8,["database","is-expanded","is-current-database","permissions","onToggle"]))),128))]))])],64)):(s(),C(se,{key:3,icon:"hugeicons:shield-01",title:"No data available",desc:"No permissions data is available for the current selection."}))]),e(hs,{open:t(i),"onUpdate:open":r[0]||(r[0]=E=>ze(i)?i.value=E:null),mode:t(q),roleName:t(d),permission:t(F),loading:t(P),onConfirm:ne},null,8,["open","mode","roleName","permission","loading"])])}}});export{et as default};
@@ -1 +1 @@
1
- import{d as C,k as b,o as _,w as y,E as h,a1 as D,a2 as W,g as t,c3 as oe,c4 as ae,r as v,an as se,ao as V,ak as X,bV as ne,aa as N,aj as ie,bW as le,c5 as ue,bY as de,c0 as pe,a0 as I,c6 as fe,am as ce,aD as ye,f as F,bZ as ge,c7 as me,b_ as ve,c8 as qe,b$ as be,c9 as _e,ca as he,cb as Ce,cc as we,cd as Be,ce as Me,cf as K,cg as Pe,ab as Se,p as M,aq as S,ch as Oe,ci as Fe,bJ as $,c1 as De,bf as Ie,ap as Re,c2 as ke}from"./C6teO48Y.js";import{u as Ae}from"./B5rxJs06.js";var Ee=C({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const p=i;return(d,l)=>(_(),b(t(oe),D(W(p)),{default:y(()=>[h(d.$slots,"default")]),_:3},16))}}),et=Ee;function Te(){const i=v(!1);return se(()=>{V("keydown",()=>{i.value=!0},{capture:!0,passive:!0}),V(["pointerdown","pointermove"],()=>{i.value=!1},{capture:!0,passive:!0})}),i}const Ke=ae(Te),[R,Ne]=N(["MenuRoot","MenuSub"],"MenuContext"),[L,$e]=N("MenuRoot");var Le=C({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(i,{emit:p}){const d=i,l=p,{modal:c,dir:n}=X(d),g=ne(n),u=ie(d,"open",l),r=v(),f=Ke();return Ne({open:u,onOpenChange:s=>{u.value=s},content:r,onContentChange:s=>{r.value=s}}),$e({onClose:()=>{u.value=!1},isUsingKeyboardRef:f,dir:g,modal:c}),(s,m)=>(_(),b(t(le),null,{default:y(()=>[h(s.$slots,"default")]),_:3}))}}),tt=Le;const[Y,Ue]=N("MenuContent");var je=C({__name:"MenuContentImpl",props:ue({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{..._e}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(i,{emit:p}){const d=i,l=p,c=R(),n=L(),{trapFocus:g,disableOutsidePointerEvents:u,loop:r}=X(d);de(),pe(u.value);const f=v(""),s=v(0),m=v(0),q=v(null),w=v("right"),k=v(0),A=v(null),U=v(),{forwardRef:J,currentElement:P}=I(),{handleTypeaheadSearch:Z}=fe();ce(P,e=>{c.onContentChange(e)}),ye(()=>{window.clearTimeout(s.value)});function E(e){var a,B;return w.value===((a=q.value)==null?void 0:a.side)&&he(e,(B=q.value)==null?void 0:B.area)}async function Q(e){var o;l("openAutoFocus",e),!e.defaultPrevented&&(e.preventDefault(),(o=P.value)==null||o.focus({preventScroll:!0}))}function x(e){var G;if(e.defaultPrevented)return;const a=e.target.closest("[data-reka-menu-content]")===e.currentTarget,B=e.ctrlKey||e.altKey||e.metaKey,T=e.key.length===1,O=Ae(e,Ce(),P.value,{loop:r.value,arrowKeyOptions:"vertical",dir:n==null?void 0:n.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(O)return O==null?void 0:O.focus();if(e.code==="Space")return;const j=((G=U.value)==null?void 0:G.getItems())??[];if(a&&(e.key==="Tab"&&e.preventDefault(),!B&&T&&Z(e.key,j)),e.target!==P.value||!we.includes(e.key))return;e.preventDefault();const z=[...j.map(re=>re.ref)];Be.includes(e.key)&&z.reverse(),Me(z)}function ee(e){var o,a;(a=(o=e==null?void 0:e.currentTarget)==null?void 0:o.contains)!=null&&a.call(o,e.target)||(window.clearTimeout(s.value),f.value="")}function te(e){var B;if(!K(e))return;const o=e.target,a=k.value!==e.clientX;if((B=e==null?void 0:e.currentTarget)!=null&&B.contains(o)&&a){const T=e.clientX>k.value?"right":"left";w.value=T,k.value=e.clientX}}return Ue({onItemEnter:e=>!!E(e),onItemLeave:e=>{var o;E(e)||((o=P.value)==null||o.focus(),A.value=null)},onTriggerLeave:e=>!!E(e),searchRef:f,pointerGraceTimerRef:m,onPointerGraceIntentChange:e=>{q.value=e}}),(e,o)=>(_(),b(t(be),{"as-child":"",trapped:t(g),onMountAutoFocus:Q,onUnmountAutoFocus:o[7]||(o[7]=a=>l("closeAutoFocus",a))},{default:y(()=>[F(t(ge),{"as-child":"","disable-outside-pointer-events":t(u),onEscapeKeyDown:o[2]||(o[2]=a=>l("escapeKeyDown",a)),onPointerDownOutside:o[3]||(o[3]=a=>l("pointerDownOutside",a)),onFocusOutside:o[4]||(o[4]=a=>l("focusOutside",a)),onInteractOutside:o[5]||(o[5]=a=>l("interactOutside",a)),onDismiss:o[6]||(o[6]=a=>l("dismiss"))},{default:y(()=>[F(t(me),{ref_key:"rovingFocusGroupRef",ref:U,"current-tab-stop-id":A.value,"onUpdate:currentTabStopId":o[0]||(o[0]=a=>A.value=a),"as-child":"",orientation:"vertical",dir:t(n).dir.value,loop:t(r),onEntryFocus:o[1]||(o[1]=a=>{l("entryFocus",a),t(n).isUsingKeyboardRef.value||a.preventDefault()})},{default:y(()=>[F(t(ve),{ref:t(J),role:"menu",as:e.as,"as-child":e.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":t(qe)(t(c).open.value),dir:t(n).dir.value,side:e.side,"side-offset":e.sideOffset,align:e.align,"align-offset":e.alignOffset,"avoid-collisions":e.avoidCollisions,"collision-boundary":e.collisionBoundary,"collision-padding":e.collisionPadding,"arrow-padding":e.arrowPadding,"prioritize-position":e.prioritizePosition,"position-strategy":e.positionStrategy,"update-position-strategy":e.updatePositionStrategy,sticky:e.sticky,"hide-when-detached":e.hideWhenDetached,reference:e.reference,onKeydown:x,onBlur:ee,onPointermove:te},{default:y(()=>[h(e.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),H=je,ze=C({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const p=i,d=Y(),{forwardRef:l}=I(),{CollectionItem:c}=Pe(),n=v(!1);async function g(r){if(!r.defaultPrevented&&K(r)){if(p.disabled)d.onItemLeave(r);else if(!d.onItemEnter(r)){const s=r.currentTarget;s==null||s.focus({preventScroll:!0})}}}async function u(r){await S(),!r.defaultPrevented&&K(r)&&d.onItemLeave(r)}return(r,f)=>(_(),b(t(c),{value:{textValue:r.textValue}},{default:y(()=>[F(t(Se),M({ref:t(l),role:"menuitem",tabindex:"-1"},r.$attrs,{as:r.as,"as-child":r.asChild,"aria-disabled":r.disabled||void 0,"data-disabled":r.disabled?"":void 0,"data-highlighted":n.value?"":void 0,onPointermove:g,onPointerleave:u,onFocus:f[0]||(f[0]=async s=>{await S(),!(s.defaultPrevented||r.disabled)&&(n.value=!0)}),onBlur:f[1]||(f[1]=async s=>{await S(),!s.defaultPrevented&&(n.value=!1)})}),{default:y(()=>[h(r.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),Ge=ze,Ve=C({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:p}){const d=i,l=p,{forwardRef:c,currentElement:n}=I(),g=L(),u=Y(),r=v(!1);async function f(){const s=n.value;if(!d.disabled&&s){const m=new CustomEvent(Fe,{bubbles:!0,cancelable:!0});l("select",m),await S(),m.defaultPrevented?r.value=!1:g.onClose()}}return(s,m)=>(_(),b(Ge,M(d,{ref:t(c),onClick:f,onPointerdown:m[0]||(m[0]=()=>{r.value=!0}),onPointerup:m[1]||(m[1]=async q=>{var w;await S(),!q.defaultPrevented&&(r.value||(w=q.currentTarget)==null||w.click())}),onKeydown:m[2]||(m[2]=async q=>{const w=t(u).searchRef.value!=="";s.disabled||w&&q.key===" "||t(Oe).includes(q.key)&&(q.currentTarget.click(),q.preventDefault())})}),{default:y(()=>[h(s.$slots,"default")]),_:3},16))}}),rt=Ve,We=C({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(i,{emit:p}){const d=i,l=p,c=$(d,l),n=R(),{forwardRef:g,currentElement:u}=I();return De(u),(r,f)=>(_(),b(H,M(t(c),{ref:t(g),"trap-focus":t(n).open.value,"disable-outside-pointer-events":t(n).open.value,"disable-outside-scroll":!0,onDismiss:f[0]||(f[0]=s=>t(n).onOpenChange(!1)),onFocusOutside:f[1]||(f[1]=Ie(s=>l("focusOutside",s),["prevent"]))}),{default:y(()=>[h(r.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),Xe=We,Ye=C({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(i,{emit:p}){const c=$(i,p),n=R();return(g,u)=>(_(),b(H,M(t(c),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:u[0]||(u[0]=r=>t(n).onOpenChange(!1))}),{default:y(()=>[h(g.$slots,"default")]),_:3},16))}}),He=Ye,Je=C({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(i,{emit:p}){const c=$(i,p),n=R(),g=L();return(u,r)=>(_(),b(t(Re),{present:u.forceMount||t(n).open.value},{default:y(()=>[t(g).modal.value?(_(),b(Xe,D(M({key:0},{...u.$attrs,...t(c)})),{default:y(()=>[h(u.$slots,"default")]),_:3},16)):(_(),b(He,D(M({key:1},{...u.$attrs,...t(c)})),{default:y(()=>[h(u.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),ot=Je,Ze=C({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const p=i;return(d,l)=>(_(),b(t(ke),D(W(p)),{default:y(()=>[h(d.$slots,"default")]),_:3},16))}}),at=Ze;export{rt as M,tt as a,ot as b,at as c,et as d,L as e,H as f,Y as g,Ge as h,R as i,Ne as p};
1
+ import{d as C,q as b,o as _,w as y,E as h,a1 as D,a2 as W,u as t,c3 as oe,c4 as ae,r as v,an as se,ao as V,ak as X,bV as ne,aa as N,aj as ie,bW as ue,c5 as le,bY as de,c0 as pe,a0 as I,c6 as fe,am as ce,aD as ye,a as F,bZ as ge,c7 as me,b_ as ve,c8 as qe,b$ as be,c9 as _e,ca as he,cb as Ce,cc as we,cd as Be,ce as Me,cf as K,cg as Pe,ab as Se,s as M,aq as S,ch as Oe,ci as Fe,bJ as $,c1 as De,bf as Ie,ap as Re,c2 as ke}from"./DD6NieRw.js";import{u as Ae}from"./B5rxJs06.js";var Ee=C({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const p=i;return(d,u)=>(_(),b(t(oe),D(W(p)),{default:y(()=>[h(d.$slots,"default")]),_:3},16))}}),et=Ee;function Te(){const i=v(!1);return se(()=>{V("keydown",()=>{i.value=!0},{capture:!0,passive:!0}),V(["pointerdown","pointermove"],()=>{i.value=!1},{capture:!0,passive:!0})}),i}const Ke=ae(Te),[R,Ne]=N(["MenuRoot","MenuSub"],"MenuContext"),[L,$e]=N("MenuRoot");var Le=C({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(i,{emit:p}){const d=i,u=p,{modal:c,dir:n}=X(d),g=ne(n),l=ie(d,"open",u),r=v(),f=Ke();return Ne({open:l,onOpenChange:s=>{l.value=s},content:r,onContentChange:s=>{r.value=s}}),$e({onClose:()=>{l.value=!1},isUsingKeyboardRef:f,dir:g,modal:c}),(s,m)=>(_(),b(t(ue),null,{default:y(()=>[h(s.$slots,"default")]),_:3}))}}),tt=Le;const[Y,Ue]=N("MenuContent");var je=C({__name:"MenuContentImpl",props:le({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{..._e}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(i,{emit:p}){const d=i,u=p,c=R(),n=L(),{trapFocus:g,disableOutsidePointerEvents:l,loop:r}=X(d);de(),pe(l.value);const f=v(""),s=v(0),m=v(0),q=v(null),w=v("right"),k=v(0),A=v(null),U=v(),{forwardRef:J,currentElement:P}=I(),{handleTypeaheadSearch:Z}=fe();ce(P,e=>{c.onContentChange(e)}),ye(()=>{window.clearTimeout(s.value)});function E(e){var a,B;return w.value===((a=q.value)==null?void 0:a.side)&&he(e,(B=q.value)==null?void 0:B.area)}async function Q(e){var o;u("openAutoFocus",e),!e.defaultPrevented&&(e.preventDefault(),(o=P.value)==null||o.focus({preventScroll:!0}))}function x(e){var G;if(e.defaultPrevented)return;const a=e.target.closest("[data-reka-menu-content]")===e.currentTarget,B=e.ctrlKey||e.altKey||e.metaKey,T=e.key.length===1,O=Ae(e,Ce(),P.value,{loop:r.value,arrowKeyOptions:"vertical",dir:n==null?void 0:n.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(O)return O==null?void 0:O.focus();if(e.code==="Space")return;const j=((G=U.value)==null?void 0:G.getItems())??[];if(a&&(e.key==="Tab"&&e.preventDefault(),!B&&T&&Z(e.key,j)),e.target!==P.value||!we.includes(e.key))return;e.preventDefault();const z=[...j.map(re=>re.ref)];Be.includes(e.key)&&z.reverse(),Me(z)}function ee(e){var o,a;(a=(o=e==null?void 0:e.currentTarget)==null?void 0:o.contains)!=null&&a.call(o,e.target)||(window.clearTimeout(s.value),f.value="")}function te(e){var B;if(!K(e))return;const o=e.target,a=k.value!==e.clientX;if((B=e==null?void 0:e.currentTarget)!=null&&B.contains(o)&&a){const T=e.clientX>k.value?"right":"left";w.value=T,k.value=e.clientX}}return Ue({onItemEnter:e=>!!E(e),onItemLeave:e=>{var o;E(e)||((o=P.value)==null||o.focus(),A.value=null)},onTriggerLeave:e=>!!E(e),searchRef:f,pointerGraceTimerRef:m,onPointerGraceIntentChange:e=>{q.value=e}}),(e,o)=>(_(),b(t(be),{"as-child":"",trapped:t(g),onMountAutoFocus:Q,onUnmountAutoFocus:o[7]||(o[7]=a=>u("closeAutoFocus",a))},{default:y(()=>[F(t(ge),{"as-child":"","disable-outside-pointer-events":t(l),onEscapeKeyDown:o[2]||(o[2]=a=>u("escapeKeyDown",a)),onPointerDownOutside:o[3]||(o[3]=a=>u("pointerDownOutside",a)),onFocusOutside:o[4]||(o[4]=a=>u("focusOutside",a)),onInteractOutside:o[5]||(o[5]=a=>u("interactOutside",a)),onDismiss:o[6]||(o[6]=a=>u("dismiss"))},{default:y(()=>[F(t(me),{ref_key:"rovingFocusGroupRef",ref:U,"current-tab-stop-id":A.value,"onUpdate:currentTabStopId":o[0]||(o[0]=a=>A.value=a),"as-child":"",orientation:"vertical",dir:t(n).dir.value,loop:t(r),onEntryFocus:o[1]||(o[1]=a=>{u("entryFocus",a),t(n).isUsingKeyboardRef.value||a.preventDefault()})},{default:y(()=>[F(t(ve),{ref:t(J),role:"menu",as:e.as,"as-child":e.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":t(qe)(t(c).open.value),dir:t(n).dir.value,side:e.side,"side-offset":e.sideOffset,align:e.align,"align-offset":e.alignOffset,"avoid-collisions":e.avoidCollisions,"collision-boundary":e.collisionBoundary,"collision-padding":e.collisionPadding,"arrow-padding":e.arrowPadding,"prioritize-position":e.prioritizePosition,"position-strategy":e.positionStrategy,"update-position-strategy":e.updatePositionStrategy,sticky:e.sticky,"hide-when-detached":e.hideWhenDetached,reference:e.reference,onKeydown:x,onBlur:ee,onPointermove:te},{default:y(()=>[h(e.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),H=je,ze=C({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const p=i,d=Y(),{forwardRef:u}=I(),{CollectionItem:c}=Pe(),n=v(!1);async function g(r){if(!r.defaultPrevented&&K(r)){if(p.disabled)d.onItemLeave(r);else if(!d.onItemEnter(r)){const s=r.currentTarget;s==null||s.focus({preventScroll:!0})}}}async function l(r){await S(),!r.defaultPrevented&&K(r)&&d.onItemLeave(r)}return(r,f)=>(_(),b(t(c),{value:{textValue:r.textValue}},{default:y(()=>[F(t(Se),M({ref:t(u),role:"menuitem",tabindex:"-1"},r.$attrs,{as:r.as,"as-child":r.asChild,"aria-disabled":r.disabled||void 0,"data-disabled":r.disabled?"":void 0,"data-highlighted":n.value?"":void 0,onPointermove:g,onPointerleave:l,onFocus:f[0]||(f[0]=async s=>{await S(),!(s.defaultPrevented||r.disabled)&&(n.value=!0)}),onBlur:f[1]||(f[1]=async s=>{await S(),!s.defaultPrevented&&(n.value=!1)})}),{default:y(()=>[h(r.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),Ge=ze,Ve=C({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:p}){const d=i,u=p,{forwardRef:c,currentElement:n}=I(),g=L(),l=Y(),r=v(!1);async function f(){const s=n.value;if(!d.disabled&&s){const m=new CustomEvent(Fe,{bubbles:!0,cancelable:!0});u("select",m),await S(),m.defaultPrevented?r.value=!1:g.onClose()}}return(s,m)=>(_(),b(Ge,M(d,{ref:t(c),onClick:f,onPointerdown:m[0]||(m[0]=()=>{r.value=!0}),onPointerup:m[1]||(m[1]=async q=>{var w;await S(),!q.defaultPrevented&&(r.value||(w=q.currentTarget)==null||w.click())}),onKeydown:m[2]||(m[2]=async q=>{const w=t(l).searchRef.value!=="";s.disabled||w&&q.key===" "||t(Oe).includes(q.key)&&(q.currentTarget.click(),q.preventDefault())})}),{default:y(()=>[h(s.$slots,"default")]),_:3},16))}}),rt=Ve,We=C({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(i,{emit:p}){const d=i,u=p,c=$(d,u),n=R(),{forwardRef:g,currentElement:l}=I();return De(l),(r,f)=>(_(),b(H,M(t(c),{ref:t(g),"trap-focus":t(n).open.value,"disable-outside-pointer-events":t(n).open.value,"disable-outside-scroll":!0,onDismiss:f[0]||(f[0]=s=>t(n).onOpenChange(!1)),onFocusOutside:f[1]||(f[1]=Ie(s=>u("focusOutside",s),["prevent"]))}),{default:y(()=>[h(r.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),Xe=We,Ye=C({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(i,{emit:p}){const c=$(i,p),n=R();return(g,l)=>(_(),b(H,M(t(c),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:l[0]||(l[0]=r=>t(n).onOpenChange(!1))}),{default:y(()=>[h(g.$slots,"default")]),_:3},16))}}),He=Ye,Je=C({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(i,{emit:p}){const c=$(i,p),n=R(),g=L();return(l,r)=>(_(),b(t(Re),{present:l.forceMount||t(n).open.value},{default:y(()=>[t(g).modal.value?(_(),b(Xe,D(M({key:0},{...l.$attrs,...t(c)})),{default:y(()=>[h(l.$slots,"default")]),_:3},16)):(_(),b(He,D(M({key:1},{...l.$attrs,...t(c)})),{default:y(()=>[h(l.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),ot=Je,Ze=C({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const p=i;return(d,u)=>(_(),b(t(ke),D(W(p)),{default:y(()=>[h(d.$slots,"default")]),_:3},16))}}),at=Ze;export{rt as M,tt as a,ot as b,at as c,et as d,L as e,H as f,Y as g,Ge as h,R as i,Ne as p};