@ohu-mobile/core
Version:
46 lines (45 loc) • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _vnode = require("../_utils/vnode");
var _CardHeader = require("./CardHeader");
var _Divider = _interopRequireDefault(require("../Divider"));
var _defineComponent = require("../_utils/defineComponent");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Card = (0, _defineComponent.defineComponent)('card').create({
props: {
shadow: (0, _defineComponent.props)(Boolean).default(false),
borderless: (0, _defineComponent.props)(Boolean).default(false),
divider: (0, _defineComponent.props)(Boolean).default(false),
padding: (0, _defineComponent.props)(Boolean).default(true)
},
render: function render() {
var h = arguments[0];
var root = this.$rootCls();
var $slots = this.$slots,
divider = this.divider;
root.has([!this.borderless && this.shadow && 'shadow', !this.borderless && 'radius', this.padding && 'padding']);
// detect card-header, extra other vnode as content
if ($slots.default instanceof Array) {
var headerNodes = (0, _vnode.getVNodesByName)($slots.default, _CardHeader.cardHeaderBaseName);
if (headerNodes.length > 0) {
var contentNodes = (0, _vnode.getVNodesByName)($slots.default, function (name) {
return name !== _CardHeader.cardHeaderBaseName;
});
return h("div", {
"class": root
}, [headerNodes, divider && h(_Divider.default), contentNodes.length > 0 && h("div", {
"class": root.element('content')
}, [contentNodes])]);
}
}
return h("div", {
"class": root
}, [h("div", {
"class": root.element('content')
}, [$slots.default])]);
}
});
var _default = exports.default = Card;