This component no longer exists. It was in bejamas/ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-06 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
spinner
bejamas-ui/spinnerRemovedComponent
bejamas/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by bejamas/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.bejamas.com/r/spinner.jsonSource
1---2// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/spinner/Spinner.astro directly.3/**4 * @component Spinner5 * @title Spinner6 * @description A loading indicator component that displays an animated spinning icon.7 *8 * @preview9 *10 * <Item variant="muted" class="w-full max-w-xs">11 * <ItemMedia>12 * <Spinner />13 * </ItemMedia>14 * <ItemContent>15 * <ItemTitle class="line-clamp-1">Submitting Contact Form...</ItemTitle>16 * </ItemContent>17 * </Item>18 *19 * @usage20 *21 * ```astro nocollapse22 * ---23 * import { Spinner } from '@bejamas/ui/components/spinner';24 * ---25 *26 * <Spinner />27 * ```28 *29 * ## Customization30 *31 * You can replace the default spinner icon with any other icon by editing the `Spinner` component.32 *33 * ```astro showLineNumbers title="components/ui/spinner/Spinner.astro" nocollapse nopreview34 * ---35 * import { cn } from "@/lib/utils";36 * import { Loader as LoaderIcon } from "@lucide/astro";37 *38 * const { class: className = "", ...props } = Astro.props;39 * ---40 *41 * <LoaderIcon42 * data-slot="spinner"43 * role="status"44 * aria-label="Loading"45 * class={cn("cn-spinner", "size-4 animate-spin", className)}46 * {...props}47 * />48 * ```49 *50 * @examples51 *52 * ### Size53 *54 * Use the `size-*` utility class to change the size of the spinner.55 *56 * <div class="flex items-center gap-6">57 * <Spinner class="size-3" />58 * <Spinner class="size-4" />59 * <Spinner class="size-6" />60 * <Spinner class="size-8" />61 * </div>62 *63 * ### Button64 *65 * Add a spinner to a button to indicate a loading state. Remember to use the `data-icon` attribute for proper spacing.66 *67 * <div class="flex flex-col items-center gap-4">68 * <Button disabled size="sm">69 * <Spinner data-icon />70 * Loading...71 * </Button>72 * <Button variant="outline" disabled size="sm">73 * <Spinner data-icon />74 * Please wait75 * </Button>76 * <Button variant="secondary" disabled size="sm">77 * <Spinner data-icon />78 * Processing79 * </Button>80 * </div>81 *82 * ### Badge83 *84 * Add a spinner to a badge to indicate a loading state.85 *86 * <div class="flex items-center gap-4 [--radius:1.2rem]">87 * <Badge>88 * <Spinner data-icon />89 * Syncing90 * </Badge>91 * <Badge variant="secondary">92 * <Spinner data-icon />93 * Updating94 * </Badge>95 * <Badge variant="outline">96 * <Spinner data-icon />97 * Processing98 * </Badge>99 * </div>100 *101 * ### Input Group102 *103// … truncated
