UNPKG

@sandlada/vue-mdc

Version:

![Vue MDC Logo](https://raw.githubusercontent.com/sandlada/vue-mdc/refs/heads/main/docs/vue-mdc-cover.png)

49 lines (48 loc) 1.56 kB
/** * @license * Copyright 2025 Sandlada & Kai Orion * SPDX-License-Identifier: MIT */ import { defineComponent, createVNode } from "vue"; import { componentNamePrefix } from "../../internals/component-name-prefix/component-name-prefix.js"; import { props } from "./circular-progress.definition.js"; import css from "./styles/progress.module.scss.js"; const CircularProgress = /* @__PURE__ */ defineComponent({ name: `${componentNamePrefix}-circular-progress`, props, slots: {}, render() { return createVNode("div", { "data-component": "circular-progress", "class": [css["circular-progress"], this.indeterminate && css.indeterminate], "role": "progressbar", "aria-valuemin": "0", "aria-valuemax": this.max, "aria-valuenow": this.indeterminate ? 0 : this.value }, [this.indeterminate ? createVNode("div", { "class": css.spinner }, [createVNode("div", { "class": css.left }, [createVNode("div", { "class": css.circle }, null)]), createVNode("div", { "class": css.right }, [createVNode("div", { "class": css.circle }, null)])]) : createVNode("svg", { "viewBox": "0 0 4800 4800" }, [createVNode("circle", { "class": css.track, "pathLength": "100" }, null), createVNode("circle", { "class": css["active-track"], "pathLength": "100", "stroke-dashoffset": (1 - this.value / this.max) * 100 }, null)])]); }, inheritAttrs: true }); export { CircularProgress }; //# sourceMappingURL=circular-progress.js.map