wix-style-react
Version:
wix-style-react
62 lines (55 loc) • 2 kB
JavaScript
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; };
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; }
import React from 'react';
import PropTypes from 'prop-types';
import ChevronRight from 'wix-ui-icons-common/ChevronRight';
import LinkLayout from './LinkLayout';
import styles from './styles.scss';
var Link = function Link(_ref) {
var children = _ref.children,
isDiminishedHover = _ref.isDiminishedHover,
isActive = _ref.isActive,
withArrow = _ref.withArrow,
badge = _ref.badge,
dataHook = _ref.dataHook,
disabled = _ref.disabled,
rest = _objectWithoutProperties(_ref, ['children', 'isDiminishedHover', 'isActive', 'withArrow', 'badge', 'dataHook', 'disabled']);
return React.createElement(
LinkLayout,
{
isDiminishedHover: isDiminishedHover,
isActive: isActive,
disabled: disabled
},
React.createElement(
'a',
_extends({ 'data-hook': dataHook }, rest, { className: styles.linkAnchor }),
React.createElement(
'span',
{ className: styles.linkChildren },
children
),
badge,
withArrow && React.createElement(
'span',
{ className: styles.linkArrow },
React.createElement(ChevronRight, null)
)
)
);
};
Link.defaultProps = {
dataHook: 'menu-navigation-link',
withArrow: false,
disabled: false
};
Link.propTypes = {
children: PropTypes.node,
isActive: PropTypes.bool,
withArrow: PropTypes.bool,
badge: PropTypes.node,
isDiminishedHover: PropTypes.bool,
dataHook: PropTypes.string,
disabled: PropTypes.bool
};
export default Link;