UNPKG

maz-ui

Version:

A standalone components library for Vue.Js 3 & Nuxt.Js 3

39 lines (38 loc) 1.72 kB
import { defineComponent, onMounted, onUnmounted, createBlock, openBlock, Teleport, createElementVNode, mergeProps, createVNode, createElementBlock, createCommentVNode, renderSlot } from "vue"; import MazSpinner from "./MazSpinner.js"; import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper.B--vMWp3.js"; import '../assets/MazFullscreenLoader.W0InbLUf.css';const _hoisted_1 = { key: 0 }, _sfc_main = /* @__PURE__ */ defineComponent({ inheritAttrs: !1, __name: "MazFullscreenLoader", props: { color: { default: "primary" }, size: { default: "3em" }, teleportSelector: { default: "body" } }, setup(__props) { function addClassToDocument() { document.documentElement.classList.add("--maz-fullscreen-loader-present"); } function removeClassFromDocument() { document.documentElement.classList.remove("--maz-fullscreen-loader-present"); } return onMounted(() => { addClassToDocument(); }), onUnmounted(() => { removeClassFromDocument(); }), (_ctx, _cache) => (openBlock(), createBlock(Teleport, { to: _ctx.teleportSelector }, [ createElementVNode("div", mergeProps({ class: "m-fullscreen-loader m-reset-css" }, _ctx.$attrs), [ createVNode(MazSpinner, { color: _ctx.color, size: _ctx.size }, null, 8, ["color", "size"]), _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_1, [ renderSlot(_ctx.$slots, "default", {}, void 0, !0) ])) : createCommentVNode("", !0) ], 16) ], 8, ["to"])); } }), MazFullscreenLoader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-205ca873"]]); export { MazFullscreenLoader as default };