hongluan-business-ui
Version:
Hongluan Business Component Library for Vue 3
79 lines (74 loc) • 2.54 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var hongluanUi = require('hongluan-ui');
var util = require('../../../utils/util.js');
var imgEmpty = require('./img-empty.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
const _sfc_main = vue.defineComponent({
name: "Empty",
components: {
[imgEmpty["default"].name]: imgEmpty["default"]
},
props: {
image: {
type: String,
default: ""
},
imageSize: [Number, String],
description: {
type: String,
default: ""
}
},
setup(props) {
const { prefix } = util.usePrefix();
const { t } = hongluanUi.useLocale();
const emptyDescription = vue.computed(() => props.description || t("hl.table.emptyText"));
const imageStyle = vue.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 = vue.resolveComponent("img-empty");
return vue.openBlock(), vue.createElementBlock("div", {
class: vue.normalizeClass(_ctx.prefix + "-empty")
}, [
vue.createElementVNode("div", {
class: "empty-image",
style: vue.normalizeStyle(_ctx.imageStyle)
}, [
_ctx.image ? (vue.openBlock(), vue.createElementBlock("img", {
key: 0,
src: _ctx.image,
ondragstart: "return false"
}, null, 8, _hoisted_1)) : vue.renderSlot(_ctx.$slots, "image", { key: 1 }, () => [
vue.createVNode(_component_img_empty)
])
], 4),
vue.createElementVNode("div", _hoisted_2, [
_ctx.$slots.description ? vue.renderSlot(_ctx.$slots, "description", { key: 0 }) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_3, vue.toDisplayString(_ctx.emptyDescription), 1))
]),
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
vue.renderSlot(_ctx.$slots, "default")
])) : vue.createCommentVNode("v-if", true)
], 2);
}
var Empty = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
exports["default"] = Empty;
//# sourceMappingURL=index.js.map