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

Checkbox

A macOS checkbox with checked, unchecked, and indeterminate states.

Import

use maccn::{MacCheckbox, MacCheckboxState};

Usage

MacCheckbox::new("agree")
    .checked(true)
    .on_change(|state, _, _, _| {
        println!("State: {:?}", state);
    })
    .child("I agree");

States

use gpui::div;
use maccn::{MacCheckbox, MacCheckboxState};
 
div()
    .flex()
    .flex_col()
    .gap_2()
    .child(MacCheckbox::new("check-unchecked").child("Unchecked"))
    .child(MacCheckbox::new("check-checked").checked(true).child("Checked"))
    .child(
        MacCheckbox::new("check-mixed")
            .indeterminate(true)
            .child("Indeterminate"),
    )

Sizes

use gpui::div;
use maccn::{MacCheckbox, MacControlSize};
 
div()
    .flex()
    .items_center()
    .gap_2()
    .child(
        MacCheckbox::new("check-xl")
            .size(MacControlSize::ExtraLarge)
            .checked(true)
            .child("XL"),
    )
    .child(
        MacCheckbox::new("check-l")
            .size(MacControlSize::Large)
            .checked(true)
            .child("L"),
    )
    .child(MacCheckbox::new("check-r").checked(true).child("R"))
    .child(
        MacCheckbox::new("check-s")
            .size(MacControlSize::Small)
            .checked(true)
            .child("S"),
    )
    .child(
        MacCheckbox::new("check-m")
            .size(MacControlSize::Mini)
            .checked(true)
            .child("M"),
    )

Disabled

use gpui::div;
use maccn::MacCheckbox;
 
div()
    .flex()
    .flex_col()
    .gap_2()
    .child(MacCheckbox::new("check-d1").disabled(true).child("Disabled"))
    .child(
        MacCheckbox::new("check-d2")
            .checked(true)
            .disabled(true)
            .child("Disabled checked"),
    )

API

Props

PropTypeDefault
sizeMacControlSizeRegular
checkedboolfalse
indeterminateboolfalse
disabledboolfalse

State

MethodDescription
state(MacCheckboxState)Sets the checkbox to any of the states.
checked(bool)Shortcut for Checked / Unchecked.
indeterminate(bool)Sets the mixed state when true.

Events

EventPayload
on_change(MacCheckboxState, &ClickEvent, &mut Window, &mut App)