Skip to content

Component Disclosure

MeowLynxSea edited this page Jan 24, 2026 · 5 revisions

Disclosure

A disclosure arrow (expanded/collapsed) visual primitive.

This is purely visual: it does not own state or toggle behavior.

Example

use yororen_ui::component::disclosure;

let collapsed = disclosure().expanded(false);
let expanded = disclosure().expanded(true);

When to use

  • Tree rows (expand/collapse)
  • Collapsible sections

Recipes

  • Guide-Recipes-ListTreeRow

API

  • disclosure(): constructor
  • id(...): stable identity
  • expanded(bool): whether to render expanded state
  • size(px(...)): icon size (default: 14px)

Notes

  • By default it uses ArrowRight when collapsed and ArrowDown when expanded.

Defaults

  • Size: 14px
  • Color: theme.content.tertiary

Example: Tree row affordance

Disclosure is usually paired with a row container (like ListItem).

use gpui::div;
use yororen_ui::component::{disclosure, label, list_item};

let expanded = false;

let row = list_item()
    .leading(disclosure().expanded(expanded))
    .content(div().child(label("Servers").strong(true)));

Clone this wiki locally