mailymaily/dist/mailgo.min.js

1 line
17 KiB
JavaScript

"use strict";var V="0.7.6",mailgoCSS=document.createElement("style");mailgoCSS.id="mailgo-style",mailgoCSS.type="text/css";var mailgoCSSContent=document.createTextNode('.mailgo-modal{position:fixed;top:0;right:0;bottom:0;left:0;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.mailgo-modal a,.mailgo-modal p,.mailgo-modal span,.mailgo-modal strong{margin:0;padding:0;font-size:100%;line-height:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.mailgo-modal strong{font-weight:700}.mailgo-modal .mailgo-modal-background{position:absolute;z-index:10001;top:0;right:0;bottom:0;left:0;background-color:rgba(32,35,42,.75);opacity:.8}.mailgo-modal .mailgo-modal-content,.mailgo-modal .mailgo-modal-content a{display:block;color:#4a4a4a;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mailgo-modal .mailgo-modal-content{position:relative;z-index:10002;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:.97;-webkit-box-shadow:0 3px 8px 0 rgba(32,35,42,.12);-moz-box-shadow:0 3px 8px 0 rgba(32,35,42,.12);box-shadow:0 3px 8px 0 rgba(32,35,42,.12);overflow:auto;padding:20px}.mailgo-modal .mailgo-modal-content:hover{opacity:1;-webkit-box-shadow:0 18px 30px 0 rgba(32,35,42,.23);-moz-box-shadow:0 18px 30px 0 rgba(32,35,42,.23);box-shadow:0 18px 30px 0 rgba(32,35,42,.23)}.mailgo-modal .mailgo-modal-content .mailgo-title{display:block;margin-bottom:5px;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.mailgo-modal .mailgo-modal-content .mailgo-details{margin-bottom:10px}.mailgo-modal .mailgo-modal-content .mailgo-details p{font-size:12px;margin-top:3px;margin-bottom:3px}.mailgo-modal .mailgo-modal-content a{padding:10px;text-decoration:none}.mailgo-modal .mailgo-modal-content a.mailgo-gmail{color:#d44638}.mailgo-modal .mailgo-modal-content a.mailgo-outlook{color:#0072c6}.mailgo-modal .mailgo-modal-content a.mailgo-wa{color:#00bfa5}.mailgo-modal .mailgo-modal-content a.mailgo-telegram{color:#08c}.mailgo-modal .mailgo-modal-content a.mailgo-skype{color:#00aff0}.mailgo-modal .mailgo-modal-content a.mailgo-copy{padding:16px 10px;font-size:16px}.mailgo-modal .mailgo-modal-content a.mailgo-copy:hover,.mailgo-modal .mailgo-modal-content a.mailgo-default:hover{background-color:rgba(0,0,0,.08);color:#4a4a4a}.mailgo-modal .mailgo-modal-content a.mailgo-gmail:hover{background-color:rgba(212,70,56,.08);color:#d44638}.mailgo-modal .mailgo-modal-content a.mailgo-outlook:hover{background-color:rgba(0,114,198,.08);color:#0072c6}.mailgo-modal .mailgo-modal-content a.mailgo-telegram:hover{background-color:rgba(0,114,198,.08);color:#08c}.mailgo-modal .mailgo-modal-content a.mailgo-wa:hover{background-color:rgba(0,191,165,.08);color:#00bfa5}.mailgo-modal .mailgo-modal-content a.mailgo-skype:hover{background-color:rgba(0,175,240,.08);color:#00aff0}.mailgo-modal .mailgo-modal-content a.mailgo-by{display:block;font-size:8px;margin-top:1rem;padding:0;color:#4a4a4a;opacity:.5}.mailgo-modal .mailgo-modal-content a.mailgo-by:hover{opacity:1}.mailgo-modal .mailgo-modal-content .mailgo-weight-500{font-weight:500}');mailgoCSS.appendChild(mailgoCSSContent),document.head.appendChild(mailgoCSS);var gmailButton,outlookButton,openButton,telegramButton,waButton,skypeButton,callButton,copyButton,MAILTO="mailto:",TEL="tel:",CALLTO="callto:",MAIL_TYPE="mail",TEL_TYPE="tel",DEFAULT_BTN_HREF="javascript:void(0);",url="",mail="",encEmail="",cc="",bcc="",subject="",bodyMail="",tel="",msg="",telegramUsername="",skypeUsername="",mailgoInit=function(){var e=document.createElement("div");e.style.display="none",e.id="mailgo",e.classList.add("mailgo-modal");var a=document.createElement("div");a.className="mailgo-modal-background",e.appendChild(a);var t=document.createElement("div");t.className="mailgo-modal-content",e.appendChild(t);var o=document.createElement("strong");o.id="mailgo-title",o.className="mailgo-title",t.appendChild(o);var l=document.createElement("div");l.id="mailgo-details",l.className="mailgo-details";var i=document.createElement("p");i.id="mailgo-cc";var n=document.createElement("span");n.className="mailgo-weight-500";var d=document.createTextNode("cc ");n.appendChild(d);var c=document.createElement("span");c.id="mailgo-cc-value",i.appendChild(n),i.appendChild(c),l.appendChild(i);var m=document.createElement("p");m.id="mailgo-bcc";var r=document.createElement("span");r.className="mailgo-weight-500";var s=document.createTextNode("bcc ");r.appendChild(s);var g=document.createElement("span");g.id="mailgo-bcc-value",m.appendChild(r),m.appendChild(g),l.appendChild(m);var p=document.createElement("p");p.id="mailgo-subject";var u=document.createElement("span");u.className="mailgo-weight-500";var h=document.createTextNode("subject ");u.appendChild(h);var b=document.createElement("span");b.id="mailgo-subject-value",p.appendChild(u),p.appendChild(b),l.appendChild(p);var E=document.createElement("p");E.id="mailgo-body";var v=document.createElement("span");v.className="mailgo-weight-500";var f=document.createTextNode("body ");v.appendChild(f);var y=document.createElement("span");y.id="mailgo-body-value",E.appendChild(v),E.appendChild(y),l.appendChild(E),t.appendChild(l);var L=document.createElement("a");L.id="mailgo-gmail",L.href=DEFAULT_BTN_HREF,L.classList.add("mailgo-open"),L.classList.add("mailgo-gmail");var C=document.createTextNode("open in ");L.appendChild(C);var T=document.createElement("span");T.className="mailgo-weight-500";var k=document.createTextNode("Gmail");T.appendChild(k),L.appendChild(T),t.appendChild(L);var x=document.createElement("a");x.id="mailgo-outlook",x.href=DEFAULT_BTN_HREF,x.classList.add("mailgo-open"),x.classList.add("mailgo-outlook");var w=document.createTextNode("open in ");x.appendChild(w);var A=document.createElement("span");A.className="mailgo-weight-500";var M=document.createTextNode("Outlook");A.appendChild(M),x.appendChild(A),t.appendChild(x);var N=document.createElement("a");N.id="mailgo-open",N.href=DEFAULT_BTN_HREF,N.classList.add("mailgo-open"),N.classList.add("mailgo-default");var _=document.createElement("span");_.className="mailgo-weight-500";var B=document.createTextNode("open");_.appendChild(B);var I=document.createTextNode(" default");N.appendChild(_),N.appendChild(I),t.appendChild(N);var S=document.createElement("a");S.id="mailgo-copy",S.href=DEFAULT_BTN_HREF,S.classList.add("mailgo-copy"),S.classList.add("mailgo-weight-500");var U=document.createTextNode("copy");S.appendChild(U),t.appendChild(S);var j=document.createElement("a");j.href="https://mailgo.js.org?ref=mailgo-modal",j.className="mailgo-by",j.target="_blank",j.rel="noopener noreferrer";var R=document.createTextNode("mailgo.js.org");j.appendChild(R),t.appendChild(j),document.body.appendChild(e),a.addEventListener("click",hideMailgo);var D=document.createElement("div");D.style.display="none",D.id="mailgo-tel",D.classList.add("mailgo-modal");var P=document.createElement("div");P.className="mailgo-modal-background",D.appendChild(P);var Y=document.createElement("div");Y.className="mailgo-modal-content",D.appendChild(Y);var z=document.createElement("strong");z.id="mailgo-tel-title",z.className="mailgo-title",Y.appendChild(z);var F=document.createElement("a");F.id="mailgo-telegram",F.href=DEFAULT_BTN_HREF,F.classList.add("mailgo-open"),F.classList.add("mailgo-telegram"),F.style.display="none";var H=document.createTextNode("open in ");F.appendChild(H);var O=document.createElement("span");O.className="mailgo-weight-500";var W=document.createTextNode("Telegram");O.appendChild(W),F.appendChild(O),Y.appendChild(F);var G=document.createElement("a");G.id="mailgo-wa",G.href=DEFAULT_BTN_HREF,G.classList.add("mailgo-open"),G.classList.add("mailgo-wa");var K=document.createTextNode("open in ");G.appendChild(K);var Z=document.createElement("span");Z.className="mailgo-weight-500";var V=document.createTextNode("WhatsApp");Z.appendChild(V),G.appendChild(Z),Y.appendChild(G);var $=document.createElement("a");$.id="mailgo-skype",$.href=DEFAULT_BTN_HREF,$.classList.add("mailgo-open"),$.classList.add("mailgo-skype");var q=document.createTextNode("open in ");$.appendChild(q);var J=document.createElement("span");J.className="mailgo-weight-500";var Q=document.createTextNode("Skype");J.appendChild(Q),$.appendChild(J),Y.appendChild($);var X=document.createElement("a");X.id="mailgo-call",X.href=DEFAULT_BTN_HREF,X.classList.add("mailgo-open"),X.classList.add("mailgo-default");var ee=document.createElement("span");ee.className="mailgo-weight-500";var ae=document.createTextNode("call");ee.appendChild(ae);var te=document.createTextNode(" as default");X.appendChild(ee),X.appendChild(te),Y.appendChild(X);var oe=document.createElement("a");oe.id="mailgo-tel-copy",oe.href=DEFAULT_BTN_HREF,oe.classList.add("mailgo-copy"),oe.classList.add("mailgo-weight-500");var le=document.createTextNode("copy");oe.appendChild(le),Y.appendChild(oe);var ie=document.createElement("a");ie.href="https://mailgo.js.org?ref=mailgo-modal",ie.className="mailgo-by",ie.target="_blank",ie.rel="noopener noreferrer";var ne=document.createTextNode("mailgo.js.org");ie.appendChild(ne),Y.appendChild(ie),document.body.appendChild(D),P.addEventListener("click",hideMailgo)},mailgoRender=function(e,a){var t=0<arguments.length&&void 0!==e?e:MAIL_TYPE,o=1<arguments.length?a:void 0;if(t===MAIL_TYPE){if(o.href&&o.href.toLowerCase().startsWith(MAILTO)){mail=decodeURIComponent(o.href.split("?")[0].split(MAILTO)[1].trim()),url=new URL(o.href);var l=new URLSearchParams(url.search);cc=l.get("cc"),bcc=l.get("bcc"),subject=l.get("subject"),bodyMail=l.get("body")}else mail=o.getAttribute("data-address")+"@"+o.getAttribute("data-domain"),url=new URL(MAILTO+encodeURIComponent(mail)),cc=o.getAttribute("data-cc-address")+"@"+o.getAttribute("data-cc-domain"),bcc=o.getAttribute("data-bcc-address")+"@"+o.getAttribute("data-bcc-domain"),subject=o.getAttribute("data-subject"),bodyMail=o.getAttribute("data-body");if(!validateEmails(mail.split(",")))return;cc&&!validateEmails(cc.split(","))&&(cc=""),bcc&&!validateEmails(bcc.split(","))&&(bcc="");var i=getE("mailgo-title"),n=(getE("mailgo-details"),getE("mailgo-cc")),d=getE("mailgo-cc-value"),c=getE("mailgo-bcc"),m=getE("mailgo-bcc-value"),r=getE("mailgo-subject"),s=getE("mailgo-subject-value"),g=getE("mailgo-body"),p=getE("mailgo-body-value");gmailButton=getE("mailgo-gmail"),outlookButton=getE("mailgo-outlook"),openButton=getE("mailgo-open"),copyButton=getE("mailgo-copy"),i.innerHTML=mail.split(",").join("<br/>"),cc?(n.style.display="block",d.innerHTML=cc.split(",").join("<br/>")):n.style.display="none",bcc?(c.style.display="block",m.innerHTML=bcc.split(",").join("<br/>")):c.style.display="none",subject?(r.style.display="block",s.textContent=subject):r.style.display="none",bodyMail?(g.style.display="block",p.textContent=bodyMail):g.style.display="none",gmailButton.addEventListener("click",function(){return actions.openGmail()}),outlookButton.addEventListener("click",function(){return actions.openOutlook()}),encEmail=encodeEmail(mail),openButton.addEventListener("click",function(){return actions.openDefault()}),copyButton.addEventListener("click",function(){return actions.copy(mail||tel)})}if(t===TEL_TYPE){o.href&&o.href.toLowerCase().startsWith(TEL)?tel=decodeURIComponent(o.href.split("?")[0].split(TEL)[1].trim()):o.href&&o.href.toLowerCase().startsWith(CALLTO)?tel=decodeURIComponent(o.href.split("?")[0].split(CALLTO)[1].trim()):o.hasAttribute("data-tel")&&(tel=o.getAttribute("data-tel"),msg=o.getAttribute("data-msg"));var u=getE("mailgo-tel-title");o.hasAttribute("data-telegram")&&(telegramUsername=o.getAttribute("data-telegram")),o.hasAttribute("data-skype")&&(skypeUsername=o.getAttribute("data-skype")),telegramButton=getE("mailgo-telegram"),waButton=getE("mailgo-wa"),skypeButton=getE("mailgo-skype"),callButton=getE("mailgo-call"),copyButton=getE("mailgo-tel-copy"),u.innerHTML=tel,waButton.addEventListener("click",function(){return actions.openWhatsApp()}),telegramUsername&&(setDisplay("mailgo-telegram","block"),telegramButton.addEventListener("click",function(){return actions.openTelegram()})),skypeButton.addEventListener("click",function(){return actions.openSkype()}),callButton.addEventListener("click",function(){return actions.callDefault()}),copyButton.addEventListener("click",function(){return actions.copy(tel)})}showMailgo(t),document.addEventListener("keydown",mailgoKeydown)},actions={openGmail:function(){var e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(mail);cc&&(e=e.concat("&cc="+encodeURIComponent(cc))),bcc&&(e=e.concat("&bcc="+encodeURIComponent(bcc))),subject&&(e=e.concat("&subject="+subject)),bodyMail&&(e=e.concat("&body="+bodyMail)),window.open(e,"_blank"),hideMailgo()},openOutlook:function(){var e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(mail);subject&&(e=e.concat("&subject="+subject)),bodyMail&&(e=e.concat("&body="+bodyMail)),window.open(e,"_blank"),hideMailgo()},openDefault:function(){mailToEncoded(encEmail),hideMailgo()},openTelegram:function(){var e="https://t.me/"+telegramUsername;window.open(e,"_blank"),hideMailgo()},openSkype:function(){var e="skype:"+(""!==skypeUsername?skypeUsername:tel);window.open(e,"_blank"),hideMailgo()},openWhatsApp:function(){var e="https://wa.me/"+tel;window.open(e,"_blank"),hideMailgo()},callDefault:function(){var e="tel:"+tel;window.open(e),hideMailgo()},copy:function(e){copyToClipboard(e),(copyButton=mailgoIsShowing(MAIL_TYPE)?getE("mailgo-copy"):getE("mailgo-tel-copy")).textContent="copied",setTimeout(function(){copyButton.textContent="copy",hideMailgo()},999)}},isMailgo=function(e,a){var t=1<arguments.length&&void 0!==a?a:MAIL_TYPE;return t===MAIL_TYPE?e.href&&e.href.toLowerCase().startsWith(MAILTO)&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-address")&&(e.href&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo")):t===TEL_TYPE&&(e.href&&(e.href.toLowerCase().startsWith(TEL)||e.href.toLowerCase().startsWith(CALLTO))&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-tel")&&e.href&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo"))},mailgoCheckRender=function(a){if(document.contains(getE("mailgo"))&&document.contains(getE("mailgo-tel"))&&!mailgoIsShowing(MAIL_TYPE)&&!mailgoIsShowing(TEL_TYPE)){var e=a.path||a.composedPath&&a.composedPath()||composedPath(a.target);e&&e.forEach(function(e){if(!(e instanceof HTMLDocument||e instanceof Window))return isMailgo(e,MAIL_TYPE)?(a.preventDefault(),void mailgoRender(MAIL_TYPE,e)):isMailgo(e,TEL_TYPE)?(a.preventDefault(),void mailgoRender(TEL_TYPE,e)):void 0})}},mailgoKeydown=function(e){if(mailgoIsShowing(MAIL_TYPE))switch(e.keyCode){case 27:hideMailgo();break;case 71:actions.openGmail();break;case 79:actions.openOutlook();break;case 32:case 13:actions.openDefault();break;case 67:actions.copy(mail);break;default:return}else if(mailgoIsShowing(TEL_TYPE))switch(e.keyCode){case 27:hideMailgo();break;case 84:actions.openTelegram();break;case 87:actions.openWhatsApp();break;case 32:case 13:actions.callDefault();break;case 67:actions.copy(tel);break;default:return}};document.addEventListener("DOMContentLoaded",mailgoInit),document.addEventListener("click",mailgoCheckRender);var showMailgo=function(e){var a=0<arguments.length&&void 0!==e?e:MAIL_TYPE;a!==MAIL_TYPE?a!==TEL_TYPE||setDisplay("mailgo-tel","flex"):setDisplay("mailgo","flex")},hideMailgo=function(){setDisplay("mailgo","none"),setDisplay("mailgo-tel","none"),document.removeEventListener("keydown",mailgoKeydown)},mailgoIsShowing=function(e){var a=0<arguments.length&&void 0!==e?e:MAIL_TYPE;return a===MAIL_TYPE?"flex"===getDisplay("mailgo"):a===TEL_TYPE&&"flex"===getDisplay("mailgo-tel")},mailToEncoded=function(e){return window.location.href=MAILTO+atob(e)},encodeEmail=function(e){return btoa(e)},getE=function(e){return document.getElementById(e)},getDisplay=function(e){return getE(e).style.display},setDisplay=function(e,a){return getE(e).style.display=a},composedPath=function(e){for(var a=[];e;){if(a.push(e),"HTML"===e.tagName)return a.push(document),a.push(window),a;e=e.parentElement}},validateEmail=function(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},validateEmails=function(e){return e.every(validateEmail)},copyToClipboard=function(e){var a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a);var t=0<document.getSelection().rangeCount&&document.getSelection().getRangeAt(0);a.select(),document.execCommand("copy"),document.body.removeChild(a),t&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(t))};