xdesign-vue-next
Version:
XDesign Component for vue-next
71 lines (67 loc) • 2.47 kB
JavaScript
/**
* xdesign v1.0.6
* (c) 2023 xdesign
* @license MIT
*/
import { defineComponent, createVNode } from 'vue';
import props from './list-item-meta-props.js';
import { usePrefixClass } from '../hooks/useConfig.js';
import { useContent, useTNodeJSX } from '../hooks/tnode.js';
import isString from 'lodash/isString';
import '../config-provider/useConfig.js';
import 'lodash/isFunction';
import 'lodash/cloneDeep';
import '../config-provider/context.js';
import 'lodash/mergeWith';
import 'lodash/merge';
import '../_common/js/global-config/default-config.js';
import '../_common/js/global-config/locale/en_US.js';
import '../_chunks/dep-3a1cce9f.js';
import 'lodash/isArray';
import 'lodash/camelCase';
import 'lodash/kebabCase';
import '../utils/render-tnode.js';
import 'lodash/isEmpty';
import 'lodash/isObject';
var _ListItemMeta = defineComponent({
name: "XListItemMeta",
props: props,
setup: function setup(props2, ctx) {
var COMPONENT_NAME = usePrefixClass("list-item__meta");
var renderContent = useContent();
var renderTNodeJSX = useTNodeJSX();
var renderAvatar = function renderAvatar() {
if (props2.avatar || ctx.slots.avatar) {
console.warn("`avatar` is going to be deprecated, please use `image` instead");
}
var thumbnail = renderContent("avatar", "image");
if (!thumbnail) return;
if (isString(thumbnail)) {
return createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-avatar")
}, [createVNode("img", {
"src": thumbnail
}, null)]);
}
return createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-avatar")
}, [thumbnail]);
};
return function () {
var propsTitleContent = renderTNodeJSX("title");
var propsDescriptionContent = renderTNodeJSX("description");
var listItemMetaContent = [renderAvatar(), createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-content")
}, [propsTitleContent && createVNode("h3", {
"class": "".concat(COMPONENT_NAME.value, "-title")
}, [propsTitleContent]), propsDescriptionContent && createVNode("p", {
"class": "".concat(COMPONENT_NAME.value, "-description")
}, [propsDescriptionContent])])];
return createVNode("div", {
"class": COMPONENT_NAME.value
}, [listItemMetaContent]);
};
}
});
export { _ListItemMeta as default };
//# sourceMappingURL=list-item-meta.js.map