@progress/kendo-vue-indicators
Version:
95 lines (94 loc) • 2.68 kB
JavaScript
/**
* @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
};