This commit is contained in:
Philipp Dormann 2020-08-23 14:32:30 +02:00
parent 23d07f383e
commit 8b972c97a5
44 changed files with 563 additions and 1697 deletions

8
.github/FUNDING.yml vendored
View File

@ -1,8 +0,0 @@
# These are supported funding model platforms
github: [manzinello]
patreon: manzinello
open_collective: mailgo
ko_fi: manzinello
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
custom: # Replace with a single custom sponsorship URL

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules
.DS_Store
.cache
.cache
yarn.lock

View File

@ -1,23 +0,0 @@
assets
src
test
gulpfile.js
index.html
.DS_Store
CONTRIBUTING.md
webpack.config.js
.prettierrc
.travis.yml
wdio.conf.js
.github/FUNDING.yml
.flowconfig
babel.config.js
webpack
examples
extensions
mailgo.firefox.min.js
mailgo.firefox.min.js.map
mailgo.chrome.min.js
mailgo.chrome.min.js.map

View File

@ -1 +0,0 @@
{}

View File

@ -1,3 +0,0 @@
language: node_js
node_js:
- "8"

View File

@ -1,81 +0,0 @@
# Contributing
When contributing to this repository, please first discuss the change you wish to make via issue,
email (matteo@manzinello.dev), or any other method with the owners of this repository before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
## Code of Conduct
### Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
### Our Standards
Examples of behavior that contributes to creating a positive environment
include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
### Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
### Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
### Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at matteo@manzinello.dev. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
### Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

21
LICENSE
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2019 Matteo Manzinello
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,24 +1 @@
# 💌 mailgo
## a new concept of `mailto` and `tel` links <https://mailgo.dev>
Transform all your `mailto` and `tel` link in a beautiful modal with more possibilities! Open directly Gmail, Outlook for mails; Telegram, WhatsApp or Skype for phone numbers.
![mailgo screencast](https://github.com/manzinello/mailgo/raw/master/assets/video/mailgo.gif)
## docs
<https://mailgo.dev>
## thanks
<a target="_blank" href="https://www.browserstack.com">
<img src="https://mailgo.dev/img/browserstack.png" />
</a>
<br/>
<br/>
<a target="_blank" href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-color-bg.svg" />
</a>
# 💌 mailymaily

View File

@ -1,5 +0,0 @@
# Security Policy
## Reporting a Vulnerability
If you have any type of suggestion about security in mailgo project or you want to report a vulnerability feel free to write me at <a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>

View File

@ -1,13 +1,13 @@
const presets = [
[
"@babel/preset-env",
{
targets: {
browsers: ["defaults"],
},
},
],
"@babel/preset-typescript",
[
'@babel/preset-env',
{
targets: {
browsers: [ 'defaults' ]
}
}
],
'@babel/preset-typescript'
];
module.exports = { presets };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3
dist/mailgo.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,19 +0,0 @@
# 💌 Mailgo examples
Mailgo example to test functionalities, design...
## `index.html`
Simple examples of mailgo
## `index.[language].html`
Simple examples of mailgo in different languages
## `index.dark.html`
Simple examples of mailgo to test dark mode
## `index.windowconfig.html`
Simple examples of mailgo with `window.mailgoConfig`

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>mailgo dark examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<script src="../dist/mailgo.dark.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,82 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>mailgo examples</title>
</head>
<body>
<h1>mailto:</h1>
<a href="mailto:matteo@manzinello.dev">matteo@manzinello.dev</a>
<br />
<a href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com"
><p>matteo@manzinello.dev</p></a
>
<br />
<a href="mailto:matteo@manzinello.dev,matteomanzinello@gmail.com?cc=ciao"
>matteo@manzinello.dev</a
>
<br />
<a href="mailto:matteo@manzinello.dev?subject=ciao">ciao</a>
<br />
<a href="" class="mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<br />
<a href="#mailgo" data-address="matteo" data-domain="manzinello.dev"
>scrivimi!</a
>
<a
href="#mailgo"
data-address="matteo"
data-domain="manzinello.dev"
data-cc="matteomanzinello@gmail.com,m@m.it"
>more cc</a
>
<br />
<a
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev</a
>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="mailto:matteo@manzinello.dev"
>matteo@manzinello.dev dark mode</a
>
<br />
<a
class="dark"
href="mailto:matteo@manzinello.dev?cc=matteomanzinello@gmail.com&bcc=test"
>matteo@manzinello.dev dark mode</a
>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br />
<a href="tel:+39 123-456-78">skype</a>
<br />
<a href="callto:+39 123-456-78">callto</a>
<br />
<br />
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br />
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram"
>chiamami dark mode</a
>
<script>
window.mailgoConfig = {
dark: true,
showFooter: false,
};
</script>
<script src="../dist/mailgo.min.js"></script>
</body>
</html>

View File

@ -1,7 +0,0 @@
# 💌 Mailgo extensions
Scripts to add in mailgo official extensions for Chrome and Firefox.
## // TODO
Remove this folder, add build process also in extensions in order to add `mailgo` from npm.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,95 +1,32 @@
{
"languages": ["en", "it", "es", "de", "fr", "pt", "nl", "ru"],
"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 ",
"bcc_": "ccn ",
"subject_": "oggetto ",
"body_": "testo ",
"call": "chiama",
"open": "apri",
"_default": " ",
"_as_default": " ",
"copy": "copia"
},
"es": {
"open_in_": "abrir con ",
"bcc_": "cco ",
"subject_": "asunto ",
"body_": "cuerpo ",
"call": "llamar",
"open": "abrir",
"_default": " predefinido",
"_as_default": " por defecto",
"copy": "copiar"
},
"de": {
"open_in_": "Öffnen in ",
"subject_": "Betreff ",
"body_": "Nachricht ",
"call": "Anrufen",
"open": "Öffnen",
"_default": " mit Standard",
"_as_default": " mit Standard",
"copy": "kopieren"
},
"pt": {
"open_in_": "abrir com ",
"bcc_": "cco ",
"subject_": "assunto ",
"body_": "corpo ",
"call": "ligar",
"open": "abrir",
"_default": " padrão",
"_as_default": " por padrão",
"copy": "copiar"
},
"fr": {
"open_in_": "Ouvrir dans ",
"bcc_": "cci ",
"subject_": "sujet ",
"body_": "contenu ",
"call": "Appeler",
"open": "Ouvrir",
"_default": " par défaut",
"_as_default": " par défaut",
"copy": "Copier"
},
"nl": {
"subject_": "onderwerp ",
"body_": "bericht ",
"call": "bellen",
"open": "openen",
"_default": " standaard",
"_as_default": " als standaard",
"copy": "kopiëren"
},
"ru": {
"open_in_": "открыть в ",
"subject_": "тема ",
"body_": "тело ",
"call": "позвонить",
"open": "открыть",
"_default": " по умолчанию",
"_as_default": " по умолчанию",
"copy": "скопировать"
}
}
"languages": [ "en", "de" ],
"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"
},
"de": {
"open_in_": "Öffnen in ",
"subject_": "Betreff ",
"body_": "Nachricht ",
"call": "Anrufen",
"open": "Öffnen",
"_default": " mit Standard",
"_as_default": " mit Standard",
"copy": "kopieren"
}
}
}

View File

@ -321,7 +321,7 @@ var mailgoInit = function mailgoInit() {
var mailgoExists = !!document.getElementById("mailgo");
if (!mailgoExists) {
var _config3, _config4, _config5;
var _config3;
// modal
modalMailto = createElement();
@ -439,12 +439,7 @@ var mailgoInit = function mailgoInit() {
copyMail.classList.add("m-copy");
copyMail.classList.add("w-500");
copyMail.appendChild(createTextNode(strings.copy || defaultStrings.copy));
modalContent.appendChild(copyMail); // hide mailgo.dev in footer only if showFooter is defined and equal to false
if (typeof ((_config4 = config) === null || _config4 === void 0 ? void 0 : _config4.showFooter) === "undefined" || ((_config5 = config) === null || _config5 === void 0 ? void 0 : _config5.showFooter) !== false) {
modalContent.appendChild(byElement());
} // add the modal at the end of the body
modalContent.appendChild(copyMail); // add the modal at the end of the body
document.body.appendChild(modalMailto); // every click outside the modal will hide the modal
@ -455,7 +450,7 @@ var mailgoInit = function mailgoInit() {
var mailgoTelExists = !!document.getElementById("mailgo-tel");
if (!mailgoTelExists) {
var _config6, _config7, _config8;
var _config4;
// modal
modalTel = createElement();
@ -466,7 +461,7 @@ var mailgoInit = function mailgoInit() {
modalTel.setAttribute("tabindex", "-1");
modalTel.setAttribute("aria-labelledby", "m-tel-title"); // if dark is in config
if ((_config6 = config) === null || _config6 === void 0 ? void 0 : _config6.dark) {
if ((_config4 = config) === null || _config4 === void 0 ? void 0 : _config4.dark) {
enableDarkMode(TEL_TYPE);
} else {
disableDarkMode(TEL_TYPE);
@ -555,12 +550,7 @@ var mailgoInit = function mailgoInit() {
copyTel.classList.add("w-500");
copyTel.appendChild(createTextNode(strings.copy || defaultStrings.copy));
_modalContent.appendChild(copyTel); // hide mailgo.dev in footer only if showFooter is defined and equal to false
if (typeof ((_config7 = config) === null || _config7 === void 0 ? void 0 : _config7.showFooter) === "undefined" || ((_config8 = config) === null || _config8 === void 0 ? void 0 : _config8.showFooter) !== false) {
_modalContent.appendChild(byElement());
} // add the modal at the end of the body
_modalContent.appendChild(copyTel); // add the modal at the end of the body
document.body.appendChild(modalTel); // every click outside the modal will hide the modal
@ -578,14 +568,14 @@ var mailgoInit = function mailgoInit() {
function mailgoRender() {
var _config11;
var _config7;
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MAIL_TYPE;
var mailgoElement = arguments.length > 1 ? arguments[1] : undefined;
// mailgo mail
if (type === MAIL_TYPE) {
var _config9, _config10;
var _config5, _config6;
// if the element href=^"mailto:"
if (mailgoElement.href && mailgoElement.href.toLowerCase().startsWith(MAILTO)) {
@ -612,7 +602,7 @@ function mailgoRender() {
bodyMail = mailgoElement.getAttribute("data-body");
}
if (typeof ((_config9 = config) === null || _config9 === void 0 ? void 0 : _config9.validateEmail) === "undefined" || ((_config10 = config) === null || _config10 === void 0 ? void 0 : _config10.validateEmail) === true) {
if (typeof ((_config5 = config) === null || _config5 === void 0 ? void 0 : _config5.validateEmail) === "undefined" || ((_config6 = config) === null || _config6 === void 0 ? void 0 : _config6.validateEmail) === true) {
// validate the email address
if (!validateEmails(mail.split(","))) return; // if cc, bcc are not valid cc, bcc = ""
@ -680,7 +670,7 @@ function mailgoRender() {
} // if config.dark is set to true then all the modals will be in dark mode
if (!((_config11 = config) === null || _config11 === void 0 ? void 0 : _config11.dark)) {
if (!((_config7 = config) === null || _config7 === void 0 ? void 0 : _config7.dark)) {
// if the element contains dark as class enable dark mode
if (mailgoElement.classList.contains("dark")) {
enableDarkMode(type);
@ -942,17 +932,6 @@ var hideMailgo = function hideMailgo() {
var mailgoIsShowing = function mailgoIsShowing() {
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MAIL_TYPE;
return getModalDisplay(type) === "flex";
};
var byElement = function byElement() {
// by
var by = createElement(aHTMLTag);
by.href = "https://mailgo.dev?ref=mailgo-modal";
by.className = "m-by";
by.target = "_blank";
by.rel = "noopener noreferrer";
by.appendChild(createTextNode("mailgo.dev"));
return by;
}; // create element
@ -1117,15 +1096,15 @@ function mailgo(mailgoConfig) {
config = _objectSpread(_objectSpread({}, mailgoConfig), ((_window = window) === null || _window === void 0 ? void 0 : _window.mailgoConfig) || null); // if the window is defined...
if (window && typeof window !== "undefined") {
var _config12;
var _config8;
// add the style for mailgo
mailgoStyle(); // if is set an initEvent add the listener
if ((_config12 = config) === null || _config12 === void 0 ? void 0 : _config12.initEvent) {
var _config13;
if ((_config8 = config) === null || _config8 === void 0 ? void 0 : _config8.initEvent) {
var _config9;
if ((_config13 = config) === null || _config13 === void 0 ? void 0 : _config13.listenerOptions) {
if ((_config9 = config) === null || _config9 === void 0 ? void 0 : _config9.listenerOptions) {
// listener options specified
document.addEventListener(config.initEvent, function () {
mailgoInit();

File diff suppressed because one or more lines are too long

95
mailgo.d.ts vendored
View File

@ -1,60 +1,53 @@
// Type definitions for mailgo
// Project: mailgo
// Definitions by: Matteo Manzinello <https://matteomanzinello.com>
declare module 'mailgo' {
export type MailgoConfig = {
initEvent?: string;
listenerOptions?: ListenerOptions | boolean;
dark?: boolean;
lang?: string;
forceLang?: boolean;
validateEmail?: boolean;
validateTel?: boolean;
showFooter?: boolean;
};
declare module "mailgo" {
export type MailgoConfig = {
initEvent?: string;
listenerOptions?: ListenerOptions | boolean;
dark?: boolean;
lang?: string;
forceLang?: boolean;
validateEmail?: boolean;
validateTel?: boolean;
showFooter?: boolean;
};
export type MailgoTranslation = {
open_in_?: string;
cc_?: string;
bcc_?: string;
subject_?: string;
body_?: string;
gmail?: string;
outlook?: string;
telegram?: string;
whatsapp?: string;
skype?: string;
call?: string;
open?: string;
_default?: string;
_as_default?: string;
copy?: string;
};
export type MailgoTranslation = {
open_in_?: string;
cc_?: string;
bcc_?: string;
subject_?: string;
body_?: string;
gmail?: string;
outlook?: string;
telegram?: string;
whatsapp?: string;
skype?: string;
call?: string;
open?: string;
_default?: string;
_as_default?: string;
copy?: string;
};
export type MailgoTranslations = {
[language: string]: MailgoTranslation;
};
export type MailgoTranslations = {
[language: string]: MailgoTranslation;
};
export type MailgoI18n = {
languages: string[];
translations: MailgoTranslations;
};
export type MailgoI18n = {
languages: string[];
translations: MailgoTranslations;
};
export type ListenerOptions = {
capture?: boolean;
once?: boolean;
passive?: boolean;
};
export type ListenerOptions = {
capture?: boolean;
once?: boolean;
passive?: boolean;
};
export function mailgoRender(type: string, mailgoElement: HTMLLinkElement): void;
export function mailgoRender(
type: string,
mailgoElement: HTMLLinkElement
): void;
export function isMailgo(element: HTMLElement, type?: string): boolean;
export function isMailgo(element: HTMLElement, type?: string): boolean;
export function mailgoCheckRender(event: Event): boolean;
export function mailgoCheckRender(event: Event): boolean;
export default function mailgo(mailgoConfig?: MailgoConfig): void;
export default function mailgo(mailgoConfig?: MailgoConfig): void;
}

View File

@ -1,61 +1,32 @@
{
"name": "mailgo",
"version": "0.9.14",
"description": "a new concept of mailto and tel links",
"scripts": {
"build": "webpack"
},
"repository": {
"type": "git",
"url": "git+https://github.com/manzinello/mailgo.git"
},
"main": "./lib/mailgo.js",
"module": "./lib/mailgo.js",
"types": "./mailgo.d.ts",
"keywords": [
"mailto",
"mail",
"tel",
"callto",
"gmail",
"outlook",
"telegram",
"whatsapp",
"skype"
],
"author": {
"name": "Matteo Manzinello",
"email": "matteo@manzinello.dev",
"url": "https://matteomanzinello.com"
},
"license": "MIT",
"bugs": {
"url": "https://github.com/manzinello/mailgo/issues"
},
"homepage": "https://mailgo.dev",
"devDependencies": {
"@babel/cli": "^7.10.5",
"@babel/core": "^7.11.1",
"@babel/parser": "^7.11.3",
"@babel/preset-env": "^7.11.0",
"@babel/preset-typescript": "^7.10.4",
"@babel/types": "^7.11.0",
"@types/node": "^14.0.27",
"babel-loader": "^8.1.0",
"css-loader": "^4.2.1",
"node-sass": "^4.14.1",
"sass-loader": "^9.0.3",
"style-loader": "^1.2.1",
"to-string-loader": "^1.1.6",
"ts-loader": "^8.0.2",
"typescript": "^3.9.7",
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12"
},
"dependencies": {},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mailgo"
},
"sideEffects": false
"name": "mailgo",
"version": "0.9.14",
"description": "a new concept of mailto and tel links",
"scripts": {
"build": "webpack"
},
"main": "./lib/mailgo.js",
"module": "./lib/mailgo.js",
"types": "./mailgo.d.ts",
"devDependencies": {
"@babel/cli": "^7.10.5",
"@babel/core": "^7.11.1",
"@babel/parser": "^7.11.3",
"@babel/preset-env": "^7.11.0",
"@babel/preset-typescript": "^7.10.4",
"@babel/types": "^7.11.0",
"@types/node": "^14.0.27",
"babel-loader": "^8.1.0",
"css-loader": "^4.2.1",
"node-sass": "^4.14.1",
"sass-loader": "^9.0.3",
"style-loader": "^1.2.1",
"to-string-loader": "^1.1.6",
"ts-loader": "^8.0.2",
"typescript": "^3.9.7",
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12"
},
"dependencies": {},
"sideEffects": false
}

39
sample.html Normal file
View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>mailymaily examples</title>
</head>
<body>
<h1>mailymaily</h1>
<a href="#mailgo" data-address="info" data-domain="odit.services">scrivimi!</a>
<a href="#mailgo" data-address="info" data-domain="odit.services" data-cc="info@odit.services">morecc</a><br>
<h3>Dark mode</h3>
<a class="dark" href="mailgo:info@odit.services">info@odit.services dark mode</a>
<br>
<a class="dark" href="mailgo:info@odit.services?cc=matteomanzinello@gmail.com&bcc=test">info@odit.services dark
mode</a>
<h1>tel:</h1>
<a href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami</a>
<br>
<a href="tel:+39 123-456-78">skype</a>
<br>
<a href="callto:+39 123-456-78">callto</a>
<br>
<br>
<h3>Dark mode</h3>
<a class="dark" href="callto:+39 123-456-78">callto dark mode</a>
<br>
<a class="dark" href="#mailgo" data-tel="123456568" data-telegram="telegram">chiamami dark mode</a>
<script src="./dist/mailgo.min.js"></script>
<script src="./dist/mailgo.dark.min.js"></script>
</body>
</html>

View File

@ -1,6 +1,5 @@
$mailgo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol";
$mailgo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
// colors
$default-color: #4a4a4a;
@ -23,260 +22,260 @@ $skype-dark-color: #4cc7f4;
$default-border-radius: 20px;
.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: 16.5px;
z-index: 10000;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
justify-content: center;
align-items: center;
flex-direction: column;
overflow: hidden;
font-size: 16.5px;
z-index: 10000;
p,
span,
strong,
a {
margin: 0;
padding: 0;
font-size: 100%;
line-height: 1;
font-family: $mailgo-font-family;
text-rendering: optimizeLegibility;
}
p,
span,
strong,
a {
margin: 0;
padding: 0;
font-size: 100%;
line-height: 1;
font-family: $mailgo-font-family;
text-rendering: optimizeLegibility;
}
strong {
font-weight: 700;
}
strong {
font-weight: 700;
}
.m-modal-back {
position: absolute;
z-index: 10001;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #20232a;
opacity: 0.8;
}
.m-modal-back {
position: absolute;
z-index: 10001;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #20232a;
opacity: 0.8;
}
.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: $default-border-radius;
box-shadow: 0 3px 20px rgba(32, 35, 42, 0.5);
color: $default-color;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px;
transition: 0.5s box-shadow;
.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: $default-border-radius;
box-shadow: 0 3px 20px rgba(32, 35, 42, 0.5);
color: $default-color;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px;
transition: 0.5s box-shadow;
&:hover,
&:focus,
&:active {
opacity: 1;
}
&:hover,
&:focus,
&:active {
opacity: 1;
}
.m-title {
margin-bottom: 8px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
line-height: 1.2em;
}
.m-title {
margin-bottom: 8px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
line-height: 1.2em;
}
.m-details {
margin-bottom: 10px;
p {
font-size: 12px;
margin-top: 3px;
margin-bottom: 3px;
}
}
.m-details {
margin-bottom: 10px;
p {
font-size: 12px;
margin-top: 3px;
margin-bottom: 3px;
}
}
a {
cursor: pointer;
padding: 10px;
color: $default-color;
border-radius: $default-border-radius;
text-decoration: none;
a {
cursor: pointer;
padding: 10px;
color: $default-color;
border-radius: $default-border-radius;
text-decoration: none;
&.m-gmail {
color: $gmail-color;
&:hover,
&:focus,
&:active {
background-color: rgba(212, 70, 56, 0.08);
color: $gmail-color;
}
}
&.m-gmail {
color: $gmail-color;
&:hover,
&:focus,
&:active {
background-color: rgba(212, 70, 56, 0.08);
color: $gmail-color;
}
}
&.m-outlook {
color: $outlook-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 114, 198, 0.08);
color: $outlook-color;
}
}
&.m-outlook {
color: $outlook-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 114, 198, 0.08);
color: $outlook-color;
}
}
&.m-tg {
color: $telegram-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 136, 204, 0.08);
color: $telegram-color;
}
}
&.m-tg {
color: $telegram-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 136, 204, 0.08);
color: $telegram-color;
}
}
&.m-wa {
color: $wa-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 191, 165, 0.08);
color: $wa-color;
}
}
&.m-wa {
color: $wa-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 191, 165, 0.08);
color: $wa-color;
}
}
&.m-skype {
color: $skype-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 175, 240, 0.08);
color: $skype-color;
}
}
&.m-skype {
color: $skype-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 175, 240, 0.08);
color: $skype-color;
}
}
&.m-copy {
padding: 16px 10px;
font-size: 16px;
}
&.m-copy {
padding: 16px 10px;
font-size: 16px;
}
&.m-default,
&.m-copy {
&:hover,
&:focus,
&:active {
background-color: rgba(0, 0, 0, 0.08);
color: $default-color;
}
}
&.m-default,
&.m-copy {
&:hover,
&:focus,
&:active {
background-color: rgba(0, 0, 0, 0.08);
color: $default-color;
}
}
&.m-by {
font-size: 12px;
margin-top: 0.8rem;
padding: 5px;
color: $default-color;
&:hover,
&:focus,
&:active {
color: $default-color-hover;
}
}
}
&.m-by {
font-size: 12px;
margin-top: 0.8rem;
padding: 5px;
color: $default-color;
&:hover,
&:focus,
&:active {
color: $default-color-hover;
}
}
}
.w-500 {
font-weight: 500;
}
}
.w-500 {
font-weight: 500;
}
}
&.m-dark {
.m-modal-content {
background-color: #20232a;
&,
& p,
& p span,
& strong {
color: #fff;
}
a {
color: $default-dark-color;
&.m-dark {
.m-modal-content {
background-color: #20232a;
&,
& p,
& p span,
& strong {
color: #fff;
}
a {
color: $default-dark-color;
&:not(.m-by) {
&:hover,
&:focus,
&:active {
background-color: rgba(134, 134, 134, 0.08);
color: $default-dark-color;
}
}
&:not(.m-by) {
&:hover,
&:focus,
&:active {
background-color: rgba(134, 134, 134, 0.08);
color: $default-dark-color;
}
}
&.m-gmail {
color: $gmail-dark-color;
&.m-gmail {
color: $gmail-dark-color;
&:hover,
&:focus,
&:active {
background-color: rgba(212, 70, 56, 0.08);
color: $gmail-dark-color;
}
}
&:hover,
&:focus,
&:active {
background-color: rgba(212, 70, 56, 0.08);
color: $gmail-dark-color;
}
}
&.m-outlook {
color: $outlook-dark-color;
&.m-outlook {
color: $outlook-dark-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 114, 198, 0.08);
color: $outlook-dark-color;
}
}
&:hover,
&:focus,
&:active {
background-color: rgba(0, 114, 198, 0.08);
color: $outlook-dark-color;
}
}
&.m-tg {
color: $telegram-dark-color;
&.m-tg {
color: $telegram-dark-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 136, 204, 0.08);
color: $telegram-dark-color;
}
}
&:hover,
&:focus,
&:active {
background-color: rgba(0, 136, 204, 0.08);
color: $telegram-dark-color;
}
}
&.m-wa {
color: $wa-dark-color;
&.m-wa {
color: $wa-dark-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 191, 165, 0.08);
color: $wa-dark-color;
}
}
&:hover,
&:focus,
&:active {
background-color: rgba(0, 191, 165, 0.08);
color: $wa-dark-color;
}
}
&.m-skype {
color: $skype-dark-color;
&.m-skype {
color: $skype-dark-color;
&:hover,
&:focus,
&:active {
background-color: rgba(0, 175, 240, 0.08);
color: $skype-dark-color;
}
}
&:hover,
&:focus,
&:active {
background-color: rgba(0, 175, 240, 0.08);
color: $skype-dark-color;
}
}
&.m-by {
&:hover,
&:focus,
&:active {
color: #fff;
}
}
}
}
}
&.m-by {
&:hover,
&:focus,
&:active {
color: #fff;
}
}
}
}
}
}

View File

@ -263,14 +263,6 @@ const mailgoInit = (): void => {
modalContent.appendChild(copyMail);
// hide mailgo.dev in footer only if showFooter is defined and equal to false
if (
typeof config?.showFooter === "undefined" ||
config?.showFooter !== false
) {
modalContent.appendChild(byElement());
}
// add the modal at the end of the body
document.body.appendChild(modalMailto);
@ -396,14 +388,6 @@ const mailgoInit = (): void => {
modalContent.appendChild(copyTel);
// hide mailgo.dev in footer only if showFooter is defined and equal to false
if (
typeof config?.showFooter === "undefined" ||
config?.showFooter !== false
) {
modalContent.appendChild(byElement());
}
// add the modal at the end of the body
document.body.appendChild(modalTel);
@ -874,18 +858,6 @@ const mailgoIsShowing = (type = MAIL_TYPE): boolean => {
return getModalDisplay(type) === "flex";
};
const byElement = (): HTMLLinkElement => {
// by
let by: HTMLLinkElement = createElement(aHTMLTag) as HTMLLinkElement;
by.href = "https://mailgo.dev?ref=mailgo-modal";
by.className = "m-by";
by.target = "_blank";
by.rel = "noopener noreferrer";
by.appendChild(createTextNode("mailgo.dev"));
return by;
};
// create element
const createElement = (element: string = "div"): HTMLElement =>
document.createElement(element);

View File

@ -1,127 +1,63 @@
const path = require("path");
const path = require('path');
const mailgoRules = [
{
test: /\.tsx?$/,
include: path.resolve(__dirname, "./src/"),
use: ["babel-loader"],
exclude: /node_modules/,
},
{
test: /\.s[ac]ss$/i,
use: [
"to-string-loader",
{
loader: "css-loader",
options: {
esModule: false,
sourceMap: false,
},
},
"sass-loader",
],
},
{
test: /\.tsx?$/,
include: path.resolve(__dirname, './src/'),
use: [ 'babel-loader' ],
exclude: /node_modules/
},
{
test: /\.scss$/i,
use: [
'to-string-loader',
{
loader: 'css-loader',
options: {
esModule: false,
sourceMap: false
}
},
'sass-loader'
]
}
];
module.exports = [
{
mode: "production",
target: "web",
devtool: "source-map",
entry: "./mailgo.dist.ts",
context: path.join(__dirname, "webpack"),
module: {
rules: mailgoRules,
},
resolve: {
extensions: [".ts", ".js"],
},
output: {
filename: "mailgo.min.js",
library: "mailgo",
libraryTarget: "window",
path: path.resolve(__dirname, "dist"),
},
},
{
mode: "production",
target: "web",
devtool: "source-map",
entry: "./mailgo.firefox.ts",
context: path.join(__dirname, "webpack"),
module: {
rules: mailgoRules,
},
resolve: {
extensions: [".ts", ".js"],
},
output: {
filename: "mailgo.firefox.min.js",
library: "mailgo",
libraryTarget: "window",
path: path.resolve(__dirname, "extensions"),
},
},
{
mode: "production",
target: "web",
devtool: "source-map",
entry: "./mailgo.chrome.ts",
context: path.join(__dirname, "webpack"),
module: {
rules: mailgoRules,
},
resolve: {
extensions: [".ts", ".js"],
},
output: {
filename: "mailgo.chrome.min.js",
library: "mailgo",
libraryTarget: "window",
path: path.resolve(__dirname, "extensions"),
},
},
{
mode: "production",
target: "web",
devtool: "source-map",
entry: "./mailgo.dist.dark.ts",
context: path.join(__dirname, "webpack"),
module: {
rules: mailgoRules,
},
resolve: {
extensions: [".ts", ".js"],
},
output: {
filename: "mailgo.dark.min.js",
library: "mailgo",
libraryTarget: "window",
path: path.resolve(__dirname, "dist"),
},
},
{
mode: "production",
target: "node",
devtool: "source-map",
entry: "./mailgo.lib.ts",
context: path.join(__dirname, "webpack"),
module: {
rules: mailgoRules,
},
optimization: {
minimize: false,
},
resolve: {
extensions: [".ts", ".js"],
},
output: {
filename: "lib/mailgo.js",
library: "mailgo",
libraryTarget: "umd",
libraryExport: "default",
globalObject: "typeof self !== 'undefined' ? self : this",
path: path.resolve(__dirname),
},
},
{
mode: 'production',
target: 'web',
entry: './mailgo.dist.ts',
context: path.join(__dirname, 'webpack'),
module: {
rules: mailgoRules
},
resolve: {
extensions: [ '.ts', '.js' ]
},
output: {
filename: 'mailgo.min.js',
library: 'mailgo',
libraryTarget: 'window',
path: path.resolve(__dirname, 'dist')
}
},
{
mode: 'production',
target: 'web',
entry: './mailgo.dist.dark.ts',
context: path.join(__dirname, 'webpack'),
module: {
rules: mailgoRules
},
resolve: {
extensions: [ '.ts', '.js' ]
},
output: {
filename: 'mailgo.dark.min.js',
library: 'mailgo',
libraryTarget: 'window',
path: path.resolve(__dirname, 'dist')
}
}
];

View File

@ -1,10 +0,0 @@
// webpack > extensions/mailgo.chrome.js
// script to add in Chrome extension
// https://github.com/manzinello/mailgo-chrome-extension
import mailgo from "../src/mailgo";
// check if mailgo HTML is already present in the page
let mailgoExists = !!document.getElementById("mailgo");
if (!mailgoExists) mailgo();

View File

@ -1,11 +1,9 @@
// webpack > dist/mailgo.min.js
import mailgo from "../src/mailgo";
import mailgo from '../src/mailgo';
// call init mailgo attached to the event DOMContentLoaded
const mailgoConfig = {
initEvent: "DOMContentLoaded",
dark: true,
initEvent: 'DOMContentLoaded',
dark: true
};
mailgo(mailgoConfig);

View File

@ -1,10 +1,8 @@
// webpack > dist/mailgo.min.js
import mailgo from "../src/mailgo";
import mailgo from '../src/mailgo';
// call init mailgo attached to the event DOMContentLoaded
const mailgoConfig = {
initEvent: "DOMContentLoaded",
initEvent: 'DOMContentLoaded'
};
mailgo(mailgoConfig);

View File

@ -1,10 +0,0 @@
// webpack > extensions/mailgo.firefox.js
// script to add in Firefox addon
// https://github.com/manzinello/mailgo-firefox-addon
import mailgo from "../src/mailgo";
// check if mailgo HTML is already present in the page
let mailgoExists = !!document.getElementById("mailgo");
if (!mailgoExists) mailgo();

View File

@ -1,5 +1,2 @@
// webpack > lib/mailgo.js
import mailgo from "../src/mailgo";
import mailgo from '../src/mailgo';
export default mailgo;

276
yarn.lock
View File

@ -25,16 +25,7 @@
dependencies:
"@babel/highlight" "^7.10.4"
"@babel/compat-data@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.5.tgz#d38425e67ea96b1480a3f50404d1bf85676301a6"
integrity sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==
dependencies:
browserslist "^4.12.0"
invariant "^2.2.4"
semver "^5.5.0"
"@babel/compat-data@^7.11.0":
"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c"
integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==
@ -44,15 +35,15 @@
semver "^5.5.0"
"@babel/core@^7.11.1":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643"
integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ==
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229"
integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/generator" "^7.11.0"
"@babel/generator" "^7.11.4"
"@babel/helper-module-transforms" "^7.11.0"
"@babel/helpers" "^7.10.4"
"@babel/parser" "^7.11.1"
"@babel/parser" "^7.11.4"
"@babel/template" "^7.10.4"
"@babel/traverse" "^7.11.0"
"@babel/types" "^7.11.0"
@ -65,19 +56,10 @@
semver "^5.4.1"
source-map "^0.5.0"
"@babel/generator@^7.10.5":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69"
integrity sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==
dependencies:
"@babel/types" "^7.10.5"
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/generator@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c"
integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==
"@babel/generator@^7.11.0", "@babel/generator@^7.11.4":
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be"
integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==
dependencies:
"@babel/types" "^7.11.0"
jsesc "^2.5.1"
@ -140,11 +122,10 @@
lodash "^4.17.19"
"@babel/helper-explode-assignable-expression@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b"
integrity sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==
dependencies:
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
"@babel/helper-function-name@^7.10.4":
@ -171,11 +152,11 @@
"@babel/types" "^7.10.4"
"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz#172f56e7a63e78112f3a04055f24365af702e7ee"
integrity sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==
dependencies:
"@babel/types" "^7.10.5"
"@babel/types" "^7.11.0"
"@babel/helper-module-imports@^7.10.4":
version "7.10.4"
@ -184,20 +165,7 @@
dependencies:
"@babel/types" "^7.10.4"
"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6"
integrity sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==
dependencies:
"@babel/helper-module-imports" "^7.10.4"
"@babel/helper-replace-supers" "^7.10.4"
"@babel/helper-simple-access" "^7.10.4"
"@babel/helper-split-export-declaration" "^7.10.4"
"@babel/template" "^7.10.4"
"@babel/types" "^7.10.5"
lodash "^4.17.19"
"@babel/helper-module-transforms@^7.11.0":
"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==
@ -230,14 +198,13 @@
lodash "^4.17.19"
"@babel/helper-remap-async-to-generator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d"
integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-wrap-function" "^7.10.4"
"@babel/template" "^7.10.4"
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
"@babel/helper-replace-supers@^7.10.4":
@ -265,14 +232,7 @@
dependencies:
"@babel/types" "^7.11.0"
"@babel/helper-split-export-declaration@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1"
integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==
dependencies:
"@babel/types" "^7.10.4"
"@babel/helper-split-export-declaration@^7.11.0":
"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
@ -312,20 +272,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.10.4", "@babel/parser@^7.10.5":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b"
integrity sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==
"@babel/parser@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.0.tgz#a9d7e11aead25d3b422d17b2c6502c8dddef6a5d"
integrity sha512-qvRvi4oI8xii8NllyEc4MDJjuZiNaRzyb7Y7lup1NqJV8TZHF4O27CcP+72WPn/k1zkgJ6WJfnIbk4jTsVAZHw==
"@babel/parser@^7.11.1", "@babel/parser@^7.11.3":
version "7.11.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9"
integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA==
"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.3", "@babel/parser@^7.11.4":
version "7.11.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca"
integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==
"@babel/plugin-proposal-async-generator-functions@^7.10.4":
version "7.10.5"
@ -549,9 +499,9 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-transform-block-scoping@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz#b81b8aafefbfe68f0f65f7ef397b9ece68a6037d"
integrity sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==
version "7.11.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215"
integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
@ -762,9 +712,9 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-transform-typescript@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.5.tgz#edf353944e979f40d8ff9fe4e9975d0a465037c5"
integrity sha512-YCyYsFrrRMZ3qR7wRwtSSJovPG5vGyG4ZdcSAivGwTfoasMp3VOB/AKhohu3dFtmB4cCDcsndCSxGtrdliCsZQ==
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb"
integrity sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==
dependencies:
"@babel/helper-create-class-features-plugin" "^7.10.5"
"@babel/helper-plugin-utils" "^7.10.4"
@ -879,9 +829,9 @@
"@babel/plugin-transform-typescript" "^7.10.4"
"@babel/runtime@^7.8.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c"
integrity sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==
version "7.11.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
dependencies:
regenerator-runtime "^0.13.4"
@ -894,22 +844,7 @@
"@babel/parser" "^7.10.4"
"@babel/types" "^7.10.4"
"@babel/traverse@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564"
integrity sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/generator" "^7.10.5"
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-split-export-declaration" "^7.10.4"
"@babel/parser" "^7.10.5"
"@babel/types" "^7.10.5"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.19"
"@babel/traverse@^7.11.0":
"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==
@ -924,16 +859,7 @@
globals "^11.1.0"
lodash "^4.17.19"
"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.4.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15"
integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==
dependencies:
"@babel/helper-validator-identifier" "^7.10.4"
lodash "^4.17.19"
to-fast-properties "^2.0.0"
"@babel/types@^7.11.0":
"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.4.4":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
@ -948,9 +874,9 @@
integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==
"@types/node@^14.0.27":
version "14.0.27"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1"
integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==
version "14.6.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499"
integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==
"@webassemblyjs/ast@1.9.0":
version "1.9.0"
@ -1128,9 +1054,9 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3:
version "6.12.3"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
version "6.12.4"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
@ -1223,14 +1149,15 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
asn1.js@^5.2.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
safer-buffer "^2.1.0"
asn1@~0.2.3:
version "0.2.4"
@ -1283,9 +1210,9 @@ aws-sign2@~0.7.0:
integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
aws4@^1.8.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2"
integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==
version "1.10.1"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
babel-loader@^8.1.0:
version "8.1.0"
@ -1375,9 +1302,9 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
bn.js@^5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0"
integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==
version "5.1.3"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
brace-expansion@^1.1.7:
version "1.1.11"
@ -1455,15 +1382,15 @@ browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
randombytes "^2.0.1"
browserify-sign@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11"
integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==
version "4.2.1"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
dependencies:
bn.js "^5.1.1"
browserify-rsa "^4.0.1"
create-hash "^1.2.0"
create-hmac "^1.1.7"
elliptic "^6.5.2"
elliptic "^6.5.3"
inherits "^2.0.4"
parse-asn1 "^5.1.5"
readable-stream "^3.6.0"
@ -1477,14 +1404,14 @@ browserify-zlib@^0.2.0:
pako "~1.0.5"
browserslist@^4.12.0, browserslist@^4.8.5:
version "4.13.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d"
integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==
version "4.14.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000"
integrity sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ==
dependencies:
caniuse-lite "^1.0.30001093"
electron-to-chromium "^1.3.488"
escalade "^3.0.1"
node-releases "^1.1.58"
caniuse-lite "^1.0.30001111"
electron-to-chromium "^1.3.523"
escalade "^3.0.2"
node-releases "^1.1.60"
buffer-from@^1.0.0:
version "1.1.1"
@ -1569,10 +1496,10 @@ camelcase@^6.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
caniuse-lite@^1.0.30001093:
version "1.0.30001109"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001109.tgz#a9f3f26a0c3753b063d7acbb48dfb9c0e46f2b19"
integrity sha512-4JIXRodHzdS3HdK8nSgIqXYLExOvG+D2/EenSvcub2Kp3QEADjo2v2oUn5g0n0D+UNwG9BtwKOyGcSq2qvQXvQ==
caniuse-lite@^1.0.30001111:
version "1.0.30001117"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001117.tgz#69a9fae5d480eaa9589f7641a83842ad396d17c4"
integrity sha512-4tY0Fatzdx59kYjQs+bNxUwZB03ZEBgVmJ1UkFPz/Q8OLiUUbjct2EdpnXj0fvFTPej2EkbPIG0w8BWsjAyk1Q==
caseless@~0.12.0:
version "0.12.0"
@ -1619,9 +1546,9 @@ chokidar@^2.1.8:
fsevents "^1.2.7"
chokidar@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
version "3.4.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
dependencies:
anymatch "~3.1.1"
braces "~3.0.2"
@ -1792,12 +1719,12 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
version "4.0.4"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
elliptic "^6.5.3"
create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
version "1.2.0"
@ -2009,12 +1936,12 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
electron-to-chromium@^1.3.488:
version "1.3.514"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.514.tgz#107499c28cb3c09fe6a863c19fc2202d5d9e8e41"
integrity sha512-8vb8zKIeGlZigeDzNWWthmGeLzo5CC43Lc+CZshMs7UXFVMPNLtXJGa/txedpu3OJFrXXVheBwp9PqOJJlHQ8w==
electron-to-chromium@^1.3.523:
version "1.3.543"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.543.tgz#71296bce656b21b56be78a5a973ebd82dbb61a03"
integrity sha512-PFbVI7G3e2fXSCFa+tgYAlyWNnUJZo4JtpJHYJ/DuB32opR6lzNJoH2LuR392Zr+nmw9jK5LZd+kvdcJDoj/fA==
elliptic@^6.0.0, elliptic@^6.5.2:
elliptic@^6.5.3:
version "6.5.3"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
@ -2067,7 +1994,7 @@ error-ex@^1.2.0:
dependencies:
is-arrayish "^0.2.1"
escalade@^3.0.1:
escalade@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==
@ -2865,9 +2792,9 @@ isstream@~0.1.2:
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
js-base64@^2.1.8:
version "2.6.3"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.3.tgz#7afdb9b57aa7717e15d370b66e8f36a9cb835dc3"
integrity sha512-fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==
version "2.6.4"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
@ -3017,9 +2944,9 @@ locate-path@^3.0.0:
path-exists "^3.0.0"
lodash@^4.0.0, lodash@^4.17.15, lodash@^4.17.19, lodash@~4.17.10:
version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
loose-envify@^1.0.0:
version "1.4.0"
@ -3318,7 +3245,7 @@ node-libs-browser@^2.2.1:
util "^0.11.0"
vm-browserify "^1.0.1"
node-releases@^1.1.58:
node-releases@^1.1.60:
version "1.1.60"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==
@ -3502,13 +3429,12 @@ parallel-transform@^1.1.0:
readable-stream "^2.1.5"
parse-asn1@^5.0.0, parse-asn1@^5.1.5:
version "5.1.5"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e"
integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==
version "5.1.6"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
dependencies:
asn1.js "^4.0.0"
asn1.js "^5.2.0"
browserify-aes "^1.0.0"
create-hash "^1.1.0"
evp_bytestokey "^1.0.0"
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
@ -4129,10 +4055,10 @@ semver@~5.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
serialize-javascript@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==
serialize-javascript@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
dependencies:
randombytes "^2.1.0"
@ -4481,15 +4407,15 @@ tar@^2.0.0:
inherits "2"
terser-webpack-plugin@^1.4.3:
version "1.4.4"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f"
integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==
version "1.4.5"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b"
integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
dependencies:
cacache "^12.0.2"
find-cache-dir "^2.1.0"
is-wsl "^1.1.0"
schema-utils "^1.0.0"
serialize-javascript "^3.1.0"
serialize-javascript "^4.0.0"
source-map "^0.6.1"
terser "^4.1.2"
webpack-sources "^1.4.0"