From 1d52fe92c35be241a960c31d7a37b4f45636d380 Mon Sep 17 00:00:00 2001 From: Matteo Manzinello Date: Tue, 7 Jul 2020 17:49:54 +0200 Subject: [PATCH] v0.9.6, fix an errore in webpack --- lib/mailgo.js | 131 +++++++++++++++++----------------------------- lib/mailgo.js.map | 2 +- package.json | 4 +- webpack.config.js | 2 +- yarn.lock | 70 ++++++++++++------------- 5 files changed, 88 insertions(+), 121 deletions(-) diff --git a/lib/mailgo.js b/lib/mailgo.js index 1050770..785ca82 100644 --- a/lib/mailgo.js +++ b/lib/mailgo.js @@ -91,45 +91,44 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./mailgo.lib.ts"); +/******/ return __webpack_require__(__webpack_require__.s = 4); /******/ }) /************************************************************************/ -/******/ ({ - -/***/ "../i18n/i18n.json": -/*!*************************!*\ - !*** ../i18n/i18n.json ***! - \*************************/ -/*! exports provided: languages, translations, default */ +/******/ ([ +/* 0 */ /***/ (function(module) { module.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\"}}}"); /***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ "../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!../src/mailgo.scss": -/*!*********************************************************************************************************!*\ - !*** ../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!../src/mailgo.scss ***! - \*********************************************************************************************************/ -/*! no static exports found */ + + var result = __webpack_require__(2); + + if (typeof result === "string") { + module.exports = result; + } else { + module.exports = result.toString(); + } + + +/***/ }), +/* 2 */ /***/ (function(module, exports, __webpack_require__) { // Imports -var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js"); +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3); exports = ___CSS_LOADER_API_IMPORT___(false); // Module -exports.push([module.i, ".m-modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n overflow: hidden;\n font-size: 15px;\n z-index: 10000; }\n .m-modal p,\n .m-modal span,\n .m-modal strong,\n .m-modal a {\n margin: 0;\n padding: 0;\n font-size: 100%;\n line-height: 1;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n text-rendering: optimizeLegibility; }\n .m-modal strong {\n font-weight: 700; }\n .m-modal .m-modal-back {\n position: absolute;\n z-index: 10001;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: #20232a;\n opacity: 0.8; }\n .m-modal .m-modal-content {\n position: relative;\n z-index: 10002;\n box-sizing: content-box;\n text-align: center;\n min-width: 200px;\n max-width: 240px;\n background-color: #fff;\n opacity: 0.95;\n border-radius: 20px;\n box-shadow: 0 3px 20px rgba(32, 35, 42, 0.5);\n color: #4a4a4a;\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding: 24px;\n transition: 0.5s box-shadow; }\n .m-modal .m-modal-content:hover {\n opacity: 1; }\n .m-modal .m-modal-content .m-title {\n margin-bottom: 8px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis; }\n .m-modal .m-modal-content .m-details {\n margin-bottom: 10px; }\n .m-modal .m-modal-content .m-details p {\n font-size: 12px;\n margin-top: 3px;\n margin-bottom: 3px; }\n .m-modal .m-modal-content a {\n padding: 10px;\n color: #4a4a4a;\n border-radius: 20px;\n text-decoration: none; }\n .m-modal .m-modal-content a.m-gmail {\n color: #d44638; }\n .m-modal .m-modal-content a.m-gmail:hover {\n background-color: rgba(212, 70, 56, 0.08);\n color: #d44638; }\n .m-modal .m-modal-content a.m-outlook {\n color: #0072c6; }\n .m-modal .m-modal-content a.m-outlook:hover {\n background-color: rgba(0, 114, 198, 0.08);\n color: #0072c6; }\n .m-modal .m-modal-content a.m-tg {\n color: #0088cc; }\n .m-modal .m-modal-content a.m-tg:hover {\n background-color: rgba(0, 136, 204, 0.08);\n color: #0088cc; }\n .m-modal .m-modal-content a.m-wa {\n color: #00bfa5; }\n .m-modal .m-modal-content a.m-wa:hover {\n background-color: rgba(0, 191, 165, 0.08);\n color: #00bfa5; }\n .m-modal .m-modal-content a.m-skype {\n color: #00aff0; }\n .m-modal .m-modal-content a.m-skype:hover {\n background-color: rgba(0, 175, 240, 0.08);\n color: #00aff0; }\n .m-modal .m-modal-content a.m-copy {\n padding: 16px 10px;\n font-size: 16px; }\n .m-modal .m-modal-content a.m-default:hover, .m-modal .m-modal-content a.m-copy:hover {\n background-color: rgba(0, 0, 0, 0.08);\n color: #4a4a4a; }\n .m-modal .m-modal-content a.m-by {\n font-size: 8px;\n margin-top: 0.8rem;\n padding: 5px;\n color: #4a4a4a;\n opacity: 0.55; }\n .m-modal .m-modal-content a.m-by:hover {\n opacity: 1; }\n .m-modal .m-modal-content .w-500 {\n font-weight: 500; }\n .m-modal.m-dark .m-modal-content {\n color: #fff;\n background-color: #20232a; }\n .m-modal.m-dark .m-modal-content a {\n color: #bbbbbb; }\n .m-modal.m-dark .m-modal-content a:hover {\n color: #fff; }\n .m-modal.m-dark .m-modal-content a.m-gmail:hover {\n color: #faeceb; }\n .m-modal.m-dark .m-modal-content a.m-outlook:hover {\n color: #e5f0f9; }\n .m-modal.m-dark .m-modal-content a.m-tg:hover {\n color: #e5f3f9; }\n .m-modal.m-dark .m-modal-content a.m-wa:hover {\n color: #e5f8f6; }\n .m-modal.m-dark .m-modal-content a.m-skype:hover {\n color: #e5f7fd; }\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:#20232a;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.95;border-radius:20px;box-shadow:0 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:24px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1}.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: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,136,204,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.55}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}.m-modal.m-dark .m-modal-content{color:#fff;background-color:#20232a}.m-modal.m-dark .m-modal-content a{color:#bbb}.m-modal.m-dark .m-modal-content a:hover{color:#fff}.m-modal.m-dark .m-modal-content a.m-gmail:hover{color:#faeceb}.m-modal.m-dark .m-modal-content a.m-outlook:hover{color:#e5f0f9}.m-modal.m-dark .m-modal-content a.m-tg:hover{color:#e5f3f9}.m-modal.m-dark .m-modal-content a.m-wa:hover{color:#e5f8f6}.m-modal.m-dark .m-modal-content a.m-skype:hover{color:#e5f7fd}\n", ""]); // Exports module.exports = exports; /***/ }), - -/***/ "../node_modules/css-loader/dist/runtime/api.js": -/*!******************************************************!*\ - !*** ../node_modules/css-loader/dist/runtime/api.js ***! - \******************************************************/ -/*! no static exports found */ +/* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -229,41 +228,22 @@ function toComment(sourceMap) { } /***/ }), - -/***/ "../src/mailgo.scss": -/*!**************************!*\ - !*** ../src/mailgo.scss ***! - \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - - - var result = __webpack_require__(/*! !../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./mailgo.scss */ "../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!../src/mailgo.scss"); - - if (typeof result === "string") { - module.exports = result; - } else { - module.exports = result.toString(); - } - - -/***/ }), - -/***/ "../src/mailgo.ts": -/*!************************!*\ - !*** ../src/mailgo.ts ***! - \************************/ -/*! exports provided: default */ +/* 4 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _i18n_i18n_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../i18n/i18n.json */ "../i18n/i18n.json"); -var _i18n_i18n_json__WEBPACK_IMPORTED_MODULE_0___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../i18n/i18n.json */ "../i18n/i18n.json", 1); + +// EXTERNAL MODULE: ../i18n/i18n.json +var i18n = __webpack_require__(0); +var i18n_namespaceObject = /*#__PURE__*/__webpack_require__.t(i18n, 2); + +// CONCATENATED MODULE: ../src/mailgo.ts // i18n for mailgo // mailgo scss -var mailgoCSS = __webpack_require__(/*! ./mailgo.scss */ "../src/mailgo.scss").toString(); // default lang +var mailgoCSS = __webpack_require__(1).toString(); // default lang var DEFAULT_LANG = "en"; // links @@ -298,18 +278,18 @@ var tel = "", var title, titleTel, detailCc, detailBcc, detailSubject, detailBody, ccValue, bccValue, subjectValue, bodyValue; // mailgo buttons (actions) -var gmail, outlook, open, telegram, wa, skype, call, copyMail, copyTel; +var gmail, outlook, mailgo_open, telegram, wa, skype, call, copyMail, copyTel; /** * mailgoInit * the function that creates the mailgo elements in DOM */ -var mailgoInit = function mailgoInit(mailgoConfig) { +var mailgo_mailgoInit = function mailgoInit(mailgoConfig) { // translations - var _ref = _i18n_i18n_json__WEBPACK_IMPORTED_MODULE_0___namespace, + var _ref = i18n_namespaceObject, translations = _ref.translations; // if a default language is defined use it - if ((mailgoConfig === null || mailgoConfig === void 0 ? void 0 : mailgoConfig.lang) && _i18n_i18n_json__WEBPACK_IMPORTED_MODULE_0__["languages"].includes(mailgoConfig.lang)) { + if ((mailgoConfig === null || mailgoConfig === void 0 ? void 0 : mailgoConfig.lang) && i18n["languages"].includes(mailgoConfig.lang)) { lang = mailgoConfig.lang; } // if is defined use it! @@ -318,7 +298,7 @@ var mailgoInit = function mailgoInit(mailgoConfig) { // keep the lang from html var htmlLang = document.documentElement.lang; // if there are translations... - if (_i18n_i18n_json__WEBPACK_IMPORTED_MODULE_0__["languages"].includes(htmlLang)) { + if (i18n["languages"].includes(htmlLang)) { lang = document.documentElement.lang; } } // strings @@ -421,17 +401,17 @@ var mailgoInit = function mailgoInit(mailgoConfig) { outlook.appendChild(outlookSpan); modalContent.appendChild(outlook); // open default - open = createElement(aHTMLTag); - open.id = "m-open"; - open.href = DEFAULT_BTN_HREF; - open.classList.add("m-open"); - open.classList.add("m-default"); + mailgo_open = createElement(aHTMLTag); + mailgo_open.id = "m-open"; + mailgo_open.href = DEFAULT_BTN_HREF; + mailgo_open.classList.add("m-open"); + mailgo_open.classList.add("m-default"); var openSpan = createElement(spanHTMLTag); openSpan.className = "w-500"; openSpan.appendChild(createTextNode(strings.open || defaultStrings.open)); - open.appendChild(openSpan); - open.appendChild(createTextNode(strings._default || defaultStrings._default)); - modalContent.appendChild(open); // copy + mailgo_open.appendChild(openSpan); + mailgo_open.appendChild(createTextNode(strings._default || defaultStrings._default)); + modalContent.appendChild(mailgo_open); // copy copyMail = createElement(aHTMLTag); copyMail.id = "m-copy"; @@ -613,7 +593,7 @@ var mailgoRender = function mailgoRender() { gmail.addEventListener("click", openGmail); outlook.addEventListener("click", openOutlook); encEmail = encodeEmail(mail); - open.addEventListener("click", openDefault); + mailgo_open.addEventListener("click", openDefault); copyMail.addEventListener("click", function () { return copy(mail); }); @@ -1042,37 +1022,24 @@ function mailgo(mailgoConfig) { if (mailgoConfig === null || mailgoConfig === void 0 ? void 0 : mailgoConfig.initEvent) { document.addEventListener(mailgoConfig.initEvent, function () { - mailgoInit(mailgoConfig); + mailgo_mailgoInit(mailgoConfig); }); } else { - mailgoInit(mailgoConfig); + mailgo_mailgoInit(mailgoConfig); } } } -/* harmony default export */ __webpack_exports__["default"] = (mailgo); - -/***/ }), - -/***/ "./mailgo.lib.ts": -/*!***********************!*\ - !*** ./mailgo.lib.ts ***! - \***********************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _src_mailgo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/mailgo */ "../src/mailgo.ts"); +/* harmony default export */ var src_mailgo = (mailgo); +// CONCATENATED MODULE: ./mailgo.lib.ts // webpack > lib/mailgo.js -/* harmony default export */ __webpack_exports__["default"] = (_src_mailgo__WEBPACK_IMPORTED_MODULE_0__["default"]); +/* harmony default export */ var mailgo_lib = __webpack_exports__["default"] = (src_mailgo); /***/ }) - -/******/ })["default"]; +/******/ ])["default"]; }); //# sourceMappingURL=mailgo.js.map \ No newline at end of file diff --git a/lib/mailgo.js.map b/lib/mailgo.js.map index 2403ea2..eb18b52 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","webpack://mailgo/../node_modules/css-loader/dist/runtime/api.js","webpack://mailgo/../src/mailgo.scss?6043","webpack://mailgo/../src/mailgo.ts","webpack://mailgo/./mailgo.lib.ts"],"names":["mailgoCSS","require","toString","DEFAULT_LANG","MAILTO","TEL","CALLTO","MAIL_TYPE","TEL_TYPE","DEFAULT_BTN_HREF","spanHTMLTag","aHTMLTag","pHTMLTag","lang","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","i18n","translations","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","id","classList","add","dark","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","cc_","bccSpan","bcc_","subjectSpan","subject_","bodySpan","body_","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","body","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 = \"./mailgo.lib.ts\");\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 {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column;\\n overflow: hidden;\\n font-size: 15px;\\n z-index: 10000; }\\n .m-modal p,\\n .m-modal span,\\n .m-modal strong,\\n .m-modal a {\\n margin: 0;\\n padding: 0;\\n font-size: 100%;\\n line-height: 1;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n text-rendering: optimizeLegibility; }\\n .m-modal strong {\\n font-weight: 700; }\\n .m-modal .m-modal-back {\\n position: absolute;\\n z-index: 10001;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: #20232a;\\n opacity: 0.8; }\\n .m-modal .m-modal-content {\\n position: relative;\\n z-index: 10002;\\n box-sizing: content-box;\\n text-align: center;\\n min-width: 200px;\\n max-width: 240px;\\n background-color: #fff;\\n opacity: 0.95;\\n border-radius: 20px;\\n box-shadow: 0 3px 20px rgba(32, 35, 42, 0.5);\\n color: #4a4a4a;\\n display: flex;\\n flex-direction: column;\\n overflow: auto;\\n padding: 24px;\\n transition: 0.5s box-shadow; }\\n .m-modal .m-modal-content:hover {\\n opacity: 1; }\\n .m-modal .m-modal-content .m-title {\\n margin-bottom: 8px;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n .m-modal .m-modal-content .m-details {\\n margin-bottom: 10px; }\\n .m-modal .m-modal-content .m-details p {\\n font-size: 12px;\\n margin-top: 3px;\\n margin-bottom: 3px; }\\n .m-modal .m-modal-content a {\\n padding: 10px;\\n color: #4a4a4a;\\n border-radius: 20px;\\n text-decoration: none; }\\n .m-modal .m-modal-content a.m-gmail {\\n color: #d44638; }\\n .m-modal .m-modal-content a.m-gmail:hover {\\n background-color: rgba(212, 70, 56, 0.08);\\n color: #d44638; }\\n .m-modal .m-modal-content a.m-outlook {\\n color: #0072c6; }\\n .m-modal .m-modal-content a.m-outlook:hover {\\n background-color: rgba(0, 114, 198, 0.08);\\n color: #0072c6; }\\n .m-modal .m-modal-content a.m-tg {\\n color: #0088cc; }\\n .m-modal .m-modal-content a.m-tg:hover {\\n background-color: rgba(0, 136, 204, 0.08);\\n color: #0088cc; }\\n .m-modal .m-modal-content a.m-wa {\\n color: #00bfa5; }\\n .m-modal .m-modal-content a.m-wa:hover {\\n background-color: rgba(0, 191, 165, 0.08);\\n color: #00bfa5; }\\n .m-modal .m-modal-content a.m-skype {\\n color: #00aff0; }\\n .m-modal .m-modal-content a.m-skype:hover {\\n background-color: rgba(0, 175, 240, 0.08);\\n color: #00aff0; }\\n .m-modal .m-modal-content a.m-copy {\\n padding: 16px 10px;\\n font-size: 16px; }\\n .m-modal .m-modal-content a.m-default:hover, .m-modal .m-modal-content a.m-copy:hover {\\n background-color: rgba(0, 0, 0, 0.08);\\n color: #4a4a4a; }\\n .m-modal .m-modal-content a.m-by {\\n font-size: 8px;\\n margin-top: 0.8rem;\\n padding: 5px;\\n color: #4a4a4a;\\n opacity: 0.55; }\\n .m-modal .m-modal-content a.m-by:hover {\\n opacity: 1; }\\n .m-modal .m-modal-content .w-500 {\\n font-weight: 500; }\\n .m-modal.m-dark .m-modal-content {\\n color: #fff;\\n background-color: #20232a; }\\n .m-modal.m-dark .m-modal-content a {\\n color: #bbbbbb; }\\n .m-modal.m-dark .m-modal-content a:hover {\\n color: #fff; }\\n .m-modal.m-dark .m-modal-content a.m-gmail:hover {\\n color: #faeceb; }\\n .m-modal.m-dark .m-modal-content a.m-outlook:hover {\\n color: #e5f0f9; }\\n .m-modal.m-dark .m-modal-content a.m-tg:hover {\\n color: #e5f3f9; }\\n .m-modal.m-dark .m-modal-content a.m-wa:hover {\\n color: #e5f8f6; }\\n .m-modal.m-dark .m-modal-content a.m-skype:hover {\\n color: #e5f7fd; }\\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}","\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 ","import {\n MailgoConfig,\n MailgoTranslations,\n MailgoTranslation,\n MailgoI18n,\n} from \"mailgo\";\n\n// i18n for mailgo\nimport * as i18n from \"../i18n/i18n.json\";\n\n// mailgo scss\nconst mailgoCSS: string = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG: string = \"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// useful html tags\nconst spanHTMLTag: string = \"span\";\nconst aHTMLTag: string = \"a\";\nconst pHTMLTag: string = \"p\";\n\n// default language\nlet lang: string = DEFAULT_LANG;\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 // translations\n let {\n translations,\n }: { translations: MailgoTranslations } = i18n as MailgoI18n;\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: string = 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: MailgoTranslation = translations[DEFAULT_LANG];\n let strings: MailgoTranslation = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal: HTMLElement = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // if dark is in config\n if (mailgoConfig?.dark) {\n modal.classList.add(\"m-dark\");\n }\n\n // background\n let modalBackground: HTMLElement = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent: HTMLElement = 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: HTMLElement = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(pHTMLTag);\n detailCc.id = \"m-cc\";\n let ccSpan: HTMLElement = createElement(spanHTMLTag);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc_ || defaultStrings.cc_));\n ccValue = createElement(spanHTMLTag);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(pHTMLTag);\n detailBcc.id = \"m-bcc\";\n let bccSpan: HTMLElement = createElement(spanHTMLTag);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc_ || defaultStrings.bcc_));\n bccValue = createElement(spanHTMLTag);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(pHTMLTag);\n detailSubject.id = \"m-subject\";\n let subjectSpan: HTMLElement = createElement(spanHTMLTag);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject_ || defaultStrings.subject_)\n );\n subjectValue = createElement(spanHTMLTag);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(pHTMLTag);\n detailBody.id = \"m-body\";\n let bodySpan: HTMLElement = createElement(spanHTMLTag);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body_ || defaultStrings.body_));\n bodyValue = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // if dark is in config\n if (mailgoConfig?.dark) {\n modal.classList.add(\"m-dark\");\n }\n\n // background\n let modalBackground: HTMLElement = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent: HTMLElement = 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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: string =\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: string =\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: string = \"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: string = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl: string = \"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: string = \"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: string = \"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 false;\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(aHTMLTag) 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: Range | boolean =\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\nfunction mailgo(mailgoConfig?: MailgoConfig): void {\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":["mailgoCSS","require","toString","DEFAULT_LANG","MAILTO","TEL","CALLTO","MAIL_TYPE","TEL_TYPE","DEFAULT_BTN_HREF","spanHTMLTag","aHTMLTag","pHTMLTag","lang","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","i18n","translations","includes","forceLang","htmlLang","document","documentElement","defaultStrings","strings","modal","createElement","style","display","id","classList","add","dark","modalBackground","className","appendChild","modalContent","details","ccSpan","createTextNode","cc_","bccSpan","bcc_","subjectSpan","subject_","bodySpan","body_","href","open_in","gmailSpan","outlookSpan","openSpan","_default","copy","byElement","body","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:#20232a;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.95;border-radius:20px;box-shadow:0 3px 20px rgba(32,35,42,0.5);color:#4a4a4a;display:flex;flex-direction:column;overflow:auto;padding:24px;transition:0.5s box-shadow}.m-modal .m-modal-content:hover{opacity:1}.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: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,136,204,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.55}.m-modal .m-modal-content a.m-by:hover{opacity:1}.m-modal .m-modal-content .w-500{font-weight:500}.m-modal.m-dark .m-modal-content{color:#fff;background-color:#20232a}.m-modal.m-dark .m-modal-content a{color:#bbb}.m-modal.m-dark .m-modal-content a:hover{color:#fff}.m-modal.m-dark .m-modal-content a.m-gmail:hover{color:#faeceb}.m-modal.m-dark .m-modal-content a.m-outlook:hover{color:#e5f0f9}.m-modal.m-dark .m-modal-content a.m-tg:hover{color:#e5f3f9}.m-modal.m-dark .m-modal-content a.m-wa:hover{color:#e5f8f6}.m-modal.m-dark .m-modal-content a.m-skype:hover{color:#e5f7fd}\\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 {\n MailgoConfig,\n MailgoTranslations,\n MailgoTranslation,\n MailgoI18n,\n} from \"mailgo\";\n\n// i18n for mailgo\nimport * as i18n from \"../i18n/i18n.json\";\n\n// mailgo scss\nconst mailgoCSS: string = require(\"./mailgo.scss\").toString();\n\n// default lang\nconst DEFAULT_LANG: string = \"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// useful html tags\nconst spanHTMLTag: string = \"span\";\nconst aHTMLTag: string = \"a\";\nconst pHTMLTag: string = \"p\";\n\n// default language\nlet lang: string = DEFAULT_LANG;\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 // translations\n let {\n translations,\n }: { translations: MailgoTranslations } = i18n as MailgoI18n;\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: string = 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: MailgoTranslation = translations[DEFAULT_LANG];\n let strings: MailgoTranslation = translations[lang];\n\n // mailgo mail\n {\n // modal\n let modal: HTMLElement = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo\";\n modal.classList.add(\"m-modal\");\n\n // if dark is in config\n if (mailgoConfig?.dark) {\n modal.classList.add(\"m-dark\");\n }\n\n // background\n let modalBackground: HTMLElement = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent: HTMLElement = 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: HTMLElement = createElement();\n details.id = \"m-details\";\n details.className = \"m-details\";\n\n detailCc = createElement(pHTMLTag);\n detailCc.id = \"m-cc\";\n let ccSpan: HTMLElement = createElement(spanHTMLTag);\n ccSpan.className = \"w-500\";\n ccSpan.appendChild(createTextNode(strings.cc_ || defaultStrings.cc_));\n ccValue = createElement(spanHTMLTag);\n ccValue.id = \"m-cc-value\";\n detailCc.appendChild(ccSpan);\n detailCc.appendChild(ccValue);\n details.appendChild(detailCc);\n\n detailBcc = createElement(pHTMLTag);\n detailBcc.id = \"m-bcc\";\n let bccSpan: HTMLElement = createElement(spanHTMLTag);\n bccSpan.className = \"w-500\";\n bccSpan.appendChild(createTextNode(strings.bcc_ || defaultStrings.bcc_));\n bccValue = createElement(spanHTMLTag);\n bccValue.id = \"m-bcc-value\";\n detailBcc.appendChild(bccSpan);\n detailBcc.appendChild(bccValue);\n details.appendChild(detailBcc);\n\n detailSubject = createElement(pHTMLTag);\n detailSubject.id = \"m-subject\";\n let subjectSpan: HTMLElement = createElement(spanHTMLTag);\n subjectSpan.className = \"w-500\";\n subjectSpan.appendChild(\n createTextNode(strings.subject_ || defaultStrings.subject_)\n );\n subjectValue = createElement(spanHTMLTag);\n subjectValue.id = \"m-subject-value\";\n detailSubject.appendChild(subjectSpan);\n detailSubject.appendChild(subjectValue);\n details.appendChild(detailSubject);\n\n detailBody = createElement(pHTMLTag);\n detailBody.id = \"m-body\";\n let bodySpan: HTMLElement = createElement(spanHTMLTag);\n bodySpan.className = \"w-500\";\n bodySpan.appendChild(createTextNode(strings.body_ || defaultStrings.body_));\n bodyValue = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement();\n modal.style.display = \"none\";\n modal.id = \"mailgo-tel\";\n modal.classList.add(\"m-modal\");\n\n // if dark is in config\n if (mailgoConfig?.dark) {\n modal.classList.add(\"m-dark\");\n }\n\n // background\n let modalBackground: HTMLElement = createElement();\n modalBackground.className = \"m-modal-back\";\n modal.appendChild(modalBackground);\n\n // modal content\n let modalContent: HTMLElement = 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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: HTMLElement = createElement(spanHTMLTag);\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(aHTMLTag) 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: string =\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: string =\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: string = \"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: string = skypeUsername !== \"\" ? skypeUsername : tel;\n\n // Telegram url\n let skypeUrl: string = \"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: string = \"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: string = \"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 false;\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(aHTMLTag) 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: Range | boolean =\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\nfunction mailgo(mailgoConfig?: MailgoConfig): void {\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/package.json b/package.json index 89583bc..851dd14 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mailgo", - "version": "0.9.5", + "version": "0.9.6", "description": "a different mailto: and another tel:", "scripts": { "build": "webpack", @@ -49,7 +49,7 @@ "jest": "^26.1.0", "mini-css-extract-plugin": "^0.9.0", "node-sass": "^4.14.1", - "sass-loader": "^9.0.1", + "sass-loader": "^9.0.2", "terser-webpack-plugin": "^3.0.6", "to-string-loader": "^1.1.6", "ts-loader": "^7.0.5", diff --git a/webpack.config.js b/webpack.config.js index 304c60f..0b6f234 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -53,7 +53,7 @@ module.exports = [ }, }, { - mode: "development", + mode: "production", target: "node", devtool: "source-map", entry: "./mailgo.lib.ts", diff --git a/yarn.lock b/yarn.lock index 0572bd0..bb16866 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1124,9 +1124,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.12.tgz#22f49a028e69465390f87bb103ebd61bd086b8f5" - integrity sha512-t4CoEokHTfcyfb4hUaF9oOHu9RmmNWnm1CP0YmMqOOfClKascOmvlEM736vlqeScuGvBDsHkf8R2INd4DWreQA== + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" + integrity sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ== dependencies: "@babel/types" "^7.3.0" @@ -1168,9 +1168,9 @@ integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== "@types/node@*": - version "14.0.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.14.tgz#24a0b5959f16ac141aeb0c5b3cd7a15b7c64cbce" - integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ== + version "14.0.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.18.tgz#5111b2285659442f9f95697386a2b42b875bd7e9" + integrity sha512-0Z3nS5acM0cIV4JPzrj9g/GH0Et5vmADWtip3YOXOp1NpOLU8V3KoZDc8ny9c1pe/YSYYzQkAWob6dyV/EWg4g== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1178,9 +1178,9 @@ integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/prettier@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d" - integrity sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz#5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3" + integrity sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA== "@types/q@^1.5.1": version "1.5.4" @@ -1411,9 +1411,9 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: integrity sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw== ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== + version "6.12.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1862,12 +1862,12 @@ browserify-zlib@^0.2.0: pako "~1.0.5" browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: - version "4.12.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.2.tgz#76653d7e4c57caa8a1a28513e2f4e197dc11a711" - integrity sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw== + version "4.13.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" + integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== dependencies: - caniuse-lite "^1.0.30001088" - electron-to-chromium "^1.3.483" + caniuse-lite "^1.0.30001093" + electron-to-chromium "^1.3.488" escalade "^3.0.1" node-releases "^1.1.58" @@ -2018,10 +2018,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001088: - version "1.0.30001093" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001093.tgz#833e80f64b1a0455cbceed2a4a3baf19e4abd312" - integrity sha512-0+ODNoOjtWD5eS9aaIpf4K0gQqZfILNY4WSNuYzeT1sXni+lMrrVjc0odEobJt6wrODofDZUX8XYi/5y7+xl8g== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001093: + version "1.0.30001094" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz#0b11d02e1cdc201348dbd8e3e57bd9b6ce82b175" + integrity sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA== capture-exit@^2.0.0: version "2.0.0" @@ -2795,10 +2795,10 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -electron-to-chromium@^1.3.483: - version "1.3.487" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.487.tgz#8075e6ea33ee2e79a2dfb2a2467033f014017258" - integrity sha512-m4QS3IDShxauFfYFpnEzRCcUI55oKB9acEnHCuY/hSCZMz9Pz2KJj+UBnGHxRxS/mS1aphqOQ5wI6gc3yDZ7ew== +electron-to-chromium@^1.3.488: + version "1.3.490" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.490.tgz#12aa776c493e66ba21536512fc317bdda6d04cd4" + integrity sha512-jKJF1mKXrQkT0ZiuJ/oV63Q02hAeWz0GGt/z6ryc518uCHtMyS9+wYAysZtBQ8rsjqFPAYXV4TIz5GQ8xyubPA== elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.3" @@ -4562,9 +4562,9 @@ kleur@^3.0.3: integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== klona@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/klona/-/klona-1.1.1.tgz#8b1e93808ef602a0cc4fb438ba72eb00594e9802" - integrity sha512-o/QDZouW8bt6cejtMQhw3qyqi4aTlrB7sbqzQ8+PdI/qJ3WMbmSOA//4ClIevCQp0DPUU9l1pxGRcGMkkxb8TA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/klona/-/klona-1.1.2.tgz#a79e292518a5a5412ec8d097964bff1571a64db0" + integrity sha512-xf88rTeHiXk+XE2Vhi6yj8Wm3gMZrygGdKjJqN8HkV+PwF/t50/LdAKHoHpPcxFAlmQszTZ1CugrK25S7qDRLA== leven@^3.1.0: version "3.1.0" @@ -6370,10 +6370,10 @@ sass-graph@2.2.5: scss-tokenizer "^0.2.3" yargs "^13.3.2" -sass-loader@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-9.0.1.tgz#8ae96ebb0e9debc3748064d32e43596719814c40" - integrity sha512-wXFo2VAAzAUsUApOXr5PkGXDa1ad20RYhdJTubopY04i+Suk8b8g3Vtobu3kfMk48S0n5rQyAQeGBdg8WzL8gA== +sass-loader@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-9.0.2.tgz#847c9b4c95328ddc8c7d35cf28c9d6e54e59a90b" + integrity sha512-nphcum3jNI442njnrZ5wJgSNX5lfEOHOKHCLf+PrTIaleploKqAMUuT9CVKjf+lyi6c2MCGPHh1vb9nGsjnZJA== dependencies: klona "^1.1.1" loader-utils "^2.0.0" @@ -7638,9 +7638,9 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" ws@^7.2.3: - version "7.3.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" - integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== + version "7.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" + integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== xml-name-validator@^3.0.0: version "3.0.0"