UNPKG

cuz

Version:

Front-end modular development kit.

105 lines (86 loc) 3.03 kB
'use strict'; var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default']; var _extends = require('babel-runtime/helpers/extends')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; exports.__esModule = true; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var CategoryItem = _react2['default'].createClass({ displayName: 'CategoryItem', propTypes: { children: _react2['default'].PropTypes.any, className: _react2['default'].PropTypes.string, onSelect: _react2['default'].PropTypes.func, onHover: _react2['default'].PropTypes.func, id: _react2['default'].PropTypes.any, level: _react2['default'].PropTypes.number, active: _react2['default'].PropTypes.bool, handleActive: _react2['default'].PropTypes.func, index: _react2['default'].PropTypes.number, triggerType: _react2['default'].PropTypes.string, onClick: _react2['default'].PropTypes.func, onMouseEnter: _react2['default'].PropTypes.func, focus: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { active: false }; }, handleClick: function handleClick(event) { var _props = this.props; var level = _props.level; var id = _props.id; var children = _props.children; var onSelect = _props.onSelect; var handleActive = _props.handleActive; var index = _props.index; handleActive(index, true); onSelect(id, children, level, index, event); if (this.props.onClick) { this.props.onClick(event); } }, handleEnter: function handleEnter(event) { var _props2 = this.props; var id = _props2.id; var children = _props2.children; var level = _props2.level; var handleActive = _props2.handleActive; var index = _props2.index; var onHover = _props2.onHover; var triggerType = _props2.triggerType; var focus = _props2.focus; if (triggerType === 'hover' && focus === false) { handleActive(index, focus); } if (onHover) { onHover(id, children, level, index, event); } if (this.props.onMouseEnter) { this.props.onMouseEnter(event); } }, render: function render() { var _props3 = this.props; var className = _props3.className; var children = _props3.children; var props = _objectWithoutProperties(_props3, ['className', 'children']); return _react2['default'].createElement( 'li', _extends({ className: _classnames2['default']('category-group-item', { 'active': this.props.active }, className) }, props, { onClick: this.handleClick, onMouseEnter: this.handleEnter }), _react2['default'].createElement( 'span', null, children ) ); } }); exports['default'] = CategoryItem; module.exports = exports['default'];