Spinner

Loading indicator for async operations.

Sizes

Spinners come in four sizes.

Small

Medium

Large

Extra Large

With Text

Combine spinners with loading text.

Loading...
Open Markdown
FreeSpinner

Compact loading indicators.

Install with the Proa CLI
proa ui add spinner

Installs the reviewed component source, dependencies, shared support files, and required legal notices.

CLI and registry setup
recipe.rs
// SPDX-FileCopyrightText: 2026 Proa Labs, Inc.
// SPDX-License-Identifier: (MIT OR Apache-2.0) AND MIT AND (ISC AND MIT)

//! Spinner recipe - type-safe styling system for Spinner component
//!
//! Inspired by Panda CSS and Ark UI patterns, this module provides a fully
//! typed recipe system for generating Tailwind classes with compile-time safety.

use proa_core::shared::attr_value::AttrValue;
use proa_core::{DataLoader, WebContext, WriteBuf, WriteError};

/// Base styles module - core spinner styling
mod base {
    use crate::theme::{animate, shadcn_utils};
    use crate::tw_join;

    pub const SPINNER_BASE: &str = tw_join!(
        "lucide",
        "lucide-loader-circle",
        animate::SPIN,
        shadcn_utils::SHRINK_0
    );

Search

Type at least 2 characters

Customize

Make it yours

Palette

Radius

Overview
Components
Settings

Build your own

Themed Proa UI surface

Preview
Components52
RecipesTyped
customer-portal