UNPKG

@ohu-mobile/core

Version:
71 lines (70 loc) 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props")); var _defineComponent = require("../_utils/defineComponent"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = exports.default = (0, _defineComponent.defineComponent)('list-item').create({ props: { text: String, minorText: String, disabled: (0, _defineComponent.props)(Boolean).default(false), button: (0, _defineComponent.props)(Boolean).default(false), divider: (0, _defineComponent.props)(Boolean).default(true), paddingDivider: (0, _defineComponent.props)(Boolean).default(true), layoutReverse: (0, _defineComponent.props)(Boolean).default(false) }, render: function render() { var _this = this; var h = arguments[0]; var $slots = this.$slots, text = this.text, minorText = this.minorText, button = this.button, divider = this.divider, disabled = this.disabled, paddingDivider = this.paddingDivider, layoutReverse = this.layoutReverse; var hasAction = !!$slots.action; var root = this.$rootCls(); root.has([hasAction && 'action', divider && 'divider', paddingDivider && 'divider-padding']); root.is([button && 'button', disabled && 'disabled', layoutReverse && 'reverse']); var props = { class: root }; if (button) { props.on = { click: function click(e) { if (disabled) return; _this.$emit('click', e); }, touchstart: function touchstart(e) { _this.$emit('touchstart', e); } }; } var textNode = $slots.text || text; var minorTextNode = $slots.minorText || minorText; var textClass = root.block('text'); var centerNode = $slots.default ? $slots.default : h("div", { "class": textClass }, [textNode && h("span", { "class": textClass.element('primary') }, [textNode]), minorTextNode && h("p", { "class": textClass.element('minor') }, [minorTextNode])]); return h("li", (0, _babelHelperVueJsxMergeProps.default)([{}, props]), [h("div", { "class": root.element('main') }, [$slots.thumb && h("div", { "class": root.block('thumb') }, [$slots.thumb]), $slots.avatar && h("div", { "class": root.block('avatar') }, [$slots.avatar]), $slots.icon && h("div", { "class": root.block('icon') }, [$slots.icon]), centerNode]), hasAction && h("div", { "class": root.block('action') }, [$slots.action])]); } });