diff --git a/dist/mailgo.min.js b/dist/mailgo.min.js index 40c72dc..326575a 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=3)}([function(e,t,o){var a=o(1);e.exports="string"==typeof a?a:a.toString()},function(e,t,o){(t=o(2)(!1)).push([e.i,'.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}',""]),e.exports=t},function(e,t,o){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=function(e,t){var o=e[1]||"",a=e[3];if(!a)return o;if(t&&"function"==typeof btoa){var n=(l=a,d=btoa(unescape(encodeURIComponent(JSON.stringify(l)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(d),"/*# ".concat(s," */")),i=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[o].concat(i).concat([n]).join("\n")}var l,d,s;return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(o,"}"):o})).join("")},t.i=function(e,o,a){"string"==typeof e&&(e=[[null,e,""]]);var n={};if(a)for(var i=0;i{let t="en",o=a.translations;e.defaultLang&&a.languages.includes(e.defaultLang)&&(t=e.defaultLang),!e.forceLang&&document.documentElement.lang&&(t=document.documentElement.lang);let n=o[t];{let e=ee();e.style.display="none",e.id="mailgo",e.classList.add("m-modal");let t=ee();t.className="m-modal-back",e.appendChild(t);let o=ee();o.className="m-modal-content",e.appendChild(o),s=ee("strong"),s.id="m-title",s.className="m-title",o.appendChild(s);let a=ee();a.id="m-details",a.className="m-details",r=ee("p"),r.id="m-cc";let d=ee(l);d.className="w-500",d.appendChild(te("cc ")),b=ee(l),b.id="m-cc-value",r.appendChild(d),r.appendChild(b),a.appendChild(r),m=ee("p"),m.id="m-bcc";let c=ee(l);c.className="w-500",c.appendChild(te("bcc ")),h=ee(l),h.id="m-bcc-value",m.appendChild(c),m.appendChild(h),a.appendChild(m),p=ee("p"),p.id="m-subject";let C=ee(l);C.className="w-500",C.appendChild(te("subject ")),f=ee(l),f.id="m-subject-value",p.appendChild(C),p.appendChild(f),a.appendChild(p),u=ee("p"),u.id="m-body";let k=ee(l);k.className="w-500",k.appendChild(te("body ")),g=ee(l),g.id="m-body-value",u.appendChild(k),u.appendChild(g),a.appendChild(u),o.appendChild(a),x=ee("a"),x.id="m-gmail",x.href=i,x.classList.add("m-open"),x.classList.add("m-gmail"),x.appendChild(te(n.open_in));let v=ee(l);v.className="w-500",v.appendChild(te("Gmail")),x.appendChild(v),o.appendChild(x),y=ee("a"),y.id="m-outlook",y.href=i,y.classList.add("m-open"),y.classList.add("m-outlook"),y.appendChild(te(n.open_in));let L=ee(l);L.className="w-500",L.appendChild(te("Outlook")),y.appendChild(L),o.appendChild(y),w=ee("a"),w.id="m-open",w.href=i,w.classList.add("m-open"),w.classList.add("m-default");let z=ee(l);z.className="w-500",z.appendChild(te("open")),w.appendChild(z),w.appendChild(te(" default")),o.appendChild(w),j=ee("a"),j.id="m-copy",j.href=i,j.classList.add("m-copy"),j.classList.add("w-500"),j.appendChild(te("copy")),o.appendChild(j),o.appendChild(Y()),document.body.appendChild(e),t.addEventListener("click",V)}{let e=ee();e.style.display="none",e.id="mailgo-tel",e.classList.add("m-modal");let t=ee();t.className="m-modal-back",e.appendChild(t);let o=ee();o.className="m-modal-content",e.appendChild(o),c=ee("strong"),c.id="m-tel-title",c.className="m-title",o.appendChild(c),C=ee("a"),C.id="m-tg",C.href=i,C.classList.add("m-open"),C.classList.add("m-tg"),C.style.display="none",C.appendChild(te(n.open_in));let a=ee(l);a.className="w-500",a.appendChild(te("Telegram")),C.appendChild(a),o.appendChild(C),k=ee("a"),k.id="m-wa",k.href=i,k.classList.add("m-open"),k.classList.add("m-wa"),k.appendChild(te(n.open_in));let d=ee(l);d.className="w-500",d.appendChild(te("WhatsApp")),k.appendChild(d),o.appendChild(k),v=ee("a"),v.id="m-skype",v.href=i,v.classList.add("m-open"),v.classList.add("m-skype"),v.appendChild(te(n.open_in));let s=ee(l);s.className="w-500",s.appendChild(te("Skype")),v.appendChild(s),o.appendChild(v),L=ee("a"),L.id="m-call",L.href=i,L.classList.add("m-open"),L.classList.add("m-default");let r=ee(l);r.className="w-500",r.appendChild(te("call")),L.appendChild(r),L.appendChild(te(" as default")),o.appendChild(L),z=ee("a"),z.id="m-tel-copy",z.href=i,z.classList.add("m-copy"),z.classList.add("w-500"),z.appendChild(te("copy")),o.appendChild(z),o.appendChild(Y()),document.body.appendChild(e),t.addEventListener("click",V)}document.addEventListener("click",q)},P=(e="mail",t)=>{if("mail"===e){if(t.href&&t.href.toLowerCase().startsWith("mailto:")){A=decodeURIComponent(t.href.split("?")[0].split("mailto:")[1].trim()),d=new URL(t.href);let e=d.searchParams;N=e.get("cc"),S=e.get("bcc"),_=e.get("subject"),R=e.get("body")}else A=t.getAttribute("data-address")+"@"+t.getAttribute("data-domain"),d=new URL("mailto:"+encodeURIComponent(A)),N=t.getAttribute("data-cc-address")+"@"+t.getAttribute("data-cc-domain"),S=t.getAttribute("data-bcc-address")+"@"+t.getAttribute("data-bcc-domain"),_=t.getAttribute("data-subject"),R=t.getAttribute("data-body");if(!ce(A.split(",")))return;N&&!ce(N.split(","))&&(N=""),S&&!ce(S.split(","))&&(S=""),s.innerHTML=A.split(",").join("
"),N?(r.style.display="block",b.innerHTML=N.split(",").join("
")):r.style.display="none",S?(m.style.display="block",h.innerHTML=S.split(",").join("
")):m.style.display="none",_?(p.style.display="block",f.textContent=_):p.style.display="none",R?(u.style.display="block",g.textContent=R):u.style.display="none",x.addEventListener("click",W),y.addEventListener("click",H),E=ae(A),w.addEventListener("click",D),j.addEventListener("click",()=>J(A))}"tel"===e&&(t.href&&t.href.toLowerCase().startsWith("tel:")?U=decodeURIComponent(t.href.split("?")[0].split("tel:")[1].trim()):t.href&&t.href.toLowerCase().startsWith("callto:")?U=decodeURIComponent(t.href.split("?")[0].split("callto:")[1].trim()):t.hasAttribute("data-tel")&&(U=t.getAttribute("data-tel"),I=t.getAttribute("data-msg")),t.hasAttribute("data-telegram")&&(M=t.getAttribute("data-telegram")),t.hasAttribute("data-skype")&&(T=t.getAttribute("data-skype")),c.innerHTML=U,k.addEventListener("click",F),M&&(le("m-tg","block"),C.addEventListener("click",B)),v.addEventListener("click",Z),L.addEventListener("click",G),z.addEventListener("click",()=>J(U))),Q(e),document.addEventListener("keydown",K)},W=()=>{let e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(A);N&&(e=e.concat("&cc="+encodeURIComponent(N))),S&&(e=e.concat("&bcc="+encodeURIComponent(S))),_&&(e=e.concat("&subject="+_)),R&&(e=e.concat("&body="+R)),window.open(e,"_blank"),V()},H=()=>{let e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(A);_&&(e=e.concat("&subject="+_)),R&&(e=e.concat("&body="+R)),window.open(e,"_blank"),V()},D=()=>{oe(E),V()},B=()=>{let e="https://t.me/"+M;window.open(e,"_blank"),V()},Z=()=>{let e="skype:"+(""!==T?T:U);window.open(e,"_blank"),V()},F=()=>{let e="https://wa.me/"+U;window.open(e,"_blank"),V()},G=()=>{let e="tel:"+U;window.open(e),V()},J=e=>{let t;re(e),t=X("mail")?j:z,t.textContent="copied",setTimeout(()=>{t.textContent="copy",V()},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(ne("mailgo"))||!document.contains(ne("mailgo-tel")))return;if(X("mail")||X("tel"))return!1;let t=e.composedPath&&e.composedPath()||de(e.target);return t&&t.forEach(t=>!(t instanceof HTMLDocument||t instanceof Window)&&($(t,"mail")?(e.preventDefault(),P("mail",t),!0):$(t,"tel")?(e.preventDefault(),P("tel",t),!0):void 0)),!1},K=e=>{if(X("mail"))switch(e.keyCode){case 27:V();break;case 71:W();break;case 79:H();break;case 32:case 13:D();break;case 67:J(A);break;default:return}else if(X("tel"))switch(e.keyCode){case 27:V();break;case 84:B();break;case 87:F();break;case 32:case 13:G();break;case 67:J(U);break;default:return}},Q=(e="mail")=>"mail"===e?(le("mailgo","flex"),!0):"tel"===e&&(le("mailgo-tel","flex"),!0),V=()=>{le("mailgo","none"),le("mailgo-tel","none"),document.removeEventListener("keydown",K)},X=(e="mail")=>"mail"===e?"flex"===ie("mailgo"):"tel"===e&&"flex"===ie("mailgo-tel"),Y=()=>{let e=ee("a");return e.href="https://mailgo.js.org?ref=mailgo-modal",e.className="m-by",e.target="_blank",e.rel="noopener noreferrer",e.appendChild(te("mailgo.js.org")),e},ee=(e="div")=>document.createElement(e),te=e=>document.createTextNode(e),oe=e=>window.location.href="mailto:"+atob(e),ae=e=>btoa(e),ne=e=>document.getElementById(e),ie=e=>ne(e).style.display,le=(e,t)=>ne(e).style.display=t,de=e=>{let t=[];for(;e;){if(t.push(e),"HTML"===e.tagName)return t.push(document),t.push(window),t;e=e.parentElement}},se=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),ce=e=>e.every(se),re=e=>{let t=ee("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=ee("style");e.id="mailgo-style",e.type="text/css",e.appendChild(te(n)),document.head.appendChild(e)})(),(null==e?void 0:e.initEvent)?document.addEventListener(e.initEvent,()=>{O(e)}):O(e))})({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=4)}([function(e){e.exports=JSON.parse('{"languages":["en","it"],"translations":{"en":{"open_in":"open in ","cc":"cc ","bcc":"bcc ","subject":"subject ","body":"body "},"it":{"open_in":"apri con "}}}')},function(e,t,o){var a=o(2);e.exports="string"==typeof a?a:a.toString()},function(e,t,o){(t=o(3)(!1)).push([e.i,'.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}',""]),e.exports=t},function(e,t,o){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=function(e,t){var o=e[1]||"",a=e[3];if(!a)return o;if(t&&"function"==typeof btoa){var n=(l=a,d=btoa(unescape(encodeURIComponent(JSON.stringify(l)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(d),"/*# ".concat(s," */")),i=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[o].concat(i).concat([n]).join("\n")}var l,d,s;return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(o,"}"):o})).join("")},t.i=function(e,o,a){"string"==typeof e&&(e=[[null,e,""]]);var n={};if(a)for(var i=0;i{let t="en",o=a.translations;e.defaultLang&&a.languages.includes(e.defaultLang)&&(t=e.defaultLang),!e.forceLang&&document.documentElement.lang&&(t=document.documentElement.lang);o.en;let n=o[t];{let e=ee();e.style.display="none",e.id="mailgo",e.classList.add("m-modal");let t=ee();t.className="m-modal-back",e.appendChild(t);let o=ee();o.className="m-modal-content",e.appendChild(o),s=ee("strong"),s.id="m-title",s.className="m-title",o.appendChild(s);let a=ee();a.id="m-details",a.className="m-details",r=ee("p"),r.id="m-cc";let d=ee(l);d.className="w-500",d.appendChild(te(n.cc)),u=ee(l),u.id="m-cc-value",r.appendChild(d),r.appendChild(u),a.appendChild(r),m=ee("p"),m.id="m-bcc";let c=ee(l);c.className="w-500",c.appendChild(te(n.bcc)),h=ee(l),h.id="m-bcc-value",m.appendChild(c),m.appendChild(h),a.appendChild(m),p=ee("p"),p.id="m-subject";let C=ee(l);C.className="w-500",C.appendChild(te(n.subject)),f=ee(l),f.id="m-subject-value",p.appendChild(C),p.appendChild(f),a.appendChild(p),b=ee("p"),b.id="m-body";let k=ee(l);k.className="w-500",k.appendChild(te(n.body)),g=ee(l),g.id="m-body-value",b.appendChild(k),b.appendChild(g),a.appendChild(b),o.appendChild(a),x=ee("a"),x.id="m-gmail",x.href=i,x.classList.add("m-open"),x.classList.add("m-gmail"),x.appendChild(te(n.open_in));let v=ee(l);v.className="w-500",v.appendChild(te("Gmail")),x.appendChild(v),o.appendChild(x),y=ee("a"),y.id="m-outlook",y.href=i,y.classList.add("m-open"),y.classList.add("m-outlook"),y.appendChild(te(n.open_in));let L=ee(l);L.className="w-500",L.appendChild(te("Outlook")),y.appendChild(L),o.appendChild(y),w=ee("a"),w.id="m-open",w.href=i,w.classList.add("m-open"),w.classList.add("m-default");let z=ee(l);z.className="w-500",z.appendChild(te("open")),w.appendChild(z),w.appendChild(te(" default")),o.appendChild(w),j=ee("a"),j.id="m-copy",j.href=i,j.classList.add("m-copy"),j.classList.add("w-500"),j.appendChild(te("copy")),o.appendChild(j),o.appendChild(Y()),document.body.appendChild(e),t.addEventListener("click",V)}{let e=ee();e.style.display="none",e.id="mailgo-tel",e.classList.add("m-modal");let t=ee();t.className="m-modal-back",e.appendChild(t);let o=ee();o.className="m-modal-content",e.appendChild(o),c=ee("strong"),c.id="m-tel-title",c.className="m-title",o.appendChild(c),C=ee("a"),C.id="m-tg",C.href=i,C.classList.add("m-open"),C.classList.add("m-tg"),C.style.display="none",C.appendChild(te(n.open_in));let a=ee(l);a.className="w-500",a.appendChild(te("Telegram")),C.appendChild(a),o.appendChild(C),k=ee("a"),k.id="m-wa",k.href=i,k.classList.add("m-open"),k.classList.add("m-wa"),k.appendChild(te(n.open_in));let d=ee(l);d.className="w-500",d.appendChild(te("WhatsApp")),k.appendChild(d),o.appendChild(k),v=ee("a"),v.id="m-skype",v.href=i,v.classList.add("m-open"),v.classList.add("m-skype"),v.appendChild(te(n.open_in));let s=ee(l);s.className="w-500",s.appendChild(te("Skype")),v.appendChild(s),o.appendChild(v),L=ee("a"),L.id="m-call",L.href=i,L.classList.add("m-open"),L.classList.add("m-default");let r=ee(l);r.className="w-500",r.appendChild(te("call")),L.appendChild(r),L.appendChild(te(" as default")),o.appendChild(L),z=ee("a"),z.id="m-tel-copy",z.href=i,z.classList.add("m-copy"),z.classList.add("w-500"),z.appendChild(te("copy")),o.appendChild(z),o.appendChild(Y()),document.body.appendChild(e),t.addEventListener("click",V)}document.addEventListener("click",q)},P=(e="mail",t)=>{if("mail"===e){if(t.href&&t.href.toLowerCase().startsWith("mailto:")){A=decodeURIComponent(t.href.split("?")[0].split("mailto:")[1].trim()),d=new URL(t.href);let e=d.searchParams;N=e.get("cc"),S=e.get("bcc"),_=e.get("subject"),R=e.get("body")}else A=t.getAttribute("data-address")+"@"+t.getAttribute("data-domain"),d=new URL("mailto:"+encodeURIComponent(A)),N=t.getAttribute("data-cc-address")+"@"+t.getAttribute("data-cc-domain"),S=t.getAttribute("data-bcc-address")+"@"+t.getAttribute("data-bcc-domain"),_=t.getAttribute("data-subject"),R=t.getAttribute("data-body");if(!ce(A.split(",")))return;N&&!ce(N.split(","))&&(N=""),S&&!ce(S.split(","))&&(S=""),s.innerHTML=A.split(",").join("
"),N?(r.style.display="block",u.innerHTML=N.split(",").join("
")):r.style.display="none",S?(m.style.display="block",h.innerHTML=S.split(",").join("
")):m.style.display="none",_?(p.style.display="block",f.textContent=_):p.style.display="none",R?(b.style.display="block",g.textContent=R):b.style.display="none",x.addEventListener("click",W),y.addEventListener("click",H),E=ae(A),w.addEventListener("click",D),j.addEventListener("click",()=>G(A))}"tel"===e&&(t.href&&t.href.toLowerCase().startsWith("tel:")?U=decodeURIComponent(t.href.split("?")[0].split("tel:")[1].trim()):t.href&&t.href.toLowerCase().startsWith("callto:")?U=decodeURIComponent(t.href.split("?")[0].split("callto:")[1].trim()):t.hasAttribute("data-tel")&&(U=t.getAttribute("data-tel"),I=t.getAttribute("data-msg")),t.hasAttribute("data-telegram")&&(M=t.getAttribute("data-telegram")),t.hasAttribute("data-skype")&&(O=t.getAttribute("data-skype")),c.innerHTML=U,k.addEventListener("click",Z),M&&(le("m-tg","block"),C.addEventListener("click",B)),v.addEventListener("click",J),L.addEventListener("click",F),z.addEventListener("click",()=>G(U))),Q(e),document.addEventListener("keydown",K)},W=()=>{let e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(A);N&&(e=e.concat("&cc="+encodeURIComponent(N))),S&&(e=e.concat("&bcc="+encodeURIComponent(S))),_&&(e=e.concat("&subject="+_)),R&&(e=e.concat("&body="+R)),window.open(e,"_blank"),V()},H=()=>{let e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(A);_&&(e=e.concat("&subject="+_)),R&&(e=e.concat("&body="+R)),window.open(e,"_blank"),V()},D=()=>{oe(E),V()},B=()=>{let e="https://t.me/"+M;window.open(e,"_blank"),V()},J=()=>{let e="skype:"+(""!==O?O:U);window.open(e,"_blank"),V()},Z=()=>{let e="https://wa.me/"+U;window.open(e,"_blank"),V()},F=()=>{let e="tel:"+U;window.open(e),V()},G=e=>{let t;re(e),t=X("mail")?j:z,t.textContent="copied",setTimeout(()=>{t.textContent="copy",V()},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(ne("mailgo"))||!document.contains(ne("mailgo-tel")))return;if(X("mail")||X("tel"))return!1;let t=e.composedPath&&e.composedPath()||de(e.target);return t&&t.forEach(t=>!(t instanceof HTMLDocument||t instanceof Window)&&($(t,"mail")?(e.preventDefault(),P("mail",t),!0):$(t,"tel")?(e.preventDefault(),P("tel",t),!0):void 0)),!1},K=e=>{if(X("mail"))switch(e.keyCode){case 27:V();break;case 71:W();break;case 79:H();break;case 32:case 13:D();break;case 67:G(A);break;default:return}else if(X("tel"))switch(e.keyCode){case 27:V();break;case 84:B();break;case 87:Z();break;case 32:case 13:F();break;case 67:G(U);break;default:return}},Q=(e="mail")=>"mail"===e?(le("mailgo","flex"),!0):"tel"===e&&(le("mailgo-tel","flex"),!0),V=()=>{le("mailgo","none"),le("mailgo-tel","none"),document.removeEventListener("keydown",K)},X=(e="mail")=>"mail"===e?"flex"===ie("mailgo"):"tel"===e&&"flex"===ie("mailgo-tel"),Y=()=>{let e=ee("a");return e.href="https://mailgo.js.org?ref=mailgo-modal",e.className="m-by",e.target="_blank",e.rel="noopener noreferrer",e.appendChild(te("mailgo.js.org")),e},ee=(e="div")=>document.createElement(e),te=e=>document.createTextNode(e),oe=e=>window.location.href="mailto:"+atob(e),ae=e=>btoa(e),ne=e=>document.getElementById(e),ie=e=>ne(e).style.display,le=(e,t)=>ne(e).style.display=t,de=e=>{let t=[];for(;e;){if(t.push(e),"HTML"===e.tagName)return t.push(document),t.push(window),t;e=e.parentElement}},se=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),ce=e=>e.every(se),re=e=>{let t=ee("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=ee("style");e.id="mailgo-style",e.type="text/css",e.appendChild(te(n)),document.head.appendChild(e)})(),(null==e?void 0:e.initEvent)?document.addEventListener(e.initEvent,()=>{T(e)}):T(e))};me({initEvent:"DOMContentLoaded"})}])})); \ No newline at end of file diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js deleted file mode 100644 index 8f8f4e3..0000000 --- a/src/i18n/i18n.js +++ /dev/null @@ -1,11 +0,0 @@ -export default { - languages: ["en", "it"], - translations: { - en: { - open_in: "open in ", - }, - it: { - open_in: "apri con ", - }, - }, -}; diff --git a/src/i18n/i18n.json b/src/i18n/i18n.json new file mode 100644 index 0000000..54464c0 --- /dev/null +++ b/src/i18n/i18n.json @@ -0,0 +1,15 @@ +{ + "languages": ["en", "it"], + "translations": { + "en": { + "open_in": "open in ", + "cc": "cc ", + "bcc": "bcc ", + "subject": "subject ", + "body": "body " + }, + "it": { + "open_in": "apri con " + } + } +} diff --git a/src/mailgo.m.js b/src/mailgo.m.js index f22a2aa..ec93999 100644 --- a/src/mailgo.m.js +++ b/src/mailgo.m.js @@ -1,5 +1,5 @@ // i18n for mailgo -import i18n from "./i18n/i18n"; +const i18n = require("./i18n/i18n.json"); // mailgo css const mailgoCSS = require("../dist/mailgo.min.css").toString(); // default lang @@ -42,6 +42,7 @@ const mailgoInit = (mailgoConfig) => { lang = document.documentElement.lang; } // strings + let defaultStrings = translations[DEFAULT_LANG]; let strings = translations[lang]; // mailgo mail { @@ -71,7 +72,7 @@ const mailgoInit = (mailgoConfig) => { detailCc.id = "m-cc"; let ccSpan = createElement(span); ccSpan.className = "w-500"; - ccSpan.appendChild(createTextNode("cc ")); + ccSpan.appendChild(createTextNode(strings.cc)); ccValue = createElement(span); ccValue.id = "m-cc-value"; detailCc.appendChild(ccSpan); @@ -81,7 +82,7 @@ const mailgoInit = (mailgoConfig) => { detailBcc.id = "m-bcc"; let bccSpan = createElement(span); bccSpan.className = "w-500"; - bccSpan.appendChild(createTextNode("bcc ")); + bccSpan.appendChild(createTextNode(strings.bcc)); bccValue = createElement(span); bccValue.id = "m-bcc-value"; detailBcc.appendChild(bccSpan); @@ -91,7 +92,7 @@ const mailgoInit = (mailgoConfig) => { detailSubject.id = "m-subject"; let subjectSpan = createElement(span); subjectSpan.className = "w-500"; - subjectSpan.appendChild(createTextNode("subject ")); + subjectSpan.appendChild(createTextNode(strings.subject)); subjectValue = createElement(span); subjectValue.id = "m-subject-value"; detailSubject.appendChild(subjectSpan); @@ -101,7 +102,7 @@ const mailgoInit = (mailgoConfig) => { detailBody.id = "m-body"; let bodySpan = createElement(span); bodySpan.className = "w-500"; - bodySpan.appendChild(createTextNode("body ")); + bodySpan.appendChild(createTextNode(strings.body)); bodyValue = createElement(span); bodyValue.id = "m-body-value"; detailBody.appendChild(bodySpan); diff --git a/src/mailgo.ts b/src/mailgo.ts index 6047007..e0d5388 100644 --- a/src/mailgo.ts +++ b/src/mailgo.ts @@ -1,7 +1,7 @@ import { MailgoConfig } from "../mailgo"; // i18n for mailgo -import i18n from "./i18n/i18n"; +const i18n = require("./i18n/i18n.json"); // mailgo css const mailgoCSS = require("../dist/mailgo.min.css").toString(); @@ -87,6 +87,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => { } // strings + let defaultStrings: any = translations[DEFAULT_LANG]; let strings: any = translations[lang]; // mailgo mail @@ -122,7 +123,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => { detailCc.id = "m-cc"; let ccSpan = createElement(span); ccSpan.className = "w-500"; - ccSpan.appendChild(createTextNode("cc ")); + ccSpan.appendChild(createTextNode(strings.cc)); ccValue = createElement(span); ccValue.id = "m-cc-value"; detailCc.appendChild(ccSpan); @@ -133,7 +134,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => { detailBcc.id = "m-bcc"; let bccSpan = createElement(span); bccSpan.className = "w-500"; - bccSpan.appendChild(createTextNode("bcc ")); + bccSpan.appendChild(createTextNode(strings.bcc)); bccValue = createElement(span); bccValue.id = "m-bcc-value"; detailBcc.appendChild(bccSpan); @@ -144,7 +145,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => { detailSubject.id = "m-subject"; let subjectSpan = createElement(span); subjectSpan.className = "w-500"; - subjectSpan.appendChild(createTextNode("subject ")); + subjectSpan.appendChild(createTextNode(strings.subject)); subjectValue = createElement(span); subjectValue.id = "m-subject-value"; detailSubject.appendChild(subjectSpan); @@ -155,7 +156,7 @@ const mailgoInit = (mailgoConfig?: MailgoConfig): void => { detailBody.id = "m-body"; let bodySpan = createElement(span); bodySpan.className = "w-500"; - bodySpan.appendChild(createTextNode("body ")); + bodySpan.appendChild(createTextNode(strings.body)); bodyValue = createElement(span); bodyValue.id = "m-body-value"; detailBody.appendChild(bodySpan); diff --git a/tsconfig.json b/tsconfig.json index eb647e2..2a396f0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,8 @@ "target": "es6", "jsx": "react", "allowJs": true, - "moduleResolution": "node" + "moduleResolution": "node", + "resolveJsonModule": true }, "include": ["src"] }