Toggle Button

A toggle button allows users to toggle a selection on or off, providing a way to switch between two states, such as enabling or disabling a feature.

Example

from deephaven import ui

my_toggle_button_basic = ui.toggle_button("Pin")

Toggle Button Basic Example

UI Recommendations

If you want to represent a binary choice for the user, consider using a checkbox.

Content

A toggle button accepts a label, an icon, or both as children.

from deephaven import ui


my_toggle_button = ui.toggle_button(ui.icon("pin"), ui.text("Pin content"))

Accessibility

If no text is passed into the toggle button, and hence, it has no visible label, the aria_label prop should be set for accessibility.

from deephaven import ui


my_toggle_button_accessibility_example = ui.toggle_button(
    ui.icon("pin"), aria_label="pin content"
)

Value

A toggle button is not selected by default. Use the default_selected prop to set the initial state (uncontrolled) or the is_selected prop to control the selected state.

from deephaven import ui


@ui.component
def ui_toggle_button_value_examples():
    selected, set_selected = ui.use_state(False)
    return [
        ui.text("Toggle Button (uncontrolled)"),
        ui.toggle_button("Pin", default_selected=True, width="90px"),
        ui.text("Toggle Button (controlled)"),
        ui.toggle_button(
            "Pin", is_selected=selected, on_change=set_selected, width="90px"
        ),
    ]


my_toggle_button_value_examples = ui_toggle_button_value_examples()

Events

The on_change property is triggered whenever the value in the toggle button group selection is changed.

from deephaven import ui


@ui.component
def ui_toggle_button_on_change_example():
    is_selected, set_is_selected = ui.use_state(False)
    return [
        ui.toggle_button(
            "Pin",
            is_selected=is_selected,
            on_change=set_is_selected,
        ),
        ui.text(
            f"The toggle button is: `{'selected' if is_selected else 'not selected'}`"
        ),
    ]


my_toggle_button_on_change_example = ui_toggle_button_on_change_example()

Quiet state

The is_quiet prop makes a toggle button “quiet”. This can be useful when the toggle button and its corresponding styling should not distract users from surrounding content.

from deephaven import ui


my_toggle_button_is_quiet_example = ui.toggle_button(
    "Pin",
    is_quiet=True,
)

Disabled state

The is_disabled prop disables a toggle button to prevent user interaction. This is useful when the toggle button should be visible but not available for selection.

from deephaven import ui


my_toggle_button_is_disabled_example = ui.toggle_button(
    "Pin",
    is_disabled=True,
)

Emphasized

The is_emphasized prop makes the toggle button the user’s accent color when selected, adding a visual prominence to the selection.

from deephaven import ui


my_toggle_button_is_emphasized_example = ui.toggle_button(
    "Pin",
    is_emphasized=True,
)

Static Color

The static_color prop can be used when the toggle button is placed over a colored background.

from deephaven import ui


my_toggle_button_static_color_example = ui.view(
    ui.toggle_button(
        ui.icon("pin"),
        ui.text("Pin content"),
        static_color="white",
    ),
    background_color="blue-700",
    padding="size-500",
)

API Reference

ToggleButtons allow users to toggle a selection on or off, for example switching between two states or modes.

Returns: Element The rendered toggle button element.

ParametersTypeDefaultDescription
*childrenAnyThe children to render inside the button.
is_emphasizedbool |
None
NoneWhether the button should be displayed with an emphasized style.
is_selectedbool |
None
NoneWhether the button is selected.
default_selectedbool |
None
NoneWhether the button is selected by default.
is_disabledbool |
None
NoneWhether the button is disabled.
auto_focusbool |
None
NoneWhether the button should automatically get focus when the page loads.
is_quietbool |
None
NoneWhether the button should be quiet.
static_colorLiteral['white', 'black'] |
None
NoneThe static color style to apply. Useful when the button appears over a color background.
typeLiteral['button', 'submit', 'reset']'button'The type of button to render. (default: "button")
keystr |
None
NoneA unique identifier used by React to render elements in a list.