import{a2 as H,u as $,aM as h,a8 as j,aN as z,ab as d,bd as E,c as p,aa as q,a as n,o as l,w as s,p as f,f as b,b as a,n as M,r as m,aQ as k,aR as _,M as C,aS as V}from"./DdR3RJxP.js";import{H as x,P as F}from"./6VDjkwOQ.js";const K={slots:{content:"bg-default shadow-lg rounded-md ring ring-default data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-popover-content-transform-origin) focus:outline-none pointer-events-auto",arrow:"fill-default"}},G={__name:"Popover",props:{mode:{type:String,required:!1,default:"click"},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:null,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},modal:{type:Boolean,required:!1},openDelay:{type:Number,required:!1,default:0},closeDelay:{type:Number,required:!1,default:0}},emits:["close:prevent","update:open"],setup(v,{emit:B}){const e=v,y=B,u=H(),O=$(),D=e.mode==="hover"?h(e,"defaultOpen","open","openDelay","closeDelay"):h(e,"defaultOpen","open","modal"),N=j(D,y),S=z(d(()=>e.portal)),g=d(()=>E(e.content,{side:"bottom",sideOffset:8,collisionPadding:8})),A=p(()=>e.dismissible?{}:["pointerDownOutside","interactOutside","escapeKeyDown"].reduce((i,c)=>(i[c]=r=>{r.preventDefault(),y("close:prevent")},i),{})),R=d(()=>e.arrow),P=p(()=>{var o;return q({extend:q(K),...((o=O.ui)==null?void 0:o.popover)||{}})({side:g.value.side})}),t=p(()=>e.mode==="hover"?x:F);return(o,i)=>(l(),n(a(t).Root,k(_(a(N))),{default:s(({open:c})=>[u.default?(l(),n(a(t).Trigger,{key:0,"as-child":"",class:M(e.class)},{default:s(()=>[m(o.$slots,"default",{open:c})]),_:2},1032,["class"])):f("",!0),"Anchor"in t.value&&u.anchor?(l(),n(a(t).Anchor,{key:1,"as-child":""},{default:s(()=>[m(o.$slots,"anchor")]),_:3})):f("",!0),b(a(t).Portal,k(_(a(S))),{default:s(()=>{var r;return[b(a(t).Content,C(g.value,{class:P.value.content({class:[!u.default&&e.class,(r=e.ui)==null?void 0:r.content]})},V(A.value)),{default:s(()=>{var w;return[m(o.$slots,"content"),v.arrow?(l(),n(a(t).Arrow,C({key:0},R.value,{class:P.value.arrow({class:(w=e.ui)==null?void 0:w.arrow})}),null,16,["class"])):f("",!0)]}),_:3},16,["class"])]}),_:3},16)]),_:3},16))}};export{G as _};