react-obfuscate-email
Advanced tools
Comparing version 1.0.9 to 1.0.10
@@ -1,11 +0,7 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Email = void 0; | ||
const tslib_1 = require("tslib"); | ||
const react_1 = tslib_1.__importStar(require("react")); | ||
const utils_1 = require("./utils"); | ||
import React, { useState, } from "react"; | ||
import { percentEncodeParams } from "./utils"; | ||
function obfuscateEmail(email) { | ||
const [username, domain] = email.split("@"); | ||
return (react_1.default.createElement(react_1.default.Fragment, null, | ||
react_1.default.createElement("style", { dangerouslySetInnerHTML: { | ||
return (React.createElement(React.Fragment, null, | ||
React.createElement("style", { dangerouslySetInnerHTML: { | ||
__html: ` | ||
@@ -18,10 +14,9 @@ a>span.roe::after { | ||
username, | ||
react_1.default.createElement("span", { className: "roe" }), | ||
React.createElement("span", { className: "roe" }), | ||
domain)); | ||
} | ||
function Email(_a) { | ||
var { bcc = [], body = "", cc = [], children, email, subject = "" } = _a, props = tslib_1.__rest(_a, ["bcc", "body", "cc", "children", "email", "subject"]); | ||
const [hovered, setHovered] = react_1.useState(false); | ||
export function Email({ bcc = [], body = "", cc = [], children, email, subject = "", ...props }) { | ||
const [hovered, setHovered] = useState(false); | ||
const emailUrl = new URL(`mailto:${email}`); | ||
emailUrl.search = utils_1.percentEncodeParams({ bcc, body, cc, subject }); | ||
emailUrl.search = percentEncodeParams({ bcc, body, cc, subject }); | ||
function handleHover() { | ||
@@ -32,4 +27,3 @@ setHovered(true); | ||
const obfuscatedText = children || obfuscateEmail(email); | ||
return (react_1.default.createElement("a", Object.assign({ href: hovered ? emailUrl.href : "#", onFocus: handleHover, onMouseOver: handleHover }, props), hovered ? displayText : obfuscatedText)); | ||
return (React.createElement("a", { href: hovered ? emailUrl.href : "#", onFocus: handleHover, onMouseOver: handleHover, ...props }, hovered ? displayText : obfuscatedText)); | ||
} | ||
exports.Email = Email; |
@@ -1,5 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Email = void 0; | ||
var Email_1 = require("./Email"); | ||
Object.defineProperty(exports, "Email", { enumerable: true, get: function () { return Email_1.Email; } }); | ||
export { Email } from "./Email"; |
@@ -1,4 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.percentEncodeParams = void 0; | ||
function isValidStringParam(param) { | ||
@@ -11,3 +8,3 @@ const [, value] = param; | ||
} | ||
function percentEncodeParams(params) { | ||
export function percentEncodeParams(params) { | ||
return Object.entries(params) | ||
@@ -19,2 +16,1 @@ .map(paramToStringParam) | ||
} | ||
exports.percentEncodeParams = percentEncodeParams; |
{ | ||
"version": "1.0.9", | ||
"version": "1.0.10", | ||
"license": "MIT", | ||
"main": "dist/index.js", | ||
"typings": "dist/index.d.ts", | ||
"sideEffects": false, | ||
"files": [ | ||
@@ -35,12 +36,13 @@ "dist" | ||
"devDependencies": { | ||
"@babel/core": "^7.15.0", | ||
"@storybook/addon-actions": "^6.3.7", | ||
"@storybook/addon-essentials": "^6.3.7", | ||
"@storybook/react": "^6.3.7", | ||
"@babel/core": "^7.15.5", | ||
"@storybook/addon-actions": "^6.3.8", | ||
"@storybook/addon-docs": "^6.3.8", | ||
"@storybook/addon-essentials": "^6.3.8", | ||
"@storybook/react": "^6.3.8", | ||
"@testing-library/jest-dom": "^5.14.1", | ||
"@testing-library/react": "^12.0.0", | ||
"@types/jest": "^27.0.1", | ||
"@types/react": "^17.0.18", | ||
"@typescript-eslint/eslint-plugin": "^4.29.2", | ||
"@typescript-eslint/parser": "^4.29.2", | ||
"@testing-library/react": "^12.1.0", | ||
"@types/jest": "^27.0.2", | ||
"@types/react": "^17.0.22", | ||
"@typescript-eslint/eslint-plugin": "^4.31.2", | ||
"@typescript-eslint/parser": "^4.31.2", | ||
"babel-loader": "^8.2.2", | ||
@@ -50,5 +52,5 @@ "del-cli": "^4.0.1", | ||
"eslint-config-prettier": "^8.3.0", | ||
"eslint-plugin-react": "^7.24.0", | ||
"jest": "^27.0.6", | ||
"prettier": "^2.3.2", | ||
"eslint-plugin-react": "^7.25.3", | ||
"jest": "^27.2.1", | ||
"prettier": "^2.4.1", | ||
"react": "^17.0.2", | ||
@@ -58,3 +60,3 @@ "react-dom": "^17.0.2", | ||
"tslib": "^2.3.1", | ||
"typescript": "^4.3.5" | ||
"typescript": "^4.4.3" | ||
}, | ||
@@ -61,0 +63,0 @@ "description": "[![React Obfuscate Email](https://badgen.net/npm/v/react-obfuscate-email)](https://www.npmjs.com/package/react-obfuscate-email) [![CI](https://github.com/MauricioRobayo/react-obfuscate-email/actions/workflows/main.yml/badge.svg)](https://github.com/MauricioRobayo/react-obfuscate-email/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/MauricioRobayo/react-obfuscate-email/branch/main/graph/badge.svg?token=gkrRmHZHGB)](https://codecov.io/gh/MauricioRobayo/react-obfuscate-email) [![CodeFactor](https://www.codefactor.io/repository/github/mauriciorobayo/react-obfuscate-email/badge)](https://www.codefactor.io/repository/github/mauriciorobayo/react-obfuscate-email) [![bundlephobia](https://badgen.net/bundlephobia/minzip/react-obfuscate-email)](https://bundlephobia.com/package/react-obfuscate-email)", |
7726
23
60