yuang-framework-ui-pc
Version:
yuang-framework-ui-pc Library
67 lines (66 loc) • 2.91 kB
JavaScript
import { defineComponent, computed, resolveComponent, resolveDirective, withDirectives, createBlock, openBlock, normalizeClass, withCtx, renderSlot, createCommentVNode, createElementBlock, normalizeStyle, createElementVNode, toDisplayString, vShow } from "vue";
import { vLoading } from "element-plus";
import ReceiverView from "../ele-config-provider/components/receiver-view";
import { loadingProps } from "./props";
const _sfc_main = defineComponent({
name: "EleLoading",
directives: { loading: vLoading },
components: { ReceiverView },
props: loadingProps,
setup(props) {
const isCircle = computed(() => {
return props.type === "circle";
});
return { isCircle };
}
});
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_ReceiverView = resolveComponent("ReceiverView");
const _directive_loading = resolveDirective("loading");
return withDirectives((openBlock(), createBlock(_component_ReceiverView, {
"element-loading-text": _ctx.isCircle ? _ctx.text : void 0,
"element-loading-background": _ctx.isCircle ? _ctx.background : void 0,
"element-loading-spinner": _ctx.isCircle ? _ctx.spinner : void 0,
"element-loading-svg-view-box": _ctx.isCircle ? _ctx.svgViewBox : void 0,
class: normalizeClass(["ele-loading", { "ele-loading-show": _ctx.loading }])
}, {
default: withCtx(() => [
renderSlot(_ctx.$slots, "default"),
!_ctx.isCircle ? withDirectives((openBlock(), createElementBlock("div", {
key: 0,
style: normalizeStyle(_ctx.spinnerStyle),
class: normalizeClass(["ele-loading-spinner", { "ele-loading-blur": _ctx.blur }, { "ele-loading-small": _ctx.size === "small" }, { "ele-loading-large": _ctx.size === "large" }])
}, [
renderSlot(_ctx.$slots, "spinner", {}, () => [
_cache[0] || (_cache[0] = createElementVNode("div", { class: "ele-loading-dot" }, [
createElementVNode("i"),
createElementVNode("i"),
createElementVNode("i"),
createElementVNode("i")
], -1))
]),
_ctx.text ? (openBlock(), createElementBlock("div", {
key: 0,
class: "ele-loading-text",
style: normalizeStyle(_ctx.textStyle)
}, toDisplayString(_ctx.text), 5)) : createCommentVNode("", true)
], 6)), [
[vShow, _ctx.loading]
]) : createCommentVNode("", true)
]),
_: 3
}, 8, ["element-loading-text", "element-loading-background", "element-loading-spinner", "element-loading-svg-view-box", "class"])), [
[_directive_loading, _ctx.isCircle && _ctx.loading]
]);
}
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
index as default
};