UNPKG

3 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5var _extends2 = require('babel-runtime/helpers/extends');
6
7var _extends3 = _interopRequireDefault(_extends2);
8
9var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
10
11var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
12
13var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
14
15var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
16
17var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
18
19var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
20
21var _inherits2 = require('babel-runtime/helpers/inherits');
22
23var _inherits3 = _interopRequireDefault(_inherits2);
24
25var _classnames = require('classnames');
26
27var _classnames2 = _interopRequireDefault(_classnames);
28
29var _react = require('react');
30
31var _react2 = _interopRequireDefault(_react);
32
33var _propTypes = require('prop-types');
34
35var _propTypes2 = _interopRequireDefault(_propTypes);
36
37var _SafeAnchor = require('./SafeAnchor');
38
39var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor);
40
41function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
43var propTypes = {
44 /**
45 * If set to true, renders `span` instead of `a`
46 */
47 active: _propTypes2.default.bool,
48 /**
49 * `href` attribute for the inner `a` element
50 */
51 href: _propTypes2.default.string,
52 /**
53 * `title` attribute for the inner `a` element
54 */
55 title: _propTypes2.default.node,
56 /**
57 * `target` attribute for the inner `a` element
58 */
59 target: _propTypes2.default.string
60};
61
62var defaultProps = {
63 active: false
64};
65
66var BreadcrumbItem = function (_React$Component) {
67 (0, _inherits3.default)(BreadcrumbItem, _React$Component);
68
69 function BreadcrumbItem() {
70 (0, _classCallCheck3.default)(this, BreadcrumbItem);
71 return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments));
72 }
73
74 BreadcrumbItem.prototype.render = function render() {
75 var _props = this.props,
76 active = _props.active,
77 href = _props.href,
78 title = _props.title,
79 target = _props.target,
80 className = _props.className,
81 props = (0, _objectWithoutProperties3.default)(_props, ['active', 'href', 'title', 'target', 'className']);
82
83 // Don't try to render these props on non-active <span>.
84
85 var linkProps = { href: href, title: title, target: target };
86
87 return _react2.default.createElement(
88 'li',
89 { className: (0, _classnames2.default)(className, { active: active }) },
90 active ? _react2.default.createElement('span', props) : _react2.default.createElement(_SafeAnchor2.default, (0, _extends3.default)({}, props, linkProps))
91 );
92 };
93
94 return BreadcrumbItem;
95}(_react2.default.Component);
96
97BreadcrumbItem.propTypes = propTypes;
98BreadcrumbItem.defaultProps = defaultProps;
99
100exports.default = BreadcrumbItem;
101module.exports = exports['default'];
\No newline at end of file