UNPKG

react-youtube-playlist

Version:

A react component for displaying the contents of a user's YouTube playlist.

130 lines (91 loc) 3.74 kB
'use strict'; exports.__esModule = true; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _SafeAnchor = require('./SafeAnchor'); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var _createChainedFunction = require('./utils/createChainedFunction'); var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var propTypes = { active: _propTypes2['default'].bool, disabled: _propTypes2['default'].bool, role: _propTypes2['default'].string, href: _propTypes2['default'].string, onClick: _propTypes2['default'].func, onSelect: _propTypes2['default'].func, eventKey: _propTypes2['default'].any }; var defaultProps = { active: false, disabled: false }; var NavItem = function (_React$Component) { (0, _inherits3['default'])(NavItem, _React$Component); function NavItem(props, context) { (0, _classCallCheck3['default'])(this, NavItem); var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props, context)); _this.handleClick = _this.handleClick.bind(_this); return _this; } NavItem.prototype.handleClick = function handleClick(e) { if (this.props.onSelect) { e.preventDefault(); if (!this.props.disabled) { this.props.onSelect(this.props.eventKey, e); } } }; NavItem.prototype.render = function render() { var _props = this.props, active = _props.active, disabled = _props.disabled, onClick = _props.onClick, className = _props.className, style = _props.style, props = (0, _objectWithoutProperties3['default'])(_props, ['active', 'disabled', 'onClick', 'className', 'style']); delete props.onSelect; delete props.eventKey; // These are injected down by `<Nav>` for building `<SubNav>`s. delete props.activeKey; delete props.activeHref; if (!props.role) { if (props.href === '#') { props.role = 'button'; } } else if (props.role === 'tab') { props['aria-selected'] = active; } return _react2['default'].createElement( 'li', { role: 'presentation', className: (0, _classnames2['default'])(className, { active: active, disabled: disabled }), style: style }, _react2['default'].createElement(_SafeAnchor2['default'], (0, _extends3['default'])({}, props, { disabled: disabled, onClick: (0, _createChainedFunction2['default'])(onClick, this.handleClick) })) ); }; return NavItem; }(_react2['default'].Component); NavItem.propTypes = propTypes; NavItem.defaultProps = defaultProps; exports['default'] = NavItem; module.exports = exports['default'];