A series of steps created from a list of options. It supports manual or dynamic configuration of an option list, step numbers, and completion indicators. Steps can be linked to Container to create Stepped Containers.


Available properties for Steps with supported data types or values. You can write JavaScript almost anywhere in Retool to manipulate or read information about components.

NameTypeDescriptionvaluestring | number | boolean | null | undefined

The current value.


A list of captions for each item, by index.

data{ [key: string]: unknown }[]

The source data for the component.

heightType'auto' | 'fixed' | 'fill'

Whether the height automatically resizes to fit content or is a fixed size.


Whether the component is visible.


A list of boolean values for each item, by index, that reflect whether they are hidden.

horizontalAlign'left' | 'center' | 'right'

The horizontal alignment of the contents.


Whether to indicate completed steps with check marks when showStepNumbers is true.

itemMode'dynamic' | 'static'

The configuration mode for option lists. Either dynamic for mapped options or static for manual options.


A list of labels for each item. Falls back to the corresponding value if no label is provided.


Whether the component takes up space on the canvas if hidden is true.


The amount of margin to render outside of the component.


Whether the component is linked to a container for navigation.

orientation'horizontal' | 'vertical'

Whether the stepper is oriented vertically or horizontally.

selectedIndexnumber | null

The currently selected value, by index.

selectedItemunknown | null

The currently selected item.


The label of the currently selected value, by index.


Whether the component remains visible in the editor if hidden is true.


Whether to show step numbers.


The ID of the Container component when navigateContainer is true.


A list of tooltips for each item, by index.

values(string | number | boolean | null | undefined)[]

A list of possible values.


Methods for interacting with Steps. You can write JavaScript almost anywhere in Retool and use methods to manipulate data or components.

NameDescriptionsetValue(value: boolean | string | number | void, strict: any)

Set the value of the component. If the component is linked to a container then it also updates the container's current view.

scrollIntoView(options: any)

Scrolls the canvas or parent container so that the selected component appears in the visible area.

setHidden(hidden: boolean)

Set the hidden value to toggle whether the component is visible. Defaults to true without a parameter.


Reset value to the default value.