For the complete documentation index, see llms.txt. Markdown variants are available by appending .md to any URL or sending an Accept: text/markdown header. An agent skill is available at /.well-known/agent-skills/site-skill.md.
/
3
Sponsor

Pop-Up Button

A dropdown button that opens a menu of selectable items.

Import

use maccn::{MacPopUpButton, MacPopUpButtonItem};

Usage

MacPopUpButton::new("format")
    .placeholder("Choose format")
    .items(vec![
        MacPopUpButtonItem::new("PDF"),
        MacPopUpButtonItem::new("PNG"),
        MacPopUpButtonItem::separator(),
        MacPopUpButtonItem::new("Custom").disabled(true),
    ])
    .selected(Some(0));

Sizes

use gpui::div;
use maccn::{MacControlSize, MacPopUpButton};
 
div()
    .flex()
    .items_center()
    .gap_2()
    .child(
        MacPopUpButton::new("popup-xl")
            .size(MacControlSize::ExtraLarge)
            .placeholder("Extra Large"),
    )
    .child(
        MacPopUpButton::new("popup-l")
            .size(MacControlSize::Large)
            .placeholder("Large"),
    )
    .child(MacPopUpButton::new("popup-r").placeholder("Regular"))
    .child(
        MacPopUpButton::new("popup-s")
            .size(MacControlSize::Small)
            .placeholder("Small"),
    )
    .child(
        MacPopUpButton::new("popup-m")
            .size(MacControlSize::Mini)
            .placeholder("Mini"),
    )

States

use gpui::div;
use maccn::{MacPopUpButton, MacPopUpButtonItem};
 
div()
    .flex()
    .flex_col()
    .gap_2()
    .child(
        MacPopUpButton::new("popup-d")
            .disabled(true)
            .placeholder("Disabled"),
    )
    .child(
        MacPopUpButton::new("popup-item-d")
            .placeholder("With disabled item")
            .items(vec![
                MacPopUpButtonItem::new("Red"),
                MacPopUpButtonItem::new("Green").disabled(true),
                MacPopUpButtonItem::new("Blue"),
            ]),
    )

API

MacPopUpButton Props

PropTypeDefault
sizeMacControlSizeRegular
selectedOption<usize>None
placeholderSharedString"Select"
disabledboolfalse

MacPopUpButton Methods

MethodDescription
item(MacPopUpButtonItem)Appends a single item.
items(impl IntoIterator<Item = MacPopUpButtonItem>)Replaces all items.

MacPopUpButtonItem

MethodDescription
new(label: impl Into<SharedString>)Creates a selectable item.
disabled(bool)Disables the item.
on_select(handler: Fn(&mut Window, &mut App))Called when the item is selected.
separator()Creates a menu separator.