@stratakit/bricks
Version:
Small, modular components for StrataKit
48 lines (47 loc) • 1.33 kB
JavaScript
import { jsx, jsxs } from "react/jsx-runtime";
import { Role } from "@ariakit/react/role";
import { forwardRef } from "@stratakit/foundations/secret-internals";
import cx from "classnames";
import { useInit } from "./~utils.useInit.js";
import VisuallyHidden from "./VisuallyHidden.js";
const Spinner = forwardRef((props, forwardedRef) => {
useInit();
const {
alt = "Loading\u2026",
size = "medium",
tone = "neutral",
...rest
} = props;
return /* @__PURE__ */ jsxs(Role, {
...rest,
"data-_sk-size": size,
"data-_sk-tone": tone,
"data-_sk-variant": "indeterminate",
className: cx("\u{1F95D}Spinner", props.className),
ref: forwardedRef,
children: [/* @__PURE__ */ jsxs("svg", {
"aria-hidden": "true",
className: "\u{1F95D}SpinnerSvg",
viewBox: "0 0 16 16",
children: [/* @__PURE__ */ jsx("circle", {
pathLength: "100",
className: "\u{1F95D}SpinnerSvgTrack",
cx: "8",
cy: "8",
r: "6.5"
}), /* @__PURE__ */ jsx("circle", {
pathLength: "100",
className: "\u{1F95D}SpinnerSvgFill",
cx: "8",
cy: "8",
r: "6.5"
})]
}), /* @__PURE__ */ jsx(VisuallyHidden, {
children: alt
})]
});
});
var Spinner_default = Spinner;
export {
Spinner_default as default
};