Collapsible

An interactive component which expands/collapses a panel.

Default

A collapsible section with a trigger button. Click the icon to expand.

@peduarte starred 3 repositories

@radix-ui/primitives
@radix-ui/colors
@stitches/react

Disabled

A disabled collapsible cannot be toggled by the user.

@peduarte starred 3 repositories

@radix-ui/primitives
@radix-ui/colors
@stitches/react

Open by Default

A collapsible that starts in the expanded state.

@peduarte starred 3 repositories

@radix-ui/primitives
@radix-ui/colors
@stitches/react
Open Markdown
FreeCollapsible

Show/hide regions without a bespoke controller.

Install with the Proa CLI
proa ui add collapsible

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

//! Collapsible recipe — static named slots for disclosure parts.

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

const COLLAPSIBLE_ROOT: &str = "";
const COLLAPSIBLE_TRIGGER: &str = "";
const COLLAPSIBLE_CONTENT: &str = tw_join!("overflow-hidden", "data-[state=closed]:hidden");

/// Optional inputs accepted by [`CollapsibleRecipe::resolve`].
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct CollapsibleRecipeProps;

/// Static named classes for every Collapsible part.
#[derive(Debug, Clone, Copy)]
pub struct CollapsibleRecipe {
    pub root: &'static str,
    pub trigger: &'static str,

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