Meta.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = exports.cardMetaProps = void 0;
  7. var _vue = require("vue");
  8. var _propsUtil = require("../_util/props-util");
  9. var _useConfigInject = _interopRequireDefault(require("../config-provider/hooks/useConfigInject"));
  10. var _type = require("../_util/type");
  11. const cardMetaProps = () => ({
  12. prefixCls: String,
  13. title: (0, _type.vNodeType)(),
  14. description: (0, _type.vNodeType)(),
  15. avatar: (0, _type.vNodeType)()
  16. });
  17. exports.cardMetaProps = cardMetaProps;
  18. var _default = exports.default = (0, _vue.defineComponent)({
  19. compatConfig: {
  20. MODE: 3
  21. },
  22. name: 'ACardMeta',
  23. props: cardMetaProps(),
  24. slots: Object,
  25. setup(props, _ref) {
  26. let {
  27. slots
  28. } = _ref;
  29. const {
  30. prefixCls
  31. } = (0, _useConfigInject.default)('card', props);
  32. return () => {
  33. const classString = {
  34. [`${prefixCls.value}-meta`]: true
  35. };
  36. const avatar = (0, _propsUtil.getPropsSlot)(slots, props, 'avatar');
  37. const title = (0, _propsUtil.getPropsSlot)(slots, props, 'title');
  38. const description = (0, _propsUtil.getPropsSlot)(slots, props, 'description');
  39. const avatarDom = avatar ? (0, _vue.createVNode)("div", {
  40. "class": `${prefixCls.value}-meta-avatar`
  41. }, [avatar]) : null;
  42. const titleDom = title ? (0, _vue.createVNode)("div", {
  43. "class": `${prefixCls.value}-meta-title`
  44. }, [title]) : null;
  45. const descriptionDom = description ? (0, _vue.createVNode)("div", {
  46. "class": `${prefixCls.value}-meta-description`
  47. }, [description]) : null;
  48. const MetaDetail = titleDom || descriptionDom ? (0, _vue.createVNode)("div", {
  49. "class": `${prefixCls.value}-meta-detail`
  50. }, [titleDom, descriptionDom]) : null;
  51. return (0, _vue.createVNode)("div", {
  52. "class": classString
  53. }, [avatarDom, MetaDetail]);
  54. };
  55. }
  56. });