You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2 KiB

import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
// Utils
import { createNamespace } from '../utils';
import { inherit } from '../utils/functional';
import { BORDER_TOP } from '../utils/constant'; // Components
import Cell from '../cell';
import CellGroup from '../cell-group'; // Types
var _createNamespace = createNamespace('panel'),
createComponent = _createNamespace[0],
bem = _createNamespace[1];
function Panel(h, props, slots, ctx) {
var Content = function Content() {
return [slots.header ? slots.header() : h(Cell, {
"attrs": {
"icon": props.icon,
"label": props.desc,
"title": props.title,
"value": props.status,
"valueClass": bem('header-value')
},
"class": bem('header')
}), h("div", {
"class": bem('content')
}, [slots.default && slots.default()]), slots.footer && h("div", {
"class": [bem('footer'), BORDER_TOP]
}, [slots.footer()])];
};
return h(CellGroup, _mergeJSXProps([{
"class": bem(),
"scopedSlots": {
default: Content
}
}, inherit(ctx, true)]));
}
Panel.props = {
icon: String,
desc: String,
title: String,
status: String
};
export default createComponent(Panel);