xdesign-vue-next
Version:
XDesign Component for vue-next
79 lines (71 loc) • 2.87 kB
JavaScript
/**
* xdesign v1.0.6
* (c) 2023 xdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var list_listItemMetaProps = require('./list-item-meta-props.js');
var hooks_useConfig = require('../hooks/useConfig.js');
var hooks_tnode = require('../hooks/tnode.js');
var isString = require('lodash/isString');
require('../config-provider/useConfig.js');
require('lodash/isFunction');
require('lodash/cloneDeep');
require('../config-provider/context.js');
require('lodash/mergeWith');
require('lodash/merge');
require('../_common/js/global-config/default-config.js');
require('../_common/js/global-config/locale/en_US.js');
require('../_chunks/dep-8d10b59f.js');
require('lodash/isArray');
require('lodash/camelCase');
require('lodash/kebabCase');
require('../utils/render-tnode.js');
require('lodash/isEmpty');
require('lodash/isObject');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
var _ListItemMeta = vue.defineComponent({
name: "XListItemMeta",
props: list_listItemMetaProps["default"],
setup: function setup(props2, ctx) {
var COMPONENT_NAME = hooks_useConfig.usePrefixClass("list-item__meta");
var renderContent = hooks_tnode.useContent();
var renderTNodeJSX = hooks_tnode.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__default["default"](thumbnail)) {
return vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-avatar")
}, [vue.createVNode("img", {
"src": thumbnail
}, null)]);
}
return vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-avatar")
}, [thumbnail]);
};
return function () {
var propsTitleContent = renderTNodeJSX("title");
var propsDescriptionContent = renderTNodeJSX("description");
var listItemMetaContent = [renderAvatar(), vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-content")
}, [propsTitleContent && vue.createVNode("h3", {
"class": "".concat(COMPONENT_NAME.value, "-title")
}, [propsTitleContent]), propsDescriptionContent && vue.createVNode("p", {
"class": "".concat(COMPONENT_NAME.value, "-description")
}, [propsDescriptionContent])])];
return vue.createVNode("div", {
"class": COMPONENT_NAME.value
}, [listItemMetaContent]);
};
}
});
exports["default"] = _ListItemMeta;
//# sourceMappingURL=list-item-meta.js.map