yanzhen-design-vue
Version:
72 lines (71 loc) • 3.19 kB
JavaScript
"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
const antDesignVue = require("ant-design-vue");
const useAvatar = require("./use-avatar.cjs");
const lodashEs = require("lodash-es");
const avatar = require("./avatar.cjs");
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...{
name: avatar.avatarName,
inheritAttrs: true
},
__name: "avatar",
props: avatar.avatarProps,
emits: avatar.avatarEmits,
setup(__props, { expose: __expose, emit: __emit }) {
const { ns } = avatar.avatarOptions;
const props = __props;
const emit = __emit;
const {
ctx: { _ref, _slots, _props, _text, src, errSrc, loadErrors },
templates: { DefineAvatarSlotTemplate, ReusableAvatarSlotTemplate },
handleImageError,
isLoadSuccessfully
} = useAvatar.useAvatar(props, emit);
__expose({
ref: _ref
});
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
vue.createVNode(vue.unref(DefineAvatarSlotTemplate), null, {
default: vue.withCtx(({ loadSrc }) => [
vue.createVNode(vue.unref(antDesignVue.Avatar), vue.mergeProps({
ref_key: "_ref",
ref: _ref,
class: [vue.unref(ns).b()],
"data-src": vue.unref(src),
src: loadSrc,
"load-error": () => vue.unref(handleImageError)(loadSrc)
}, vue.unref(lodashEs.omit)(vue.unref(_props), "src", "load-error")), vue.createSlots({ _: 2 }, [
vue.renderList(Object.keys(vue.unref(_slots)), (slot) => {
return {
name: slot,
fn: vue.withCtx((slotItem) => [
vue.unref(_slots)[slot] || slot === "default" ? vue.renderSlot(_ctx.$slots, slot, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotItem ?? {})), () => [
slot === "default" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
vue.createTextVNode(vue.toDisplayString(vue.unref(_text)), 1)
], 64)) : vue.createCommentVNode("", true)
]) : vue.createCommentVNode("", true)
])
};
})
]), 1040, ["class", "data-src", "src", "load-error"])
]),
_: 3
}),
vue.withDirectives(vue.createElementVNode("div", null, vue.toDisplayString(vue.unref(loadErrors)), 513), [
[vue.vShow, false]
]),
vue.unref(isLoadSuccessfully)(vue.unref(src)) ? (vue.openBlock(), vue.createBlock(vue.unref(ReusableAvatarSlotTemplate), {
key: 0,
"load-src": vue.unref(src)
}, null, 8, ["load-src"])) : vue.unref(isLoadSuccessfully)(vue.unref(errSrc)) ? (vue.openBlock(), vue.createBlock(vue.unref(ReusableAvatarSlotTemplate), {
key: 1,
"load-src": vue.unref(errSrc)
}, null, 8, ["load-src"])) : (vue.openBlock(), vue.createBlock(vue.unref(ReusableAvatarSlotTemplate), { key: 2 }))
], 64);
};
}
});
exports.default = _sfc_main;