Toggle Buttons

Toggle button styles used to create interactive on/off controls, option selectors, and form-based toggle inputs.
Local
Important: Some toggle and switch elements may include the is-checked addon class only to make active-state content visible while editing in the Designer. Before publishing, remove is-checked where it is not part of the intended default state so the component loads correctly on page load.

Toggle Individual Button

Toggle buttons controlled through interactions. These toggles are useful when the button state is used to control visual changes, open/close behavior, or custom interaction states.
Local toggle interactions are found in the Interactions (X) panel under Button Toggle - Page Load, Button Toggle - Open & Auto Reset, and Button Toggle - Click/Hover. These interactions are controlled through add-on classes applied to the main toggle-button class. These addon classes define how the toggle is triggered, such as i-click, i-hover, or i-auto-reset. When the toggle is active, each element with b-toggle = state receives the is-checked class. When the toggle is turned off, is-checked is removed. This makes the toggle state easy to control because the interaction only needs to add or remove one state class, while the visual styling is handled through the is-checked addon class.
Swap Button Style & Auto Reset
Button styles that switch to an alternate visual state on click, then automatically return to the default state after a set duration.
toggle-button
i-auto-reset
|
|
toggle-off
is-checked
|
toggle-on
is-checked
|
|
button
Button
Copy
Copied
Icon Button
Single Button Style & Auto Reset
This interaction swaps the button content on click, then automatically returns to the initial content after a set duration.
toggle-button
i-auto-reset
|
|
button
|
|
toggle-off
is-checked
|
toggle-on
is-checked
Button
Copy
Copied
Icon Button
Swap Button Style
This button switches both its visual style and content on click or hover, then remains in the selected state until changed manually.
Click
Hover
toggle-button
i-click
|
|
toggle-off
is-checked
|
toggle-on
is-checked
|
|
button
toggle-button
i-hover
|
|
toggle-off
is-checked
|
toggle-on
is-checked
|
|
button
Button
Open
Close
Icon Button
-
Open
Close
-
Single Button Style
This interaction swaps the button content on click or hover, then keeps the selected state until changed manually.
Click
Hover
toggle-button
i-click
|
|
button
|
|
toggle-off
is-checked
|
toggle-on
is-checked
Button
Off
On
Icon Button
toggle-button
i-hover
|
|
button
|
|
toggle-off
is-checked
|
toggle-on
is-checked
Button
Off
On
Icon Button
Checked Button State
Visual button state shown when the toggle is checked.
toggle-button
i-click
|
|
button
is-checked
Button
Button
Icon Button
toggle-button
i-click
|
|
button
is-checked
|
|
toggle-off
is-checked
|
toggle-on
is-checked
Button with Swappable Content
Off
On
Icon Button with Swappable Content

Switch

Switch buttons controlled through interactions, allowing the on/off state to be handled directly inside the component structure.
Local switch interactions are found in the Interactions (X) panel under Switch - Page Load and Switch - Toggle. These interactions are controlled through add-on classes applied to the main switch-toggle class. These addon classes define how the switch is triggered, such as i-start-checked, or i-start-unchecked. When the switch is turned on, each element with b-toggle = state receives the is-checked class. When the switch is turned off, is-checked is removed. This makes the switch state easy to control because the interaction only needs to add or remove one state class, while the visual styling is handled through the is-checked addon class.
switch
|
|
switch-off
is-checked
|
switch-on
is-checked
|
switch-toggle
i-start-*
|
|
switch-size
|
|
switch-track
is-checked
|
|
switch-position
is-checked
|
switch-thumb
is-checked
Base
Unchecked
switch-toggle
i-start-unchecked
Label
Off
On
Off
On
Checked
switch-toggle
i-start-checked
Label
Off
On
Colors
Secondary
switch-track
is-secondary
|
|
switch-thumb
is-secondary
Label
Off
On
Tertiary
switch-track
is-tertiary
|
|
switch-thumb
is-tertiary
Label
Off
On
Alternate
switch-track
is-alternate
|
|
switch-thumb
is-alternate
Label
Off
On
Success
switch-track
is-success
|
|
switch-thumb
is-success
Label
Off
On
Info
switch-track
is-info
|
|
switch-thumb
is-info
Label
Off
On
Warning
switch-track
is-warning
|
|
switch-thumb
is-warning
Label
Off
On
Error
switch-track
is-error
|
|
switch-thumb
is-error
Label
Off
On
Small Size
switch-size
is-small
Unchecked
Label
Off
On
Checked
Label
Off
On
With Icons
switch-thumb
|
|
switch-overlay-off
is-checked
|
switch-overlay-on
is-checked
Unchecked
Label
Off
On
Checked
Label
Off
On
Disabled
Unchecked & Disabled
switch
Disabled
Label
Off
Toggle Only Disabled
switch-toggle
Disabled
Label
Off
Placeholders
Static toggle placeholders used for options that must appear in the interface but do not require interaction.
Unchecked
Label
Disabled
Checked
Label
Enabled
Global
Important: The toggle buttons below are designed to be used inside a form element. To ensure they are added correctly and function as intended, keep each toggle button within a proper form structure when placing it in your layout.

Toggle Individual Button (Checkbox-Based)

Toggle buttons built using checkboxes, allowing independent on/off states for each button.
Swap Button Style
This button switches both its visual style and content between checked and unchecked states, then keeps the selected state until changed manually.
toggle-button
|
|
toggle-input
|
toggle-off
is-checked
|
toggle-on
is-checked
|
|
Button
Button
Icon Button
Single Button Style
This solution swaps the button content between checked and unchecked states, then keeps the selected state until changed manually.
button
|
|
toggle-button
|
|
toggle-input
|
toggle-off
is-checked
|
toggle-on
is-checked
Button
Icon Button
Checked Button State
This element responds to the checkbox input state, allowing the button appearance to change when the input is checked or unchecked.
button
is-checked
|
|
toggle-input
Button
Icon Button
button
|
|
toggle-input
|
toggle-off
is-checked
|
toggle-on
is-checked
Button with Swappable Content
Icon Button with Swappable Content
Group of Buttons
Button styles arranged as one connected control in horizontal or vertical layouts.
Horizontal
Vertical

Toggle Group Buttons (Radio-Based)

Toggle buttons built using radio buttons, allowing a single active selection within a group.
To set a radio button as checked by default, add the custom attribute checked = checked to the toggle-input element.
button
is-padding-equal
|
|
toggle-input
Single
Horizontal
Vertical

Split Button (Radio-Based)

Reflects the selected dropdown option on the main button.
Split buttons and their menu layouts can be customized using addon classes. Styling options are available on the Button, Button Groups, and Popper pages.
Link
Menu Layouts
Custom Behavior -
Select Input

Synchronize a selectable dropdown group with its active radio option using custom attributes. For each selection group marked with b-select = group, the script listens to interactions on option elements b-select = option and updates the main display elements b-select = text and b-select = icon accordingly. The displayed label is sourced from b-select = option-text, while the icon is copied from b-select = option-icon when present.

On page load, the script initializes the main display using the currently checked radio input select-input, or falls back to the first option if none are selected. Whenever an option is selected, the script updates both the main display and the visual state of all options by adding or removing the is-checked class on the active option and its child visual elements. This enables full styling and animation control for radio-based toggle buttons—such as backgrounds, icons, or labels—while preserving native radio and form behavior.

Combo Toggle Buttons

Toggle components that support both individual and grouped behavior using a shared combo-based structure.
link

Switch (Checkbox-Based)

Switch buttons built using checkboxes, allowing independent on/off states for each button.
switch
|
|
switch-off
is-checked
|
switch-on
is-checked
|
switch-toggle
|
|
toggle-input
|
switch-size
|
|
switch-track
is-checked
|
|
switch-position
is-checked
|
switch-thumb
is-checked
Base
Unchecked
Label
Off
On
Checked
Label
Off
On
Colors
Secondary
switch-track
is-secondary
|
|
switch-thumb
is-secondary
Label
Off
On
Tertiary
switch-track
is-tertiary
|
|
switch-thumb
is-tertiary
Label
Off
On
Alternate
switch-track
is-alternate
|
|
switch-thumb
is-alternate
Label
Off
On
Success
switch-track
is-success
|
|
switch-thumb
is-success
Label
Off
On
Info
switch-track
is-info
|
|
switch-thumb
is-info
Label
Off
On
Warning
switch-track
is-warning
|
|
switch-thumb
is-warning
Label
Off
On
Error
switch-track
is-error
|
|
switch-thumb
is-error
Label
Off
On
Small Size
switch-size
is-small
Unchecked
Label
Off
On
Checked
Label
Off
On
With Icons
switch-thumb
|
|
switch-overlay-off
is-checked
|
switch-overlay-on
is-checked
Unchecked
Label
Off
On
Checked
Label
Off
On

Elements - Toggle Button

Toggle System Container
Local
toggle-button
Global
toggle-button
b-toggle = group
Local Trigger via Interactions
Open & Auto Reset
toggle-button
i-auto-reset
Open on Click
toggle-button
i-click
Open on Hover
toggle-button
i-hover
Global Trigger via Input
Checkbox
toggle-input
Radio Button
toggle-input
Target
Off - Default State
toggle-off
b-toggle = state
Off - Checked State
toggle-off
is-checked
Note: Element is hidden.
On - Default State
toggle-on
b-toggle = state
Note: Element is hidden by default.
On - Checked State
toggle-on
is-checked

Elements - Switch

Switch System Container
Local
switch
Global
switch
b-toggle = group
Local Trigger via Interactions
Start Unchecked via Interaction
switch-toggle
i-start-unchecked
Start Checked via Interaction
switch-toggle
i-start-checked
Toggle Wrapper
Base
switch-toggle
Size
Default
switch-size
Small
switch-size
is-small
Track
Unchecked
switch-track
b-toggle = state
Checked
switch-track
is-checked
Thumb
Unchecked
switch-thumb
b-toggle = state
Checked
switch-thumb
is-checked
Position
Unchecked
switch-position
b-toggle = state
Checked
switch-position
is-checked
Global Trigger via Input
Checkbox
toggle-input
Content Target
Off - Default State
switch-off
b-toggle = state
Off - Checked State
switch-off
is-checked
Note: Element is hidden.
On - Default State
switch-on
b-toggle = state
Note: Element is hidden by default.
On - Checked State
switch-on
is-checked
Overlay Target
Off - Default State
switch-overlay-off
b-toggle = state
Off - Checked State
switch-overlay-off
is-checked
On - Default State
switch-icon-on
b-toggle = state
On - Checked State
switch-icon-on
is-checked
Custom Behavior -
Toggle Button

Synchronize each toggle’s visual state with its checkbox or radio input.

Each element with the toggle-input class is connected to its closest b-toggle = group wrapper.

When the input is checked, is-checked is added to the wrapper and to any nested elements marked with b-toggle = state.

When the input is unchecked, is-checked is removed from the wrapper and from all nested b-toggle = state elements.

Use b-toggle = state only on elements that need to visually change, such as text, tracks, thumbs, icons, cards, or labels.

This behavior supports checkbox toggles and radio button groups. The correct state is synchronized on page load without triggering unwanted animations.