UNPKG

@progress/kendo-vue-indicators

Version:
95 lines (94 loc) 2.68 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { defineComponent as o, createVNode as i } from "vue"; import { validatePackage as t } from "@progress/kendo-vue-common"; import { packageMetadata as l } from "../package-metadata.mjs"; const a = { pulsing: 2, "infinite-spinner": 3, "converging-spinner": 4 }, u = /* @__PURE__ */ o({ name: "KendoLoader", props: { type: { type: String, default: "pulsing", validator: function(e) { return ["pulsing", "infinite-spinner", "converging-spinner"].includes(e); } }, size: { type: String, default: "medium", validator: function(e) { return ["small", "medium", "large"].includes(e); } }, themeColor: { type: String, default: "primary", validator: function(e) { return ["primary", "secondary", "tertiary", "info", "success", "warning", "error", "dark", "light", "inverse"].includes(e); } } }, created() { t(l); }, computed: { loaderClasses() { const { type: e, size: n, themeColor: r } = this.$props; return { "k-loader": !0, "k-loader-sm": n === "small", "k-loader-md": n === "medium", "k-loader-lg": n === "large", "k-loader-primary": r === "primary", "k-loader-secondary": r === "secondary", "k-loader-tertiary": r === "tertiary", "k-loader-info": r === "info", "k-loader-success": r === "success", "k-loader-warning": r === "warning", "k-loader-error": r === "error", "k-loader-dark": r === "dark", "k-loader-light": r === "light", "k-loader-inverse": r === "inverse", "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, n = new Array(a[e]); return n.fill(0, 0, a[e]), i("div", { class: this.loaderClasses }, [i("div", { class: "k-loader-canvas" }, [n.map(function(r, s) { return i("span", { key: s, class: "k-loader-segment" }, null); }, this)])]); }, methods: { focus(e) { this.$el && this.$el.focus(e); } } }); export { u as Loader };