1import{d as w,Q as C,y as E,E as B,c as l,b as n,g as c,e as M,f as O,U as D,o as i,n as I,t as f,h as p,F as L,i as v,s as N,q as P}from"./uv7Rk5x0.js";const V=["aria-label","aria-expanded"],R={key:0,class:"absolute right-0 top-full mt-1 z-50 min-w-[160px] bg-surface-container-lowest rounded-xl border border-outline-variant/25 shadow-lg overflow-hidden",role:"menu"},h=w({__name:"PostMenu",props:{messageId:{},senderId:{},bookmarked:{type:Boolean},isOwner:{type:Boolean},canModerate:{type:Boolean}},emits:["bookmark","edit","delete"],setup(o,{emit:g}){const k=o,u=g,s=C("open-post-menu",()=>null),a=N(()=>s.value===k.messageId),d=P(null);function x(t){t.preventDefault(),t.stopPropagation(),s.value=a.value?null:k.messageId}function m(t,e){t.preventDefault(),t.stopPropagation(),s.value=null,e()}function b(t){a.value&&d.value&&!d.value.contains(t.target)&&(s.value=null)}function y(t){t.key==="Escape"&&a.value&&(s.value=null)}return E(()=>{document.addEventListener("click",b),document.addEventListener("keydown",y)}),B(()=>{document.removeEventListener("click",b),document.removeEventListener("keydown",y)}),(t,e)=>(i(),l("div",{ref_key:"menuRef",ref:d,class:"relative"},[n("button",{class:"p-1 rounded hover:bg-surface-container transition-colors","aria-label":c(a)?"Close menu":"More options","aria-expanded":c(a),onClick:x},[...e[3]||(e[3]=[n("span",{class:"material-symbols-outlined icon-sm","aria-hidden":"true"},"more_vert",-1)])],8,V),M(D,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"opacity-0 scale-95 -translate-y-1","enter-to-class":"opacity-100 scale-100 translate-y-0","leave-active-class":"transition duration-75 ease-in","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:O(()=>[c(a)?(i(),l("div",R,[n("button",{class:"w-full flex items-center gap-2.5 px-3 py-2.5 text-sm text-on-surface hover:bg-surface-container transition-colors",role:"menuitem",onClick:e[0]||(e[0]=r=>m(r,()=>u("bookmark")))},[n("span",{class:I(["material-symbols-outlined icon-sm",o.bookmarked?"filled text-primary":""]),"aria-hidden":"true"},f(o.bookmarked?"bookmark":"bookmark_border"),3),p(" "+f(o.bookmarked?"Remove bookmark":"Bookmark"),1)]),o.isOwner||o.canModerate?(i(),l(L,{key:0},[e[6]||(e[6]=n("div",{class:"border-t border-outline-variant/15"},null,-1)),o.isOwner?(i(),l("button",{key:0,class:"w-full flex items-center gap-2.5 px-3 py-2.5 text-sm text-on-surface hover:bg-surface-container transition-colors",role:"menuitem",onClick:e[1]||(e[1]=r=>m(r,()=>u("edit")))},[...e[4]||(e[4]=[n("span",{class:"material-symbols-outlined icon-sm","aria-hidden":"true"},"edit",-1),p(" Edit ",-1)])])):v("",!0),n("button",{class:"w-full flex items-center gap-2.5 px-3 py-2.5 text-sm text-error hover:bg-error/8 transition-colors",role:"menuitem",onClick:e[2]||(e[2]=r=>m(r,()=>u("delete")))},[e[5]||(e[5]=n("span",{class:"material-symbols-outlined icon-sm","aria-hidden":"true"},"delete",-1)),p(" "+f(o.isOwner?"Delete":"Delete as moderator"),1)])],64)):v("",!0)])):v("",!0)]),_:1})],512))}}),F=Object.assign(h,{__name:"PostMenu"});export{F as _};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.