Checkbox

A control that allows the user to toggle between checked and unchecked states.

States

Checkboxes support three states: unchecked, checked, and indeterminate.

Unchecked

Checked

Indeterminate

Colors

Checkboxes support different color variants for the checked state.

Primary

Destructive

Success

Icon Variants

Checkboxes support different icon variants for the checked state.

Check (default)

Cross

Minus

Dot

With Label

Checkboxes can be combined with labels for accessibility.

Sizes

Checkboxes come in three sizes.

Small

Default

Large

Disabled

Checkboxes can be disabled to prevent interaction.

Disabled unchecked
Disabled checked

Form Example

A typical form with multiple checkboxes.

Select your interests:

Open Markdown
FreeCheckbox

Boolean form control with states.

Install with the Proa CLI
proa ui add checkbox

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)

//! Checkbox recipe - type-safe styling system for Checkbox component
//!
//! Provides size variants, color variants, icon variants, and base styling for the Checkbox component.

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

/// Base styles for the checkbox (without color-specific checked state styling)
mod base {
    use super::*;

    pub const CHECKBOX_BASE: &str = tw_join!(
        // Layout - peer for label styling
        "peer",
        // Size and shape
        "size-4",
        "shrink-0",
        "rounded-[4px]",

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