UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

48 lines (41 loc) 1.11 kB
/**** Libraries ****/ import React from 'react'; import { defaultProps } from "./props/defaultProps"; import { propTypes } from "./props/propTypes"; /**** CSS ****/ import style from "../../ExternalLink/ExternalLink.module.css"; const ExternalLink = props => { const { href, title, target, className, children, rel, dataId, onClick, customProps } = props; let addHttp = url => { let regEx = new RegExp(/(^(ftp|https|mailto|tel|http|simplehelp|dynamicsnav?):)/i); if (!regEx.test(url)) { return `http://${url}`; } return url; }; let urlOutput = href && typeof href !== 'boolean' ? addHttp(String(href)) : 'javascript:void(0);'; return /*#__PURE__*/React.createElement("a", { href: urlOutput, target: target, className: `${style.link} ${className ? className : ''}`, "data-title": title, rel: rel, "data-id": dataId, "data-test-id": dataId, onClick: onClick, ...customProps }, children); }; ExternalLink.defaultProps = defaultProps; ExternalLink.propTypes = propTypes; export default ExternalLink;