UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

54 lines (43 loc) 1.84 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _htmlReactParser = _interopRequireDefault(require("html-react-parser")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /** * PhoneNumber module. * @module @massds/mayflower-react/PhoneNumber * @requires module:@massds/mayflower-assets/scss/01-atoms/phone-number */ var formatPhoneNumber = function formatPhoneNumber(number) { var clean = number.replace(/\D/g, ''); var match = clean.match(/^(1|)?(\d{3})(\d{3})(\d{4})$/); if (match) { var intlCode = match[1] ? '+1 ' : ''; return [intlCode, '(', match[2], ') ', match[3], '-', match[4]].join(''); } return null; }; var PhoneNumber = function PhoneNumber(props) { var number = props.number, details = props.details; var display = formatPhoneNumber(number); return /*#__PURE__*/_react["default"].createElement("span", { className: "ma__phone-number" }, /*#__PURE__*/_react["default"].createElement("a", { href: "tel:" + number, className: "ma__phone-number__number" }, display), details && /*#__PURE__*/_react["default"].createElement("p", { className: "ma__contact__details" }, (0, _htmlReactParser["default"])(details))); }; PhoneNumber.propTypes = process.env.NODE_ENV !== "production" ? { /** The phone number. Expect the following +16174659898 or 6174659898 */ number: _propTypes["default"].string.isRequired, /** Details around contacting the provided phone number */ details: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]) } : {}; var _default = PhoneNumber; exports["default"] = _default; module.exports = exports.default;