UNPKG

@progress/kendo-vue-indicators

Version:
90 lines (89 loc) 2.43 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { defineComponent as t, createVNode as a } from "vue"; import { validatePackage as o } from "@progress/kendo-vue-common"; import { packageMetadata as l } from "../package-metadata.mjs"; const i = { pulsing: 2, "infinite-spinner": 3, "converging-spinner": 4 }, u = /* @__PURE__ */ t({ name: "KendoLoader", props: { type: { type: String, default: "pulsing", validator: function(e) { return ["pulsing", "infinite-spinner", "converging-spinner"].includes(e); } }, size: { type: String, validator: function(e) { return ["none", "small", "medium", "large"].includes(e); } }, themeColor: { type: String, default: void 0, validator: function(e) { return ["base", "primary", "secondary", "tertiary"].includes(e); } } }, created() { o(l); }, computed: { loaderClasses() { const { type: e, size: r, themeColor: n } = this.$props; return { "k-loader": !0, "k-loader-sm": r === "small", "k-loader-md": r === "medium", "k-loader-lg": r === "large", "k-loader-primary": n === "primary", "k-loader-secondary": n === "secondary", "k-loader-tertiary": n === "tertiary", "k-loader-base": n === "base", "k-loader-pulsing-2": e === "pulsing", "k-loader-spinner-3": e === "infinite-spinner", "k-loader-spinner-4": e === "converging-spinner" }; } }, render() { const { type: e } = this.$props, r = new Array(i[e]); return r.fill(0, 0, i[e]), a("div", { class: this.loaderClasses, role: "status", "aria-label": this.$attrs["aria-label"] || "Loading" }, [a("div", { class: "k-loader-canvas" }, [r.map(function(n, s) { return a("span", { key: s, class: "k-loader-segment" }, null); }, this)])]); }, methods: { focus(e) { this.$el && this.$el.focus(e); } } }); export { u as Loader };