UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

70 lines (68 loc) 2.48 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _index = _interopRequireDefault(require("../ArrowButton/index.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } /** * ArrowNav module. * @module @massds/mayflower-react/ArrowNav * @requires module:@massds/mayflower-assets/scss/02-molecules/arrow-nav * @requires module:@massds/mayflower-assets/scss/01-atoms/arrow-button */ var ArrowNav = function ArrowNav(props) { var _classNames; var sectionClasses = (0, _classnames["default"])((_classNames = { 'js-clickable-link': true, 'ma__arrow-nav': true }, _classNames["ma__arrow-nav--" + props.direction] = props.direction, _classNames)); var Element = props.href ? 'a' : 'section'; var onClickCallback = function onClickCallback(e) { if (typeof props.onClick === 'function') { e.preventDefault(); props.onClick(e); } }; return /*#__PURE__*/_react["default"].createElement(Element, { className: sectionClasses, onClick: function onClick(e) { return onClickCallback(e); }, href: props.href, title: props.info }, /*#__PURE__*/_react["default"].createElement(_index["default"], { direction: props.direction }), /*#__PURE__*/_react["default"].createElement("h2", { className: "ma__arrow-nav__title", "data-label": props.label }, /*#__PURE__*/_react["default"].createElement("span", null, props.title)), /*#__PURE__*/_react["default"].createElement("div", { className: "ma__arrow-nav__text" }, props.text)); }; ArrowNav.propTypes = process.env.NODE_ENV !== "production" ? { /** Top label information */ label: _propTypes["default"].string.isRequired, /** Title */ title: _propTypes["default"].string.isRequired, /** Link information */ info: _propTypes["default"].string, /** Arrow Direction */ direction: _propTypes["default"].oneOf(['left', 'right']), /** Link href */ href: _propTypes["default"].string, /** Function */ onClick: _propTypes["default"].func, /** Bottom Link text */ text: _propTypes["default"].string } : {}; ArrowNav.defaultProps = { info: '', href: '', onClick: '', text: '', direction: 'left' }; var _default = exports["default"] = ArrowNav; module.exports = exports.default;