hongluan-business-ui
Version:
Hongluan Business Component Library for Vue 3
75 lines (72 loc) • 2.49 kB
JavaScript
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, renderSlot, createVNode, toDisplayString, createCommentVNode } from 'vue';
import { useLocale } from 'hongluan-ui';
import { usePrefix } from '../../../utils/util.mjs';
import ImgEmpty from './img-empty.mjs';
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
const _sfc_main = defineComponent({
name: "Empty",
components: {
[ImgEmpty.name]: ImgEmpty
},
props: {
image: {
type: String,
default: ""
},
imageSize: [Number, String],
description: {
type: String,
default: ""
}
},
setup(props) {
const { prefix } = usePrefix();
const { t } = useLocale();
const emptyDescription = computed(() => props.description || t("hl.table.emptyText"));
const imageStyle = computed(() => {
return {
width: props.imageSize ? `${props.imageSize}${typeof props.imageSize === "number" ? "px" : ""}` : ""
};
});
return {
prefix,
emptyDescription,
imageStyle
};
}
});
const _hoisted_1 = ["src"];
const _hoisted_2 = { class: "empty-description" };
const _hoisted_3 = { key: 1 };
const _hoisted_4 = {
key: 0,
class: "empty-bottom"
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_img_empty = resolveComponent("img-empty");
return openBlock(), createElementBlock("div", {
class: normalizeClass(_ctx.prefix + "-empty")
}, [
createElementVNode("div", {
class: "empty-image",
style: normalizeStyle(_ctx.imageStyle)
}, [
_ctx.image ? (openBlock(), createElementBlock("img", {
key: 0,
src: _ctx.image,
ondragstart: "return false"
}, null, 8, _hoisted_1)) : renderSlot(_ctx.$slots, "image", { key: 1 }, () => [
createVNode(_component_img_empty)
])
], 4),
createElementVNode("div", _hoisted_2, [
_ctx.$slots.description ? renderSlot(_ctx.$slots, "description", { key: 0 }) : (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(_ctx.emptyDescription), 1))
]),
_ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_4, [
renderSlot(_ctx.$slots, "default")
])) : createCommentVNode("v-if", true)
], 2);
}
var Empty = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export { Empty as default };
//# sourceMappingURL=index.mjs.map