UNPKG

ca-web-components

Version:

web components for Clínica Alemana

29 lines (27 loc) 2.45 kB
var n=Object.defineProperty;var h=(e,t,i)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var o=(e,t,i)=>h(e,typeof t!="symbol"?t+"":t,i);import{i as l,r as c,x as a}from"../assets/unsafe-html-DS3AO1W7.js";const p=l` :host { display: flex; } button { cursor: pointer; margin: 0.5em; padding: 1rem; display: flex; align-items: center; gap: 8px; border-radius: 8px; border-color: transparent; } @media (max-width: 768px) { :host { flex-direction: column; } } `;class s extends c{constructor(){super(),this.shareFacebook=this.shareFacebook.bind(this),this.shareTwitter=this.shareTwitter.bind(this),this.shareWhatsApp=this.shareWhatsApp.bind(this),this.shareTelegram=this.shareTelegram.bind(this),this.shareEmail=this.shareEmail.bind(this),this.platforms=[{title:"WhatsApp",icon:"flat-whatsapp",share:this.shareWhatsApp},{title:"Twitter",icon:"flat-twitter",share:this.shareTwitter},{title:"Facebook",icon:"flat-facebook",share:this.shareFacebook},{title:"Telegram",icon:"flat-telegram",share:this.shareTelegram},{title:"Correo",icon:"flat-mail",share:this.shareEmail}]}static get properties(){return{title:{type:String}}}render(){return a` ${this.platforms.map(({title:t,icon:i,share:r})=>a` <button @click=${()=>r()}> <cas-icon name=${i}></cas-icon> ${t} </button>`)} <button @click=${this.copyToClipboard}>Copiar link</button> `}shareFacebook(){const t=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(window.location.href)}`;window.open(t,"_blank","width=550,height=420")}shareTwitter(){const t=`https://twitter.com/intent/tweet?text=${encodeURIComponent(`${this.title} ${window.location.href}`)}`;window.open(t,"_blank","width=550,height=420")}shareWhatsApp(){const t=`https://wa.me/?text=${encodeURIComponent(`${this.title} ${window.location.href}`)}`;window.open(t,"_blank","width=550,height=420")}shareTelegram(){const t=`https://t.me/share/url?text=${encodeURIComponent(`${this.title} ${window.location.href}`)}`;window.open(t,"_blank","width=550,height=420")}shareEmail(){const t=`mailto:?subject=${encodeURIComponent(this.title)}&body=${encodeURIComponent(window.location.href)}`;window.open(t,"_blank")}copyToClipboard(){navigator.clipboard.writeText(window.location.href)}}o(s,"styles",p);customElements.define("ca-share",s);