Row, Column or Grid
Lay the options out vertically, horizontally or in a grid with a chosen number of columns and a single spacing control.
Newed UI - Component Library
NWD Radio Buttons (Row/Column/Grid) is the radio group Bubble was always missing. Built to replace the native radio buttons, it lays the options out in a row, a column, or a grid and brings flexible layout, static or dynamic choices, and click animations together in one polished component. Fully customizable through 30+ properties, giving you complete control over every visual and behavioral detail.
No data collected This plugin does not collect user data.
Lay the options out vertically, horizontally or in a grid with a chosen number of columns and a single spacing control.
Type the options line by line, or feed them from Datatypes and Option Sets while keeping the type your workflows expect.
Radio background, border, dot and font colors set independently for the unselected, hovered and selected states.
Six animation styles on click, including bounce, elastic and pop, that respect the user's reduced motion setting.
A real radio group: Tab reaches it, the arrow keys move between options, and it carries an accessible label and description.
Value changed event, Reset, Focus and Set value actions, and exposed states for the value, its index, is clickable, is required, is valid and is focused.
Place the plugin element wherever you need it.
Adjust the settings to match your use case, including the layout, the choices source, the colors of each state, and the default value.
Use the value changed event to react to the user, and read the exposed states to use the selected option or its index anywhere in your app.
Sets how the options are sourced, either from a static list or a dynamic data source.
staticdynamicdefaultno default
Sets the type of the options. Static choices are converted to this type, and dynamic choices and default values must match it.
defaultno default
Sets the list of static choices. Enter one option per line.
defaultno default
optionalOption selected on load and on reset (static choices).
defaultno default
optionalSets the list of dynamic choices.
defaultno default
optionalSets which field to display as the option label for dynamic choices.
defaultno default
optionalOption selected on load and on reset (dynamic choices).
defaultno default
optionalDisables the component, preventing any interaction.
defaultno
Opacity applied to the radio button when disabled, from 0 to 1. The radio button keeps the colors of its current state, so a checked one still reads as checked. The label is not affected and uses Input font color (disabled).
default0.5
Input font color when disabled.
default#CACACA
Marks the field as required and enables input validation.
defaultno
Input background color when invalid (required with no value).
default#FFDEDE
Input border color when invalid (required with no value).
default#FF6666
Option font color when invalid (required with no selection). Empty keeps the native font color.
defaultno default
optionalName read by screen readers. When empty, uses the placeholder or the visible label.
defaultno default
optionalHint read by screen readers after the name. Empty for none.
defaultno default
optionalValues the element exposes for the rest of the page to read.
Selected option. Empty when nothing is selected.
Position of the selected option, starting at 1. Empty when nothing is selected.
True when the component is not disabled.
True when the input is marked as required.
True when the field is not required, or when it is required and has a valid value.
True while the element has keyboard focus. Tab in sets it, and Tab out or a click outside clears it.
Where a workflow can start.
Triggered when a different option is selected or when the selection is reset.
What a workflow can tell the element to do.
The actions can be triggered from any workflow event. The plugin also responds to Bubble's native reset actions (Reset a group/popup).
Restores the default option, or clears the selection.
Focuses the selected option, or the first one.
Selects an option from a workflow. The value must be one of the current choices; empty clears the selection.
Option to select. It must be one of the current choices; empty clears the selection.
defaultno default
optionalThe native element gives you almost no control over the layout or the look of each option, and its appearance drifts between browsers. This plugin renders its own radios, arranges them in a row, a column or a grid, and looks the same everywhere.
Yes. Set the choices style to dynamic, pick the type of choices, and point the source at your list. The caption comes from the field you choose, and the exposed value keeps the original type, so a Thing stays a Thing in your workflows.
No. Place the element on the page, configure the properties in the editor, and connect it to your workflows. All properties have descriptions and sensible defaults, so you can get started quickly without deep technical knowledge.
Yes. The plugin exposes a Focus action and a Reset action, and it also responds to Bubble's native reset actions (Reset a group/popup). Both are ignored while the input is disabled.
Yes. The visual properties support Bubble's predefined styles, so the layout, the colors, the size and the animation can be saved once and reused on every radio group in the app.