UNPKG

@spark-ui/components

Version:

Spark (Leboncoin design system) components.

80 lines (77 loc) 2.06 kB
import { VisuallyHidden } from "./chunk-NBZKMCHF.mjs"; // src/spinner/Spinner.styles.tsx import { makeVariants } from "@spark-ui/internal-utils"; import { cva } from "class-variance-authority"; var defaultVariants = { intent: "current", size: "current", isBackgroundVisible: false }; var spinnerStyles = cva( ["inline-block", "border-solid", "rounded-full", "border-md", "animate-spin"], { variants: { /** * Use `size` prop to set the size of the spinner. If you want to set the full size for the spinner, don't forget to add a wrapping container with its own size. */ size: { current: ["u-current-font-size"], sm: ["w-sz-20", "h-sz-20"], md: ["w-sz-28", "h-sz-28"], full: ["w-full", "h-full"] }, /** * Color scheme of the spinner. */ intent: makeVariants({ current: ["border-current"], main: ["border-main"], support: ["border-support"], accent: ["border-accent"], basic: ["border-basic"], success: ["border-success"], alert: ["border-alert"], error: ["border-error"], info: ["border-info"], neutral: ["border-neutral"] }), /** * Size of the button. */ isBackgroundVisible: { true: ["border-b-neutral-container", "border-l-neutral-container"], false: ["border-b-transparent", "border-l-transparent"] } }, defaultVariants } ); // src/spinner/Spinner.tsx import { jsx } from "react/jsx-runtime"; var Spinner = ({ className, size = "current", intent = "current", label, isBackgroundVisible, ref, ...others }) => { return /* @__PURE__ */ jsx( "span", { role: "status", "data-spark-component": "spinner", ref, className: spinnerStyles({ className, size, intent, isBackgroundVisible }), ...others, children: label && /* @__PURE__ */ jsx(VisuallyHidden, { children: label }) } ); }; export { Spinner }; //# sourceMappingURL=chunk-MUNDKRAE.mjs.map