@stratakit/bricks
Version:
Small, modular components for StrataKit
57 lines (56 loc) • 1.56 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 })
]
}
);
});
DEV: Spinner.displayName = "Spinner";
var Spinner_default = Spinner;
export {
Spinner_default as default
};