UNPKG

apeman-react-list

Version:
185 lines (144 loc) 13 kB
/** * List item component. * @class ApListItem */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApListItem = undefined; var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _apemanReactTouchable = require('apeman-react-touchable'); var _ap_list_item_icon = require('./ap_list_item_icon'); var _ap_list_item_icon2 = _interopRequireDefault(_ap_list_item_icon); var _ap_list_item_image = require('./ap_list_item_image'); var _ap_list_item_image2 = _interopRequireDefault(_ap_list_item_image); var _ap_list_item_text = require('./ap_list_item_text'); var _ap_list_item_text2 = _interopRequireDefault(_ap_list_item_text); var _ap_list_item_arrow_icon = require('./ap_list_item_arrow_icon'); var _ap_list_item_arrow_icon2 = _interopRequireDefault(_ap_list_item_arrow_icon); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var sizeString = function sizeString(size) { return isNaN(Number(size)) ? size : size + 'px'; }; /** @lends ApListItem */ var ApListItem = function (_Component) { (0, _inherits3.default)(ApListItem, _Component); function ApListItem() { (0, _classCallCheck3.default)(this, ApListItem); return (0, _possibleConstructorReturn3.default)(this, (ApListItem.__proto__ || (0, _getPrototypeOf2.default)(ApListItem)).apply(this, arguments)); } (0, _createClass3.default)(ApListItem, [{ key: 'render', value: function render() { var s = this; var props = s.props; var className = (0, _classnames2.default)('ap-list-item', props.className, { 'ap-list-item-tappable': props.hasTouch }); return _react2.default.createElement( 'li', { className: className }, _react2.default.createElement( 'a', { className: 'ap-list-item-inner', href: props.href, onClick: function onClick(e) { return e.preventDefault(); } }, _react2.default.createElement( 'span', { className: 'ap-list-item-aligner' }, '\xA0' ), props.imgSrc ? _react2.default.createElement(_ap_list_item_image2.default, { className: 'ap-list-item-sumbnail-image', src: props.imgSrc, alt: props.imgAlt, height: props.imgHeight, width: props.imgWidth }) : null, props.title ? _react2.default.createElement( _ap_list_item_text2.default, { className: 'ap-list-item-title-wrap' }, _react2.default.createElement( 'span', { className: 'ap-list-item-title' }, props.title ), _react2.default.createElement( 'span', { className: 'ap-list-item-sub-title' }, props.subTitle ) ) : null, props.children, props.icon ? _react2.default.createElement(_ap_list_item_icon2.default, { className: props.icon }) : null, props.disclosure ? _react2.default.createElement(_ap_list_item_arrow_icon2.default, { className: 'ap-list-item-disclosure-icon' }) : null, props.alt ? _react2.default.createElement( 'div', { className: 'ap-list-item-alt' }, props.alt ) : null ) ); } }]); return ApListItem; }(_react.Component); (0, _assign2.default)(ApListItem, { // -------------------- // Specs // -------------------- propTypes: { disclosure: _react.PropTypes.bool, imgSrc: _react.PropTypes.string, imgAlt: _react.PropTypes.string, imgWidth: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.string]), imgHeight: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.string]), /** Title of item */ title: _react.PropTypes.node, /** Sub title of item */ subTitle: _react.PropTypes.node, /** Custom icon class */ icon: _react.PropTypes.string, /** Data for events */ data: _react.PropTypes.object, /** Alt text */ alt: _react.PropTypes.string }, defaultProps: { disclosure: false, imgSrc: null, imgAlt: null, imgWidth: 72, imgHeight: 48, title: null, subTitle: null, data: null } }); exports.ApListItem = ApListItem; exports.default = (0, _apemanReactTouchable.withTouch)(ApListItem, { getTouchData: function getTouchData() { var s = this; var props = s.props; return props.data; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2xpc3RfaXRlbS5qc3giXSwibmFtZXMiOlsic2l6ZVN0cmluZyIsInNpemUiLCJpc05hTiIsIk51bWJlciIsIkFwTGlzdEl0ZW0iLCJzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJoYXNUb3VjaCIsImhyZWYiLCJlIiwicHJldmVudERlZmF1bHQiLCJpbWdTcmMiLCJpbWdBbHQiLCJpbWdIZWlnaHQiLCJpbWdXaWR0aCIsInRpdGxlIiwic3ViVGl0bGUiLCJjaGlsZHJlbiIsImljb24iLCJkaXNjbG9zdXJlIiwiYWx0IiwicHJvcFR5cGVzIiwiYm9vbCIsInN0cmluZyIsIm9uZU9mVHlwZSIsIm51bWJlciIsIm5vZGUiLCJkYXRhIiwib2JqZWN0IiwiZGVmYXVsdFByb3BzIiwiZ2V0VG91Y2hEYXRhIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7QUFLQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxTQUFiQSxVQUFhLENBQUNDLElBQUQ7QUFBQSxTQUFVQyxNQUFNQyxPQUFPRixJQUFQLENBQU4sSUFBc0JBLElBQXRCLEdBQWdDQSxJQUFoQyxPQUFWO0FBQUEsQ0FBbkI7O0FBRUE7O0lBQ01HLFU7Ozs7Ozs7Ozs7NkJBQ007QUFDUixVQUFNQyxJQUFJLElBQVY7QUFEUSxVQUVGQyxLQUZFLEdBRVFELENBRlIsQ0FFRkMsS0FGRTs7O0FBSVIsVUFBSUMsWUFBWSwwQkFBVyxjQUFYLEVBQTJCRCxNQUFNQyxTQUFqQyxFQUE0QztBQUMxRCxpQ0FBeUJELE1BQU1FO0FBRDJCLE9BQTVDLENBQWhCOztBQUlBLGFBQ0U7QUFBQTtBQUFBLFVBQUksV0FBWUQ7QUFBaEI7QUFFRTtBQUFBO0FBQUEsWUFBRyxXQUFVLG9CQUFiO0FBQ0csa0JBQU9ELE1BQU1HLElBRGhCO0FBRUcscUJBQVUsaUJBQUNDLENBQUQ7QUFBQSxxQkFBT0EsRUFBRUMsY0FBRixFQUFQO0FBQUE7QUFGYjtBQUlFO0FBQUE7QUFBQSxjQUFNLFdBQVUsc0JBQWhCO0FBQUE7QUFBQSxXQUpGO0FBTUlMLGdCQUFNTSxNQUFOLEdBQ0ksOERBQWlCLFdBQVUsNkJBQTNCO0FBQ2lCLGlCQUFNTixNQUFNTSxNQUQ3QjtBQUVpQixpQkFBTU4sTUFBTU8sTUFGN0I7QUFHaUIsb0JBQVNQLE1BQU1RLFNBSGhDO0FBSWlCLG1CQUFRUixNQUFNUyxRQUovQixHQURKLEdBTU0sSUFaVjtBQWVJVCxnQkFBTVUsS0FBTixHQUNJO0FBQUE7QUFBQSxjQUFnQixXQUFVLHlCQUExQjtBQUNFO0FBQUE7QUFBQSxnQkFBTSxXQUFVLG9CQUFoQjtBQUF1Q1Ysb0JBQU1VO0FBQTdDLGFBREY7QUFFRTtBQUFBO0FBQUEsZ0JBQU0sV0FBVSx3QkFBaEI7QUFBMkNWLG9CQUFNVztBQUFqRDtBQUZGLFdBREosR0FLTSxJQXBCVjtBQXNCSVgsZ0JBQU1ZLFFBdEJWO0FBd0JJWixnQkFBTWEsSUFBTixHQUNJLDZEQUFnQixXQUFZYixNQUFNYSxJQUFsQyxHQURKLEdBRU0sSUExQlY7QUE2QkliLGdCQUFNYyxVQUFOLEdBQ0ksbUVBQXFCLFdBQVUsOEJBQS9CLEdBREosR0FFTSxJQS9CVjtBQWtDSWQsZ0JBQU1lLEdBQU4sR0FDSTtBQUFBO0FBQUEsY0FBSyxXQUFVLGtCQUFmO0FBQW9DZixrQkFBTWU7QUFBMUMsV0FESixHQUVNO0FBcENWO0FBRkYsT0FERjtBQTRDRDs7Ozs7QUFHSCxzQkFBY2pCLFVBQWQsRUFBMEI7QUFDeEI7QUFDQTtBQUNBOztBQUVBa0IsYUFBVztBQUNURixnQkFBWSxpQkFBTUcsSUFEVDtBQUVUWCxZQUFRLGlCQUFNWSxNQUZMO0FBR1RYLFlBQVEsaUJBQU1XLE1BSEw7QUFJVFQsY0FBVSxpQkFBTVUsU0FBTixDQUFnQixDQUFFLGlCQUFNQyxNQUFSLEVBQWdCLGlCQUFNRixNQUF0QixDQUFoQixDQUpEO0FBS1RWLGVBQVcsaUJBQU1XLFNBQU4sQ0FBZ0IsQ0FBRSxpQkFBTUMsTUFBUixFQUFnQixpQkFBTUYsTUFBdEIsQ0FBaEIsQ0FMRjtBQU1UO0FBQ0FSLFdBQU8saUJBQU1XLElBUEo7QUFRVDtBQUNBVixjQUFVLGlCQUFNVSxJQVRQO0FBVVQ7QUFDQVIsVUFBTSxpQkFBTUssTUFYSDtBQVlUO0FBQ0FJLFVBQU0saUJBQU1DLE1BYkg7QUFjVDtBQUNBUixTQUFLLGlCQUFNRztBQWZGLEdBTGE7O0FBdUJ4Qk0sZ0JBQWM7QUFDWlYsZ0JBQVksS0FEQTtBQUVaUixZQUFRLElBRkk7QUFHWkMsWUFBUSxJQUhJO0FBSVpFLGNBQVUsRUFKRTtBQUtaRCxlQUFXLEVBTEM7QUFNWkUsV0FBTyxJQU5LO0FBT1pDLGNBQVUsSUFQRTtBQVFaVyxVQUFNO0FBUk07QUF2QlUsQ0FBMUI7O1FBbUNTeEIsVSxHQUFBQSxVO2tCQUNNLHFDQUFVQSxVQUFWLEVBQXNCO0FBQ25DMkIsY0FEbUMsMEJBQ25CO0FBQ2QsUUFBTTFCLElBQUksSUFBVjtBQURjLFFBRVJDLEtBRlEsR0FFRUQsQ0FGRixDQUVSQyxLQUZROztBQUdkLFdBQU9BLE1BQU1zQixJQUFiO0FBQ0Q7QUFMa0MsQ0FBdEIsQyIsImZpbGUiOiJhcF9saXN0X2l0ZW0uanN4Iiwic291cmNlUm9vdCI6ImxpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTGlzdCBpdGVtIGNvbXBvbmVudC5cbiAqIEBjbGFzcyBBcExpc3RJdGVtXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwgeyBQcm9wVHlwZXMgYXMgdHlwZXMsIENvbXBvbmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB7IHdpdGhUb3VjaCB9IGZyb20gJ2FwZW1hbi1yZWFjdC10b3VjaGFibGUnXG5pbXBvcnQgQXBMaXN0SXRlbUljb24gZnJvbSAnLi9hcF9saXN0X2l0ZW1faWNvbidcbmltcG9ydCBBcExpc3RJdGVtSW1hZ2UgZnJvbSAnLi9hcF9saXN0X2l0ZW1faW1hZ2UnXG5pbXBvcnQgQXBMaXN0SXRlbVRleHQgZnJvbSAnLi9hcF9saXN0X2l0ZW1fdGV4dCdcbmltcG9ydCBBcExpc3RJdGVtQXJyb3dJY29uIGZyb20gJy4vYXBfbGlzdF9pdGVtX2Fycm93X2ljb24nXG5cbmNvbnN0IHNpemVTdHJpbmcgPSAoc2l6ZSkgPT4gaXNOYU4oTnVtYmVyKHNpemUpKSA/IHNpemUgOiBgJHtzaXplfXB4YFxuXG4vKiogQGxlbmRzIEFwTGlzdEl0ZW0gKi9cbmNsYXNzIEFwTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgcHJvcHMgfSA9IHNcblxuICAgIGxldCBjbGFzc05hbWUgPSBjbGFzc25hbWVzKCdhcC1saXN0LWl0ZW0nLCBwcm9wcy5jbGFzc05hbWUsIHtcbiAgICAgICdhcC1saXN0LWl0ZW0tdGFwcGFibGUnOiBwcm9wcy5oYXNUb3VjaFxuICAgIH0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGxpIGNsYXNzTmFtZT17IGNsYXNzTmFtZSB9XG4gICAgICA+XG4gICAgICAgIDxhIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLWlubmVyJ1xuICAgICAgICAgICBocmVmPXsgcHJvcHMuaHJlZiB9XG4gICAgICAgICAgIG9uQ2xpY2s9eyAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLWFsaWduZXInPiZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5pbWdTcmMgPyAoXG4gICAgICAgICAgICAgICAgPEFwTGlzdEl0ZW1JbWFnZSBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS1zdW1ibmFpbC1pbWFnZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17IHByb3BzLmltZ1NyYyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9eyBwcm9wcy5pbWdBbHQgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsgcHJvcHMuaW1nSGVpZ2h0IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXsgcHJvcHMuaW1nV2lkdGggfS8+XG4gICAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3BzLnRpdGxlID8gKFxuICAgICAgICAgICAgICAgIDxBcExpc3RJdGVtVGV4dCBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS10aXRsZS13cmFwJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLXRpdGxlJz57IHByb3BzLnRpdGxlIH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS1zdWItdGl0bGUnPnsgcHJvcHMuc3ViVGl0bGUgfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L0FwTGlzdEl0ZW1UZXh0PlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICB7IHByb3BzLmNoaWxkcmVuIH1cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5pY29uID8gKFxuICAgICAgICAgICAgICAgIDxBcExpc3RJdGVtSWNvbiBjbGFzc05hbWU9eyBwcm9wcy5pY29uIH0vPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5kaXNjbG9zdXJlID8gKFxuICAgICAgICAgICAgICAgIDxBcExpc3RJdGVtQXJyb3dJY29uIGNsYXNzTmFtZT0nYXAtbGlzdC1pdGVtLWRpc2Nsb3N1cmUtaWNvbicvPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wcy5hbHQgPyAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2FwLWxpc3QtaXRlbS1hbHQnPnsgcHJvcHMuYWx0IH08L2Rpdj5cbiAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgKVxuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oQXBMaXN0SXRlbSwge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGVjc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3BUeXBlczoge1xuICAgIGRpc2Nsb3N1cmU6IHR5cGVzLmJvb2wsXG4gICAgaW1nU3JjOiB0eXBlcy5zdHJpbmcsXG4gICAgaW1nQWx0OiB0eXBlcy5zdHJpbmcsXG4gICAgaW1nV2lkdGg6IHR5cGVzLm9uZU9mVHlwZShbIHR5cGVzLm51bWJlciwgdHlwZXMuc3RyaW5nIF0pLFxuICAgIGltZ0hlaWdodDogdHlwZXMub25lT2ZUeXBlKFsgdHlwZXMubnVtYmVyLCB0eXBlcy5zdHJpbmcgXSksXG4gICAgLyoqIFRpdGxlIG9mIGl0ZW0gKi9cbiAgICB0aXRsZTogdHlwZXMubm9kZSxcbiAgICAvKiogU3ViIHRpdGxlIG9mIGl0ZW0gKi9cbiAgICBzdWJUaXRsZTogdHlwZXMubm9kZSxcbiAgICAvKiogQ3VzdG9tIGljb24gY2xhc3MgKi9cbiAgICBpY29uOiB0eXBlcy5zdHJpbmcsXG4gICAgLyoqIERhdGEgZm9yIGV2ZW50cyAqL1xuICAgIGRhdGE6IHR5cGVzLm9iamVjdCxcbiAgICAvKiogQWx0IHRleHQgKi9cbiAgICBhbHQ6IHR5cGVzLnN0cmluZ1xuICB9LFxuXG4gIGRlZmF1bHRQcm9wczoge1xuICAgIGRpc2Nsb3N1cmU6IGZhbHNlLFxuICAgIGltZ1NyYzogbnVsbCxcbiAgICBpbWdBbHQ6IG51bGwsXG4gICAgaW1nV2lkdGg6IDcyLFxuICAgIGltZ0hlaWdodDogNDgsXG4gICAgdGl0bGU6IG51bGwsXG4gICAgc3ViVGl0bGU6IG51bGwsXG4gICAgZGF0YTogbnVsbFxuICB9XG59KVxuXG5leHBvcnQgeyBBcExpc3RJdGVtIH1cbmV4cG9ydCBkZWZhdWx0IHdpdGhUb3VjaChBcExpc3RJdGVtLCB7XG4gIGdldFRvdWNoRGF0YSAoKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBsZXQgeyBwcm9wcyB9ID0gc1xuICAgIHJldHVybiBwcm9wcy5kYXRhXG4gIH1cbn0pXG4iXX0=