UNPKG

terra-consumer-nav

Version:

A responsive container that neatly displays logo, quicklinks, navlinks and profile.

78 lines (54 loc) 2.5 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _bind = require('classnames/bind'); var _bind2 = _interopRequireDefault(_bind); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _SafeHtml = require('../safe-html/SafeHtml'); var _SafeHtml2 = _interopRequireDefault(_SafeHtml); var _NavPropShapes = require('../../NavPropShapes'); var _NavPropShapes2 = _interopRequireDefault(_NavPropShapes); var _SmartLink = require('../smart-link/SmartLink'); var _SmartLink2 = _interopRequireDefault(_SmartLink); var _UserProfile = require('./UserProfile.scss'); var _UserProfile2 = _interopRequireDefault(_UserProfile); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var cx = _bind2.default.bind(_UserProfile2.default); var propTypes = _extends({ /** * An optional function. When supplied, gets triggered on link click. */ handleClick: _propTypes2.default.func, customOnClick: _propTypes2.default.func }, _NavPropShapes2.default); var ProfileLink = function ProfileLink(_ref) { var text = _ref.text, url = _ref.url, target = _ref.target, isExternal = _ref.isExternal, handleClick = _ref.handleClick, customOnClick = _ref.customOnClick, customProps = _objectWithoutProperties(_ref, ['text', 'url', 'target', 'isExternal', 'handleClick', 'customOnClick']); var onClick = function onClick() { handleClick();customOnClick(); }; return _react2.default.createElement( _SmartLink2.default, _extends({}, customProps, { url: url, target: target, isExternal: isExternal, className: cx('link', 'profile-item-border', customProps.className), handleClick: onClick }), _react2.default.createElement(_SafeHtml2.default, { text: text }) ); }; ProfileLink.propTypes = propTypes; exports.default = ProfileLink;