diff --git a/dist/mailgo.js b/dist/mailgo.js index e4663ff..1de6acc 100644 --- a/dist/mailgo.js +++ b/dist/mailgo.js @@ -113,7 +113,7 @@ module.exports = JSON.parse("{\"languages\":[\"en\",\"it\"],\"translations\":{\" var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3); exports = ___CSS_LOADER_API_IMPORT___(false); // Module -exports.push([module.i, ".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:8px;box-shadow:0px 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:0px 7px 20px rgba(32,35,42,0.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;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;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\n", ""]); +exports.push([module.i, ".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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(217,217,217,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:20px;box-shadow:30px 30px 60px #d9d9d9,-30px -30px 60px #fff;color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff}.m-modal .m-modal-content .m-title{margin-bottom:20px;overflow:hidden;white-space:nowrap;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;border-radius:20px;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\n", ""]); // Exports module.exports = exports; diff --git a/dist/mailgo.js.map b/dist/mailgo.js.map index aaf3286..a3b2c83 100644 --- a/dist/mailgo.js.map +++ b/dist/mailgo.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://mailgo/webpack/bootstrap","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.scss","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.dist.ts"],"names":["i18n","require","mailgoCSS","toString","DEFAULT_LANG","MAILTO","TEL","CALLTO","MAIL_TYPE","TEL_TYPE","DEFAULT_BTN_HREF","span","url","mail","encEmail","cc","bcc","subject","bodyMail","tel","msg","telegramUsername","skypeUsername","title","titleTel","detailCc","detailBcc","detailSubject","detailBody","ccValue","bccValue","subjectValue","bodyValue","gmail","outlook","open","telegram","wa","skype","call","copyMail","copyTel","mailgoInit","mailgoConfig","lang","translations","languages","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","id","classList","add","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","bccSpan","subjectSpan","bodySpan","body","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","addEventListener","hideMailgo","telegramSpan","waSpan","whatsapp","skypeSpan","callSpan","_as_default","mailgoCheckRender","mailgoRender","type","mailgo","toLowerCase","startsWith","decodeURIComponent","split","trim","URL","urlParams","searchParams","get","getAttribute","encodeURIComponent","validateEmails","innerHTML","join","textContent","openGmail","openOutlook","encodeEmail","openDefault","hasAttribute","openWhatsApp","setDisplay","openTelegram","openSkype","callDefault","showMailgo","mailgoKeydown","gmailUrl","concat","window","outlookUrl","mailToEncoded","tgUrl","skypeUrl","waUrl","callUrl","content","copyToClipboard","activeCopy","mailgoIsShowing","setTimeout","isMailgo","element","contains","event","getE","path","composedPath","target","forEach","HTMLDocument","Window","preventDefault","keyCode","removeEventListener","getDisplay","by","rel","encoded","location","atob","email","btoa","getElementById","value","el","push","tagName","parentElement","validateEmail","test","arr","every","str","setAttribute","position","left","selected","getSelection","rangeCount","getRangeAt","select","execCommand","removeChild","removeAllRanges","addRange","mailgoStyle","mailgoCSSElement","head","initEvent"],"mappings":"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","file":"mailgo.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","\n var result = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:8px;box-shadow:0px 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:0px 7px 20px rgba(32,35,42,0.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;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;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","import { MailgoConfig } from \"../mailgo\";\n\n// i18n for mailgo\nconst i18n = require(\"../i18n/i18n.json\");\n\n// mailgo scss\nconst mailgoCSS = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG = \"en\";\n\n// links\nconst MAILTO: string = \"mailto:\";\nconst TEL: string = \"tel:\";\nconst CALLTO: string = \"callto:\";\n\n// mailgo types\nconst MAIL_TYPE: string = \"mail\";\nconst TEL_TYPE: string = \"tel\";\n\n// default href for links\nconst DEFAULT_BTN_HREF: string = \"javascript:void(0);\";\n\n// html tags\nconst span: string = \"span\";\n\n// mailgo variables\nlet url: URL,\n mail: string = \"\",\n encEmail: string = \"\",\n cc: string = \"\",\n bcc: string = \"\",\n subject: string = \"\",\n bodyMail: string = \"\";\n\n// mailgo tel variables\nlet tel: string = \"\",\n msg: string = \"\",\n telegramUsername: string = \"\",\n skypeUsername: string = \"\";\n\n// the DOM elements\nlet title: HTMLElement,\n titleTel: HTMLElement,\n detailCc: HTMLElement,\n detailBcc: HTMLElement,\n detailSubject: HTMLElement,\n detailBody: HTMLElement,\n ccValue: HTMLElement,\n bccValue: HTMLElement,\n subjectValue: HTMLElement,\n bodyValue: HTMLElement;\n\n// mailgo buttons (actions)\nlet gmail: HTMLLinkElement,\n outlook: HTMLLinkElement,\n open: HTMLLinkElement,\n telegram: HTMLLinkElement,\n wa: HTMLLinkElement,\n skype: HTMLLinkElement,\n call: HTMLLinkElement,\n copyMail: HTMLLinkElement,\n copyTel: HTMLLinkElement;\n\n/**\n * mailgoInit\n * the function that creates the mailgo elements in DOM\n */\nconst mailgoInit = (mailgoConfig?: MailgoConfig): void => {\n // default language\n let lang = DEFAULT_LANG;\n\n // translations\n let translations: any = i18n.translations;\n\n // if a default language is defined use it\n if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {\n lang = mailgoConfig.lang;\n }\n\n // if is defined use it!\n if (!mailgoConfig?.forceLang) {\n // keep the lang from html\n let htmlLang = document.documentElement.lang;\n\n // if there are translations...\n if (i18n.languages.includes(htmlLang)) {\n lang = document.documentElement.lang;\n }\n }\n\n // strings\n let defaultStrings: any = translations[DEFAULT_LANG];\n let strings: any = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (email address)\n title = createElement(\"strong\");\n title.id = \"m-title\";\n title.className = \"m-title\";\n modalContent.appendChild(title);\n\n // details\n let details = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(\"p\");\n detailCc.id = \"m-cc\";\n let ccSpan = createElement(span);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc || defaultStrings.cc));\n ccValue = createElement(span);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(\"p\");\n detailBcc.id = \"m-bcc\";\n let bccSpan = createElement(span);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc || defaultStrings.bcc));\n bccValue = createElement(span);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(\"p\");\n detailSubject.id = \"m-subject\";\n let subjectSpan = createElement(span);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject || defaultStrings.subject)\n );\n subjectValue = createElement(span);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(\"p\");\n detailBody.id = \"m-body\";\n let bodySpan = createElement(span);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body || defaultStrings.body));\n bodyValue = createElement(span);\n bodyValue.id = \"m-body-value\";\n detailBody.appendChild(bodySpan);\n detailBody.appendChild(bodyValue);\n details.appendChild(detailBody);\n\n modalContent.appendChild(details);\n\n // Gmail\n gmail = createElement(\"a\") as HTMLLinkElement;\n gmail.id = \"m-gmail\";\n gmail.href = DEFAULT_BTN_HREF;\n gmail.classList.add(\"m-open\");\n gmail.classList.add(\"m-gmail\");\n gmail.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let gmailSpan = createElement(span);\n gmailSpan.className = \"w-500\";\n gmailSpan.appendChild(\n createTextNode(strings.gmail || defaultStrings.gmail)\n );\n gmail.appendChild(gmailSpan);\n\n modalContent.appendChild(gmail);\n\n // Outlook\n outlook = createElement(\"a\") as HTMLLinkElement;\n outlook.id = \"m-outlook\";\n outlook.href = DEFAULT_BTN_HREF;\n outlook.classList.add(\"m-open\");\n outlook.classList.add(\"m-outlook\");\n outlook.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let outlookSpan = createElement(span);\n outlookSpan.className = \"w-500\";\n outlookSpan.appendChild(\n createTextNode(strings.outlook || defaultStrings.outlook)\n );\n outlook.appendChild(outlookSpan);\n\n modalContent.appendChild(outlook);\n\n // open default\n open = createElement(\"a\") as HTMLLinkElement;\n open.id = \"m-open\";\n open.href = DEFAULT_BTN_HREF;\n open.classList.add(\"m-open\");\n open.classList.add(\"m-default\");\n let openSpan = createElement(span);\n openSpan.className = \"w-500\";\n openSpan.appendChild(createTextNode(strings.open || defaultStrings.open));\n open.appendChild(openSpan);\n open.appendChild(\n createTextNode(strings._default || defaultStrings._default)\n );\n\n modalContent.appendChild(open);\n\n // copy\n copyMail = createElement(\"a\") as HTMLLinkElement;\n copyMail.id = \"m-copy\";\n copyMail.href = DEFAULT_BTN_HREF;\n copyMail.classList.add(\"m-copy\");\n copyMail.classList.add(\"w-500\");\n copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyMail);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n // mailgo tel\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (telephone number)\n titleTel = createElement(\"strong\");\n titleTel.id = \"m-tel-title\";\n titleTel.className = \"m-title\";\n modalContent.appendChild(titleTel);\n\n // Telegram\n telegram = createElement(\"a\") as HTMLLinkElement;\n telegram.id = \"m-tg\";\n telegram.href = DEFAULT_BTN_HREF;\n telegram.classList.add(\"m-open\");\n telegram.classList.add(\"m-tg\");\n\n // by default not display\n telegram.style.display = \"none\";\n\n telegram.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let telegramSpan = createElement(span);\n telegramSpan.className = \"w-500\";\n telegramSpan.appendChild(\n createTextNode(strings.telegram || defaultStrings.telegram)\n );\n telegram.appendChild(telegramSpan);\n\n modalContent.appendChild(telegram);\n\n // WhatsApp\n wa = createElement(\"a\") as HTMLLinkElement;\n wa.id = \"m-wa\";\n wa.href = DEFAULT_BTN_HREF;\n wa.classList.add(\"m-open\");\n wa.classList.add(\"m-wa\");\n wa.appendChild(createTextNode(strings.open_in || defaultStrings.open_in));\n let waSpan = createElement(span);\n waSpan.className = \"w-500\";\n waSpan.appendChild(\n createTextNode(strings.whatsapp || defaultStrings.whatsapp)\n );\n wa.appendChild(waSpan);\n\n modalContent.appendChild(wa);\n\n // Skype\n skype = createElement(\"a\") as HTMLLinkElement;\n skype.id = \"m-skype\";\n skype.href = DEFAULT_BTN_HREF;\n skype.classList.add(\"m-open\");\n skype.classList.add(\"m-skype\");\n skype.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let skypeSpan = createElement(span);\n skypeSpan.className = \"w-500\";\n skypeSpan.appendChild(\n createTextNode(strings.skype || defaultStrings.skype)\n );\n skype.appendChild(skypeSpan);\n\n modalContent.appendChild(skype);\n\n // call default\n call = createElement(\"a\") as HTMLLinkElement;\n call.id = \"m-call\";\n call.href = DEFAULT_BTN_HREF;\n call.classList.add(\"m-open\");\n call.classList.add(\"m-default\");\n let callSpan = createElement(span);\n callSpan.className = \"w-500\";\n callSpan.appendChild(createTextNode(strings.call || defaultStrings.call));\n call.appendChild(callSpan);\n call.appendChild(\n createTextNode(strings._as_default || defaultStrings._as_default)\n );\n\n modalContent.appendChild(call);\n\n // copy\n copyTel = createElement(\"a\") as HTMLLinkElement;\n copyTel.id = \"m-tel-copy\";\n copyTel.href = DEFAULT_BTN_HREF;\n copyTel.classList.add(\"m-copy\");\n copyTel.classList.add(\"w-500\");\n copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyTel);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n\n // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered\n document.addEventListener(\"click\", mailgoCheckRender);\n};\n\n/**\n * mailgoRender\n * function to render a mailgo (mail or tel)\n */\nconst mailgoRender = (type = MAIL_TYPE, mailgo: HTMLLinkElement): void => {\n // mailgo mail\n if (type === MAIL_TYPE) {\n // if the element href=^\"mailto:\"\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(MAILTO)) {\n mail = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(MAILTO)[1].trim()\n );\n\n url = new URL(mailgo.href);\n let urlParams: URLSearchParams = url.searchParams;\n\n // optional parameters for the email\n cc = urlParams.get(\"cc\");\n bcc = urlParams.get(\"bcc\");\n subject = urlParams.get(\"subject\");\n bodyMail = urlParams.get(\"body\");\n } else {\n // if the element href=\"#mailgo\" or class=\"mailgo\"\n // mail = data-address + @ + data-domain\n mail =\n mailgo.getAttribute(\"data-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-domain\");\n\n url = new URL(MAILTO + encodeURIComponent(mail));\n\n // cc = data-cc-address + @ + data-cc-domain\n cc =\n mailgo.getAttribute(\"data-cc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-cc-domain\");\n\n // bcc = data-bcc-address + @ + data-bcc-domain\n bcc =\n mailgo.getAttribute(\"data-bcc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-bcc-domain\");\n\n // subject = data-subject\n subject = mailgo.getAttribute(\"data-subject\");\n\n // body = data-body\n bodyMail = mailgo.getAttribute(\"data-body\");\n }\n\n // validate the email address\n if (!validateEmails(mail.split(\",\"))) return;\n\n // if cc, bcc is not valid cc, bcc = \"\"\n if (cc && !validateEmails(cc.split(\",\"))) cc = \"\";\n if (bcc && !validateEmails(bcc.split(\",\"))) bcc = \"\";\n\n // the title of the modal (email address)\n title.innerHTML = mail.split(\",\").join(\"
\");\n\n // add the details if provided\n cc\n ? ((detailCc.style.display = \"block\"),\n (ccValue.innerHTML = cc.split(\",\").join(\"
\")))\n : (detailCc.style.display = \"none\");\n\n bcc\n ? ((detailBcc.style.display = \"block\"),\n (bccValue.innerHTML = bcc.split(\",\").join(\"
\")))\n : (detailBcc.style.display = \"none\");\n\n subject\n ? ((detailSubject.style.display = \"block\"),\n (subjectValue.textContent = subject))\n : (detailSubject.style.display = \"none\");\n\n bodyMail\n ? ((detailBody.style.display = \"block\"),\n (bodyValue.textContent = bodyMail))\n : (detailBody.style.display = \"none\");\n\n // add the actions\n gmail.addEventListener(\"click\", openGmail);\n\n outlook.addEventListener(\"click\", openOutlook);\n\n encEmail = encodeEmail(mail);\n open.addEventListener(\"click\", openDefault);\n\n copyMail.addEventListener(\"click\", () => copy(mail));\n }\n // mailgo tel\n if (type === TEL_TYPE) {\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) {\n tel = decodeURIComponent(mailgo.href.split(\"?\")[0].split(TEL)[1].trim());\n } else if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) {\n tel = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(CALLTO)[1].trim()\n );\n } else if (mailgo.hasAttribute(\"data-tel\")) {\n tel = mailgo.getAttribute(\"data-tel\");\n msg = mailgo.getAttribute(\"data-msg\");\n }\n\n // information\n // let titleEl = getE(\"m-tel-title\");\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-telegram\")) {\n telegramUsername = mailgo.getAttribute(\"data-telegram\");\n }\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-skype\")) {\n skypeUsername = mailgo.getAttribute(\"data-skype\");\n }\n\n // the title of the modal (tel)\n titleTel.innerHTML = tel;\n\n // add the actions to buttons\n wa.addEventListener(\"click\", openWhatsApp);\n\n if (telegramUsername) {\n setDisplay(\"m-tg\", \"block\");\n telegram.addEventListener(\"click\", openTelegram);\n }\n\n skype.addEventListener(\"click\", openSkype);\n\n call.addEventListener(\"click\", callDefault);\n\n copyTel.addEventListener(\"click\", () => copy(tel));\n }\n\n // show the mailgo\n showMailgo(type);\n\n // add listener keyDown\n document.addEventListener(\"keydown\", mailgoKeydown);\n};\n\n// actions\nconst openGmail = (): void => {\n // Gmail url\n let gmailUrl =\n \"https://mail.google.com/mail/u/0/?view=cm&source=mailto&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (cc) gmailUrl = gmailUrl.concat(\"&cc=\" + encodeURIComponent(cc));\n if (bcc) gmailUrl = gmailUrl.concat(\"&bcc=\" + encodeURIComponent(bcc));\n if (subject) gmailUrl = gmailUrl.concat(\"&subject=\" + subject);\n if (bodyMail) gmailUrl = gmailUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(gmailUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openOutlook = (): void => {\n // Outlook url\n let outlookUrl =\n \"https://outlook.live.com/owa/?path=/mail/action/compose&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (subject) outlookUrl = outlookUrl.concat(\"&subject=\" + subject);\n if (bodyMail) outlookUrl = outlookUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(outlookUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openDefault = (): void => {\n mailToEncoded(encEmail);\n hideMailgo();\n};\n\nconst openTelegram = (): void => {\n // Telegram url\n let tgUrl = \"https://t.me/\" + telegramUsername;\n\n // open the url\n window.open(tgUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openSkype = (): void => {\n let skype = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl = \"skype:\" + skype;\n\n // open the url\n window.open(skypeUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openWhatsApp = (): void => {\n // WhatsApp url\n let waUrl = \"https://wa.me/\" + tel;\n\n // the details if provided\n if (msg) waUrl + \"?text=\" + msg;\n\n // open the url\n window.open(waUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst callDefault = () => {\n let callUrl = \"tel:\" + tel;\n window.open(callUrl);\n hideMailgo();\n};\n\nconst copy = (content: string): void => {\n copyToClipboard(content);\n let activeCopy: HTMLElement;\n // the correct copyButton (mail or tel)\n mailgoIsShowing(MAIL_TYPE) ? (activeCopy = copyMail) : (activeCopy = copyTel);\n activeCopy.textContent = \"copied\";\n setTimeout(() => {\n activeCopy.textContent = \"copy\";\n // hide after the timeout\n hideMailgo();\n }, 999);\n};\n\n// function that returns if an element is a mailgo\nconst isMailgo = (element: HTMLElement, type: string = MAIL_TYPE): boolean => {\n let href: string = (element as HTMLLinkElement).href;\n\n // mailgo type mail\n if (type === MAIL_TYPE) {\n return (\n // first case: it is an element with \"mailto:...\" in href and no no-mailgo in classList\n (href &&\n href.toLowerCase().startsWith(MAILTO) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-address\") &&\n // second case: the href=#mailgo\n ((href && element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))))\n );\n }\n\n // mailgo type tel\n if (type === TEL_TYPE) {\n return (\n // first case: it is an element with \"tel:...\" or \"callto:...\" in href and no no-mailgo in classList\n (href &&\n (href.toLowerCase().startsWith(TEL) ||\n href.toLowerCase().startsWith(CALLTO)) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-tel\") &&\n // second case: the href=#mailgo\n href &&\n element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))\n );\n }\n\n return false;\n};\n\n/**\n * mailgoCheckRender\n * function to check if an element is mailgo-enabled or not referencing to\n * mail:\n * document.querySelectorAll(\n * 'a[href^=\"mailto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * tel:\n * document.querySelectorAll(\n * 'a[href^=\"tel:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * or\n * document.querySelectorAll(\n * 'a[href^=\"callto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n */\nconst mailgoCheckRender = (event: Event): boolean => {\n // check if the id=mailgo exists in the body\n if (\n !document.contains(getE(\"mailgo\")) ||\n !document.contains(getE(\"mailgo-tel\"))\n )\n return;\n\n // if a mailgo is already showing do nothing\n if (mailgoIsShowing(MAIL_TYPE) || mailgoIsShowing(TEL_TYPE)) return false;\n\n // the path of the event\n let path =\n (event.composedPath && event.composedPath()) ||\n composedPath(event.target as HTMLElement);\n\n if (path) {\n path.forEach((element: HTMLElement) => {\n if (element instanceof HTMLDocument || element instanceof Window)\n return false;\n\n // go in the event.path to find if the user has clicked on a mailgo element\n if (isMailgo(element, MAIL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(MAIL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n if (isMailgo(element, TEL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(TEL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n });\n }\n\n return false;\n};\n\n/**\n * mailgoKeydown\n * function to manage the keydown event when the modal is showing\n */\nconst mailgoKeydown = (event: KeyboardEvent): void => {\n // if mailgo is showing\n if (mailgoIsShowing(MAIL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 71:\n // g -> open GMail\n openGmail();\n break;\n case 79:\n // o -> open Outlook\n openOutlook();\n break;\n case 32:\n case 13:\n // spacebar or enter -> open default\n openDefault();\n break;\n case 67:\n // c -> copy\n copy(mail);\n break;\n default:\n return;\n }\n } else if (mailgoIsShowing(TEL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 84:\n // t -> open Telegram\n openTelegram();\n break;\n case 87:\n // w -> open WhatsApp\n openWhatsApp();\n break;\n case 32:\n case 13:\n // spacebar or enter -> call default\n callDefault();\n break;\n case 67:\n // c -> copy\n copy(tel);\n break;\n default:\n return;\n }\n }\n return;\n};\n\n// show the modal\nconst showMailgo = (type = MAIL_TYPE): boolean => {\n // show mailgo type mail\n if (type === MAIL_TYPE) {\n setDisplay(\"mailgo\", \"flex\");\n return true;\n }\n // show mailgo type tel\n if (type === TEL_TYPE) {\n setDisplay(\"mailgo-tel\", \"flex\");\n return true;\n }\n return false;\n};\n\n// hide the modal\nconst hideMailgo = (): void => {\n setDisplay(\"mailgo\", \"none\");\n setDisplay(\"mailgo-tel\", \"none\");\n\n // remove listener keyDown\n document.removeEventListener(\"keydown\", mailgoKeydown);\n};\n\n// is the mailgo modal hidden?\nconst mailgoIsShowing = (type = MAIL_TYPE): boolean => {\n return type === MAIL_TYPE\n ? getDisplay(\"mailgo\") === \"flex\"\n : type === TEL_TYPE\n ? getDisplay(\"mailgo-tel\") === \"flex\"\n : false;\n};\n\nconst byElement = (): HTMLLinkElement => {\n // by\n let by: HTMLLinkElement = createElement(\"a\") as HTMLLinkElement;\n by.href = \"https://mailgo.js.org?ref=mailgo-modal\";\n by.className = \"m-by\";\n by.target = \"_blank\";\n by.rel = \"noopener noreferrer\";\n by.appendChild(createTextNode(\"mailgo.js.org\"));\n\n return by;\n};\n\n// create element\nconst createElement = (element: string = \"div\"): HTMLElement =>\n document.createElement(element);\n\n// create text node\nconst createTextNode = (element: string): Text =>\n document.createTextNode(element);\n\n// decrypt email\nconst mailToEncoded = (encoded: string): string =>\n (window.location.href = MAILTO + atob(encoded));\n\n// encode email\nconst encodeEmail = (email: string): string => btoa(email);\n\n// getE shorthand\nconst getE = (id: string): HTMLElement => document.getElementById(id);\n\n// get display value\nconst getDisplay = (id: string): string => getE(id).style.display;\n\n// get display value\nconst setDisplay = (id: string, value: string): string =>\n (getE(id).style.display = value);\n\n// custom composedPath if path or event.composedPath() are not defined\nconst composedPath = (\n el: HTMLElement\n): (HTMLElement | Document | (Window & typeof globalThis))[] => {\n let path = [];\n\n while (el) {\n path.push(el);\n\n if (el.tagName === \"HTML\") {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n};\n\n// validate a single email with regex\nconst validateEmail = (email: string): boolean =>\n /^(([^<>()[\\]\\\\.,;:\\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(\n email\n );\n\n// validate an array of emails\nconst validateEmails = (arr: string[]): boolean => arr.every(validateEmail);\n\n// copy of a string\nconst copyToClipboard = (str: string): boolean => {\n let el: HTMLInputElement = createElement(\"textarea\") as HTMLInputElement;\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n let selected =\n document.getSelection().rangeCount > 0\n ? document.getSelection().getRangeAt(0)\n : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n return true;\n }\n return false;\n};\n\nconst mailgoStyle = (): void => {\n // mailgo style\n let mailgoCSSElement: HTMLStyleElement = createElement(\n \"style\"\n ) as HTMLStyleElement;\n mailgoCSSElement.id = \"mailgo-style\";\n mailgoCSSElement.type = \"text/css\";\n mailgoCSSElement.appendChild(createTextNode(mailgoCSS));\n document.head.appendChild(mailgoCSSElement);\n};\n\n// mailgo\nexport const mailgo = (mailgoConfig?: MailgoConfig) => {\n // if the window is defined...\n if (window && typeof window !== \"undefined\") {\n // add the style for mailgo\n mailgoStyle();\n\n // if is set an initEvent add the listener\n if (mailgoConfig?.initEvent) {\n document.addEventListener(mailgoConfig.initEvent, () => {\n mailgoInit(mailgoConfig);\n });\n } else {\n mailgoInit(mailgoConfig);\n }\n }\n};\n\nexport default mailgo;\n","// webpack > dist/mailgo.min.js\n\nimport mailgo from \"../src/mailgo\";\n\n// call init mailgo attached to the event DOMContentLoaded\nconst mailgoConfig = {\n initEvent: \"DOMContentLoaded\",\n};\n\nmailgo(mailgoConfig);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://mailgo/webpack/bootstrap","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.scss","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.dist.ts"],"names":["i18n","require","mailgoCSS","toString","DEFAULT_LANG","MAILTO","TEL","CALLTO","MAIL_TYPE","TEL_TYPE","DEFAULT_BTN_HREF","span","url","mail","encEmail","cc","bcc","subject","bodyMail","tel","msg","telegramUsername","skypeUsername","title","titleTel","detailCc","detailBcc","detailSubject","detailBody","ccValue","bccValue","subjectValue","bodyValue","gmail","outlook","open","telegram","wa","skype","call","copyMail","copyTel","mailgoInit","mailgoConfig","lang","translations","languages","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","id","classList","add","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","bccSpan","subjectSpan","bodySpan","body","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","addEventListener","hideMailgo","telegramSpan","waSpan","whatsapp","skypeSpan","callSpan","_as_default","mailgoCheckRender","mailgoRender","type","mailgo","toLowerCase","startsWith","decodeURIComponent","split","trim","URL","urlParams","searchParams","get","getAttribute","encodeURIComponent","validateEmails","innerHTML","join","textContent","openGmail","openOutlook","encodeEmail","openDefault","hasAttribute","openWhatsApp","setDisplay","openTelegram","openSkype","callDefault","showMailgo","mailgoKeydown","gmailUrl","concat","window","outlookUrl","mailToEncoded","tgUrl","skypeUrl","waUrl","callUrl","content","copyToClipboard","activeCopy","mailgoIsShowing","setTimeout","isMailgo","element","contains","event","getE","path","composedPath","target","forEach","HTMLDocument","Window","preventDefault","keyCode","removeEventListener","getDisplay","by","rel","encoded","location","atob","email","btoa","getElementById","value","el","push","tagName","parentElement","validateEmail","test","arr","every","str","setAttribute","position","left","selected","getSelection","rangeCount","getRangeAt","select","execCommand","removeChild","removeAllRanges","addRange","mailgoStyle","mailgoCSSElement","head","initEvent"],"mappings":"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","file":"mailgo.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","\n var result = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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(217,217,217,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:20px;box-shadow:30px 30px 60px #d9d9d9,-30px -30px 60px #fff;color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff}.m-modal .m-modal-content .m-title{margin-bottom:20px;overflow:hidden;white-space:nowrap;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;border-radius:20px;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","import { MailgoConfig } from \"../mailgo\";\n\n// i18n for mailgo\nconst i18n = require(\"../i18n/i18n.json\");\n\n// mailgo scss\nconst mailgoCSS = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG = \"en\";\n\n// links\nconst MAILTO: string = \"mailto:\";\nconst TEL: string = \"tel:\";\nconst CALLTO: string = \"callto:\";\n\n// mailgo types\nconst MAIL_TYPE: string = \"mail\";\nconst TEL_TYPE: string = \"tel\";\n\n// default href for links\nconst DEFAULT_BTN_HREF: string = \"javascript:void(0);\";\n\n// html tags\nconst span: string = \"span\";\n\n// mailgo variables\nlet url: URL,\n mail: string = \"\",\n encEmail: string = \"\",\n cc: string = \"\",\n bcc: string = \"\",\n subject: string = \"\",\n bodyMail: string = \"\";\n\n// mailgo tel variables\nlet tel: string = \"\",\n msg: string = \"\",\n telegramUsername: string = \"\",\n skypeUsername: string = \"\";\n\n// the DOM elements\nlet title: HTMLElement,\n titleTel: HTMLElement,\n detailCc: HTMLElement,\n detailBcc: HTMLElement,\n detailSubject: HTMLElement,\n detailBody: HTMLElement,\n ccValue: HTMLElement,\n bccValue: HTMLElement,\n subjectValue: HTMLElement,\n bodyValue: HTMLElement;\n\n// mailgo buttons (actions)\nlet gmail: HTMLLinkElement,\n outlook: HTMLLinkElement,\n open: HTMLLinkElement,\n telegram: HTMLLinkElement,\n wa: HTMLLinkElement,\n skype: HTMLLinkElement,\n call: HTMLLinkElement,\n copyMail: HTMLLinkElement,\n copyTel: HTMLLinkElement;\n\n/**\n * mailgoInit\n * the function that creates the mailgo elements in DOM\n */\nconst mailgoInit = (mailgoConfig?: MailgoConfig): void => {\n // default language\n let lang = DEFAULT_LANG;\n\n // translations\n let translations: any = i18n.translations;\n\n // if a default language is defined use it\n if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {\n lang = mailgoConfig.lang;\n }\n\n // if is defined use it!\n if (!mailgoConfig?.forceLang) {\n // keep the lang from html\n let htmlLang = document.documentElement.lang;\n\n // if there are translations...\n if (i18n.languages.includes(htmlLang)) {\n lang = document.documentElement.lang;\n }\n }\n\n // strings\n let defaultStrings: any = translations[DEFAULT_LANG];\n let strings: any = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (email address)\n title = createElement(\"strong\");\n title.id = \"m-title\";\n title.className = \"m-title\";\n modalContent.appendChild(title);\n\n // details\n let details = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(\"p\");\n detailCc.id = \"m-cc\";\n let ccSpan = createElement(span);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc || defaultStrings.cc));\n ccValue = createElement(span);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(\"p\");\n detailBcc.id = \"m-bcc\";\n let bccSpan = createElement(span);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc || defaultStrings.bcc));\n bccValue = createElement(span);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(\"p\");\n detailSubject.id = \"m-subject\";\n let subjectSpan = createElement(span);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject || defaultStrings.subject)\n );\n subjectValue = createElement(span);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(\"p\");\n detailBody.id = \"m-body\";\n let bodySpan = createElement(span);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body || defaultStrings.body));\n bodyValue = createElement(span);\n bodyValue.id = \"m-body-value\";\n detailBody.appendChild(bodySpan);\n detailBody.appendChild(bodyValue);\n details.appendChild(detailBody);\n\n modalContent.appendChild(details);\n\n // Gmail\n gmail = createElement(\"a\") as HTMLLinkElement;\n gmail.id = \"m-gmail\";\n gmail.href = DEFAULT_BTN_HREF;\n gmail.classList.add(\"m-open\");\n gmail.classList.add(\"m-gmail\");\n gmail.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let gmailSpan = createElement(span);\n gmailSpan.className = \"w-500\";\n gmailSpan.appendChild(\n createTextNode(strings.gmail || defaultStrings.gmail)\n );\n gmail.appendChild(gmailSpan);\n\n modalContent.appendChild(gmail);\n\n // Outlook\n outlook = createElement(\"a\") as HTMLLinkElement;\n outlook.id = \"m-outlook\";\n outlook.href = DEFAULT_BTN_HREF;\n outlook.classList.add(\"m-open\");\n outlook.classList.add(\"m-outlook\");\n outlook.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let outlookSpan = createElement(span);\n outlookSpan.className = \"w-500\";\n outlookSpan.appendChild(\n createTextNode(strings.outlook || defaultStrings.outlook)\n );\n outlook.appendChild(outlookSpan);\n\n modalContent.appendChild(outlook);\n\n // open default\n open = createElement(\"a\") as HTMLLinkElement;\n open.id = \"m-open\";\n open.href = DEFAULT_BTN_HREF;\n open.classList.add(\"m-open\");\n open.classList.add(\"m-default\");\n let openSpan = createElement(span);\n openSpan.className = \"w-500\";\n openSpan.appendChild(createTextNode(strings.open || defaultStrings.open));\n open.appendChild(openSpan);\n open.appendChild(\n createTextNode(strings._default || defaultStrings._default)\n );\n\n modalContent.appendChild(open);\n\n // copy\n copyMail = createElement(\"a\") as HTMLLinkElement;\n copyMail.id = \"m-copy\";\n copyMail.href = DEFAULT_BTN_HREF;\n copyMail.classList.add(\"m-copy\");\n copyMail.classList.add(\"w-500\");\n copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyMail);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n // mailgo tel\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (telephone number)\n titleTel = createElement(\"strong\");\n titleTel.id = \"m-tel-title\";\n titleTel.className = \"m-title\";\n modalContent.appendChild(titleTel);\n\n // Telegram\n telegram = createElement(\"a\") as HTMLLinkElement;\n telegram.id = \"m-tg\";\n telegram.href = DEFAULT_BTN_HREF;\n telegram.classList.add(\"m-open\");\n telegram.classList.add(\"m-tg\");\n\n // by default not display\n telegram.style.display = \"none\";\n\n telegram.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let telegramSpan = createElement(span);\n telegramSpan.className = \"w-500\";\n telegramSpan.appendChild(\n createTextNode(strings.telegram || defaultStrings.telegram)\n );\n telegram.appendChild(telegramSpan);\n\n modalContent.appendChild(telegram);\n\n // WhatsApp\n wa = createElement(\"a\") as HTMLLinkElement;\n wa.id = \"m-wa\";\n wa.href = DEFAULT_BTN_HREF;\n wa.classList.add(\"m-open\");\n wa.classList.add(\"m-wa\");\n wa.appendChild(createTextNode(strings.open_in || defaultStrings.open_in));\n let waSpan = createElement(span);\n waSpan.className = \"w-500\";\n waSpan.appendChild(\n createTextNode(strings.whatsapp || defaultStrings.whatsapp)\n );\n wa.appendChild(waSpan);\n\n modalContent.appendChild(wa);\n\n // Skype\n skype = createElement(\"a\") as HTMLLinkElement;\n skype.id = \"m-skype\";\n skype.href = DEFAULT_BTN_HREF;\n skype.classList.add(\"m-open\");\n skype.classList.add(\"m-skype\");\n skype.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let skypeSpan = createElement(span);\n skypeSpan.className = \"w-500\";\n skypeSpan.appendChild(\n createTextNode(strings.skype || defaultStrings.skype)\n );\n skype.appendChild(skypeSpan);\n\n modalContent.appendChild(skype);\n\n // call default\n call = createElement(\"a\") as HTMLLinkElement;\n call.id = \"m-call\";\n call.href = DEFAULT_BTN_HREF;\n call.classList.add(\"m-open\");\n call.classList.add(\"m-default\");\n let callSpan = createElement(span);\n callSpan.className = \"w-500\";\n callSpan.appendChild(createTextNode(strings.call || defaultStrings.call));\n call.appendChild(callSpan);\n call.appendChild(\n createTextNode(strings._as_default || defaultStrings._as_default)\n );\n\n modalContent.appendChild(call);\n\n // copy\n copyTel = createElement(\"a\") as HTMLLinkElement;\n copyTel.id = \"m-tel-copy\";\n copyTel.href = DEFAULT_BTN_HREF;\n copyTel.classList.add(\"m-copy\");\n copyTel.classList.add(\"w-500\");\n copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyTel);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n\n // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered\n document.addEventListener(\"click\", mailgoCheckRender);\n};\n\n/**\n * mailgoRender\n * function to render a mailgo (mail or tel)\n */\nconst mailgoRender = (type = MAIL_TYPE, mailgo: HTMLLinkElement): void => {\n // mailgo mail\n if (type === MAIL_TYPE) {\n // if the element href=^\"mailto:\"\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(MAILTO)) {\n mail = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(MAILTO)[1].trim()\n );\n\n url = new URL(mailgo.href);\n let urlParams: URLSearchParams = url.searchParams;\n\n // optional parameters for the email\n cc = urlParams.get(\"cc\");\n bcc = urlParams.get(\"bcc\");\n subject = urlParams.get(\"subject\");\n bodyMail = urlParams.get(\"body\");\n } else {\n // if the element href=\"#mailgo\" or class=\"mailgo\"\n // mail = data-address + @ + data-domain\n mail =\n mailgo.getAttribute(\"data-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-domain\");\n\n url = new URL(MAILTO + encodeURIComponent(mail));\n\n // cc = data-cc-address + @ + data-cc-domain\n cc =\n mailgo.getAttribute(\"data-cc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-cc-domain\");\n\n // bcc = data-bcc-address + @ + data-bcc-domain\n bcc =\n mailgo.getAttribute(\"data-bcc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-bcc-domain\");\n\n // subject = data-subject\n subject = mailgo.getAttribute(\"data-subject\");\n\n // body = data-body\n bodyMail = mailgo.getAttribute(\"data-body\");\n }\n\n // validate the email address\n if (!validateEmails(mail.split(\",\"))) return;\n\n // if cc, bcc is not valid cc, bcc = \"\"\n if (cc && !validateEmails(cc.split(\",\"))) cc = \"\";\n if (bcc && !validateEmails(bcc.split(\",\"))) bcc = \"\";\n\n // the title of the modal (email address)\n title.innerHTML = mail.split(\",\").join(\"
\");\n\n // add the details if provided\n cc\n ? ((detailCc.style.display = \"block\"),\n (ccValue.innerHTML = cc.split(\",\").join(\"
\")))\n : (detailCc.style.display = \"none\");\n\n bcc\n ? ((detailBcc.style.display = \"block\"),\n (bccValue.innerHTML = bcc.split(\",\").join(\"
\")))\n : (detailBcc.style.display = \"none\");\n\n subject\n ? ((detailSubject.style.display = \"block\"),\n (subjectValue.textContent = subject))\n : (detailSubject.style.display = \"none\");\n\n bodyMail\n ? ((detailBody.style.display = \"block\"),\n (bodyValue.textContent = bodyMail))\n : (detailBody.style.display = \"none\");\n\n // add the actions\n gmail.addEventListener(\"click\", openGmail);\n\n outlook.addEventListener(\"click\", openOutlook);\n\n encEmail = encodeEmail(mail);\n open.addEventListener(\"click\", openDefault);\n\n copyMail.addEventListener(\"click\", () => copy(mail));\n }\n // mailgo tel\n if (type === TEL_TYPE) {\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) {\n tel = decodeURIComponent(mailgo.href.split(\"?\")[0].split(TEL)[1].trim());\n } else if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) {\n tel = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(CALLTO)[1].trim()\n );\n } else if (mailgo.hasAttribute(\"data-tel\")) {\n tel = mailgo.getAttribute(\"data-tel\");\n msg = mailgo.getAttribute(\"data-msg\");\n }\n\n // information\n // let titleEl = getE(\"m-tel-title\");\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-telegram\")) {\n telegramUsername = mailgo.getAttribute(\"data-telegram\");\n }\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-skype\")) {\n skypeUsername = mailgo.getAttribute(\"data-skype\");\n }\n\n // the title of the modal (tel)\n titleTel.innerHTML = tel;\n\n // add the actions to buttons\n wa.addEventListener(\"click\", openWhatsApp);\n\n if (telegramUsername) {\n setDisplay(\"m-tg\", \"block\");\n telegram.addEventListener(\"click\", openTelegram);\n }\n\n skype.addEventListener(\"click\", openSkype);\n\n call.addEventListener(\"click\", callDefault);\n\n copyTel.addEventListener(\"click\", () => copy(tel));\n }\n\n // show the mailgo\n showMailgo(type);\n\n // add listener keyDown\n document.addEventListener(\"keydown\", mailgoKeydown);\n};\n\n// actions\nconst openGmail = (): void => {\n // Gmail url\n let gmailUrl =\n \"https://mail.google.com/mail/u/0/?view=cm&source=mailto&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (cc) gmailUrl = gmailUrl.concat(\"&cc=\" + encodeURIComponent(cc));\n if (bcc) gmailUrl = gmailUrl.concat(\"&bcc=\" + encodeURIComponent(bcc));\n if (subject) gmailUrl = gmailUrl.concat(\"&subject=\" + subject);\n if (bodyMail) gmailUrl = gmailUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(gmailUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openOutlook = (): void => {\n // Outlook url\n let outlookUrl =\n \"https://outlook.live.com/owa/?path=/mail/action/compose&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (subject) outlookUrl = outlookUrl.concat(\"&subject=\" + subject);\n if (bodyMail) outlookUrl = outlookUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(outlookUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openDefault = (): void => {\n mailToEncoded(encEmail);\n hideMailgo();\n};\n\nconst openTelegram = (): void => {\n // Telegram url\n let tgUrl = \"https://t.me/\" + telegramUsername;\n\n // open the url\n window.open(tgUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openSkype = (): void => {\n let skype = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl = \"skype:\" + skype;\n\n // open the url\n window.open(skypeUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openWhatsApp = (): void => {\n // WhatsApp url\n let waUrl = \"https://wa.me/\" + tel;\n\n // the details if provided\n if (msg) waUrl + \"?text=\" + msg;\n\n // open the url\n window.open(waUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst callDefault = () => {\n let callUrl = \"tel:\" + tel;\n window.open(callUrl);\n hideMailgo();\n};\n\nconst copy = (content: string): void => {\n copyToClipboard(content);\n let activeCopy: HTMLElement;\n // the correct copyButton (mail or tel)\n mailgoIsShowing(MAIL_TYPE) ? (activeCopy = copyMail) : (activeCopy = copyTel);\n activeCopy.textContent = \"copied\";\n setTimeout(() => {\n activeCopy.textContent = \"copy\";\n // hide after the timeout\n hideMailgo();\n }, 999);\n};\n\n// function that returns if an element is a mailgo\nconst isMailgo = (element: HTMLElement, type: string = MAIL_TYPE): boolean => {\n let href: string = (element as HTMLLinkElement).href;\n\n // mailgo type mail\n if (type === MAIL_TYPE) {\n return (\n // first case: it is an
element with \"mailto:...\" in href and no no-mailgo in classList\n (href &&\n href.toLowerCase().startsWith(MAILTO) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-address\") &&\n // second case: the href=#mailgo\n ((href && element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))))\n );\n }\n\n // mailgo type tel\n if (type === TEL_TYPE) {\n return (\n // first case: it is an element with \"tel:...\" or \"callto:...\" in href and no no-mailgo in classList\n (href &&\n (href.toLowerCase().startsWith(TEL) ||\n href.toLowerCase().startsWith(CALLTO)) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-tel\") &&\n // second case: the href=#mailgo\n href &&\n element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))\n );\n }\n\n return false;\n};\n\n/**\n * mailgoCheckRender\n * function to check if an element is mailgo-enabled or not referencing to\n * mail:\n * document.querySelectorAll(\n * 'a[href^=\"mailto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * tel:\n * document.querySelectorAll(\n * 'a[href^=\"tel:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * or\n * document.querySelectorAll(\n * 'a[href^=\"callto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n */\nconst mailgoCheckRender = (event: Event): boolean => {\n // check if the id=mailgo exists in the body\n if (\n !document.contains(getE(\"mailgo\")) ||\n !document.contains(getE(\"mailgo-tel\"))\n )\n return;\n\n // if a mailgo is already showing do nothing\n if (mailgoIsShowing(MAIL_TYPE) || mailgoIsShowing(TEL_TYPE)) return false;\n\n // the path of the event\n let path =\n (event.composedPath && event.composedPath()) ||\n composedPath(event.target as HTMLElement);\n\n if (path) {\n path.forEach((element: HTMLElement) => {\n if (element instanceof HTMLDocument || element instanceof Window)\n return false;\n\n // go in the event.path to find if the user has clicked on a mailgo element\n if (isMailgo(element, MAIL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(MAIL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n if (isMailgo(element, TEL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(TEL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n });\n }\n\n return false;\n};\n\n/**\n * mailgoKeydown\n * function to manage the keydown event when the modal is showing\n */\nconst mailgoKeydown = (event: KeyboardEvent): void => {\n // if mailgo is showing\n if (mailgoIsShowing(MAIL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 71:\n // g -> open GMail\n openGmail();\n break;\n case 79:\n // o -> open Outlook\n openOutlook();\n break;\n case 32:\n case 13:\n // spacebar or enter -> open default\n openDefault();\n break;\n case 67:\n // c -> copy\n copy(mail);\n break;\n default:\n return;\n }\n } else if (mailgoIsShowing(TEL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 84:\n // t -> open Telegram\n openTelegram();\n break;\n case 87:\n // w -> open WhatsApp\n openWhatsApp();\n break;\n case 32:\n case 13:\n // spacebar or enter -> call default\n callDefault();\n break;\n case 67:\n // c -> copy\n copy(tel);\n break;\n default:\n return;\n }\n }\n return;\n};\n\n// show the modal\nconst showMailgo = (type = MAIL_TYPE): boolean => {\n // show mailgo type mail\n if (type === MAIL_TYPE) {\n setDisplay(\"mailgo\", \"flex\");\n return true;\n }\n // show mailgo type tel\n if (type === TEL_TYPE) {\n setDisplay(\"mailgo-tel\", \"flex\");\n return true;\n }\n return false;\n};\n\n// hide the modal\nconst hideMailgo = (): void => {\n setDisplay(\"mailgo\", \"none\");\n setDisplay(\"mailgo-tel\", \"none\");\n\n // remove listener keyDown\n document.removeEventListener(\"keydown\", mailgoKeydown);\n};\n\n// is the mailgo modal hidden?\nconst mailgoIsShowing = (type = MAIL_TYPE): boolean => {\n return type === MAIL_TYPE\n ? getDisplay(\"mailgo\") === \"flex\"\n : type === TEL_TYPE\n ? getDisplay(\"mailgo-tel\") === \"flex\"\n : false;\n};\n\nconst byElement = (): HTMLLinkElement => {\n // by\n let by: HTMLLinkElement = createElement(\"a\") as HTMLLinkElement;\n by.href = \"https://mailgo.js.org?ref=mailgo-modal\";\n by.className = \"m-by\";\n by.target = \"_blank\";\n by.rel = \"noopener noreferrer\";\n by.appendChild(createTextNode(\"mailgo.js.org\"));\n\n return by;\n};\n\n// create element\nconst createElement = (element: string = \"div\"): HTMLElement =>\n document.createElement(element);\n\n// create text node\nconst createTextNode = (element: string): Text =>\n document.createTextNode(element);\n\n// decrypt email\nconst mailToEncoded = (encoded: string): string =>\n (window.location.href = MAILTO + atob(encoded));\n\n// encode email\nconst encodeEmail = (email: string): string => btoa(email);\n\n// getE shorthand\nconst getE = (id: string): HTMLElement => document.getElementById(id);\n\n// get display value\nconst getDisplay = (id: string): string => getE(id).style.display;\n\n// get display value\nconst setDisplay = (id: string, value: string): string =>\n (getE(id).style.display = value);\n\n// custom composedPath if path or event.composedPath() are not defined\nconst composedPath = (\n el: HTMLElement\n): (HTMLElement | Document | (Window & typeof globalThis))[] => {\n let path = [];\n\n while (el) {\n path.push(el);\n\n if (el.tagName === \"HTML\") {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n};\n\n// validate a single email with regex\nconst validateEmail = (email: string): boolean =>\n /^(([^<>()[\\]\\\\.,;:\\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(\n email\n );\n\n// validate an array of emails\nconst validateEmails = (arr: string[]): boolean => arr.every(validateEmail);\n\n// copy of a string\nconst copyToClipboard = (str: string): boolean => {\n let el: HTMLInputElement = createElement(\"textarea\") as HTMLInputElement;\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n let selected =\n document.getSelection().rangeCount > 0\n ? document.getSelection().getRangeAt(0)\n : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n return true;\n }\n return false;\n};\n\nconst mailgoStyle = (): void => {\n // mailgo style\n let mailgoCSSElement: HTMLStyleElement = createElement(\n \"style\"\n ) as HTMLStyleElement;\n mailgoCSSElement.id = \"mailgo-style\";\n mailgoCSSElement.type = \"text/css\";\n mailgoCSSElement.appendChild(createTextNode(mailgoCSS));\n document.head.appendChild(mailgoCSSElement);\n};\n\n// mailgo\nexport const mailgo = (mailgoConfig?: MailgoConfig) => {\n // if the window is defined...\n if (window && typeof window !== \"undefined\") {\n // add the style for mailgo\n mailgoStyle();\n\n // if is set an initEvent add the listener\n if (mailgoConfig?.initEvent) {\n document.addEventListener(mailgoConfig.initEvent, () => {\n mailgoInit(mailgoConfig);\n });\n } else {\n mailgoInit(mailgoConfig);\n }\n }\n};\n\nexport default mailgo;\n","// webpack > dist/mailgo.min.js\n\nimport mailgo from \"../src/mailgo\";\n\n// call init mailgo attached to the event DOMContentLoaded\nconst mailgoConfig = {\n initEvent: \"DOMContentLoaded\",\n};\n\nmailgo(mailgoConfig);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/mailgo.min.js b/dist/mailgo.min.js index 46130c8..6cfe282 100644 --- a/dist/mailgo.min.js +++ b/dist/mailgo.min.js @@ -1,2 +1,2 @@ -window.mailgo=function(e){var t={};function a(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(n,o,function(t){return e[t]}.bind(null,o));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.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 ","gmail":"Gmail","outlook":"Outlook","telegram":"Telegram","whatsapp":"WhatsApp","skype":"Skype","call":"call","open":"open","_default":" default","_as_default":" as default","copy":"copy"},"it":{"open_in":"apri con ","cc":"cc ","bcc":"ccn ","subject":"oggetto ","body":"testo ","gmail":"Gmail","outlook":"Outlook","telegram":"Telegram","whatsapp":"WhatsApp","skype":"Skype","call":"chiama","open":"apri","_default":" ","_as_default":" ","copy":"copia"}}}')},function(e,t,a){var n=a(2);e.exports="string"==typeof n?n:n.toString()},function(e,t,a){(t=a(3)(!1)).push([e.i,'.m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:8px;box-shadow:0px 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:0px 7px 20px rgba(32,35,42,0.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;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;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\n',""]),e.exports=t},function(e,t,a){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=function(e,t){var a=e[1]||"",n=e[3];if(!n)return a;if(t&&"function"==typeof btoa){var o=(l=n,d=btoa(unescape(encodeURIComponent(JSON.stringify(l)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(d),"/*# ".concat(c," */")),i=n.sources.map((function(e){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(e," */")}));return[a].concat(i).concat([o]).join("\n")}var l,d,c;return[a].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(a,"}"):a})).join("")},t.i=function(e,a,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:"mail",t=arguments.length>1?arguments[1]:void 0;if("mail"===e){if(t.href&&t.href.toLowerCase().startsWith(L)){N=decodeURIComponent(t.href.split("?")[0].split(L)[1].trim());var a=new URL(t.href).searchParams;R=a.get("cc"),U=a.get("bcc"),I=a.get("subject"),M=a.get("body")}else N=t.getAttribute("data-address")+"@"+t.getAttribute("data-domain"),new URL(L+encodeURIComponent(N)),R=t.getAttribute("data-cc-address")+"@"+t.getAttribute("data-cc-domain"),U=t.getAttribute("data-bcc-address")+"@"+t.getAttribute("data-bcc-domain"),I=t.getAttribute("data-subject"),M=t.getAttribute("data-body");if(!se(N.split(",")))return;R&&!se(R.split(","))&&(R=""),U&&!se(U.split(","))&&(U=""),n.innerHTML=N.split(",").join("
"),R?(i.style.display="block",r.innerHTML=R.split(",").join("
")):i.style.display="none",U?(l.style.display="block",s.innerHTML=U.split(",").join("
")):l.style.display="none",I?(d.style.display="block",m.textContent=I):d.style.display="none",M?(c.style.display="block",p.textContent=M):c.style.display="none",u.addEventListener("click",H),f.addEventListener("click",D),S=oe(N),h.addEventListener("click",B),C.addEventListener("click",(function(){return $(N)}))}"tel"===e&&(t.href&&t.href.toLowerCase().startsWith(_)?z=decodeURIComponent(t.href.split("?")[0].split(_)[1].trim()):t.href&&t.href.toLowerCase().startsWith(j)?z=decodeURIComponent(t.href.split("?")[0].split(j)[1].trim()):t.hasAttribute("data-tel")&&(z=t.getAttribute("data-tel"),t.getAttribute("data-msg")),t.hasAttribute("data-telegram")&&(O=t.getAttribute("data-telegram")),t.hasAttribute("data-skype")&&(T=t.getAttribute("data-skype")),o.innerHTML=z,b.addEventListener("click",Z),O&&(de("m-tg","block"),g.addEventListener("click",G)),v.addEventListener("click",J),y.addEventListener("click",F),w.addEventListener("click",(function(){return $(z)}))),V(e),document.addEventListener("keydown",Q)},H=function(){var e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(N);R&&(e=e.concat("&cc="+encodeURIComponent(R))),U&&(e=e.concat("&bcc="+encodeURIComponent(U))),I&&(e=e.concat("&subject="+I)),M&&(e=e.concat("&body="+M)),window.open(e,"_blank"),X()},D=function(){var e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(N);I&&(e=e.concat("&subject="+I)),M&&(e=e.concat("&body="+M)),window.open(e,"_blank"),X()},B=function(){ne(S),X()},G=function(){var e="https://t.me/"+O;window.open(e,"_blank"),X()},J=function(){var e="skype:"+(""!==T?T:z);window.open(e,"_blank"),X()},Z=function(){var e="https://wa.me/"+z;window.open(e,"_blank"),X()},F=function(){var e="tel:"+z;window.open(e),X()},$=function(e){var t;me(e),(t=Y("mail")?C:w).textContent="copied",setTimeout((function(){t.textContent="copy",X()}),999)},q=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mail",a=e.href;return"mail"===t?a&&a.toLowerCase().startsWith(L)&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-address")&&(a&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo")):"tel"===t&&(a&&(a.toLowerCase().startsWith(_)||a.toLowerCase().startsWith(j))&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-tel")&&a&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo"))},K=function(e){if(document.contains(ie("mailgo"))&&document.contains(ie("mailgo-tel"))){if(Y("mail")||Y("tel"))return!1;var t=e.composedPath&&e.composedPath()||ce(e.target);return t&&t.forEach((function(t){return!(t instanceof HTMLDocument||t instanceof Window)&&(q(t,"mail")?(e.preventDefault(),P("mail",t),!0):q(t,"tel")?(e.preventDefault(),P("tel",t),!0):void 0)})),!1}},Q=function(e){if(Y("mail"))switch(e.keyCode){case 27:X();break;case 71:H();break;case 79:D();break;case 32:case 13:B();break;case 67:$(N);break;default:return}else if(Y("tel"))switch(e.keyCode){case 27:X();break;case 84:G();break;case 87:Z();break;case 32:case 13:F();break;case 67:$(z);break;default:return}},V=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mail";return"mail"===e?(de("mailgo","flex"),!0):"tel"===e&&(de("mailgo-tel","flex"),!0)},X=function(){de("mailgo","none"),de("mailgo-tel","none"),document.removeEventListener("keydown",Q)},Y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mail";return"mail"===e?"flex"===le("mailgo"):"tel"===e&&"flex"===le("mailgo-tel")},ee=function(){var e=te("a");return e.href="https://mailgo.js.org?ref=mailgo-modal",e.className="m-by",e.target="_blank",e.rel="noopener noreferrer",e.appendChild(ae("mailgo.js.org")),e},te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div";return document.createElement(e)},ae=function(e){return document.createTextNode(e)},ne=function(e){return window.location.href=L+atob(e)},oe=function(e){return btoa(e)},ie=function(e){return document.getElementById(e)},le=function(e){return ie(e).style.display},de=function(e,t){return ie(e).style.display=t},ce=function(e){for(var t=[];e;){if(t.push(e),"HTML"===e.tagName)return t.push(document),t.push(window),t;e=e.parentElement}},re=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)},se=function(e){return e.every(re)},me=function(e){var t=te("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);var a=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);return t.select(),document.execCommand("copy"),document.body.removeChild(t),!!a&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(a),!0)},pe=function(e){var t;window&&"undefined"!=typeof window&&((t=te("style")).id="mailgo-style",t.type="text/css",t.appendChild(ae(x)),document.head.appendChild(t),(null==e?void 0:e.initEvent)?document.addEventListener(e.initEvent,(function(){W(e)})):W(e))};pe({initEvent:"DOMContentLoaded"})}]); +window.mailgo=function(e){var t={};function a(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(n,o,function(t){return e[t]}.bind(null,o));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.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 ","gmail":"Gmail","outlook":"Outlook","telegram":"Telegram","whatsapp":"WhatsApp","skype":"Skype","call":"call","open":"open","_default":" default","_as_default":" as default","copy":"copy"},"it":{"open_in":"apri con ","cc":"cc ","bcc":"ccn ","subject":"oggetto ","body":"testo ","gmail":"Gmail","outlook":"Outlook","telegram":"Telegram","whatsapp":"WhatsApp","skype":"Skype","call":"chiama","open":"apri","_default":" ","_as_default":" ","copy":"copia"}}}')},function(e,t,a){var n=a(2);e.exports="string"==typeof n?n:n.toString()},function(e,t,a){(t=a(3)(!1)).push([e.i,'.m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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(217,217,217,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:20px;box-shadow:30px 30px 60px #d9d9d9,-30px -30px 60px #fff;color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff}.m-modal .m-modal-content .m-title{margin-bottom:20px;overflow:hidden;white-space:nowrap;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;border-radius:20px;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\n',""]),e.exports=t},function(e,t,a){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=function(e,t){var a=e[1]||"",n=e[3];if(!n)return a;if(t&&"function"==typeof btoa){var o=(d=n,l=btoa(unescape(encodeURIComponent(JSON.stringify(d)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(l),"/*# ".concat(c," */")),i=n.sources.map((function(e){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(e," */")}));return[a].concat(i).concat([o]).join("\n")}var d,l,c;return[a].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(a,"}"):a})).join("")},t.i=function(e,a,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:"mail",t=arguments.length>1?arguments[1]:void 0;if("mail"===e){if(t.href&&t.href.toLowerCase().startsWith(L)){N=decodeURIComponent(t.href.split("?")[0].split(L)[1].trim());var a=new URL(t.href).searchParams;R=a.get("cc"),U=a.get("bcc"),I=a.get("subject"),M=a.get("body")}else N=t.getAttribute("data-address")+"@"+t.getAttribute("data-domain"),new URL(L+encodeURIComponent(N)),R=t.getAttribute("data-cc-address")+"@"+t.getAttribute("data-cc-domain"),U=t.getAttribute("data-bcc-address")+"@"+t.getAttribute("data-bcc-domain"),I=t.getAttribute("data-subject"),M=t.getAttribute("data-body");if(!se(N.split(",")))return;R&&!se(R.split(","))&&(R=""),U&&!se(U.split(","))&&(U=""),n.innerHTML=N.split(",").join("
"),R?(i.style.display="block",r.innerHTML=R.split(",").join("
")):i.style.display="none",U?(d.style.display="block",s.innerHTML=U.split(",").join("
")):d.style.display="none",I?(l.style.display="block",p.textContent=I):l.style.display="none",M?(c.style.display="block",m.textContent=M):c.style.display="none",u.addEventListener("click",H),f.addEventListener("click",D),S=oe(N),h.addEventListener("click",B),C.addEventListener("click",(function(){return $(N)}))}"tel"===e&&(t.href&&t.href.toLowerCase().startsWith(_)?z=decodeURIComponent(t.href.split("?")[0].split(_)[1].trim()):t.href&&t.href.toLowerCase().startsWith(j)?z=decodeURIComponent(t.href.split("?")[0].split(j)[1].trim()):t.hasAttribute("data-tel")&&(z=t.getAttribute("data-tel"),t.getAttribute("data-msg")),t.hasAttribute("data-telegram")&&(O=t.getAttribute("data-telegram")),t.hasAttribute("data-skype")&&(T=t.getAttribute("data-skype")),o.innerHTML=z,b.addEventListener("click",Z),O&&(le("m-tg","block"),g.addEventListener("click",G)),v.addEventListener("click",J),y.addEventListener("click",F),w.addEventListener("click",(function(){return $(z)}))),V(e),document.addEventListener("keydown",Q)},H=function(){var e="https://mail.google.com/mail/u/0/?view=cm&source=mailto&to="+encodeURIComponent(N);R&&(e=e.concat("&cc="+encodeURIComponent(R))),U&&(e=e.concat("&bcc="+encodeURIComponent(U))),I&&(e=e.concat("&subject="+I)),M&&(e=e.concat("&body="+M)),window.open(e,"_blank"),X()},D=function(){var e="https://outlook.live.com/owa/?path=/mail/action/compose&to="+encodeURIComponent(N);I&&(e=e.concat("&subject="+I)),M&&(e=e.concat("&body="+M)),window.open(e,"_blank"),X()},B=function(){ne(S),X()},G=function(){var e="https://t.me/"+O;window.open(e,"_blank"),X()},J=function(){var e="skype:"+(""!==T?T:z);window.open(e,"_blank"),X()},Z=function(){var e="https://wa.me/"+z;window.open(e,"_blank"),X()},F=function(){var e="tel:"+z;window.open(e),X()},$=function(e){var t;pe(e),(t=Y("mail")?C:w).textContent="copied",setTimeout((function(){t.textContent="copy",X()}),999)},q=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mail",a=e.href;return"mail"===t?a&&a.toLowerCase().startsWith(L)&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-address")&&(a&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo")):"tel"===t&&(a&&(a.toLowerCase().startsWith(_)||a.toLowerCase().startsWith(j))&&!e.classList.contains("no-mailgo")||e.hasAttribute("data-tel")&&a&&"#mailgo"===e.getAttribute("href").toLowerCase()||e.classList&&e.classList.contains("mailgo"))},K=function(e){if(document.contains(ie("mailgo"))&&document.contains(ie("mailgo-tel"))){if(Y("mail")||Y("tel"))return!1;var t=e.composedPath&&e.composedPath()||ce(e.target);return t&&t.forEach((function(t){return!(t instanceof HTMLDocument||t instanceof Window)&&(q(t,"mail")?(e.preventDefault(),P("mail",t),!0):q(t,"tel")?(e.preventDefault(),P("tel",t),!0):void 0)})),!1}},Q=function(e){if(Y("mail"))switch(e.keyCode){case 27:X();break;case 71:H();break;case 79:D();break;case 32:case 13:B();break;case 67:$(N);break;default:return}else if(Y("tel"))switch(e.keyCode){case 27:X();break;case 84:G();break;case 87:Z();break;case 32:case 13:F();break;case 67:$(z);break;default:return}},V=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mail";return"mail"===e?(le("mailgo","flex"),!0):"tel"===e&&(le("mailgo-tel","flex"),!0)},X=function(){le("mailgo","none"),le("mailgo-tel","none"),document.removeEventListener("keydown",Q)},Y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mail";return"mail"===e?"flex"===de("mailgo"):"tel"===e&&"flex"===de("mailgo-tel")},ee=function(){var e=te("a");return e.href="https://mailgo.js.org?ref=mailgo-modal",e.className="m-by",e.target="_blank",e.rel="noopener noreferrer",e.appendChild(ae("mailgo.js.org")),e},te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div";return document.createElement(e)},ae=function(e){return document.createTextNode(e)},ne=function(e){return window.location.href=L+atob(e)},oe=function(e){return btoa(e)},ie=function(e){return document.getElementById(e)},de=function(e){return ie(e).style.display},le=function(e,t){return ie(e).style.display=t},ce=function(e){for(var t=[];e;){if(t.push(e),"HTML"===e.tagName)return t.push(document),t.push(window),t;e=e.parentElement}},re=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)},se=function(e){return e.every(re)},pe=function(e){var t=te("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);var a=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);return t.select(),document.execCommand("copy"),document.body.removeChild(t),!!a&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(a),!0)},me=function(e){var t;window&&"undefined"!=typeof window&&((t=te("style")).id="mailgo-style",t.type="text/css",t.appendChild(ae(x)),document.head.appendChild(t),(null==e?void 0:e.initEvent)?document.addEventListener(e.initEvent,(function(){W(e)})):W(e))};me({initEvent:"DOMContentLoaded"})}]); //# sourceMappingURL=mailgo.min.js.map \ No newline at end of file diff --git a/dist/mailgo.min.js.map b/dist/mailgo.min.js.map index 38b71a5..62cc53a 100644 --- a/dist/mailgo.min.js.map +++ b/dist/mailgo.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://mailgo/webpack/bootstrap","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.scss","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.dist.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","result","toString","___CSS_LOADER_API_IMPORT___","push","useSourceMap","list","this","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","length","id","_i","title","titleTel","detailCc","detailBcc","detailSubject","detailBody","ccValue","bccValue","subjectValue","bodyValue","gmail","outlook","open","telegram","wa","skype","copyMail","copyTel","i18n","require","mailgoCSS","MAILTO","TEL","CALLTO","DEFAULT_BTN_HREF","span","mail","encEmail","cc","bcc","subject","bodyMail","tel","telegramUsername","skypeUsername","mailgoInit","mailgoConfig","lang","translations","languages","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","classList","add","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","bccSpan","subjectSpan","bodySpan","body","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","addEventListener","hideMailgo","telegramSpan","waSpan","whatsapp","skypeSpan","callSpan","_as_default","mailgoCheckRender","mailgoRender","type","mailgo","toLowerCase","startsWith","decodeURIComponent","split","trim","urlParams","URL","searchParams","getAttribute","validateEmails","innerHTML","textContent","openGmail","openOutlook","encodeEmail","openDefault","hasAttribute","openWhatsApp","setDisplay","openTelegram","openSkype","callDefault","showMailgo","mailgoKeydown","gmailUrl","window","outlookUrl","mailToEncoded","tgUrl","skypeUrl","waUrl","callUrl","activeCopy","copyToClipboard","mailgoIsShowing","setTimeout","isMailgo","element","contains","event","getE","path","composedPath","target","forEach","HTMLDocument","Window","preventDefault","keyCode","removeEventListener","getDisplay","by","rel","encoded","location","atob","email","getElementById","el","tagName","parentElement","validateEmail","test","arr","every","str","setAttribute","position","left","selected","getSelection","rangeCount","getRangeAt","select","execCommand","removeChild","removeAllRanges","addRange","mailgoCSSElement","head","initEvent"],"mappings":"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","file":"mailgo.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","\n var result = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:8px;box-shadow:0px 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:0px 7px 20px rgba(32,35,42,0.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;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;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","import { MailgoConfig } from \"../mailgo\";\n\n// i18n for mailgo\nconst i18n = require(\"../i18n/i18n.json\");\n\n// mailgo scss\nconst mailgoCSS = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG = \"en\";\n\n// links\nconst MAILTO: string = \"mailto:\";\nconst TEL: string = \"tel:\";\nconst CALLTO: string = \"callto:\";\n\n// mailgo types\nconst MAIL_TYPE: string = \"mail\";\nconst TEL_TYPE: string = \"tel\";\n\n// default href for links\nconst DEFAULT_BTN_HREF: string = \"javascript:void(0);\";\n\n// html tags\nconst span: string = \"span\";\n\n// mailgo variables\nlet url: URL,\n mail: string = \"\",\n encEmail: string = \"\",\n cc: string = \"\",\n bcc: string = \"\",\n subject: string = \"\",\n bodyMail: string = \"\";\n\n// mailgo tel variables\nlet tel: string = \"\",\n msg: string = \"\",\n telegramUsername: string = \"\",\n skypeUsername: string = \"\";\n\n// the DOM elements\nlet title: HTMLElement,\n titleTel: HTMLElement,\n detailCc: HTMLElement,\n detailBcc: HTMLElement,\n detailSubject: HTMLElement,\n detailBody: HTMLElement,\n ccValue: HTMLElement,\n bccValue: HTMLElement,\n subjectValue: HTMLElement,\n bodyValue: HTMLElement;\n\n// mailgo buttons (actions)\nlet gmail: HTMLLinkElement,\n outlook: HTMLLinkElement,\n open: HTMLLinkElement,\n telegram: HTMLLinkElement,\n wa: HTMLLinkElement,\n skype: HTMLLinkElement,\n call: HTMLLinkElement,\n copyMail: HTMLLinkElement,\n copyTel: HTMLLinkElement;\n\n/**\n * mailgoInit\n * the function that creates the mailgo elements in DOM\n */\nconst mailgoInit = (mailgoConfig?: MailgoConfig): void => {\n // default language\n let lang = DEFAULT_LANG;\n\n // translations\n let translations: any = i18n.translations;\n\n // if a default language is defined use it\n if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {\n lang = mailgoConfig.lang;\n }\n\n // if is defined use it!\n if (!mailgoConfig?.forceLang) {\n // keep the lang from html\n let htmlLang = document.documentElement.lang;\n\n // if there are translations...\n if (i18n.languages.includes(htmlLang)) {\n lang = document.documentElement.lang;\n }\n }\n\n // strings\n let defaultStrings: any = translations[DEFAULT_LANG];\n let strings: any = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (email address)\n title = createElement(\"strong\");\n title.id = \"m-title\";\n title.className = \"m-title\";\n modalContent.appendChild(title);\n\n // details\n let details = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(\"p\");\n detailCc.id = \"m-cc\";\n let ccSpan = createElement(span);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc || defaultStrings.cc));\n ccValue = createElement(span);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(\"p\");\n detailBcc.id = \"m-bcc\";\n let bccSpan = createElement(span);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc || defaultStrings.bcc));\n bccValue = createElement(span);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(\"p\");\n detailSubject.id = \"m-subject\";\n let subjectSpan = createElement(span);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject || defaultStrings.subject)\n );\n subjectValue = createElement(span);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(\"p\");\n detailBody.id = \"m-body\";\n let bodySpan = createElement(span);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body || defaultStrings.body));\n bodyValue = createElement(span);\n bodyValue.id = \"m-body-value\";\n detailBody.appendChild(bodySpan);\n detailBody.appendChild(bodyValue);\n details.appendChild(detailBody);\n\n modalContent.appendChild(details);\n\n // Gmail\n gmail = createElement(\"a\") as HTMLLinkElement;\n gmail.id = \"m-gmail\";\n gmail.href = DEFAULT_BTN_HREF;\n gmail.classList.add(\"m-open\");\n gmail.classList.add(\"m-gmail\");\n gmail.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let gmailSpan = createElement(span);\n gmailSpan.className = \"w-500\";\n gmailSpan.appendChild(\n createTextNode(strings.gmail || defaultStrings.gmail)\n );\n gmail.appendChild(gmailSpan);\n\n modalContent.appendChild(gmail);\n\n // Outlook\n outlook = createElement(\"a\") as HTMLLinkElement;\n outlook.id = \"m-outlook\";\n outlook.href = DEFAULT_BTN_HREF;\n outlook.classList.add(\"m-open\");\n outlook.classList.add(\"m-outlook\");\n outlook.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let outlookSpan = createElement(span);\n outlookSpan.className = \"w-500\";\n outlookSpan.appendChild(\n createTextNode(strings.outlook || defaultStrings.outlook)\n );\n outlook.appendChild(outlookSpan);\n\n modalContent.appendChild(outlook);\n\n // open default\n open = createElement(\"a\") as HTMLLinkElement;\n open.id = \"m-open\";\n open.href = DEFAULT_BTN_HREF;\n open.classList.add(\"m-open\");\n open.classList.add(\"m-default\");\n let openSpan = createElement(span);\n openSpan.className = \"w-500\";\n openSpan.appendChild(createTextNode(strings.open || defaultStrings.open));\n open.appendChild(openSpan);\n open.appendChild(\n createTextNode(strings._default || defaultStrings._default)\n );\n\n modalContent.appendChild(open);\n\n // copy\n copyMail = createElement(\"a\") as HTMLLinkElement;\n copyMail.id = \"m-copy\";\n copyMail.href = DEFAULT_BTN_HREF;\n copyMail.classList.add(\"m-copy\");\n copyMail.classList.add(\"w-500\");\n copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyMail);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n // mailgo tel\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (telephone number)\n titleTel = createElement(\"strong\");\n titleTel.id = \"m-tel-title\";\n titleTel.className = \"m-title\";\n modalContent.appendChild(titleTel);\n\n // Telegram\n telegram = createElement(\"a\") as HTMLLinkElement;\n telegram.id = \"m-tg\";\n telegram.href = DEFAULT_BTN_HREF;\n telegram.classList.add(\"m-open\");\n telegram.classList.add(\"m-tg\");\n\n // by default not display\n telegram.style.display = \"none\";\n\n telegram.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let telegramSpan = createElement(span);\n telegramSpan.className = \"w-500\";\n telegramSpan.appendChild(\n createTextNode(strings.telegram || defaultStrings.telegram)\n );\n telegram.appendChild(telegramSpan);\n\n modalContent.appendChild(telegram);\n\n // WhatsApp\n wa = createElement(\"a\") as HTMLLinkElement;\n wa.id = \"m-wa\";\n wa.href = DEFAULT_BTN_HREF;\n wa.classList.add(\"m-open\");\n wa.classList.add(\"m-wa\");\n wa.appendChild(createTextNode(strings.open_in || defaultStrings.open_in));\n let waSpan = createElement(span);\n waSpan.className = \"w-500\";\n waSpan.appendChild(\n createTextNode(strings.whatsapp || defaultStrings.whatsapp)\n );\n wa.appendChild(waSpan);\n\n modalContent.appendChild(wa);\n\n // Skype\n skype = createElement(\"a\") as HTMLLinkElement;\n skype.id = \"m-skype\";\n skype.href = DEFAULT_BTN_HREF;\n skype.classList.add(\"m-open\");\n skype.classList.add(\"m-skype\");\n skype.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let skypeSpan = createElement(span);\n skypeSpan.className = \"w-500\";\n skypeSpan.appendChild(\n createTextNode(strings.skype || defaultStrings.skype)\n );\n skype.appendChild(skypeSpan);\n\n modalContent.appendChild(skype);\n\n // call default\n call = createElement(\"a\") as HTMLLinkElement;\n call.id = \"m-call\";\n call.href = DEFAULT_BTN_HREF;\n call.classList.add(\"m-open\");\n call.classList.add(\"m-default\");\n let callSpan = createElement(span);\n callSpan.className = \"w-500\";\n callSpan.appendChild(createTextNode(strings.call || defaultStrings.call));\n call.appendChild(callSpan);\n call.appendChild(\n createTextNode(strings._as_default || defaultStrings._as_default)\n );\n\n modalContent.appendChild(call);\n\n // copy\n copyTel = createElement(\"a\") as HTMLLinkElement;\n copyTel.id = \"m-tel-copy\";\n copyTel.href = DEFAULT_BTN_HREF;\n copyTel.classList.add(\"m-copy\");\n copyTel.classList.add(\"w-500\");\n copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyTel);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n\n // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered\n document.addEventListener(\"click\", mailgoCheckRender);\n};\n\n/**\n * mailgoRender\n * function to render a mailgo (mail or tel)\n */\nconst mailgoRender = (type = MAIL_TYPE, mailgo: HTMLLinkElement): void => {\n // mailgo mail\n if (type === MAIL_TYPE) {\n // if the element href=^\"mailto:\"\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(MAILTO)) {\n mail = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(MAILTO)[1].trim()\n );\n\n url = new URL(mailgo.href);\n let urlParams: URLSearchParams = url.searchParams;\n\n // optional parameters for the email\n cc = urlParams.get(\"cc\");\n bcc = urlParams.get(\"bcc\");\n subject = urlParams.get(\"subject\");\n bodyMail = urlParams.get(\"body\");\n } else {\n // if the element href=\"#mailgo\" or class=\"mailgo\"\n // mail = data-address + @ + data-domain\n mail =\n mailgo.getAttribute(\"data-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-domain\");\n\n url = new URL(MAILTO + encodeURIComponent(mail));\n\n // cc = data-cc-address + @ + data-cc-domain\n cc =\n mailgo.getAttribute(\"data-cc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-cc-domain\");\n\n // bcc = data-bcc-address + @ + data-bcc-domain\n bcc =\n mailgo.getAttribute(\"data-bcc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-bcc-domain\");\n\n // subject = data-subject\n subject = mailgo.getAttribute(\"data-subject\");\n\n // body = data-body\n bodyMail = mailgo.getAttribute(\"data-body\");\n }\n\n // validate the email address\n if (!validateEmails(mail.split(\",\"))) return;\n\n // if cc, bcc is not valid cc, bcc = \"\"\n if (cc && !validateEmails(cc.split(\",\"))) cc = \"\";\n if (bcc && !validateEmails(bcc.split(\",\"))) bcc = \"\";\n\n // the title of the modal (email address)\n title.innerHTML = mail.split(\",\").join(\"
\");\n\n // add the details if provided\n cc\n ? ((detailCc.style.display = \"block\"),\n (ccValue.innerHTML = cc.split(\",\").join(\"
\")))\n : (detailCc.style.display = \"none\");\n\n bcc\n ? ((detailBcc.style.display = \"block\"),\n (bccValue.innerHTML = bcc.split(\",\").join(\"
\")))\n : (detailBcc.style.display = \"none\");\n\n subject\n ? ((detailSubject.style.display = \"block\"),\n (subjectValue.textContent = subject))\n : (detailSubject.style.display = \"none\");\n\n bodyMail\n ? ((detailBody.style.display = \"block\"),\n (bodyValue.textContent = bodyMail))\n : (detailBody.style.display = \"none\");\n\n // add the actions\n gmail.addEventListener(\"click\", openGmail);\n\n outlook.addEventListener(\"click\", openOutlook);\n\n encEmail = encodeEmail(mail);\n open.addEventListener(\"click\", openDefault);\n\n copyMail.addEventListener(\"click\", () => copy(mail));\n }\n // mailgo tel\n if (type === TEL_TYPE) {\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) {\n tel = decodeURIComponent(mailgo.href.split(\"?\")[0].split(TEL)[1].trim());\n } else if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) {\n tel = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(CALLTO)[1].trim()\n );\n } else if (mailgo.hasAttribute(\"data-tel\")) {\n tel = mailgo.getAttribute(\"data-tel\");\n msg = mailgo.getAttribute(\"data-msg\");\n }\n\n // information\n // let titleEl = getE(\"m-tel-title\");\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-telegram\")) {\n telegramUsername = mailgo.getAttribute(\"data-telegram\");\n }\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-skype\")) {\n skypeUsername = mailgo.getAttribute(\"data-skype\");\n }\n\n // the title of the modal (tel)\n titleTel.innerHTML = tel;\n\n // add the actions to buttons\n wa.addEventListener(\"click\", openWhatsApp);\n\n if (telegramUsername) {\n setDisplay(\"m-tg\", \"block\");\n telegram.addEventListener(\"click\", openTelegram);\n }\n\n skype.addEventListener(\"click\", openSkype);\n\n call.addEventListener(\"click\", callDefault);\n\n copyTel.addEventListener(\"click\", () => copy(tel));\n }\n\n // show the mailgo\n showMailgo(type);\n\n // add listener keyDown\n document.addEventListener(\"keydown\", mailgoKeydown);\n};\n\n// actions\nconst openGmail = (): void => {\n // Gmail url\n let gmailUrl =\n \"https://mail.google.com/mail/u/0/?view=cm&source=mailto&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (cc) gmailUrl = gmailUrl.concat(\"&cc=\" + encodeURIComponent(cc));\n if (bcc) gmailUrl = gmailUrl.concat(\"&bcc=\" + encodeURIComponent(bcc));\n if (subject) gmailUrl = gmailUrl.concat(\"&subject=\" + subject);\n if (bodyMail) gmailUrl = gmailUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(gmailUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openOutlook = (): void => {\n // Outlook url\n let outlookUrl =\n \"https://outlook.live.com/owa/?path=/mail/action/compose&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (subject) outlookUrl = outlookUrl.concat(\"&subject=\" + subject);\n if (bodyMail) outlookUrl = outlookUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(outlookUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openDefault = (): void => {\n mailToEncoded(encEmail);\n hideMailgo();\n};\n\nconst openTelegram = (): void => {\n // Telegram url\n let tgUrl = \"https://t.me/\" + telegramUsername;\n\n // open the url\n window.open(tgUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openSkype = (): void => {\n let skype = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl = \"skype:\" + skype;\n\n // open the url\n window.open(skypeUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openWhatsApp = (): void => {\n // WhatsApp url\n let waUrl = \"https://wa.me/\" + tel;\n\n // the details if provided\n if (msg) waUrl + \"?text=\" + msg;\n\n // open the url\n window.open(waUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst callDefault = () => {\n let callUrl = \"tel:\" + tel;\n window.open(callUrl);\n hideMailgo();\n};\n\nconst copy = (content: string): void => {\n copyToClipboard(content);\n let activeCopy: HTMLElement;\n // the correct copyButton (mail or tel)\n mailgoIsShowing(MAIL_TYPE) ? (activeCopy = copyMail) : (activeCopy = copyTel);\n activeCopy.textContent = \"copied\";\n setTimeout(() => {\n activeCopy.textContent = \"copy\";\n // hide after the timeout\n hideMailgo();\n }, 999);\n};\n\n// function that returns if an element is a mailgo\nconst isMailgo = (element: HTMLElement, type: string = MAIL_TYPE): boolean => {\n let href: string = (element as HTMLLinkElement).href;\n\n // mailgo type mail\n if (type === MAIL_TYPE) {\n return (\n // first case: it is an
element with \"mailto:...\" in href and no no-mailgo in classList\n (href &&\n href.toLowerCase().startsWith(MAILTO) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-address\") &&\n // second case: the href=#mailgo\n ((href && element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))))\n );\n }\n\n // mailgo type tel\n if (type === TEL_TYPE) {\n return (\n // first case: it is an element with \"tel:...\" or \"callto:...\" in href and no no-mailgo in classList\n (href &&\n (href.toLowerCase().startsWith(TEL) ||\n href.toLowerCase().startsWith(CALLTO)) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-tel\") &&\n // second case: the href=#mailgo\n href &&\n element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))\n );\n }\n\n return false;\n};\n\n/**\n * mailgoCheckRender\n * function to check if an element is mailgo-enabled or not referencing to\n * mail:\n * document.querySelectorAll(\n * 'a[href^=\"mailto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * tel:\n * document.querySelectorAll(\n * 'a[href^=\"tel:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * or\n * document.querySelectorAll(\n * 'a[href^=\"callto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n */\nconst mailgoCheckRender = (event: Event): boolean => {\n // check if the id=mailgo exists in the body\n if (\n !document.contains(getE(\"mailgo\")) ||\n !document.contains(getE(\"mailgo-tel\"))\n )\n return;\n\n // if a mailgo is already showing do nothing\n if (mailgoIsShowing(MAIL_TYPE) || mailgoIsShowing(TEL_TYPE)) return false;\n\n // the path of the event\n let path =\n (event.composedPath && event.composedPath()) ||\n composedPath(event.target as HTMLElement);\n\n if (path) {\n path.forEach((element: HTMLElement) => {\n if (element instanceof HTMLDocument || element instanceof Window)\n return false;\n\n // go in the event.path to find if the user has clicked on a mailgo element\n if (isMailgo(element, MAIL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(MAIL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n if (isMailgo(element, TEL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(TEL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n });\n }\n\n return false;\n};\n\n/**\n * mailgoKeydown\n * function to manage the keydown event when the modal is showing\n */\nconst mailgoKeydown = (event: KeyboardEvent): void => {\n // if mailgo is showing\n if (mailgoIsShowing(MAIL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 71:\n // g -> open GMail\n openGmail();\n break;\n case 79:\n // o -> open Outlook\n openOutlook();\n break;\n case 32:\n case 13:\n // spacebar or enter -> open default\n openDefault();\n break;\n case 67:\n // c -> copy\n copy(mail);\n break;\n default:\n return;\n }\n } else if (mailgoIsShowing(TEL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 84:\n // t -> open Telegram\n openTelegram();\n break;\n case 87:\n // w -> open WhatsApp\n openWhatsApp();\n break;\n case 32:\n case 13:\n // spacebar or enter -> call default\n callDefault();\n break;\n case 67:\n // c -> copy\n copy(tel);\n break;\n default:\n return;\n }\n }\n return;\n};\n\n// show the modal\nconst showMailgo = (type = MAIL_TYPE): boolean => {\n // show mailgo type mail\n if (type === MAIL_TYPE) {\n setDisplay(\"mailgo\", \"flex\");\n return true;\n }\n // show mailgo type tel\n if (type === TEL_TYPE) {\n setDisplay(\"mailgo-tel\", \"flex\");\n return true;\n }\n return false;\n};\n\n// hide the modal\nconst hideMailgo = (): void => {\n setDisplay(\"mailgo\", \"none\");\n setDisplay(\"mailgo-tel\", \"none\");\n\n // remove listener keyDown\n document.removeEventListener(\"keydown\", mailgoKeydown);\n};\n\n// is the mailgo modal hidden?\nconst mailgoIsShowing = (type = MAIL_TYPE): boolean => {\n return type === MAIL_TYPE\n ? getDisplay(\"mailgo\") === \"flex\"\n : type === TEL_TYPE\n ? getDisplay(\"mailgo-tel\") === \"flex\"\n : false;\n};\n\nconst byElement = (): HTMLLinkElement => {\n // by\n let by: HTMLLinkElement = createElement(\"a\") as HTMLLinkElement;\n by.href = \"https://mailgo.js.org?ref=mailgo-modal\";\n by.className = \"m-by\";\n by.target = \"_blank\";\n by.rel = \"noopener noreferrer\";\n by.appendChild(createTextNode(\"mailgo.js.org\"));\n\n return by;\n};\n\n// create element\nconst createElement = (element: string = \"div\"): HTMLElement =>\n document.createElement(element);\n\n// create text node\nconst createTextNode = (element: string): Text =>\n document.createTextNode(element);\n\n// decrypt email\nconst mailToEncoded = (encoded: string): string =>\n (window.location.href = MAILTO + atob(encoded));\n\n// encode email\nconst encodeEmail = (email: string): string => btoa(email);\n\n// getE shorthand\nconst getE = (id: string): HTMLElement => document.getElementById(id);\n\n// get display value\nconst getDisplay = (id: string): string => getE(id).style.display;\n\n// get display value\nconst setDisplay = (id: string, value: string): string =>\n (getE(id).style.display = value);\n\n// custom composedPath if path or event.composedPath() are not defined\nconst composedPath = (\n el: HTMLElement\n): (HTMLElement | Document | (Window & typeof globalThis))[] => {\n let path = [];\n\n while (el) {\n path.push(el);\n\n if (el.tagName === \"HTML\") {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n};\n\n// validate a single email with regex\nconst validateEmail = (email: string): boolean =>\n /^(([^<>()[\\]\\\\.,;:\\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(\n email\n );\n\n// validate an array of emails\nconst validateEmails = (arr: string[]): boolean => arr.every(validateEmail);\n\n// copy of a string\nconst copyToClipboard = (str: string): boolean => {\n let el: HTMLInputElement = createElement(\"textarea\") as HTMLInputElement;\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n let selected =\n document.getSelection().rangeCount > 0\n ? document.getSelection().getRangeAt(0)\n : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n return true;\n }\n return false;\n};\n\nconst mailgoStyle = (): void => {\n // mailgo style\n let mailgoCSSElement: HTMLStyleElement = createElement(\n \"style\"\n ) as HTMLStyleElement;\n mailgoCSSElement.id = \"mailgo-style\";\n mailgoCSSElement.type = \"text/css\";\n mailgoCSSElement.appendChild(createTextNode(mailgoCSS));\n document.head.appendChild(mailgoCSSElement);\n};\n\n// mailgo\nexport const mailgo = (mailgoConfig?: MailgoConfig) => {\n // if the window is defined...\n if (window && typeof window !== \"undefined\") {\n // add the style for mailgo\n mailgoStyle();\n\n // if is set an initEvent add the listener\n if (mailgoConfig?.initEvent) {\n document.addEventListener(mailgoConfig.initEvent, () => {\n mailgoInit(mailgoConfig);\n });\n } else {\n mailgoInit(mailgoConfig);\n }\n }\n};\n\nexport default mailgo;\n","// webpack > dist/mailgo.min.js\n\nimport mailgo from \"../src/mailgo\";\n\n// call init mailgo attached to the event DOMContentLoaded\nconst mailgoConfig = {\n initEvent: \"DOMContentLoaded\",\n};\n\nmailgo(mailgoConfig);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://mailgo/webpack/bootstrap","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.scss","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.dist.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","result","toString","___CSS_LOADER_API_IMPORT___","push","useSourceMap","list","this","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","length","id","_i","title","titleTel","detailCc","detailBcc","detailSubject","detailBody","ccValue","bccValue","subjectValue","bodyValue","gmail","outlook","open","telegram","wa","skype","copyMail","copyTel","i18n","require","mailgoCSS","MAILTO","TEL","CALLTO","DEFAULT_BTN_HREF","span","mail","encEmail","cc","bcc","subject","bodyMail","tel","telegramUsername","skypeUsername","mailgoInit","mailgoConfig","lang","translations","languages","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","classList","add","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","bccSpan","subjectSpan","bodySpan","body","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","addEventListener","hideMailgo","telegramSpan","waSpan","whatsapp","skypeSpan","callSpan","_as_default","mailgoCheckRender","mailgoRender","type","mailgo","toLowerCase","startsWith","decodeURIComponent","split","trim","urlParams","URL","searchParams","getAttribute","validateEmails","innerHTML","textContent","openGmail","openOutlook","encodeEmail","openDefault","hasAttribute","openWhatsApp","setDisplay","openTelegram","openSkype","callDefault","showMailgo","mailgoKeydown","gmailUrl","window","outlookUrl","mailToEncoded","tgUrl","skypeUrl","waUrl","callUrl","activeCopy","copyToClipboard","mailgoIsShowing","setTimeout","isMailgo","element","contains","event","getE","path","composedPath","target","forEach","HTMLDocument","Window","preventDefault","keyCode","removeEventListener","getDisplay","by","rel","encoded","location","atob","email","getElementById","el","tagName","parentElement","validateEmail","test","arr","every","str","setAttribute","position","left","selected","getSelection","rangeCount","getRangeAt","select","execCommand","removeChild","removeAllRanges","addRange","mailgoCSSElement","head","initEvent"],"mappings":"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","file":"mailgo.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","\n var result = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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(217,217,217,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:20px;box-shadow:30px 30px 60px #d9d9d9,-30px -30px 60px #fff;color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff}.m-modal .m-modal-content .m-title{margin-bottom:20px;overflow:hidden;white-space:nowrap;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;border-radius:20px;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","import { MailgoConfig } from \"../mailgo\";\n\n// i18n for mailgo\nconst i18n = require(\"../i18n/i18n.json\");\n\n// mailgo scss\nconst mailgoCSS = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG = \"en\";\n\n// links\nconst MAILTO: string = \"mailto:\";\nconst TEL: string = \"tel:\";\nconst CALLTO: string = \"callto:\";\n\n// mailgo types\nconst MAIL_TYPE: string = \"mail\";\nconst TEL_TYPE: string = \"tel\";\n\n// default href for links\nconst DEFAULT_BTN_HREF: string = \"javascript:void(0);\";\n\n// html tags\nconst span: string = \"span\";\n\n// mailgo variables\nlet url: URL,\n mail: string = \"\",\n encEmail: string = \"\",\n cc: string = \"\",\n bcc: string = \"\",\n subject: string = \"\",\n bodyMail: string = \"\";\n\n// mailgo tel variables\nlet tel: string = \"\",\n msg: string = \"\",\n telegramUsername: string = \"\",\n skypeUsername: string = \"\";\n\n// the DOM elements\nlet title: HTMLElement,\n titleTel: HTMLElement,\n detailCc: HTMLElement,\n detailBcc: HTMLElement,\n detailSubject: HTMLElement,\n detailBody: HTMLElement,\n ccValue: HTMLElement,\n bccValue: HTMLElement,\n subjectValue: HTMLElement,\n bodyValue: HTMLElement;\n\n// mailgo buttons (actions)\nlet gmail: HTMLLinkElement,\n outlook: HTMLLinkElement,\n open: HTMLLinkElement,\n telegram: HTMLLinkElement,\n wa: HTMLLinkElement,\n skype: HTMLLinkElement,\n call: HTMLLinkElement,\n copyMail: HTMLLinkElement,\n copyTel: HTMLLinkElement;\n\n/**\n * mailgoInit\n * the function that creates the mailgo elements in DOM\n */\nconst mailgoInit = (mailgoConfig?: MailgoConfig): void => {\n // default language\n let lang = DEFAULT_LANG;\n\n // translations\n let translations: any = i18n.translations;\n\n // if a default language is defined use it\n if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {\n lang = mailgoConfig.lang;\n }\n\n // if is defined use it!\n if (!mailgoConfig?.forceLang) {\n // keep the lang from html\n let htmlLang = document.documentElement.lang;\n\n // if there are translations...\n if (i18n.languages.includes(htmlLang)) {\n lang = document.documentElement.lang;\n }\n }\n\n // strings\n let defaultStrings: any = translations[DEFAULT_LANG];\n let strings: any = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (email address)\n title = createElement(\"strong\");\n title.id = \"m-title\";\n title.className = \"m-title\";\n modalContent.appendChild(title);\n\n // details\n let details = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(\"p\");\n detailCc.id = \"m-cc\";\n let ccSpan = createElement(span);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc || defaultStrings.cc));\n ccValue = createElement(span);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(\"p\");\n detailBcc.id = \"m-bcc\";\n let bccSpan = createElement(span);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc || defaultStrings.bcc));\n bccValue = createElement(span);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(\"p\");\n detailSubject.id = \"m-subject\";\n let subjectSpan = createElement(span);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject || defaultStrings.subject)\n );\n subjectValue = createElement(span);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(\"p\");\n detailBody.id = \"m-body\";\n let bodySpan = createElement(span);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body || defaultStrings.body));\n bodyValue = createElement(span);\n bodyValue.id = \"m-body-value\";\n detailBody.appendChild(bodySpan);\n detailBody.appendChild(bodyValue);\n details.appendChild(detailBody);\n\n modalContent.appendChild(details);\n\n // Gmail\n gmail = createElement(\"a\") as HTMLLinkElement;\n gmail.id = \"m-gmail\";\n gmail.href = DEFAULT_BTN_HREF;\n gmail.classList.add(\"m-open\");\n gmail.classList.add(\"m-gmail\");\n gmail.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let gmailSpan = createElement(span);\n gmailSpan.className = \"w-500\";\n gmailSpan.appendChild(\n createTextNode(strings.gmail || defaultStrings.gmail)\n );\n gmail.appendChild(gmailSpan);\n\n modalContent.appendChild(gmail);\n\n // Outlook\n outlook = createElement(\"a\") as HTMLLinkElement;\n outlook.id = \"m-outlook\";\n outlook.href = DEFAULT_BTN_HREF;\n outlook.classList.add(\"m-open\");\n outlook.classList.add(\"m-outlook\");\n outlook.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let outlookSpan = createElement(span);\n outlookSpan.className = \"w-500\";\n outlookSpan.appendChild(\n createTextNode(strings.outlook || defaultStrings.outlook)\n );\n outlook.appendChild(outlookSpan);\n\n modalContent.appendChild(outlook);\n\n // open default\n open = createElement(\"a\") as HTMLLinkElement;\n open.id = \"m-open\";\n open.href = DEFAULT_BTN_HREF;\n open.classList.add(\"m-open\");\n open.classList.add(\"m-default\");\n let openSpan = createElement(span);\n openSpan.className = \"w-500\";\n openSpan.appendChild(createTextNode(strings.open || defaultStrings.open));\n open.appendChild(openSpan);\n open.appendChild(\n createTextNode(strings._default || defaultStrings._default)\n );\n\n modalContent.appendChild(open);\n\n // copy\n copyMail = createElement(\"a\") as HTMLLinkElement;\n copyMail.id = \"m-copy\";\n copyMail.href = DEFAULT_BTN_HREF;\n copyMail.classList.add(\"m-copy\");\n copyMail.classList.add(\"w-500\");\n copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyMail);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n // mailgo tel\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (telephone number)\n titleTel = createElement(\"strong\");\n titleTel.id = \"m-tel-title\";\n titleTel.className = \"m-title\";\n modalContent.appendChild(titleTel);\n\n // Telegram\n telegram = createElement(\"a\") as HTMLLinkElement;\n telegram.id = \"m-tg\";\n telegram.href = DEFAULT_BTN_HREF;\n telegram.classList.add(\"m-open\");\n telegram.classList.add(\"m-tg\");\n\n // by default not display\n telegram.style.display = \"none\";\n\n telegram.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let telegramSpan = createElement(span);\n telegramSpan.className = \"w-500\";\n telegramSpan.appendChild(\n createTextNode(strings.telegram || defaultStrings.telegram)\n );\n telegram.appendChild(telegramSpan);\n\n modalContent.appendChild(telegram);\n\n // WhatsApp\n wa = createElement(\"a\") as HTMLLinkElement;\n wa.id = \"m-wa\";\n wa.href = DEFAULT_BTN_HREF;\n wa.classList.add(\"m-open\");\n wa.classList.add(\"m-wa\");\n wa.appendChild(createTextNode(strings.open_in || defaultStrings.open_in));\n let waSpan = createElement(span);\n waSpan.className = \"w-500\";\n waSpan.appendChild(\n createTextNode(strings.whatsapp || defaultStrings.whatsapp)\n );\n wa.appendChild(waSpan);\n\n modalContent.appendChild(wa);\n\n // Skype\n skype = createElement(\"a\") as HTMLLinkElement;\n skype.id = \"m-skype\";\n skype.href = DEFAULT_BTN_HREF;\n skype.classList.add(\"m-open\");\n skype.classList.add(\"m-skype\");\n skype.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let skypeSpan = createElement(span);\n skypeSpan.className = \"w-500\";\n skypeSpan.appendChild(\n createTextNode(strings.skype || defaultStrings.skype)\n );\n skype.appendChild(skypeSpan);\n\n modalContent.appendChild(skype);\n\n // call default\n call = createElement(\"a\") as HTMLLinkElement;\n call.id = \"m-call\";\n call.href = DEFAULT_BTN_HREF;\n call.classList.add(\"m-open\");\n call.classList.add(\"m-default\");\n let callSpan = createElement(span);\n callSpan.className = \"w-500\";\n callSpan.appendChild(createTextNode(strings.call || defaultStrings.call));\n call.appendChild(callSpan);\n call.appendChild(\n createTextNode(strings._as_default || defaultStrings._as_default)\n );\n\n modalContent.appendChild(call);\n\n // copy\n copyTel = createElement(\"a\") as HTMLLinkElement;\n copyTel.id = \"m-tel-copy\";\n copyTel.href = DEFAULT_BTN_HREF;\n copyTel.classList.add(\"m-copy\");\n copyTel.classList.add(\"w-500\");\n copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyTel);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n\n // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered\n document.addEventListener(\"click\", mailgoCheckRender);\n};\n\n/**\n * mailgoRender\n * function to render a mailgo (mail or tel)\n */\nconst mailgoRender = (type = MAIL_TYPE, mailgo: HTMLLinkElement): void => {\n // mailgo mail\n if (type === MAIL_TYPE) {\n // if the element href=^\"mailto:\"\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(MAILTO)) {\n mail = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(MAILTO)[1].trim()\n );\n\n url = new URL(mailgo.href);\n let urlParams: URLSearchParams = url.searchParams;\n\n // optional parameters for the email\n cc = urlParams.get(\"cc\");\n bcc = urlParams.get(\"bcc\");\n subject = urlParams.get(\"subject\");\n bodyMail = urlParams.get(\"body\");\n } else {\n // if the element href=\"#mailgo\" or class=\"mailgo\"\n // mail = data-address + @ + data-domain\n mail =\n mailgo.getAttribute(\"data-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-domain\");\n\n url = new URL(MAILTO + encodeURIComponent(mail));\n\n // cc = data-cc-address + @ + data-cc-domain\n cc =\n mailgo.getAttribute(\"data-cc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-cc-domain\");\n\n // bcc = data-bcc-address + @ + data-bcc-domain\n bcc =\n mailgo.getAttribute(\"data-bcc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-bcc-domain\");\n\n // subject = data-subject\n subject = mailgo.getAttribute(\"data-subject\");\n\n // body = data-body\n bodyMail = mailgo.getAttribute(\"data-body\");\n }\n\n // validate the email address\n if (!validateEmails(mail.split(\",\"))) return;\n\n // if cc, bcc is not valid cc, bcc = \"\"\n if (cc && !validateEmails(cc.split(\",\"))) cc = \"\";\n if (bcc && !validateEmails(bcc.split(\",\"))) bcc = \"\";\n\n // the title of the modal (email address)\n title.innerHTML = mail.split(\",\").join(\"
\");\n\n // add the details if provided\n cc\n ? ((detailCc.style.display = \"block\"),\n (ccValue.innerHTML = cc.split(\",\").join(\"
\")))\n : (detailCc.style.display = \"none\");\n\n bcc\n ? ((detailBcc.style.display = \"block\"),\n (bccValue.innerHTML = bcc.split(\",\").join(\"
\")))\n : (detailBcc.style.display = \"none\");\n\n subject\n ? ((detailSubject.style.display = \"block\"),\n (subjectValue.textContent = subject))\n : (detailSubject.style.display = \"none\");\n\n bodyMail\n ? ((detailBody.style.display = \"block\"),\n (bodyValue.textContent = bodyMail))\n : (detailBody.style.display = \"none\");\n\n // add the actions\n gmail.addEventListener(\"click\", openGmail);\n\n outlook.addEventListener(\"click\", openOutlook);\n\n encEmail = encodeEmail(mail);\n open.addEventListener(\"click\", openDefault);\n\n copyMail.addEventListener(\"click\", () => copy(mail));\n }\n // mailgo tel\n if (type === TEL_TYPE) {\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) {\n tel = decodeURIComponent(mailgo.href.split(\"?\")[0].split(TEL)[1].trim());\n } else if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) {\n tel = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(CALLTO)[1].trim()\n );\n } else if (mailgo.hasAttribute(\"data-tel\")) {\n tel = mailgo.getAttribute(\"data-tel\");\n msg = mailgo.getAttribute(\"data-msg\");\n }\n\n // information\n // let titleEl = getE(\"m-tel-title\");\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-telegram\")) {\n telegramUsername = mailgo.getAttribute(\"data-telegram\");\n }\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-skype\")) {\n skypeUsername = mailgo.getAttribute(\"data-skype\");\n }\n\n // the title of the modal (tel)\n titleTel.innerHTML = tel;\n\n // add the actions to buttons\n wa.addEventListener(\"click\", openWhatsApp);\n\n if (telegramUsername) {\n setDisplay(\"m-tg\", \"block\");\n telegram.addEventListener(\"click\", openTelegram);\n }\n\n skype.addEventListener(\"click\", openSkype);\n\n call.addEventListener(\"click\", callDefault);\n\n copyTel.addEventListener(\"click\", () => copy(tel));\n }\n\n // show the mailgo\n showMailgo(type);\n\n // add listener keyDown\n document.addEventListener(\"keydown\", mailgoKeydown);\n};\n\n// actions\nconst openGmail = (): void => {\n // Gmail url\n let gmailUrl =\n \"https://mail.google.com/mail/u/0/?view=cm&source=mailto&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (cc) gmailUrl = gmailUrl.concat(\"&cc=\" + encodeURIComponent(cc));\n if (bcc) gmailUrl = gmailUrl.concat(\"&bcc=\" + encodeURIComponent(bcc));\n if (subject) gmailUrl = gmailUrl.concat(\"&subject=\" + subject);\n if (bodyMail) gmailUrl = gmailUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(gmailUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openOutlook = (): void => {\n // Outlook url\n let outlookUrl =\n \"https://outlook.live.com/owa/?path=/mail/action/compose&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (subject) outlookUrl = outlookUrl.concat(\"&subject=\" + subject);\n if (bodyMail) outlookUrl = outlookUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(outlookUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openDefault = (): void => {\n mailToEncoded(encEmail);\n hideMailgo();\n};\n\nconst openTelegram = (): void => {\n // Telegram url\n let tgUrl = \"https://t.me/\" + telegramUsername;\n\n // open the url\n window.open(tgUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openSkype = (): void => {\n let skype = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl = \"skype:\" + skype;\n\n // open the url\n window.open(skypeUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openWhatsApp = (): void => {\n // WhatsApp url\n let waUrl = \"https://wa.me/\" + tel;\n\n // the details if provided\n if (msg) waUrl + \"?text=\" + msg;\n\n // open the url\n window.open(waUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst callDefault = () => {\n let callUrl = \"tel:\" + tel;\n window.open(callUrl);\n hideMailgo();\n};\n\nconst copy = (content: string): void => {\n copyToClipboard(content);\n let activeCopy: HTMLElement;\n // the correct copyButton (mail or tel)\n mailgoIsShowing(MAIL_TYPE) ? (activeCopy = copyMail) : (activeCopy = copyTel);\n activeCopy.textContent = \"copied\";\n setTimeout(() => {\n activeCopy.textContent = \"copy\";\n // hide after the timeout\n hideMailgo();\n }, 999);\n};\n\n// function that returns if an element is a mailgo\nconst isMailgo = (element: HTMLElement, type: string = MAIL_TYPE): boolean => {\n let href: string = (element as HTMLLinkElement).href;\n\n // mailgo type mail\n if (type === MAIL_TYPE) {\n return (\n // first case: it is an
element with \"mailto:...\" in href and no no-mailgo in classList\n (href &&\n href.toLowerCase().startsWith(MAILTO) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-address\") &&\n // second case: the href=#mailgo\n ((href && element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))))\n );\n }\n\n // mailgo type tel\n if (type === TEL_TYPE) {\n return (\n // first case: it is an element with \"tel:...\" or \"callto:...\" in href and no no-mailgo in classList\n (href &&\n (href.toLowerCase().startsWith(TEL) ||\n href.toLowerCase().startsWith(CALLTO)) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-tel\") &&\n // second case: the href=#mailgo\n href &&\n element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))\n );\n }\n\n return false;\n};\n\n/**\n * mailgoCheckRender\n * function to check if an element is mailgo-enabled or not referencing to\n * mail:\n * document.querySelectorAll(\n * 'a[href^=\"mailto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * tel:\n * document.querySelectorAll(\n * 'a[href^=\"tel:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * or\n * document.querySelectorAll(\n * 'a[href^=\"callto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n */\nconst mailgoCheckRender = (event: Event): boolean => {\n // check if the id=mailgo exists in the body\n if (\n !document.contains(getE(\"mailgo\")) ||\n !document.contains(getE(\"mailgo-tel\"))\n )\n return;\n\n // if a mailgo is already showing do nothing\n if (mailgoIsShowing(MAIL_TYPE) || mailgoIsShowing(TEL_TYPE)) return false;\n\n // the path of the event\n let path =\n (event.composedPath && event.composedPath()) ||\n composedPath(event.target as HTMLElement);\n\n if (path) {\n path.forEach((element: HTMLElement) => {\n if (element instanceof HTMLDocument || element instanceof Window)\n return false;\n\n // go in the event.path to find if the user has clicked on a mailgo element\n if (isMailgo(element, MAIL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(MAIL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n if (isMailgo(element, TEL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(TEL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n });\n }\n\n return false;\n};\n\n/**\n * mailgoKeydown\n * function to manage the keydown event when the modal is showing\n */\nconst mailgoKeydown = (event: KeyboardEvent): void => {\n // if mailgo is showing\n if (mailgoIsShowing(MAIL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 71:\n // g -> open GMail\n openGmail();\n break;\n case 79:\n // o -> open Outlook\n openOutlook();\n break;\n case 32:\n case 13:\n // spacebar or enter -> open default\n openDefault();\n break;\n case 67:\n // c -> copy\n copy(mail);\n break;\n default:\n return;\n }\n } else if (mailgoIsShowing(TEL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 84:\n // t -> open Telegram\n openTelegram();\n break;\n case 87:\n // w -> open WhatsApp\n openWhatsApp();\n break;\n case 32:\n case 13:\n // spacebar or enter -> call default\n callDefault();\n break;\n case 67:\n // c -> copy\n copy(tel);\n break;\n default:\n return;\n }\n }\n return;\n};\n\n// show the modal\nconst showMailgo = (type = MAIL_TYPE): boolean => {\n // show mailgo type mail\n if (type === MAIL_TYPE) {\n setDisplay(\"mailgo\", \"flex\");\n return true;\n }\n // show mailgo type tel\n if (type === TEL_TYPE) {\n setDisplay(\"mailgo-tel\", \"flex\");\n return true;\n }\n return false;\n};\n\n// hide the modal\nconst hideMailgo = (): void => {\n setDisplay(\"mailgo\", \"none\");\n setDisplay(\"mailgo-tel\", \"none\");\n\n // remove listener keyDown\n document.removeEventListener(\"keydown\", mailgoKeydown);\n};\n\n// is the mailgo modal hidden?\nconst mailgoIsShowing = (type = MAIL_TYPE): boolean => {\n return type === MAIL_TYPE\n ? getDisplay(\"mailgo\") === \"flex\"\n : type === TEL_TYPE\n ? getDisplay(\"mailgo-tel\") === \"flex\"\n : false;\n};\n\nconst byElement = (): HTMLLinkElement => {\n // by\n let by: HTMLLinkElement = createElement(\"a\") as HTMLLinkElement;\n by.href = \"https://mailgo.js.org?ref=mailgo-modal\";\n by.className = \"m-by\";\n by.target = \"_blank\";\n by.rel = \"noopener noreferrer\";\n by.appendChild(createTextNode(\"mailgo.js.org\"));\n\n return by;\n};\n\n// create element\nconst createElement = (element: string = \"div\"): HTMLElement =>\n document.createElement(element);\n\n// create text node\nconst createTextNode = (element: string): Text =>\n document.createTextNode(element);\n\n// decrypt email\nconst mailToEncoded = (encoded: string): string =>\n (window.location.href = MAILTO + atob(encoded));\n\n// encode email\nconst encodeEmail = (email: string): string => btoa(email);\n\n// getE shorthand\nconst getE = (id: string): HTMLElement => document.getElementById(id);\n\n// get display value\nconst getDisplay = (id: string): string => getE(id).style.display;\n\n// get display value\nconst setDisplay = (id: string, value: string): string =>\n (getE(id).style.display = value);\n\n// custom composedPath if path or event.composedPath() are not defined\nconst composedPath = (\n el: HTMLElement\n): (HTMLElement | Document | (Window & typeof globalThis))[] => {\n let path = [];\n\n while (el) {\n path.push(el);\n\n if (el.tagName === \"HTML\") {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n};\n\n// validate a single email with regex\nconst validateEmail = (email: string): boolean =>\n /^(([^<>()[\\]\\\\.,;:\\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(\n email\n );\n\n// validate an array of emails\nconst validateEmails = (arr: string[]): boolean => arr.every(validateEmail);\n\n// copy of a string\nconst copyToClipboard = (str: string): boolean => {\n let el: HTMLInputElement = createElement(\"textarea\") as HTMLInputElement;\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n let selected =\n document.getSelection().rangeCount > 0\n ? document.getSelection().getRangeAt(0)\n : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n return true;\n }\n return false;\n};\n\nconst mailgoStyle = (): void => {\n // mailgo style\n let mailgoCSSElement: HTMLStyleElement = createElement(\n \"style\"\n ) as HTMLStyleElement;\n mailgoCSSElement.id = \"mailgo-style\";\n mailgoCSSElement.type = \"text/css\";\n mailgoCSSElement.appendChild(createTextNode(mailgoCSS));\n document.head.appendChild(mailgoCSSElement);\n};\n\n// mailgo\nexport const mailgo = (mailgoConfig?: MailgoConfig) => {\n // if the window is defined...\n if (window && typeof window !== \"undefined\") {\n // add the style for mailgo\n mailgoStyle();\n\n // if is set an initEvent add the listener\n if (mailgoConfig?.initEvent) {\n document.addEventListener(mailgoConfig.initEvent, () => {\n mailgoInit(mailgoConfig);\n });\n } else {\n mailgoInit(mailgoConfig);\n }\n }\n};\n\nexport default mailgo;\n","// webpack > dist/mailgo.min.js\n\nimport mailgo from \"../src/mailgo\";\n\n// call init mailgo attached to the event DOMContentLoaded\nconst mailgoConfig = {\n initEvent: \"DOMContentLoaded\",\n};\n\nmailgo(mailgoConfig);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/mailgo.js b/lib/mailgo.js index 3f212b6..22d3f99 100644 --- a/lib/mailgo.js +++ b/lib/mailgo.js @@ -122,7 +122,7 @@ module.exports = JSON.parse("{\"languages\":[\"en\",\"it\"],\"translations\":{\" var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3); exports = ___CSS_LOADER_API_IMPORT___(false); // Module -exports.push([module.i, ".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:8px;box-shadow:0px 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:0px 7px 20px rgba(32,35,42,0.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;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;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\n", ""]); +exports.push([module.i, ".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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(217,217,217,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:20px;box-shadow:30px 30px 60px #d9d9d9,-30px -30px 60px #fff;color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff}.m-modal .m-modal-content .m-title{margin-bottom:20px;overflow:hidden;white-space:nowrap;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;border-radius:20px;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\n", ""]); // Exports module.exports = exports; diff --git a/lib/mailgo.js.map b/lib/mailgo.js.map index bdff1cd..470ca4e 100644 --- a/lib/mailgo.js.map +++ b/lib/mailgo.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://mailgo/webpack/universalModuleDefinition","webpack://mailgo/webpack/bootstrap","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.scss","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.lib.ts"],"names":["i18n","require","mailgoCSS","toString","DEFAULT_LANG","MAILTO","TEL","CALLTO","MAIL_TYPE","TEL_TYPE","DEFAULT_BTN_HREF","span","url","mail","encEmail","cc","bcc","subject","bodyMail","tel","msg","telegramUsername","skypeUsername","title","titleTel","detailCc","detailBcc","detailSubject","detailBody","ccValue","bccValue","subjectValue","bodyValue","gmail","outlook","open","telegram","wa","skype","call","copyMail","copyTel","mailgoInit","mailgoConfig","lang","translations","languages","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","id","classList","add","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","bccSpan","subjectSpan","bodySpan","body","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","addEventListener","hideMailgo","telegramSpan","waSpan","whatsapp","skypeSpan","callSpan","_as_default","mailgoCheckRender","mailgoRender","type","mailgo","toLowerCase","startsWith","decodeURIComponent","split","trim","URL","urlParams","searchParams","get","getAttribute","encodeURIComponent","validateEmails","innerHTML","join","textContent","openGmail","openOutlook","encodeEmail","openDefault","hasAttribute","openWhatsApp","setDisplay","openTelegram","openSkype","callDefault","showMailgo","mailgoKeydown","gmailUrl","concat","window","outlookUrl","mailToEncoded","tgUrl","skypeUrl","waUrl","callUrl","content","copyToClipboard","activeCopy","mailgoIsShowing","setTimeout","isMailgo","element","contains","event","getE","path","composedPath","target","forEach","HTMLDocument","Window","preventDefault","keyCode","removeEventListener","getDisplay","by","rel","encoded","location","atob","email","btoa","getElementById","value","el","push","tagName","parentElement","validateEmail","test","arr","every","str","setAttribute","position","left","selected","getSelection","rangeCount","getRangeAt","select","execCommand","removeChild","removeAllRanges","addRange","mailgoStyle","mailgoCSSElement","head","initEvent"],"mappings":"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","file":"lib/mailgo.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mailgo\"] = factory();\n\telse\n\t\troot[\"mailgo\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","\n var result = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:8px;box-shadow:0px 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:0px 7px 20px rgba(32,35,42,0.85)}.m-modal .m-modal-content .m-title{margin-bottom:8px;overflow:hidden;white-space:nowrap;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;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","import { MailgoConfig } from \"../mailgo\";\n\n// i18n for mailgo\nconst i18n = require(\"../i18n/i18n.json\");\n\n// mailgo scss\nconst mailgoCSS = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG = \"en\";\n\n// links\nconst MAILTO: string = \"mailto:\";\nconst TEL: string = \"tel:\";\nconst CALLTO: string = \"callto:\";\n\n// mailgo types\nconst MAIL_TYPE: string = \"mail\";\nconst TEL_TYPE: string = \"tel\";\n\n// default href for links\nconst DEFAULT_BTN_HREF: string = \"javascript:void(0);\";\n\n// html tags\nconst span: string = \"span\";\n\n// mailgo variables\nlet url: URL,\n mail: string = \"\",\n encEmail: string = \"\",\n cc: string = \"\",\n bcc: string = \"\",\n subject: string = \"\",\n bodyMail: string = \"\";\n\n// mailgo tel variables\nlet tel: string = \"\",\n msg: string = \"\",\n telegramUsername: string = \"\",\n skypeUsername: string = \"\";\n\n// the DOM elements\nlet title: HTMLElement,\n titleTel: HTMLElement,\n detailCc: HTMLElement,\n detailBcc: HTMLElement,\n detailSubject: HTMLElement,\n detailBody: HTMLElement,\n ccValue: HTMLElement,\n bccValue: HTMLElement,\n subjectValue: HTMLElement,\n bodyValue: HTMLElement;\n\n// mailgo buttons (actions)\nlet gmail: HTMLLinkElement,\n outlook: HTMLLinkElement,\n open: HTMLLinkElement,\n telegram: HTMLLinkElement,\n wa: HTMLLinkElement,\n skype: HTMLLinkElement,\n call: HTMLLinkElement,\n copyMail: HTMLLinkElement,\n copyTel: HTMLLinkElement;\n\n/**\n * mailgoInit\n * the function that creates the mailgo elements in DOM\n */\nconst mailgoInit = (mailgoConfig?: MailgoConfig): void => {\n // default language\n let lang = DEFAULT_LANG;\n\n // translations\n let translations: any = i18n.translations;\n\n // if a default language is defined use it\n if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {\n lang = mailgoConfig.lang;\n }\n\n // if is defined use it!\n if (!mailgoConfig?.forceLang) {\n // keep the lang from html\n let htmlLang = document.documentElement.lang;\n\n // if there are translations...\n if (i18n.languages.includes(htmlLang)) {\n lang = document.documentElement.lang;\n }\n }\n\n // strings\n let defaultStrings: any = translations[DEFAULT_LANG];\n let strings: any = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (email address)\n title = createElement(\"strong\");\n title.id = \"m-title\";\n title.className = \"m-title\";\n modalContent.appendChild(title);\n\n // details\n let details = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(\"p\");\n detailCc.id = \"m-cc\";\n let ccSpan = createElement(span);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc || defaultStrings.cc));\n ccValue = createElement(span);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(\"p\");\n detailBcc.id = \"m-bcc\";\n let bccSpan = createElement(span);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc || defaultStrings.bcc));\n bccValue = createElement(span);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(\"p\");\n detailSubject.id = \"m-subject\";\n let subjectSpan = createElement(span);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject || defaultStrings.subject)\n );\n subjectValue = createElement(span);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(\"p\");\n detailBody.id = \"m-body\";\n let bodySpan = createElement(span);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body || defaultStrings.body));\n bodyValue = createElement(span);\n bodyValue.id = \"m-body-value\";\n detailBody.appendChild(bodySpan);\n detailBody.appendChild(bodyValue);\n details.appendChild(detailBody);\n\n modalContent.appendChild(details);\n\n // Gmail\n gmail = createElement(\"a\") as HTMLLinkElement;\n gmail.id = \"m-gmail\";\n gmail.href = DEFAULT_BTN_HREF;\n gmail.classList.add(\"m-open\");\n gmail.classList.add(\"m-gmail\");\n gmail.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let gmailSpan = createElement(span);\n gmailSpan.className = \"w-500\";\n gmailSpan.appendChild(\n createTextNode(strings.gmail || defaultStrings.gmail)\n );\n gmail.appendChild(gmailSpan);\n\n modalContent.appendChild(gmail);\n\n // Outlook\n outlook = createElement(\"a\") as HTMLLinkElement;\n outlook.id = \"m-outlook\";\n outlook.href = DEFAULT_BTN_HREF;\n outlook.classList.add(\"m-open\");\n outlook.classList.add(\"m-outlook\");\n outlook.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let outlookSpan = createElement(span);\n outlookSpan.className = \"w-500\";\n outlookSpan.appendChild(\n createTextNode(strings.outlook || defaultStrings.outlook)\n );\n outlook.appendChild(outlookSpan);\n\n modalContent.appendChild(outlook);\n\n // open default\n open = createElement(\"a\") as HTMLLinkElement;\n open.id = \"m-open\";\n open.href = DEFAULT_BTN_HREF;\n open.classList.add(\"m-open\");\n open.classList.add(\"m-default\");\n let openSpan = createElement(span);\n openSpan.className = \"w-500\";\n openSpan.appendChild(createTextNode(strings.open || defaultStrings.open));\n open.appendChild(openSpan);\n open.appendChild(\n createTextNode(strings._default || defaultStrings._default)\n );\n\n modalContent.appendChild(open);\n\n // copy\n copyMail = createElement(\"a\") as HTMLLinkElement;\n copyMail.id = \"m-copy\";\n copyMail.href = DEFAULT_BTN_HREF;\n copyMail.classList.add(\"m-copy\");\n copyMail.classList.add(\"w-500\");\n copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyMail);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n // mailgo tel\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (telephone number)\n titleTel = createElement(\"strong\");\n titleTel.id = \"m-tel-title\";\n titleTel.className = \"m-title\";\n modalContent.appendChild(titleTel);\n\n // Telegram\n telegram = createElement(\"a\") as HTMLLinkElement;\n telegram.id = \"m-tg\";\n telegram.href = DEFAULT_BTN_HREF;\n telegram.classList.add(\"m-open\");\n telegram.classList.add(\"m-tg\");\n\n // by default not display\n telegram.style.display = \"none\";\n\n telegram.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let telegramSpan = createElement(span);\n telegramSpan.className = \"w-500\";\n telegramSpan.appendChild(\n createTextNode(strings.telegram || defaultStrings.telegram)\n );\n telegram.appendChild(telegramSpan);\n\n modalContent.appendChild(telegram);\n\n // WhatsApp\n wa = createElement(\"a\") as HTMLLinkElement;\n wa.id = \"m-wa\";\n wa.href = DEFAULT_BTN_HREF;\n wa.classList.add(\"m-open\");\n wa.classList.add(\"m-wa\");\n wa.appendChild(createTextNode(strings.open_in || defaultStrings.open_in));\n let waSpan = createElement(span);\n waSpan.className = \"w-500\";\n waSpan.appendChild(\n createTextNode(strings.whatsapp || defaultStrings.whatsapp)\n );\n wa.appendChild(waSpan);\n\n modalContent.appendChild(wa);\n\n // Skype\n skype = createElement(\"a\") as HTMLLinkElement;\n skype.id = \"m-skype\";\n skype.href = DEFAULT_BTN_HREF;\n skype.classList.add(\"m-open\");\n skype.classList.add(\"m-skype\");\n skype.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let skypeSpan = createElement(span);\n skypeSpan.className = \"w-500\";\n skypeSpan.appendChild(\n createTextNode(strings.skype || defaultStrings.skype)\n );\n skype.appendChild(skypeSpan);\n\n modalContent.appendChild(skype);\n\n // call default\n call = createElement(\"a\") as HTMLLinkElement;\n call.id = \"m-call\";\n call.href = DEFAULT_BTN_HREF;\n call.classList.add(\"m-open\");\n call.classList.add(\"m-default\");\n let callSpan = createElement(span);\n callSpan.className = \"w-500\";\n callSpan.appendChild(createTextNode(strings.call || defaultStrings.call));\n call.appendChild(callSpan);\n call.appendChild(\n createTextNode(strings._as_default || defaultStrings._as_default)\n );\n\n modalContent.appendChild(call);\n\n // copy\n copyTel = createElement(\"a\") as HTMLLinkElement;\n copyTel.id = \"m-tel-copy\";\n copyTel.href = DEFAULT_BTN_HREF;\n copyTel.classList.add(\"m-copy\");\n copyTel.classList.add(\"w-500\");\n copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyTel);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n\n // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered\n document.addEventListener(\"click\", mailgoCheckRender);\n};\n\n/**\n * mailgoRender\n * function to render a mailgo (mail or tel)\n */\nconst mailgoRender = (type = MAIL_TYPE, mailgo: HTMLLinkElement): void => {\n // mailgo mail\n if (type === MAIL_TYPE) {\n // if the element href=^\"mailto:\"\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(MAILTO)) {\n mail = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(MAILTO)[1].trim()\n );\n\n url = new URL(mailgo.href);\n let urlParams: URLSearchParams = url.searchParams;\n\n // optional parameters for the email\n cc = urlParams.get(\"cc\");\n bcc = urlParams.get(\"bcc\");\n subject = urlParams.get(\"subject\");\n bodyMail = urlParams.get(\"body\");\n } else {\n // if the element href=\"#mailgo\" or class=\"mailgo\"\n // mail = data-address + @ + data-domain\n mail =\n mailgo.getAttribute(\"data-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-domain\");\n\n url = new URL(MAILTO + encodeURIComponent(mail));\n\n // cc = data-cc-address + @ + data-cc-domain\n cc =\n mailgo.getAttribute(\"data-cc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-cc-domain\");\n\n // bcc = data-bcc-address + @ + data-bcc-domain\n bcc =\n mailgo.getAttribute(\"data-bcc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-bcc-domain\");\n\n // subject = data-subject\n subject = mailgo.getAttribute(\"data-subject\");\n\n // body = data-body\n bodyMail = mailgo.getAttribute(\"data-body\");\n }\n\n // validate the email address\n if (!validateEmails(mail.split(\",\"))) return;\n\n // if cc, bcc is not valid cc, bcc = \"\"\n if (cc && !validateEmails(cc.split(\",\"))) cc = \"\";\n if (bcc && !validateEmails(bcc.split(\",\"))) bcc = \"\";\n\n // the title of the modal (email address)\n title.innerHTML = mail.split(\",\").join(\"
\");\n\n // add the details if provided\n cc\n ? ((detailCc.style.display = \"block\"),\n (ccValue.innerHTML = cc.split(\",\").join(\"
\")))\n : (detailCc.style.display = \"none\");\n\n bcc\n ? ((detailBcc.style.display = \"block\"),\n (bccValue.innerHTML = bcc.split(\",\").join(\"
\")))\n : (detailBcc.style.display = \"none\");\n\n subject\n ? ((detailSubject.style.display = \"block\"),\n (subjectValue.textContent = subject))\n : (detailSubject.style.display = \"none\");\n\n bodyMail\n ? ((detailBody.style.display = \"block\"),\n (bodyValue.textContent = bodyMail))\n : (detailBody.style.display = \"none\");\n\n // add the actions\n gmail.addEventListener(\"click\", openGmail);\n\n outlook.addEventListener(\"click\", openOutlook);\n\n encEmail = encodeEmail(mail);\n open.addEventListener(\"click\", openDefault);\n\n copyMail.addEventListener(\"click\", () => copy(mail));\n }\n // mailgo tel\n if (type === TEL_TYPE) {\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) {\n tel = decodeURIComponent(mailgo.href.split(\"?\")[0].split(TEL)[1].trim());\n } else if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) {\n tel = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(CALLTO)[1].trim()\n );\n } else if (mailgo.hasAttribute(\"data-tel\")) {\n tel = mailgo.getAttribute(\"data-tel\");\n msg = mailgo.getAttribute(\"data-msg\");\n }\n\n // information\n // let titleEl = getE(\"m-tel-title\");\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-telegram\")) {\n telegramUsername = mailgo.getAttribute(\"data-telegram\");\n }\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-skype\")) {\n skypeUsername = mailgo.getAttribute(\"data-skype\");\n }\n\n // the title of the modal (tel)\n titleTel.innerHTML = tel;\n\n // add the actions to buttons\n wa.addEventListener(\"click\", openWhatsApp);\n\n if (telegramUsername) {\n setDisplay(\"m-tg\", \"block\");\n telegram.addEventListener(\"click\", openTelegram);\n }\n\n skype.addEventListener(\"click\", openSkype);\n\n call.addEventListener(\"click\", callDefault);\n\n copyTel.addEventListener(\"click\", () => copy(tel));\n }\n\n // show the mailgo\n showMailgo(type);\n\n // add listener keyDown\n document.addEventListener(\"keydown\", mailgoKeydown);\n};\n\n// actions\nconst openGmail = (): void => {\n // Gmail url\n let gmailUrl =\n \"https://mail.google.com/mail/u/0/?view=cm&source=mailto&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (cc) gmailUrl = gmailUrl.concat(\"&cc=\" + encodeURIComponent(cc));\n if (bcc) gmailUrl = gmailUrl.concat(\"&bcc=\" + encodeURIComponent(bcc));\n if (subject) gmailUrl = gmailUrl.concat(\"&subject=\" + subject);\n if (bodyMail) gmailUrl = gmailUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(gmailUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openOutlook = (): void => {\n // Outlook url\n let outlookUrl =\n \"https://outlook.live.com/owa/?path=/mail/action/compose&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (subject) outlookUrl = outlookUrl.concat(\"&subject=\" + subject);\n if (bodyMail) outlookUrl = outlookUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(outlookUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openDefault = (): void => {\n mailToEncoded(encEmail);\n hideMailgo();\n};\n\nconst openTelegram = (): void => {\n // Telegram url\n let tgUrl = \"https://t.me/\" + telegramUsername;\n\n // open the url\n window.open(tgUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openSkype = (): void => {\n let skype = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl = \"skype:\" + skype;\n\n // open the url\n window.open(skypeUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openWhatsApp = (): void => {\n // WhatsApp url\n let waUrl = \"https://wa.me/\" + tel;\n\n // the details if provided\n if (msg) waUrl + \"?text=\" + msg;\n\n // open the url\n window.open(waUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst callDefault = () => {\n let callUrl = \"tel:\" + tel;\n window.open(callUrl);\n hideMailgo();\n};\n\nconst copy = (content: string): void => {\n copyToClipboard(content);\n let activeCopy: HTMLElement;\n // the correct copyButton (mail or tel)\n mailgoIsShowing(MAIL_TYPE) ? (activeCopy = copyMail) : (activeCopy = copyTel);\n activeCopy.textContent = \"copied\";\n setTimeout(() => {\n activeCopy.textContent = \"copy\";\n // hide after the timeout\n hideMailgo();\n }, 999);\n};\n\n// function that returns if an element is a mailgo\nconst isMailgo = (element: HTMLElement, type: string = MAIL_TYPE): boolean => {\n let href: string = (element as HTMLLinkElement).href;\n\n // mailgo type mail\n if (type === MAIL_TYPE) {\n return (\n // first case: it is an
element with \"mailto:...\" in href and no no-mailgo in classList\n (href &&\n href.toLowerCase().startsWith(MAILTO) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-address\") &&\n // second case: the href=#mailgo\n ((href && element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))))\n );\n }\n\n // mailgo type tel\n if (type === TEL_TYPE) {\n return (\n // first case: it is an element with \"tel:...\" or \"callto:...\" in href and no no-mailgo in classList\n (href &&\n (href.toLowerCase().startsWith(TEL) ||\n href.toLowerCase().startsWith(CALLTO)) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-tel\") &&\n // second case: the href=#mailgo\n href &&\n element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))\n );\n }\n\n return false;\n};\n\n/**\n * mailgoCheckRender\n * function to check if an element is mailgo-enabled or not referencing to\n * mail:\n * document.querySelectorAll(\n * 'a[href^=\"mailto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * tel:\n * document.querySelectorAll(\n * 'a[href^=\"tel:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * or\n * document.querySelectorAll(\n * 'a[href^=\"callto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n */\nconst mailgoCheckRender = (event: Event): boolean => {\n // check if the id=mailgo exists in the body\n if (\n !document.contains(getE(\"mailgo\")) ||\n !document.contains(getE(\"mailgo-tel\"))\n )\n return;\n\n // if a mailgo is already showing do nothing\n if (mailgoIsShowing(MAIL_TYPE) || mailgoIsShowing(TEL_TYPE)) return false;\n\n // the path of the event\n let path =\n (event.composedPath && event.composedPath()) ||\n composedPath(event.target as HTMLElement);\n\n if (path) {\n path.forEach((element: HTMLElement) => {\n if (element instanceof HTMLDocument || element instanceof Window)\n return false;\n\n // go in the event.path to find if the user has clicked on a mailgo element\n if (isMailgo(element, MAIL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(MAIL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n if (isMailgo(element, TEL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(TEL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n });\n }\n\n return false;\n};\n\n/**\n * mailgoKeydown\n * function to manage the keydown event when the modal is showing\n */\nconst mailgoKeydown = (event: KeyboardEvent): void => {\n // if mailgo is showing\n if (mailgoIsShowing(MAIL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 71:\n // g -> open GMail\n openGmail();\n break;\n case 79:\n // o -> open Outlook\n openOutlook();\n break;\n case 32:\n case 13:\n // spacebar or enter -> open default\n openDefault();\n break;\n case 67:\n // c -> copy\n copy(mail);\n break;\n default:\n return;\n }\n } else if (mailgoIsShowing(TEL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 84:\n // t -> open Telegram\n openTelegram();\n break;\n case 87:\n // w -> open WhatsApp\n openWhatsApp();\n break;\n case 32:\n case 13:\n // spacebar or enter -> call default\n callDefault();\n break;\n case 67:\n // c -> copy\n copy(tel);\n break;\n default:\n return;\n }\n }\n return;\n};\n\n// show the modal\nconst showMailgo = (type = MAIL_TYPE): boolean => {\n // show mailgo type mail\n if (type === MAIL_TYPE) {\n setDisplay(\"mailgo\", \"flex\");\n return true;\n }\n // show mailgo type tel\n if (type === TEL_TYPE) {\n setDisplay(\"mailgo-tel\", \"flex\");\n return true;\n }\n return false;\n};\n\n// hide the modal\nconst hideMailgo = (): void => {\n setDisplay(\"mailgo\", \"none\");\n setDisplay(\"mailgo-tel\", \"none\");\n\n // remove listener keyDown\n document.removeEventListener(\"keydown\", mailgoKeydown);\n};\n\n// is the mailgo modal hidden?\nconst mailgoIsShowing = (type = MAIL_TYPE): boolean => {\n return type === MAIL_TYPE\n ? getDisplay(\"mailgo\") === \"flex\"\n : type === TEL_TYPE\n ? getDisplay(\"mailgo-tel\") === \"flex\"\n : false;\n};\n\nconst byElement = (): HTMLLinkElement => {\n // by\n let by: HTMLLinkElement = createElement(\"a\") as HTMLLinkElement;\n by.href = \"https://mailgo.js.org?ref=mailgo-modal\";\n by.className = \"m-by\";\n by.target = \"_blank\";\n by.rel = \"noopener noreferrer\";\n by.appendChild(createTextNode(\"mailgo.js.org\"));\n\n return by;\n};\n\n// create element\nconst createElement = (element: string = \"div\"): HTMLElement =>\n document.createElement(element);\n\n// create text node\nconst createTextNode = (element: string): Text =>\n document.createTextNode(element);\n\n// decrypt email\nconst mailToEncoded = (encoded: string): string =>\n (window.location.href = MAILTO + atob(encoded));\n\n// encode email\nconst encodeEmail = (email: string): string => btoa(email);\n\n// getE shorthand\nconst getE = (id: string): HTMLElement => document.getElementById(id);\n\n// get display value\nconst getDisplay = (id: string): string => getE(id).style.display;\n\n// get display value\nconst setDisplay = (id: string, value: string): string =>\n (getE(id).style.display = value);\n\n// custom composedPath if path or event.composedPath() are not defined\nconst composedPath = (\n el: HTMLElement\n): (HTMLElement | Document | (Window & typeof globalThis))[] => {\n let path = [];\n\n while (el) {\n path.push(el);\n\n if (el.tagName === \"HTML\") {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n};\n\n// validate a single email with regex\nconst validateEmail = (email: string): boolean =>\n /^(([^<>()[\\]\\\\.,;:\\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(\n email\n );\n\n// validate an array of emails\nconst validateEmails = (arr: string[]): boolean => arr.every(validateEmail);\n\n// copy of a string\nconst copyToClipboard = (str: string): boolean => {\n let el: HTMLInputElement = createElement(\"textarea\") as HTMLInputElement;\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n let selected =\n document.getSelection().rangeCount > 0\n ? document.getSelection().getRangeAt(0)\n : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n return true;\n }\n return false;\n};\n\nconst mailgoStyle = (): void => {\n // mailgo style\n let mailgoCSSElement: HTMLStyleElement = createElement(\n \"style\"\n ) as HTMLStyleElement;\n mailgoCSSElement.id = \"mailgo-style\";\n mailgoCSSElement.type = \"text/css\";\n mailgoCSSElement.appendChild(createTextNode(mailgoCSS));\n document.head.appendChild(mailgoCSSElement);\n};\n\n// mailgo\nexport const mailgo = (mailgoConfig?: MailgoConfig) => {\n // if the window is defined...\n if (window && typeof window !== \"undefined\") {\n // add the style for mailgo\n mailgoStyle();\n\n // if is set an initEvent add the listener\n if (mailgoConfig?.initEvent) {\n document.addEventListener(mailgoConfig.initEvent, () => {\n mailgoInit(mailgoConfig);\n });\n } else {\n mailgoInit(mailgoConfig);\n }\n }\n};\n\nexport default mailgo;\n","// webpack > lib/mailgo.js\n\nimport mailgo from \"../src/mailgo\";\n\nexport default mailgo;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://mailgo/webpack/universalModuleDefinition","webpack://mailgo/webpack/bootstrap","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.scss","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.lib.ts"],"names":["i18n","require","mailgoCSS","toString","DEFAULT_LANG","MAILTO","TEL","CALLTO","MAIL_TYPE","TEL_TYPE","DEFAULT_BTN_HREF","span","url","mail","encEmail","cc","bcc","subject","bodyMail","tel","msg","telegramUsername","skypeUsername","title","titleTel","detailCc","detailBcc","detailSubject","detailBody","ccValue","bccValue","subjectValue","bodyValue","gmail","outlook","open","telegram","wa","skype","call","copyMail","copyTel","mailgoInit","mailgoConfig","lang","translations","languages","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","id","classList","add","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","bccSpan","subjectSpan","bodySpan","body","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","addEventListener","hideMailgo","telegramSpan","waSpan","whatsapp","skypeSpan","callSpan","_as_default","mailgoCheckRender","mailgoRender","type","mailgo","toLowerCase","startsWith","decodeURIComponent","split","trim","URL","urlParams","searchParams","get","getAttribute","encodeURIComponent","validateEmails","innerHTML","join","textContent","openGmail","openOutlook","encodeEmail","openDefault","hasAttribute","openWhatsApp","setDisplay","openTelegram","openSkype","callDefault","showMailgo","mailgoKeydown","gmailUrl","concat","window","outlookUrl","mailToEncoded","tgUrl","skypeUrl","waUrl","callUrl","content","copyToClipboard","activeCopy","mailgoIsShowing","setTimeout","isMailgo","element","contains","event","getE","path","composedPath","target","forEach","HTMLDocument","Window","preventDefault","keyCode","removeEventListener","getDisplay","by","rel","encoded","location","atob","email","btoa","getElementById","value","el","push","tagName","parentElement","validateEmail","test","arr","every","str","setAttribute","position","left","selected","getSelection","rangeCount","getRangeAt","select","execCommand","removeChild","removeAllRanges","addRange","mailgoStyle","mailgoCSSElement","head","initEvent"],"mappings":"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","file":"lib/mailgo.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mailgo\"] = factory();\n\telse\n\t\troot[\"mailgo\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","\n var result = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".m-modal{position:fixed;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;font-size:15px;z-index:10000}.m-modal p,.m-modal span,.m-modal strong,.m-modal a{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(217,217,217,0.75);opacity:0.8}.m-modal .m-modal-content{position:relative;z-index:10002;box-sizing:content-box;text-align:center;min-width:200px;max-width:240px;background-color:#fff;opacity:0.97;border-radius:20px;box-shadow:30px 30px 60px #d9d9d9,-30px -30px 60px #fff;color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:20px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1;box-shadow:30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff}.m-modal .m-modal-content .m-title{margin-bottom:20px;overflow:hidden;white-space:nowrap;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;border-radius:20px;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,0.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,0.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,0.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,0.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,0.08);color:#00aff0}.m-modal .m-modal-content a.m-copy{padding:16px 10px;font-size:16px}.m-modal .m-modal-content a.m-default:hover,.m-modal .m-modal-content a.m-copy:hover{background-color:rgba(0,0,0,0.08);color:#4a4a4a}.m-modal .m-modal-content a.m-by{font-size:8px;margin-top:0.8rem;padding:5px;color:#4a4a4a;opacity:0.5}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","import { MailgoConfig } from \"../mailgo\";\n\n// i18n for mailgo\nconst i18n = require(\"../i18n/i18n.json\");\n\n// mailgo scss\nconst mailgoCSS = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG = \"en\";\n\n// links\nconst MAILTO: string = \"mailto:\";\nconst TEL: string = \"tel:\";\nconst CALLTO: string = \"callto:\";\n\n// mailgo types\nconst MAIL_TYPE: string = \"mail\";\nconst TEL_TYPE: string = \"tel\";\n\n// default href for links\nconst DEFAULT_BTN_HREF: string = \"javascript:void(0);\";\n\n// html tags\nconst span: string = \"span\";\n\n// mailgo variables\nlet url: URL,\n mail: string = \"\",\n encEmail: string = \"\",\n cc: string = \"\",\n bcc: string = \"\",\n subject: string = \"\",\n bodyMail: string = \"\";\n\n// mailgo tel variables\nlet tel: string = \"\",\n msg: string = \"\",\n telegramUsername: string = \"\",\n skypeUsername: string = \"\";\n\n// the DOM elements\nlet title: HTMLElement,\n titleTel: HTMLElement,\n detailCc: HTMLElement,\n detailBcc: HTMLElement,\n detailSubject: HTMLElement,\n detailBody: HTMLElement,\n ccValue: HTMLElement,\n bccValue: HTMLElement,\n subjectValue: HTMLElement,\n bodyValue: HTMLElement;\n\n// mailgo buttons (actions)\nlet gmail: HTMLLinkElement,\n outlook: HTMLLinkElement,\n open: HTMLLinkElement,\n telegram: HTMLLinkElement,\n wa: HTMLLinkElement,\n skype: HTMLLinkElement,\n call: HTMLLinkElement,\n copyMail: HTMLLinkElement,\n copyTel: HTMLLinkElement;\n\n/**\n * mailgoInit\n * the function that creates the mailgo elements in DOM\n */\nconst mailgoInit = (mailgoConfig?: MailgoConfig): void => {\n // default language\n let lang = DEFAULT_LANG;\n\n // translations\n let translations: any = i18n.translations;\n\n // if a default language is defined use it\n if (mailgoConfig?.lang && i18n.languages.includes(mailgoConfig.lang)) {\n lang = mailgoConfig.lang;\n }\n\n // if is defined use it!\n if (!mailgoConfig?.forceLang) {\n // keep the lang from html\n let htmlLang = document.documentElement.lang;\n\n // if there are translations...\n if (i18n.languages.includes(htmlLang)) {\n lang = document.documentElement.lang;\n }\n }\n\n // strings\n let defaultStrings: any = translations[DEFAULT_LANG];\n let strings: any = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (email address)\n title = createElement(\"strong\");\n title.id = \"m-title\";\n title.className = \"m-title\";\n modalContent.appendChild(title);\n\n // details\n let details = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(\"p\");\n detailCc.id = \"m-cc\";\n let ccSpan = createElement(span);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc || defaultStrings.cc));\n ccValue = createElement(span);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(\"p\");\n detailBcc.id = \"m-bcc\";\n let bccSpan = createElement(span);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc || defaultStrings.bcc));\n bccValue = createElement(span);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(\"p\");\n detailSubject.id = \"m-subject\";\n let subjectSpan = createElement(span);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject || defaultStrings.subject)\n );\n subjectValue = createElement(span);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(\"p\");\n detailBody.id = \"m-body\";\n let bodySpan = createElement(span);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body || defaultStrings.body));\n bodyValue = createElement(span);\n bodyValue.id = \"m-body-value\";\n detailBody.appendChild(bodySpan);\n detailBody.appendChild(bodyValue);\n details.appendChild(detailBody);\n\n modalContent.appendChild(details);\n\n // Gmail\n gmail = createElement(\"a\") as HTMLLinkElement;\n gmail.id = \"m-gmail\";\n gmail.href = DEFAULT_BTN_HREF;\n gmail.classList.add(\"m-open\");\n gmail.classList.add(\"m-gmail\");\n gmail.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let gmailSpan = createElement(span);\n gmailSpan.className = \"w-500\";\n gmailSpan.appendChild(\n createTextNode(strings.gmail || defaultStrings.gmail)\n );\n gmail.appendChild(gmailSpan);\n\n modalContent.appendChild(gmail);\n\n // Outlook\n outlook = createElement(\"a\") as HTMLLinkElement;\n outlook.id = \"m-outlook\";\n outlook.href = DEFAULT_BTN_HREF;\n outlook.classList.add(\"m-open\");\n outlook.classList.add(\"m-outlook\");\n outlook.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let outlookSpan = createElement(span);\n outlookSpan.className = \"w-500\";\n outlookSpan.appendChild(\n createTextNode(strings.outlook || defaultStrings.outlook)\n );\n outlook.appendChild(outlookSpan);\n\n modalContent.appendChild(outlook);\n\n // open default\n open = createElement(\"a\") as HTMLLinkElement;\n open.id = \"m-open\";\n open.href = DEFAULT_BTN_HREF;\n open.classList.add(\"m-open\");\n open.classList.add(\"m-default\");\n let openSpan = createElement(span);\n openSpan.className = \"w-500\";\n openSpan.appendChild(createTextNode(strings.open || defaultStrings.open));\n open.appendChild(openSpan);\n open.appendChild(\n createTextNode(strings._default || defaultStrings._default)\n );\n\n modalContent.appendChild(open);\n\n // copy\n copyMail = createElement(\"a\") as HTMLLinkElement;\n copyMail.id = \"m-copy\";\n copyMail.href = DEFAULT_BTN_HREF;\n copyMail.classList.add(\"m-copy\");\n copyMail.classList.add(\"w-500\");\n copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyMail);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n // mailgo tel\n {\n // modal\n let modal = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // background\n let modalBackground = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent = createElement();\n modalContent.className = \"m-modal-content\";\n modal.appendChild(modalContent);\n\n // title (telephone number)\n titleTel = createElement(\"strong\");\n titleTel.id = \"m-tel-title\";\n titleTel.className = \"m-title\";\n modalContent.appendChild(titleTel);\n\n // Telegram\n telegram = createElement(\"a\") as HTMLLinkElement;\n telegram.id = \"m-tg\";\n telegram.href = DEFAULT_BTN_HREF;\n telegram.classList.add(\"m-open\");\n telegram.classList.add(\"m-tg\");\n\n // by default not display\n telegram.style.display = \"none\";\n\n telegram.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let telegramSpan = createElement(span);\n telegramSpan.className = \"w-500\";\n telegramSpan.appendChild(\n createTextNode(strings.telegram || defaultStrings.telegram)\n );\n telegram.appendChild(telegramSpan);\n\n modalContent.appendChild(telegram);\n\n // WhatsApp\n wa = createElement(\"a\") as HTMLLinkElement;\n wa.id = \"m-wa\";\n wa.href = DEFAULT_BTN_HREF;\n wa.classList.add(\"m-open\");\n wa.classList.add(\"m-wa\");\n wa.appendChild(createTextNode(strings.open_in || defaultStrings.open_in));\n let waSpan = createElement(span);\n waSpan.className = \"w-500\";\n waSpan.appendChild(\n createTextNode(strings.whatsapp || defaultStrings.whatsapp)\n );\n wa.appendChild(waSpan);\n\n modalContent.appendChild(wa);\n\n // Skype\n skype = createElement(\"a\") as HTMLLinkElement;\n skype.id = \"m-skype\";\n skype.href = DEFAULT_BTN_HREF;\n skype.classList.add(\"m-open\");\n skype.classList.add(\"m-skype\");\n skype.appendChild(\n createTextNode(strings.open_in || defaultStrings.open_in)\n );\n let skypeSpan = createElement(span);\n skypeSpan.className = \"w-500\";\n skypeSpan.appendChild(\n createTextNode(strings.skype || defaultStrings.skype)\n );\n skype.appendChild(skypeSpan);\n\n modalContent.appendChild(skype);\n\n // call default\n call = createElement(\"a\") as HTMLLinkElement;\n call.id = \"m-call\";\n call.href = DEFAULT_BTN_HREF;\n call.classList.add(\"m-open\");\n call.classList.add(\"m-default\");\n let callSpan = createElement(span);\n callSpan.className = \"w-500\";\n callSpan.appendChild(createTextNode(strings.call || defaultStrings.call));\n call.appendChild(callSpan);\n call.appendChild(\n createTextNode(strings._as_default || defaultStrings._as_default)\n );\n\n modalContent.appendChild(call);\n\n // copy\n copyTel = createElement(\"a\") as HTMLLinkElement;\n copyTel.id = \"m-tel-copy\";\n copyTel.href = DEFAULT_BTN_HREF;\n copyTel.classList.add(\"m-copy\");\n copyTel.classList.add(\"w-500\");\n copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));\n\n modalContent.appendChild(copyTel);\n\n modalContent.appendChild(byElement());\n\n // add the modal at the end of the body\n document.body.appendChild(modal);\n\n // every click outside the modal will hide the modal\n modalBackground.addEventListener(\"click\", hideMailgo);\n }\n\n // event listener on body, if the element is mailgo-compatible the mailgo modal will be rendered\n document.addEventListener(\"click\", mailgoCheckRender);\n};\n\n/**\n * mailgoRender\n * function to render a mailgo (mail or tel)\n */\nconst mailgoRender = (type = MAIL_TYPE, mailgo: HTMLLinkElement): void => {\n // mailgo mail\n if (type === MAIL_TYPE) {\n // if the element href=^\"mailto:\"\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(MAILTO)) {\n mail = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(MAILTO)[1].trim()\n );\n\n url = new URL(mailgo.href);\n let urlParams: URLSearchParams = url.searchParams;\n\n // optional parameters for the email\n cc = urlParams.get(\"cc\");\n bcc = urlParams.get(\"bcc\");\n subject = urlParams.get(\"subject\");\n bodyMail = urlParams.get(\"body\");\n } else {\n // if the element href=\"#mailgo\" or class=\"mailgo\"\n // mail = data-address + @ + data-domain\n mail =\n mailgo.getAttribute(\"data-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-domain\");\n\n url = new URL(MAILTO + encodeURIComponent(mail));\n\n // cc = data-cc-address + @ + data-cc-domain\n cc =\n mailgo.getAttribute(\"data-cc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-cc-domain\");\n\n // bcc = data-bcc-address + @ + data-bcc-domain\n bcc =\n mailgo.getAttribute(\"data-bcc-address\") +\n \"@\" +\n mailgo.getAttribute(\"data-bcc-domain\");\n\n // subject = data-subject\n subject = mailgo.getAttribute(\"data-subject\");\n\n // body = data-body\n bodyMail = mailgo.getAttribute(\"data-body\");\n }\n\n // validate the email address\n if (!validateEmails(mail.split(\",\"))) return;\n\n // if cc, bcc is not valid cc, bcc = \"\"\n if (cc && !validateEmails(cc.split(\",\"))) cc = \"\";\n if (bcc && !validateEmails(bcc.split(\",\"))) bcc = \"\";\n\n // the title of the modal (email address)\n title.innerHTML = mail.split(\",\").join(\"
\");\n\n // add the details if provided\n cc\n ? ((detailCc.style.display = \"block\"),\n (ccValue.innerHTML = cc.split(\",\").join(\"
\")))\n : (detailCc.style.display = \"none\");\n\n bcc\n ? ((detailBcc.style.display = \"block\"),\n (bccValue.innerHTML = bcc.split(\",\").join(\"
\")))\n : (detailBcc.style.display = \"none\");\n\n subject\n ? ((detailSubject.style.display = \"block\"),\n (subjectValue.textContent = subject))\n : (detailSubject.style.display = \"none\");\n\n bodyMail\n ? ((detailBody.style.display = \"block\"),\n (bodyValue.textContent = bodyMail))\n : (detailBody.style.display = \"none\");\n\n // add the actions\n gmail.addEventListener(\"click\", openGmail);\n\n outlook.addEventListener(\"click\", openOutlook);\n\n encEmail = encodeEmail(mail);\n open.addEventListener(\"click\", openDefault);\n\n copyMail.addEventListener(\"click\", () => copy(mail));\n }\n // mailgo tel\n if (type === TEL_TYPE) {\n if (mailgo.href && mailgo.href.toLowerCase().startsWith(TEL)) {\n tel = decodeURIComponent(mailgo.href.split(\"?\")[0].split(TEL)[1].trim());\n } else if (mailgo.href && mailgo.href.toLowerCase().startsWith(CALLTO)) {\n tel = decodeURIComponent(\n mailgo.href.split(\"?\")[0].split(CALLTO)[1].trim()\n );\n } else if (mailgo.hasAttribute(\"data-tel\")) {\n tel = mailgo.getAttribute(\"data-tel\");\n msg = mailgo.getAttribute(\"data-msg\");\n }\n\n // information\n // let titleEl = getE(\"m-tel-title\");\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-telegram\")) {\n telegramUsername = mailgo.getAttribute(\"data-telegram\");\n }\n\n // Telegram username\n if (mailgo.hasAttribute(\"data-skype\")) {\n skypeUsername = mailgo.getAttribute(\"data-skype\");\n }\n\n // the title of the modal (tel)\n titleTel.innerHTML = tel;\n\n // add the actions to buttons\n wa.addEventListener(\"click\", openWhatsApp);\n\n if (telegramUsername) {\n setDisplay(\"m-tg\", \"block\");\n telegram.addEventListener(\"click\", openTelegram);\n }\n\n skype.addEventListener(\"click\", openSkype);\n\n call.addEventListener(\"click\", callDefault);\n\n copyTel.addEventListener(\"click\", () => copy(tel));\n }\n\n // show the mailgo\n showMailgo(type);\n\n // add listener keyDown\n document.addEventListener(\"keydown\", mailgoKeydown);\n};\n\n// actions\nconst openGmail = (): void => {\n // Gmail url\n let gmailUrl =\n \"https://mail.google.com/mail/u/0/?view=cm&source=mailto&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (cc) gmailUrl = gmailUrl.concat(\"&cc=\" + encodeURIComponent(cc));\n if (bcc) gmailUrl = gmailUrl.concat(\"&bcc=\" + encodeURIComponent(bcc));\n if (subject) gmailUrl = gmailUrl.concat(\"&subject=\" + subject);\n if (bodyMail) gmailUrl = gmailUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(gmailUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openOutlook = (): void => {\n // Outlook url\n let outlookUrl =\n \"https://outlook.live.com/owa/?path=/mail/action/compose&to=\" +\n encodeURIComponent(mail);\n\n // the details if provided\n if (subject) outlookUrl = outlookUrl.concat(\"&subject=\" + subject);\n if (bodyMail) outlookUrl = outlookUrl.concat(\"&body=\" + bodyMail);\n\n // open the link\n window.open(outlookUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openDefault = (): void => {\n mailToEncoded(encEmail);\n hideMailgo();\n};\n\nconst openTelegram = (): void => {\n // Telegram url\n let tgUrl = \"https://t.me/\" + telegramUsername;\n\n // open the url\n window.open(tgUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openSkype = (): void => {\n let skype = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl = \"skype:\" + skype;\n\n // open the url\n window.open(skypeUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst openWhatsApp = (): void => {\n // WhatsApp url\n let waUrl = \"https://wa.me/\" + tel;\n\n // the details if provided\n if (msg) waUrl + \"?text=\" + msg;\n\n // open the url\n window.open(waUrl, \"_blank\");\n\n // hide the modal\n hideMailgo();\n};\n\nconst callDefault = () => {\n let callUrl = \"tel:\" + tel;\n window.open(callUrl);\n hideMailgo();\n};\n\nconst copy = (content: string): void => {\n copyToClipboard(content);\n let activeCopy: HTMLElement;\n // the correct copyButton (mail or tel)\n mailgoIsShowing(MAIL_TYPE) ? (activeCopy = copyMail) : (activeCopy = copyTel);\n activeCopy.textContent = \"copied\";\n setTimeout(() => {\n activeCopy.textContent = \"copy\";\n // hide after the timeout\n hideMailgo();\n }, 999);\n};\n\n// function that returns if an element is a mailgo\nconst isMailgo = (element: HTMLElement, type: string = MAIL_TYPE): boolean => {\n let href: string = (element as HTMLLinkElement).href;\n\n // mailgo type mail\n if (type === MAIL_TYPE) {\n return (\n // first case: it is an
element with \"mailto:...\" in href and no no-mailgo in classList\n (href &&\n href.toLowerCase().startsWith(MAILTO) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-address\") &&\n // second case: the href=#mailgo\n ((href && element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))))\n );\n }\n\n // mailgo type tel\n if (type === TEL_TYPE) {\n return (\n // first case: it is an element with \"tel:...\" or \"callto:...\" in href and no no-mailgo in classList\n (href &&\n (href.toLowerCase().startsWith(TEL) ||\n href.toLowerCase().startsWith(CALLTO)) &&\n !element.classList.contains(\"no-mailgo\")) ||\n (element.hasAttribute(\"data-tel\") &&\n // second case: the href=#mailgo\n href &&\n element.getAttribute(\"href\").toLowerCase() === \"#mailgo\") ||\n // third case: the classList contains mailgo\n (element.classList && element.classList.contains(\"mailgo\"))\n );\n }\n\n return false;\n};\n\n/**\n * mailgoCheckRender\n * function to check if an element is mailgo-enabled or not referencing to\n * mail:\n * document.querySelectorAll(\n * 'a[href^=\"mailto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * tel:\n * document.querySelectorAll(\n * 'a[href^=\"tel:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n * or\n * document.querySelectorAll(\n * 'a[href^=\"callto:\" i]:not(.no-mailgo), a[href=\"#mailgo\"], a.mailgo'\n * );\n */\nconst mailgoCheckRender = (event: Event): boolean => {\n // check if the id=mailgo exists in the body\n if (\n !document.contains(getE(\"mailgo\")) ||\n !document.contains(getE(\"mailgo-tel\"))\n )\n return;\n\n // if a mailgo is already showing do nothing\n if (mailgoIsShowing(MAIL_TYPE) || mailgoIsShowing(TEL_TYPE)) return false;\n\n // the path of the event\n let path =\n (event.composedPath && event.composedPath()) ||\n composedPath(event.target as HTMLElement);\n\n if (path) {\n path.forEach((element: HTMLElement) => {\n if (element instanceof HTMLDocument || element instanceof Window)\n return false;\n\n // go in the event.path to find if the user has clicked on a mailgo element\n if (isMailgo(element, MAIL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(MAIL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n if (isMailgo(element, TEL_TYPE)) {\n // stop the normal execution of the element click\n event.preventDefault();\n\n // render mailgo\n mailgoRender(TEL_TYPE, element as HTMLLinkElement);\n\n return true;\n }\n });\n }\n\n return false;\n};\n\n/**\n * mailgoKeydown\n * function to manage the keydown event when the modal is showing\n */\nconst mailgoKeydown = (event: KeyboardEvent): void => {\n // if mailgo is showing\n if (mailgoIsShowing(MAIL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 71:\n // g -> open GMail\n openGmail();\n break;\n case 79:\n // o -> open Outlook\n openOutlook();\n break;\n case 32:\n case 13:\n // spacebar or enter -> open default\n openDefault();\n break;\n case 67:\n // c -> copy\n copy(mail);\n break;\n default:\n return;\n }\n } else if (mailgoIsShowing(TEL_TYPE)) {\n switch (event.keyCode) {\n case 27:\n // Escape\n hideMailgo();\n break;\n case 84:\n // t -> open Telegram\n openTelegram();\n break;\n case 87:\n // w -> open WhatsApp\n openWhatsApp();\n break;\n case 32:\n case 13:\n // spacebar or enter -> call default\n callDefault();\n break;\n case 67:\n // c -> copy\n copy(tel);\n break;\n default:\n return;\n }\n }\n return;\n};\n\n// show the modal\nconst showMailgo = (type = MAIL_TYPE): boolean => {\n // show mailgo type mail\n if (type === MAIL_TYPE) {\n setDisplay(\"mailgo\", \"flex\");\n return true;\n }\n // show mailgo type tel\n if (type === TEL_TYPE) {\n setDisplay(\"mailgo-tel\", \"flex\");\n return true;\n }\n return false;\n};\n\n// hide the modal\nconst hideMailgo = (): void => {\n setDisplay(\"mailgo\", \"none\");\n setDisplay(\"mailgo-tel\", \"none\");\n\n // remove listener keyDown\n document.removeEventListener(\"keydown\", mailgoKeydown);\n};\n\n// is the mailgo modal hidden?\nconst mailgoIsShowing = (type = MAIL_TYPE): boolean => {\n return type === MAIL_TYPE\n ? getDisplay(\"mailgo\") === \"flex\"\n : type === TEL_TYPE\n ? getDisplay(\"mailgo-tel\") === \"flex\"\n : false;\n};\n\nconst byElement = (): HTMLLinkElement => {\n // by\n let by: HTMLLinkElement = createElement(\"a\") as HTMLLinkElement;\n by.href = \"https://mailgo.js.org?ref=mailgo-modal\";\n by.className = \"m-by\";\n by.target = \"_blank\";\n by.rel = \"noopener noreferrer\";\n by.appendChild(createTextNode(\"mailgo.js.org\"));\n\n return by;\n};\n\n// create element\nconst createElement = (element: string = \"div\"): HTMLElement =>\n document.createElement(element);\n\n// create text node\nconst createTextNode = (element: string): Text =>\n document.createTextNode(element);\n\n// decrypt email\nconst mailToEncoded = (encoded: string): string =>\n (window.location.href = MAILTO + atob(encoded));\n\n// encode email\nconst encodeEmail = (email: string): string => btoa(email);\n\n// getE shorthand\nconst getE = (id: string): HTMLElement => document.getElementById(id);\n\n// get display value\nconst getDisplay = (id: string): string => getE(id).style.display;\n\n// get display value\nconst setDisplay = (id: string, value: string): string =>\n (getE(id).style.display = value);\n\n// custom composedPath if path or event.composedPath() are not defined\nconst composedPath = (\n el: HTMLElement\n): (HTMLElement | Document | (Window & typeof globalThis))[] => {\n let path = [];\n\n while (el) {\n path.push(el);\n\n if (el.tagName === \"HTML\") {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n};\n\n// validate a single email with regex\nconst validateEmail = (email: string): boolean =>\n /^(([^<>()[\\]\\\\.,;:\\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(\n email\n );\n\n// validate an array of emails\nconst validateEmails = (arr: string[]): boolean => arr.every(validateEmail);\n\n// copy of a string\nconst copyToClipboard = (str: string): boolean => {\n let el: HTMLInputElement = createElement(\"textarea\") as HTMLInputElement;\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n let selected =\n document.getSelection().rangeCount > 0\n ? document.getSelection().getRangeAt(0)\n : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n return true;\n }\n return false;\n};\n\nconst mailgoStyle = (): void => {\n // mailgo style\n let mailgoCSSElement: HTMLStyleElement = createElement(\n \"style\"\n ) as HTMLStyleElement;\n mailgoCSSElement.id = \"mailgo-style\";\n mailgoCSSElement.type = \"text/css\";\n mailgoCSSElement.appendChild(createTextNode(mailgoCSS));\n document.head.appendChild(mailgoCSSElement);\n};\n\n// mailgo\nexport const mailgo = (mailgoConfig?: MailgoConfig) => {\n // if the window is defined...\n if (window && typeof window !== \"undefined\") {\n // add the style for mailgo\n mailgoStyle();\n\n // if is set an initEvent add the listener\n if (mailgoConfig?.initEvent) {\n document.addEventListener(mailgoConfig.initEvent, () => {\n mailgoInit(mailgoConfig);\n });\n } else {\n mailgoInit(mailgoConfig);\n }\n }\n};\n\nexport default mailgo;\n","// webpack > lib/mailgo.js\n\nimport mailgo from \"../src/mailgo\";\n\nexport default mailgo;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/mailgo.scss b/src/mailgo.scss index 81e28b2..70b1d8d 100644 --- a/src/mailgo.scss +++ b/src/mailgo.scss @@ -11,7 +11,7 @@ $telegram-color: #0088cc; $skype-color: #00aff0; // other vars -$default-border-radius: 8px; +$default-border-radius: 20px; .m-modal { position: fixed; @@ -49,7 +49,7 @@ $default-border-radius: 8px; right: 0; bottom: 0; left: 0; - background-color: rgba(32, 35, 42, 0.75); + background-color: rgba(217, 217, 217, 0.75); opacity: 0.8; } @@ -63,7 +63,7 @@ $default-border-radius: 8px; background-color: #fff; opacity: 0.97; border-radius: $default-border-radius; - box-shadow: 0px 3px 20px rgba(32, 35, 42, 0.5); + box-shadow: 30px 30px 60px rgb(217, 217, 217), -30px -30px 60px #ffffff; color: $default-color; display: flex; flex-direction: column; @@ -73,7 +73,7 @@ $default-border-radius: 8px; &:hover { opacity: 1; - box-shadow: 0px 7px 20px rgba(32, 35, 42, 0.85); + box-shadow: 30px 30px 60px #d9d9d9, -30px -30px 60px #ffffff; } .m-title {