diff --git a/dist/mailgo.min.js b/dist/mailgo.min.js index 2e27238..75b8f31 100644 --- a/dist/mailgo.min.js +++ b/dist/mailgo.min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.mailgo=t():e.mailgo=t()}(window,(function(){return function(e){var t={};function o(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(a,n,function(t){return e[t]}.bind(null,n));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";o.r(t);const a="javascript:void(0);",n="span";let l,i,d,s,m,c,r,p,b,u,h,g,f,x,w,y,C,k,v,L,z="",j="",A="",E="",N="",S="",R="",U="",I="",M="";const _=e=>{{let e=X();e.style.display="none",e.id="mailgo",e.classList.add("m-modal");let t=X();t.className="m-modal-back",e.appendChild(t);let o=X();o.className="m-modal-content",e.appendChild(o),i=X("strong"),i.id="m-title",i.className="m-title",o.appendChild(i);let l=X();l.id="m-details",l.className="m-details",s=X("p"),s.id="m-cc";let d=X(n);d.className="w-500",d.appendChild(Y("cc ")),p=X(n),p.id="m-cc-value",s.appendChild(d),s.appendChild(p),l.appendChild(s),m=X("p"),m.id="m-bcc";let w=X(n);w.className="w-500",w.appendChild(Y("bcc ")),b=X(n),b.id="m-bcc-value",m.appendChild(w),m.appendChild(b),l.appendChild(m),c=X("p"),c.id="m-subject";let y=X(n);y.className="w-500",y.appendChild(Y("subject ")),u=X(n),u.id="m-subject-value",c.appendChild(y),c.appendChild(u),l.appendChild(c),r=X("p"),r.id="m-body";let C=X(n);C.className="w-500",C.appendChild(Y("body ")),h=X(n),h.id="m-body-value",r.appendChild(C),r.appendChild(h),l.appendChild(r),o.appendChild(l),g=X("a"),g.id="m-gmail",g.href=a,g.classList.add("m-open"),g.classList.add("m-gmail"),g.appendChild(Y("open in "));let k=X(n);k.className="w-500",k.appendChild(Y("Gmail")),g.appendChild(k),o.appendChild(g),f=X("a"),f.id="m-outlook",f.href=a,f.classList.add("m-open"),f.classList.add("m-outlook"),f.appendChild(Y("open in "));let L=X(n);L.className="w-500",L.appendChild(Y("Outlook")),f.appendChild(L),o.appendChild(f),x=X("a"),x.id="m-open",x.href=a,x.classList.add("m-open"),x.classList.add("m-default");let z=X(n);z.className="w-500",z.appendChild(Y("open")),x.appendChild(z),x.appendChild(Y(" default")),o.appendChild(x),v=X("a"),v.id="m-copy",v.href=a,v.classList.add("m-copy"),v.classList.add("w-500"),v.appendChild(Y("copy")),o.appendChild(v),o.appendChild(V()),document.body.appendChild(e),t.addEventListener("click",K)}{let e=X();e.style.display="none",e.id="mailgo-tel",e.classList.add("m-modal");let t=X();t.className="m-modal-back",e.appendChild(t);let o=X();o.className="m-modal-content",e.appendChild(o),d=X("strong"),d.id="m-tel-title",d.className="m-title",o.appendChild(d),w=X("a"),w.id="m-tg",w.href=a,w.classList.add("m-open"),w.classList.add("m-tg"),w.style.display="none",w.appendChild(Y("open in "));let l=X(n);l.className="w-500",l.appendChild(Y("Telegram")),w.appendChild(l),o.appendChild(w),y=X("a"),y.id="m-wa",y.href=a,y.classList.add("m-open"),y.classList.add("m-wa"),y.appendChild(Y("open in "));let i=X(n);i.className="w-500",i.appendChild(Y("WhatsApp")),y.appendChild(i),o.appendChild(y),C=X("a"),C.id="m-skype",C.href=a,C.classList.add("m-open"),C.classList.add("m-skype"),C.appendChild(Y("open in "));let s=X(n);s.className="w-500",s.appendChild(Y("Skype")),C.appendChild(s),o.appendChild(C),k=X("a"),k.id="m-call",k.href=a,k.classList.add("m-open"),k.classList.add("m-default");let m=X(n);m.className="w-500",m.appendChild(Y("call")),k.appendChild(m),k.appendChild(Y(" as default")),o.appendChild(k),L=X("a"),L.id="m-tel-copy",L.href=a,L.classList.add("m-copy"),L.classList.add("w-500"),L.appendChild(Y("copy")),o.appendChild(L),o.appendChild(V()),document.body.appendChild(e),t.addEventListener("click",K)}document.addEventListener("click",$)},T=(e="mail",t)=>{if("mail"===e){if(t.href&&t.href.toLowerCase().startsWith("mailto:")){z=decodeURIComponent(t.href.split("?")[0].split("mailto:")[1].trim()),l=new URL(t.href);let e=l.searchParams;A=e.get("cc"),E=e.get("bcc"),N=e.get("subject"),S=e.get("body")}else z=t.getAttribute("data-address")+"@"+t.getAttribute("data-domain"),l=new URL("mailto:"+encodeURIComponent(z)),A=t.getAttribute("data-cc-address")+"@"+t.getAttribute("data-cc-domain"),E=t.getAttribute("data-bcc-address")+"@"+t.getAttribute("data-bcc-domain"),N=t.getAttribute("data-subject"),S=t.getAttribute("data-body");if(!de(z.split(",")))return;A&&!de(A.split(","))&&(A=""),E&&!de(E.split(","))&&(E=""),i.innerHTML=z.split(",").join("
"),A?(s.style.display="block",p.innerHTML=A.split(",").join("
")):s.style.display="none",E?(m.style.display="block",b.innerHTML=E.split(",").join("
")):m.style.display="none",N?(c.style.display="block",u.textContent=N):c.style.display="none",S?(r.style.display="block",h.textContent=S):r.style.display="none",g.addEventListener("click",O),f.addEventListener("click",P),j=te(z),x.addEventListener("click",W),v.addEventListener("click",()=>F(z))}"tel"===e&&(t.href&&t.href.toLowerCase().startsWith("tel:")?R=decodeURIComponent(t.href.split("?")[0].split("tel:")[1].trim()):t.href&&t.href.toLowerCase().startsWith("callto:")?R=decodeURIComponent(t.href.split("?")[0].split("callto:")[1].trim()):t.hasAttribute("data-tel")&&(R=t.getAttribute("data-tel"),U=t.getAttribute("data-msg")),t.hasAttribute("data-telegram")&&(I=t.getAttribute("data-telegram")),t.hasAttribute("data-skype")&&(M=t.getAttribute("data-skype")),d.innerHTML=R,y.addEventListener("click",B),I&&(ne("m-tg","block"),w.addEventListener("click",H)),C.addEventListener("click",D),k.addEventListener("click",Z),L.addEventListener("click",()=>F(R))),J(e),document.addEventListener("keydown",q)},O=()=>{let e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(z);A&&(e=e.concat("&cc="+encodeURIComponent(A))),E&&(e=e.concat("&bcc="+encodeURIComponent(E))),N&&(e=e.concat("&subject="+N)),S&&(e=e.concat("&body="+S)),window.open(e,"_blank"),K()},P=()=>{let e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(z);N&&(e=e.concat("&subject="+N)),S&&(e=e.concat("&body="+S)),window.open(e,"_blank"),K()},W=()=>{ee(j),K()},H=()=>{let e="https://t.me/"+I;window.open(e,"_blank"),K()},D=()=>{let e="skype:"+(""!==M?M:R);window.open(e,"_blank"),K()},B=()=>{let e="https://wa.me/"+R;window.open(e,"_blank"),K()},Z=()=>{let e="tel:"+R;window.open(e),K()},F=e=>{let t;se(e),t=Q("mail")?v:L,t.textContent="copied",setTimeout(()=>{t.textContent="copy",K()},999)},G=(e,t="mail")=>{let o=e.href;return"mail"===t?o&&o.toLowerCase().startsWith("mailto:")&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-address")&&(o&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo")):"tel"===t&&(o&&(o.toLowerCase().startsWith("tel:")||o.toLowerCase().startsWith("callto:"))&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-tel")&&o&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo"))},$=e=>{if(!document.contains(oe("mailgo"))||!document.contains(oe("mailgo-tel")))return;if(Q("mail")||Q("tel"))return!1;let t=e.composedPath&&e.composedPath()||le(e.target);return t&&t.forEach(t=>!(t instanceof HTMLDocument||t instanceof Window)&&(G(t,"mail")?(e.preventDefault(),T("mail",t),!0):G(t,"tel")?(e.preventDefault(),T("tel",t),!0):void 0)),!1},q=e=>{if(Q("mail"))switch(e.keyCode){case 27:K();break;case 71:O();break;case 79:P();break;case 32:case 13:W();break;case 67:F(z);break;default:return}else if(Q("tel"))switch(e.keyCode){case 27:K();break;case 84:H();break;case 87:B();break;case 32:case 13:Z();break;case 67:F(R);break;default:return}},J=(e="mail")=>"mail"===e?(ne("mailgo","flex"),!0):"tel"===e&&(ne("mailgo-tel","flex"),!0),K=()=>{ne("mailgo","none"),ne("mailgo-tel","none"),document.removeEventListener("keydown",q)},Q=(e="mail")=>"mail"===e?"flex"===ae("mailgo"):"tel"===e&&"flex"===ae("mailgo-tel"),V=()=>{let e=X("a");return e.href="https://mailgo.js.org?ref=mailgo-modal",e.className="m-by",e.target="_blank",e.rel="noopener noreferrer",e.appendChild(Y("mailgo.js.org")),e},X=(e="div")=>document.createElement(e),Y=e=>document.createTextNode(e),ee=e=>window.location.href="mailto:"+atob(e),te=e=>btoa(e),oe=e=>document.getElementById(e),ae=e=>oe(e).style.display,ne=(e,t)=>oe(e).style.display=t,le=e=>{let t=[];for(;e;){if(t.push(e),"HTML"===e.tagName)return t.push(document),t.push(window),t;e=e.parentElement}},ie=e=>/^(([^<>()[\]\\.,;:\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),de=e=>e.every(ie),se=e=>{let t=X("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);let o=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);return t.select(),document.execCommand("copy"),document.body.removeChild(t),!!o&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(o),!0)};var me=e=>{window&&"undefined"!=typeof window&&((()=>{let e=X("style");e.id="mailgo-style",e.type="text/css",e.appendChild(Y('.m-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}.m-modal a,.m-modal p,.m-modal span,.m-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";text-rendering:optimizeLegibility}.m-modal strong{font-weight:700}.m-modal .m-modal-back{position:absolute;z-index:10001;top:0;right:0;bottom:0;left:0;background-color:rgba(32,35,42,.75);opacity:.8}.m-modal .m-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-border-radius:8px;-moz-border-radius:8px;border-radius:8px;-webkit-box-shadow:0 3px 20px rgba(32,35,42,.5);-moz-box-shadow:0 3px 20px rgba(32,35,42,.5);box-shadow:0 3px 20px rgba(32,35,42,.5);color:#4a4a4a;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-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:auto;padding:20px;-webkit-transition:.5s -webkit-box-shadow;transition:.5s -webkit-box-shadow;-o-transition:.5s box-shadow;-moz-transition:.5s box-shadow,.5s -moz-box-shadow;transition:.5s box-shadow;transition:.5s box-shadow,.5s -webkit-box-shadow,.5s -moz-box-shadow}.m-modal .m-modal-content:hover{opacity:1;-webkit-box-shadow:0 7px 20px rgba(32,35,42,.85);-moz-box-shadow:0 7px 20px rgba(32,35,42,.85);box-shadow:0 7px 20px rgba(32,35,42,.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.m-modal .m-modal-content .m-details{margin-bottom:10px}.m-modal .m-modal-content .m-details p{font-size:12px;margin-top:3px;margin-bottom:3px}.m-modal .m-modal-content a{padding:10px;color:#4a4a4a;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;text-decoration:none}.m-modal .m-modal-content a.m-gmail{color:#d44638}.m-modal .m-modal-content a.m-gmail:hover{background-color:rgba(212,70,56,.08);color:#d44638}.m-modal .m-modal-content a.m-outlook{color:#0072c6}.m-modal .m-modal-content a.m-outlook:hover{background-color:rgba(0,114,198,.08);color:#0072c6}.m-modal .m-modal-content a.m-tg{color:#08c}.m-modal .m-modal-content a.m-tg:hover{background-color:rgba(0,114,198,.08);color:#08c}.m-modal .m-modal-content a.m-wa{color:#00bfa5}.m-modal .m-modal-content a.m-wa:hover{background-color:rgba(0,191,165,.08);color:#00bfa5}.m-modal .m-modal-content a.m-skype{color:#00aff0}.m-modal .m-modal-content a.m-skype:hover{background-color:rgba(0,175,240,.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-copy:hover,.m-modal .m-modal-content a.m-default:hover{background-color:rgba(0,0,0,.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:.8rem;padding:5px;color:#4a4a4a;opacity:.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}')),document.head.appendChild(e)})(),(null==e?void 0:e.initEvent)?document.addEventListener(e.initEvent,()=>{_()}):_())};me({initEvent:"DOMContentLoaded"})}])})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.mailgo=t():e.mailgo=t()}(window,(function(){return function(e){var t={};function o(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(a,n,function(t){return e[t]}.bind(null,n));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";o.r(t);var a={languages:["en","it"],translations:{en:{open_in:"open in "},it:{open_in:"apri con "}}};const n="javascript:void(0);",l="span";let i,d,s,m,c,r,p,b,u,h,g,f,x,w,y,C,k,v,L,z,j="",A="",E="",N="",_="",S="",R="",U="",I="",M="";const T=e=>{let t="en",o=a.translations;e.defaultLang&&a.languages.includes(e.defaultLang)&&(t=e.defaultLang),e.forceLang||(t=document.documentElement.lang);let i=o[t];{let e=Y();e.style.display="none",e.id="mailgo",e.classList.add("m-modal");let t=Y();t.className="m-modal-back",e.appendChild(t);let o=Y();o.className="m-modal-content",e.appendChild(o),d=Y("strong"),d.id="m-title",d.className="m-title",o.appendChild(d);let a=Y();a.id="m-details",a.className="m-details",m=Y("p"),m.id="m-cc";let s=Y(l);s.className="w-500",s.appendChild(ee("cc ")),b=Y(l),b.id="m-cc-value",m.appendChild(s),m.appendChild(b),a.appendChild(m),c=Y("p"),c.id="m-bcc";let y=Y(l);y.className="w-500",y.appendChild(ee("bcc ")),u=Y(l),u.id="m-bcc-value",c.appendChild(y),c.appendChild(u),a.appendChild(c),r=Y("p"),r.id="m-subject";let C=Y(l);C.className="w-500",C.appendChild(ee("subject ")),h=Y(l),h.id="m-subject-value",r.appendChild(C),r.appendChild(h),a.appendChild(r),p=Y("p"),p.id="m-body";let k=Y(l);k.className="w-500",k.appendChild(ee("body ")),g=Y(l),g.id="m-body-value",p.appendChild(k),p.appendChild(g),a.appendChild(p),o.appendChild(a),f=Y("a"),f.id="m-gmail",f.href=n,f.classList.add("m-open"),f.classList.add("m-gmail"),f.appendChild(ee(i.open_in));let v=Y(l);v.className="w-500",v.appendChild(ee("Gmail")),f.appendChild(v),o.appendChild(f),x=Y("a"),x.id="m-outlook",x.href=n,x.classList.add("m-open"),x.classList.add("m-outlook"),x.appendChild(ee(i.open_in));let z=Y(l);z.className="w-500",z.appendChild(ee("Outlook")),x.appendChild(z),o.appendChild(x),w=Y("a"),w.id="m-open",w.href=n,w.classList.add("m-open"),w.classList.add("m-default");let j=Y(l);j.className="w-500",j.appendChild(ee("open")),w.appendChild(j),w.appendChild(ee(" default")),o.appendChild(w),L=Y("a"),L.id="m-copy",L.href=n,L.classList.add("m-copy"),L.classList.add("w-500"),L.appendChild(ee("copy")),o.appendChild(L),o.appendChild(X()),document.body.appendChild(e),t.addEventListener("click",Q)}{let e=Y();e.style.display="none",e.id="mailgo-tel",e.classList.add("m-modal");let t=Y();t.className="m-modal-back",e.appendChild(t);let o=Y();o.className="m-modal-content",e.appendChild(o),s=Y("strong"),s.id="m-tel-title",s.className="m-title",o.appendChild(s),y=Y("a"),y.id="m-tg",y.href=n,y.classList.add("m-open"),y.classList.add("m-tg"),y.style.display="none",y.appendChild(ee(i.open_in));let a=Y(l);a.className="w-500",a.appendChild(ee("Telegram")),y.appendChild(a),o.appendChild(y),C=Y("a"),C.id="m-wa",C.href=n,C.classList.add("m-open"),C.classList.add("m-wa"),C.appendChild(ee(i.open_in));let d=Y(l);d.className="w-500",d.appendChild(ee("WhatsApp")),C.appendChild(d),o.appendChild(C),k=Y("a"),k.id="m-skype",k.href=n,k.classList.add("m-open"),k.classList.add("m-skype"),k.appendChild(ee(i.open_in));let m=Y(l);m.className="w-500",m.appendChild(ee("Skype")),k.appendChild(m),o.appendChild(k),v=Y("a"),v.id="m-call",v.href=n,v.classList.add("m-open"),v.classList.add("m-default");let c=Y(l);c.className="w-500",c.appendChild(ee("call")),v.appendChild(c),v.appendChild(ee(" as default")),o.appendChild(v),z=Y("a"),z.id="m-tel-copy",z.href=n,z.classList.add("m-copy"),z.classList.add("w-500"),z.appendChild(ee("copy")),o.appendChild(z),o.appendChild(X()),document.body.appendChild(e),t.addEventListener("click",Q)}document.addEventListener("click",q)},O=(e="mail",t)=>{if("mail"===e){if(t.href&&t.href.toLowerCase().startsWith("mailto:")){j=decodeURIComponent(t.href.split("?")[0].split("mailto:")[1].trim()),i=new URL(t.href);let e=i.searchParams;E=e.get("cc"),N=e.get("bcc"),_=e.get("subject"),S=e.get("body")}else j=t.getAttribute("data-address")+"@"+t.getAttribute("data-domain"),i=new URL("mailto:"+encodeURIComponent(j)),E=t.getAttribute("data-cc-address")+"@"+t.getAttribute("data-cc-domain"),N=t.getAttribute("data-bcc-address")+"@"+t.getAttribute("data-bcc-domain"),_=t.getAttribute("data-subject"),S=t.getAttribute("data-body");if(!se(j.split(",")))return;E&&!se(E.split(","))&&(E=""),N&&!se(N.split(","))&&(N=""),d.innerHTML=j.split(",").join("
"),E?(m.style.display="block",b.innerHTML=E.split(",").join("
")):m.style.display="none",N?(c.style.display="block",u.innerHTML=N.split(",").join("
")):c.style.display="none",_?(r.style.display="block",h.textContent=_):r.style.display="none",S?(p.style.display="block",g.textContent=S):p.style.display="none",f.addEventListener("click",P),x.addEventListener("click",W),A=oe(j),w.addEventListener("click",H),L.addEventListener("click",()=>G(j))}"tel"===e&&(t.href&&t.href.toLowerCase().startsWith("tel:")?R=decodeURIComponent(t.href.split("?")[0].split("tel:")[1].trim()):t.href&&t.href.toLowerCase().startsWith("callto:")?R=decodeURIComponent(t.href.split("?")[0].split("callto:")[1].trim()):t.hasAttribute("data-tel")&&(R=t.getAttribute("data-tel"),U=t.getAttribute("data-msg")),t.hasAttribute("data-telegram")&&(I=t.getAttribute("data-telegram")),t.hasAttribute("data-skype")&&(M=t.getAttribute("data-skype")),s.innerHTML=R,C.addEventListener("click",Z),I&&(le("m-tg","block"),y.addEventListener("click",D)),k.addEventListener("click",B),v.addEventListener("click",F),z.addEventListener("click",()=>G(R))),K(e),document.addEventListener("keydown",J)},P=()=>{let e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(j);E&&(e=e.concat("&cc="+encodeURIComponent(E))),N&&(e=e.concat("&bcc="+encodeURIComponent(N))),_&&(e=e.concat("&subject="+_)),S&&(e=e.concat("&body="+S)),window.open(e,"_blank"),Q()},W=()=>{let e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(j);_&&(e=e.concat("&subject="+_)),S&&(e=e.concat("&body="+S)),window.open(e,"_blank"),Q()},H=()=>{te(A),Q()},D=()=>{let e="https://t.me/"+I;window.open(e,"_blank"),Q()},B=()=>{let e="skype:"+(""!==M?M:R);window.open(e,"_blank"),Q()},Z=()=>{let e="https://wa.me/"+R;window.open(e,"_blank"),Q()},F=()=>{let e="tel:"+R;window.open(e),Q()},G=e=>{let t;me(e),t=V("mail")?L:z,t.textContent="copied",setTimeout(()=>{t.textContent="copy",Q()},999)},$=(e,t="mail")=>{let o=e.href;return"mail"===t?o&&o.toLowerCase().startsWith("mailto:")&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-address")&&(o&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo")):"tel"===t&&(o&&(o.toLowerCase().startsWith("tel:")||o.toLowerCase().startsWith("callto:"))&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-tel")&&o&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo"))},q=e=>{if(!document.contains(ae("mailgo"))||!document.contains(ae("mailgo-tel")))return;if(V("mail")||V("tel"))return!1;let t=e.composedPath&&e.composedPath()||ie(e.target);return t&&t.forEach(t=>!(t instanceof HTMLDocument||t instanceof Window)&&($(t,"mail")?(e.preventDefault(),O("mail",t),!0):$(t,"tel")?(e.preventDefault(),O("tel",t),!0):void 0)),!1},J=e=>{if(V("mail"))switch(e.keyCode){case 27:Q();break;case 71:P();break;case 79:W();break;case 32:case 13:H();break;case 67:G(j);break;default:return}else if(V("tel"))switch(e.keyCode){case 27:Q();break;case 84:D();break;case 87:Z();break;case 32:case 13:F();break;case 67:G(R);break;default:return}},K=(e="mail")=>"mail"===e?(le("mailgo","flex"),!0):"tel"===e&&(le("mailgo-tel","flex"),!0),Q=()=>{le("mailgo","none"),le("mailgo-tel","none"),document.removeEventListener("keydown",J)},V=(e="mail")=>"mail"===e?"flex"===ne("mailgo"):"tel"===e&&"flex"===ne("mailgo-tel"),X=()=>{let e=Y("a");return e.href="https://mailgo.js.org?ref=mailgo-modal",e.className="m-by",e.target="_blank",e.rel="noopener noreferrer",e.appendChild(ee("mailgo.js.org")),e},Y=(e="div")=>document.createElement(e),ee=e=>document.createTextNode(e),te=e=>window.location.href="mailto:"+atob(e),oe=e=>btoa(e),ae=e=>document.getElementById(e),ne=e=>ae(e).style.display,le=(e,t)=>ae(e).style.display=t,ie=e=>{let t=[];for(;e;){if(t.push(e),"HTML"===e.tagName)return t.push(document),t.push(window),t;e=e.parentElement}},de=e=>/^(([^<>()[\]\\.,;:\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),se=e=>e.every(de),me=e=>{let t=Y("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);let o=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);return t.select(),document.execCommand("copy"),document.body.removeChild(t),!!o&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(o),!0)};(e=>{window&&"undefined"!=typeof window&&((()=>{let e=Y("style");e.id="mailgo-style",e.type="text/css",e.appendChild(ee('.m-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}.m-modal a,.m-modal p,.m-modal span,.m-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";text-rendering:optimizeLegibility}.m-modal strong{font-weight:700}.m-modal .m-modal-back{position:absolute;z-index:10001;top:0;right:0;bottom:0;left:0;background-color:rgba(32,35,42,.75);opacity:.8}.m-modal .m-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-border-radius:8px;-moz-border-radius:8px;border-radius:8px;-webkit-box-shadow:0 3px 20px rgba(32,35,42,.5);-moz-box-shadow:0 3px 20px rgba(32,35,42,.5);box-shadow:0 3px 20px rgba(32,35,42,.5);color:#4a4a4a;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-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:auto;padding:20px;-webkit-transition:.5s -webkit-box-shadow;transition:.5s -webkit-box-shadow;-o-transition:.5s box-shadow;-moz-transition:.5s box-shadow,.5s -moz-box-shadow;transition:.5s box-shadow;transition:.5s box-shadow,.5s -webkit-box-shadow,.5s -moz-box-shadow}.m-modal .m-modal-content:hover{opacity:1;-webkit-box-shadow:0 7px 20px rgba(32,35,42,.85);-moz-box-shadow:0 7px 20px rgba(32,35,42,.85);box-shadow:0 7px 20px rgba(32,35,42,.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.m-modal .m-modal-content .m-details{margin-bottom:10px}.m-modal .m-modal-content .m-details p{font-size:12px;margin-top:3px;margin-bottom:3px}.m-modal .m-modal-content a{padding:10px;color:#4a4a4a;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;text-decoration:none}.m-modal .m-modal-content a.m-gmail{color:#d44638}.m-modal .m-modal-content a.m-gmail:hover{background-color:rgba(212,70,56,.08);color:#d44638}.m-modal .m-modal-content a.m-outlook{color:#0072c6}.m-modal .m-modal-content a.m-outlook:hover{background-color:rgba(0,114,198,.08);color:#0072c6}.m-modal .m-modal-content a.m-tg{color:#08c}.m-modal .m-modal-content a.m-tg:hover{background-color:rgba(0,114,198,.08);color:#08c}.m-modal .m-modal-content a.m-wa{color:#00bfa5}.m-modal .m-modal-content a.m-wa:hover{background-color:rgba(0,191,165,.08);color:#00bfa5}.m-modal .m-modal-content a.m-skype{color:#00aff0}.m-modal .m-modal-content a.m-skype:hover{background-color:rgba(0,175,240,.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-copy:hover,.m-modal .m-modal-content a.m-default:hover{background-color:rgba(0,0,0,.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:.8rem;padding:5px;color:#4a4a4a;opacity:.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}')),document.head.appendChild(e)})(),(null==e?void 0:e.initEvent)?document.addEventListener(e.initEvent,()=>{T(e)}):T(e))})({initEvent:"DOMContentLoaded"})}])})); \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 5a73580..92841e3 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -38,7 +38,12 @@ function js() { .pipe(replace(MAILGO_STYLE_TAG, cssMinContent)) .pipe(tsProject()) // .pipe(babel()) - .pipe(dest("./")) + .pipe( + rename({ + suffix: ".m", + }) + ) + .pipe(dest("src")) ); } diff --git a/package.json b/package.json index a76ceb2..f9adf44 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "type": "git", "url": "git+https://github.com/manzinello/mailgo.git" }, - "main": "./mailgo.js", - "module": "./mailgo.js", + "main": "./mailgo.m.js", + "module": "./mailgo.m.js", "keywords": [ "mailto", "mail", diff --git a/mailgo.js b/src/mailgo.m.js similarity index 99% rename from mailgo.js rename to src/mailgo.m.js index 287b108..a38841e 100644 --- a/mailgo.js +++ b/src/mailgo.m.js @@ -35,6 +35,9 @@ const mailgoInit = (mailgoConfig) => { i18n.languages.includes(mailgoConfig.defaultLang)) { lang = mailgoConfig.defaultLang; } + if (!mailgoConfig.forceLang) { + lang = document.documentElement.lang; + } // strings let strings = translations[lang]; // mailgo mail diff --git a/src/mailgo.script.js b/src/mailgo.script.js index 887ca9e..ce340f0 100644 --- a/src/mailgo.script.js +++ b/src/mailgo.script.js @@ -1,5 +1,5 @@ // import mailgo -import mailgo from "../mailgo"; +import mailgo from "./mailgo.m.js"; // call init mailgo attached to the event DOMContentLoaded diff --git a/src/mailgo.ts b/src/mailgo.ts index 1cb3154..8369129 100644 --- a/src/mailgo.ts +++ b/src/mailgo.ts @@ -78,6 +78,11 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => { lang = mailgoConfig.defaultLang; } + // if is defined use it! + if (!mailgoConfig.forceLang && document.documentElement.lang) { + lang = document.documentElement.lang; + } + // strings let strings: any = translations[lang];