UNPKG

modo-mobile

Version:

A mobile UI toolkit, based on React

103 lines (95 loc) 4.39 kB
import _extends from 'babel-runtime/helpers/extends'; import _defineProperty from 'babel-runtime/helpers/defineProperty'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _createClass from 'babel-runtime/helpers/createClass'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; var __rest = this && this.__rest || function (s, e) { var t = {}; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]]; }return t; }; import * as React from 'react'; import classnames from 'classnames'; import Icon from '../icon'; var ListItem = function (_React$PureComponent) { _inherits(ListItem, _React$PureComponent); function ListItem() { _classCallCheck(this, ListItem); return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments)); } _createClass(ListItem, [{ key: 'render', value: function render() { var _classnames; var _a = this.props, prefixCls = _a.prefixCls, children = _a.children, className = _a.className, style = _a.style, disabled = _a.disabled, align = _a.align, title = _a.title, brief = _a.brief, wrap = _a.wrap, arrow = _a.arrow, extra = _a.extra, solid = _a.solid, restProps = __rest(_a, ["prefixCls", "children", "className", "style", "disabled", "align", "title", "brief", "wrap", "arrow", "extra", "solid"]); var wrapCls = classnames('' + prefixCls, className, (_classnames = {}, _defineProperty(_classnames, prefixCls + '-has-arrow', arrow !== ''), _defineProperty(_classnames, prefixCls + '-disabled', disabled), _defineProperty(_classnames, prefixCls + '-' + align, align), _classnames)); var contentCls = classnames(prefixCls + '-content', _defineProperty({}, prefixCls + '-content-wrap', wrap)); var arrowCls = classnames(prefixCls + '-arrow', _defineProperty({}, prefixCls + '-arrow-' + arrow, arrow)); var labelCls = classnames(prefixCls + '-label', _defineProperty({}, prefixCls + '-label-solid', solid)); var extraDom = extra ? React.createElement( 'div', { className: prefixCls + '-extra' }, typeof extra === 'string' ? React.createElement('img', { src: extra }) : extra ) : null; var arrowDom = arrow && React.createElement( 'div', { className: arrowCls, 'aria-hidden': 'true' }, React.createElement(Icon, { type: 'right' }) ); return React.createElement( 'div', _extends({ className: wrapCls, style: style }, restProps), React.createElement( 'div', { className: prefixCls + '-inner' }, extraDom, React.createElement( 'div', { className: labelCls }, React.createElement( 'div', { className: prefixCls + '-title' }, title ), brief ? React.createElement( 'div', { className: prefixCls + '-brief' }, brief ) : null ), React.createElement( 'div', { className: contentCls }, children !== undefined && children ), arrowDom ) ); } }]); return ListItem; }(React.PureComponent); export default ListItem; ListItem.defaultProps = { prefixCls: 'm-list-item', align: 'right', arrow: '', solid: false };