terra-consumer-nav
Version:
A responsive container that neatly displays logo, quicklinks, navlinks and profile.
78 lines (54 loc) • 2.5 kB
JavaScript
;
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;