Overview
Selection elements let users choose from predefined options. Pick the right element based on how many options you have and whether users can select one or multiple items.| Element | Options | Selection | Best For |
|---|---|---|---|
select | 3+ | Single | Many options, dropdown UI |
radio | 2-5 | Single | Few options, visible comparison |
checkbox | 1+ | Single or multiple | Multiple selections or terms acceptance |
Select Dropdown
Dropdown menu for choosing one option from a list. Best when you have many options (3+).Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier (becomes prop name) |
inputType | 'select' | Must be 'select' |
title | string | Field title |
description | string | Help text |
label | string | Input label |
defaultValue | string | number | Initial selected value |
options | array | Array of { label, value } objects |
validation | object | Validation rules |
Options Format
Validation
| Rule | Type | Description |
|---|---|---|
required | boolean | A value must be selected |
Example
linkapp.config.ts
Usage in Layout
app/expanded.tsx
Common Patterns
Theme selector:Radio Buttons
Radio button group for choosing one option. Best for 2-5 options where users benefit from seeing all choices at once.Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier |
inputType | 'radio' | Must be 'radio' |
title | string | Field title |
description | string | Help text |
options | array | Array of { label, value } objects |
defaultValue | string | Initial selected value |
validation | object | Validation rules |
Validation
| Rule | Type | Description |
|---|---|---|
required | boolean | A value must be selected |
Example
linkapp.config.ts
Usage in Layout
app/expanded.tsx
Common Patterns
Layout choice:Radio buttons show all options at once, making them perfect for choices users
need to compare visually. Use
select if you have more than 5 options.Checkbox
Checkbox input for single acceptance (like terms) or multiple selections.Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier |
inputType | 'checkbox' | Must be 'checkbox' |
title | string | Field title |
description | string | Help text |
label | string | Label for checkbox/group |
options | array | Array of { label, value } objects |
defaultValue | string | string[] | Initial selected value(s) |
validation | object | Validation rules |
Validation
| Rule | Type | Description |
|---|---|---|
required | boolean | At least one must be checked |
- Single checkbox: Provide 1 option (returns array with 1 item or empty array) - Multiple checkboxes: Provide 2+ options (returns array of selected values)
Example: Single Checkbox
For terms acceptance or single on/off choice:linkapp.config.ts
app/expanded.tsx
Example: Multiple Checkboxes
For selecting multiple options:linkapp.config.ts
app/expanded.tsx
Common Patterns
Terms acceptance:Comparison
Choose the right selection element:| Scenario | Use |
|---|---|
| 10+ options, select one | select dropdown |
| 3-5 options, select one, visual comparison helpful | radio buttons |
| 2 options, select one | radio buttons or switch |
| Select multiple from a list | checkbox (multiple) |
| Accept terms/agreement | checkbox (single) |
Complete Example
Here’s a product display configurator using all selection types:linkapp.config.ts