UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

52 lines (49 loc) 2.25 kB
import { createVNode as _createVNode } from "vue"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import { defineComponent, inject } from 'vue'; import PropTypes from '../_util/vue-types'; import { getComponent } from '../_util/props-util'; import { defaultConfigProvider } from '../config-provider'; import { tuple } from '../_util/type'; export default defineComponent({ name: 'ACardMeta', props: { prefixCls: PropTypes.string, title: PropTypes.VNodeChild, description: PropTypes.VNodeChild, avatar: PropTypes.VNodeChild, theme: PropTypes.oneOf(tuple('default', 'gray')).def('default') }, setup: function setup() { return { configProvider: inject('configProvider', defaultConfigProvider) }; }, render: function render() { var _classString; var _this$$props = this.$props, customizePrefixCls = _this$$props.prefixCls, theme = _this$$props.theme; var getPrefixCls = this.configProvider.getPrefixCls; var prefixCls = getPrefixCls('card', customizePrefixCls); var classString = (_classString = {}, _defineProperty(_classString, "".concat(prefixCls, "-meta"), true), _defineProperty(_classString, "".concat(prefixCls, "-meta-").concat(theme), theme && theme !== 'default'), _classString); var avatar = getComponent(this, 'avatar'); var title = getComponent(this, 'title'); var description = getComponent(this, 'description'); var avatarDom = avatar ? _createVNode("div", { "class": "".concat(prefixCls, "-meta-avatar") }, [avatar]) : null; var titleDom = title ? _createVNode("div", { "class": "".concat(prefixCls, "-meta-title") }, [title]) : null; var descriptionDom = description ? _createVNode("div", { "class": "".concat(prefixCls, "-meta-description") }, [description]) : null; var MetaDetail = titleDom || descriptionDom ? _createVNode("div", { "class": "".concat(prefixCls, "-meta-detail") }, [titleDom, descriptionDom]) : null; return _createVNode("div", { "class": classString }, [avatarDom, MetaDetail]); } });