1import{u as y,e as x,x as $,Y as S,F as C,r as N,d as U,l as i,i as k,M as V,w,z as p,j as v,H as I,I as B,n as g,T,cl as L,o as h,m as O,k as j,t as A}from"./CqnnrEej.js";import{c as F,s as M}from"./TYIm_1Kr.js";function R(){const{t:e}=y(),o=x(),u=N(!1);$(()=>{u.value=S()&&!!C("Share")});function m(a,t){const n=encodeURIComponent(t.url),s=encodeURIComponent(t.title),r=encodeURIComponent(t.description||t.title);return{twitter:`https://x.com/intent/tweet?text=${s}&url=${n}`,facebook:`https://www.facebook.com/sharer.php?u=${n}`,linkedin:`https://www.linkedin.com/sharing/share-offsite/?url=${n}`,whatsapp:`https://api.whatsapp.com/send?text=${s}%20${n}`,email:`mailto:?subject=${s}&body=${r}%20${n}`}[a]}function f(a,t){const n=m(a,t);a==="email"?window.location.href=n:window.open(n,"_blank","width=600,height=400")}async function b(a){await M({title:a.title,text:a.title,url:a.url,dialogTitle:e("share.share")})||await l(a.url)}async function l(a){let t=await F(a);if(!t)try{await navigator.clipboard.writeText(a),t=!0}catch{t=!1}t&&o.add({title:e("share.link_copied"),icon:"i-lucide-check",color:"success"})}return{shareOn:f,shareNative:b,copyLink:l,getShareUrl:m,hasNativeSheet:u}}const D={class:"inline-flex hover-spring"},E={key:2,class:"flex items-center gap-2"},H=U({__name:"SocialShare",props:{url:{},title:{},description:{},imageUrl:{},variant:{default:"dropdown"},platforms:{default:()=>["twitter","facebook","linkedin","whatsapp","email"]},color:{default:"neutral"},size:{default:"md"},buttonVariant:{default:"ghost"}},setup(e){const{t:o}=y(),{shareOn:u,shareNative:m,copyLink:f,hasNativeSheet:b}=R(),l=e,a={twitter:{icon:"i-simple-icons-x",label:"X"},facebook:{icon:"i-simple-icons-facebook",label:"Facebook"},linkedin:{icon:"i-simple-icons-linkedin",label:"LinkedIn"},whatsapp:{icon:"i-simple-icons-whatsapp",label:"WhatsApp"},email:{icon:"i-lucide-mail",label:"Email"}},t=g(()=>({url:l.url,title:l.title,description:l.description,imageUrl:l.imageUrl})),n=g(()=>[[{label:o("share.copy_link"),icon:"i-lucide-link",onSelect:()=>f(l.url)}],l.platforms.map(s=>({label:o("share.share_on",{platform:a[s].label}),icon:a[s].icon,onSelect:()=>u(s,t.value)}))]);return(s,r)=>{const d=T,z=L;return i(b)?(h(),k(d,{key:0,icon:"i-lucide-share-2",color:e.color,variant:e.buttonVariant,size:e.size,label:e.variant==="dropdown"?i(o)("share.share"):void 0,"aria-label":i(o)("share.share"),class:V(e.variant==="dropdown"?"font-sans hover:bg-transparent!":void 0),onClick:r[0]||(r[0]=c=>i(m)(i(t)))},null,8,["color","variant","size","label","aria-label","class"])):e.variant==="dropdown"?(h(),k(z,{key:1,items:i(n)},{default:w(()=>[O("span",D,[v(d,{icon:"i-lucide-share-2",color:e.color,variant:e.buttonVariant,size:e.size,class:"font-sans hover:bg-transparent!"},{default:w(()=>[j(A(i(o)("share.share")),1)]),_:1},8,["color","variant","size"])])]),_:1},8,["items"])):(h(),p("div",E,[v(d,{icon:"i-lucide-link",color:e.color,variant:e.buttonVariant,size:e.size,"aria-label":i(o)("share.copy_link"),onClick:r[1]||(r[1]=c=>i(f)(e.url))},null,8,["color","variant","size","aria-label"]),(h(!0),p(I,null,B(e.platforms,c=>(h(),k(d,{key:c,icon:a[c].icon,color:e.color,variant:e.buttonVariant,size:e.size,"aria-label":i(o)("share.share_on",{platform:a[c].label}),onClick:P=>i(u)(c,i(t))},null,8,["icon","color","variant","size","aria-label","onClick"]))),128))]))}}}),Y=Object.assign(H,{__name:"AppSocialShare"});export{Y 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.