All checks were successful
Deploy Docs to Synology / deploy (push) Successful in 4s
18 lines
581 B
JavaScript
18 lines
581 B
JavaScript
// components/Radial.js
|
|
import { Tag } from "sigpro";
|
|
|
|
export const Radial = (props, children) => {
|
|
children === undefined && (children = props, props = {});
|
|
const percentage = props.value != null ? (props.value / (props.max || 100)) * 100 : 0;
|
|
const style = `--value: ${percentage}; --max: 100;`;
|
|
|
|
return Tag("div", {
|
|
...props,
|
|
class: `radial-progress ${props.class ?? ''}`,
|
|
style: style,
|
|
role: "progressbar",
|
|
"aria-valuenow": props.value,
|
|
"aria-valuemin": 0,
|
|
"aria-valuemax": props.max || 100
|
|
}, children || `${Math.round(percentage)}%`);
|
|
}; |