Select

A dropdown selection component for choosing from a list of options.

rsjs Controlled Selects

Two controlled selects update parent-owned signals and summary text.

Basic Usage

A basic select with options.

With Default Value

A select with a pre-selected value.

Sizes

Select comes in three sizes.

Small

Default

Large

Disabled Options

Individual options can be disabled.

Disabled State

The entire select can be disabled.

Form Example

Select within a form with labels.

With ARIA Label

Accessible select with aria-label for screen readers.

Custom Class

Select with custom styling via className.

Open Markdown
FreeSelect

Native select styling and form integration.

Install with the Proa CLI
proa ui add select

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

//! Select recipe - type-safe styling system for Select component
//!
//! Provides size variants and base styling for the Select component.

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

/// Base styles for the select
mod base {
    use super::*;

    pub const SELECT_BASE: &str = tw_join!(
        // Layout
        "flex w-full items-center justify-between",
        // Typography
        "text-base md:text-sm",
        // Colors
        "bg-transparent",

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