@zhsz/cool-design-dv
Version:
87 lines (86 loc) • 2.31 kB
JavaScript
import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, createElementVNode, renderSlot } from "vue";
import Box from "../dv-box/index.mjs";
import "./style.css";
const _hoisted_1 = /* @__PURE__ */ createElementVNode("svg", {
width: "50px",
height: "50px"
}, [
/* @__PURE__ */ createElementVNode("circle", {
cx: "25",
cy: "25",
r: "20",
fill: "transparent",
"stroke-width": "3",
"stroke-dasharray": "31.415, 31.415",
stroke: "#02bcfe",
"stroke-linecap": "round"
}, [
/* @__PURE__ */ createElementVNode("animateTransform", {
attributeName: "transform",
type: "rotate",
values: "0, 25 25;360, 25 25",
dur: "1.5s",
repeatCount: "indefinite"
}),
/* @__PURE__ */ createElementVNode("animate", {
attributeName: "stroke",
values: "#02bcfe;#3be6cb;#02bcfe",
dur: "3s",
repeatCount: "indefinite"
})
]),
/* @__PURE__ */ createElementVNode("circle", {
cx: "25",
cy: "25",
r: "10",
fill: "transparent",
"stroke-width": "3",
"stroke-dasharray": "15.7, 15.7",
stroke: "#3be6cb",
"stroke-linecap": "round"
}, [
/* @__PURE__ */ createElementVNode("animateTransform", {
attributeName: "transform",
type: "rotate",
values: "360, 25 25;0, 25 25",
dur: "1.5s",
repeatCount: "indefinite"
}),
/* @__PURE__ */ createElementVNode("animate", {
attributeName: "stroke",
values: "#3be6cb;#02bcfe;#3be6cb",
dur: "3s",
repeatCount: "indefinite"
})
])
], -1);
const _hoisted_2 = { class: "my-dv-loading__tip" };
const __default__ = defineComponent({
name: "DvLoading"
});
const _sfc_main = /* @__PURE__ */ defineComponent({
...__default__,
setup(__props) {
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Box), mergeProps({
class: "my-dv-loading",
"default-width": "auto",
"default-height": "auto"
}, _ctx.$attrs, {
"x-align": "center",
"y-align": "middle"
}), {
default: withCtx(() => [
_hoisted_1,
createElementVNode("div", _hoisted_2, [
renderSlot(_ctx.$slots, "default")
])
]),
_: 3
}, 16);
};
}
});
export {
_sfc_main as default
};