What a screen is made of
Every screen has a Root Stack at its root: a vertical stack that holds the screen’s components. Components nest inside stacks, so you drop new components into the Root Stack (or into another stack inside it), not onto bare screen space. You can see this structure in the Layers panel: each screen expands to show its Root Stack and everything under it.Build the screen
Open a flow
Open a flow from the Flows page. The editor opens at
/editor/{flowId} with the first screen selected. On a brand-new flow a template picker appears first; choose Start blank to follow this walkthrough on an empty screen. See Flow templates.Open the Insert tab
In the left sidebar, click Insert. It has three inner tabs:
- Components: individual primitives (Text, Button, Image, and so on).
- Blocks: curated multi-component presets.
- Screens: full-screen templates.
Add a Text component
Drag Text from the Components list onto the screen, dropping it inside the Root Stack. To change the wording, double-click the text on the canvas and type. The text updates inline as you edit.
Add a Button
Drag Button from the Components list onto the screen. Select the button, then set its label in the properties panel on the right (a new button starts with the text “Continue”). See The properties panel.
Give the button an action
A button does nothing until you add an interaction. Select the button and add an onPress interaction with a Close flow action so this one-screen flow can be dismissed. (Navigation actions like
goNext are what you use once you have more than one screen.) See Interactions and actions.Preview it
Click Preview in the top bar (or press ⌘.) to enter preview mode, then tap your button to confirm the action fires. Click Exit Preview when you are done. See Preview and Live Mirror.
Example: a one-screen welcome
A minimal first screen is a Root Stack with a Text headline and a Button:New flows start with a footer that already has a Continue button wired to
goNext, and a navigation bar with a progress indicator and a close button. These live in the persistent zones, separate from the screen’s own components. See Persistent zones.Common mistakes
- Dropping a component outside a stack. Components must live inside a stack. Drop new components into the Root Stack (or a nested stack), not onto empty space. If a drop does not land, check that you released over a stack on the canvas or in the Layers tree.
- Editing text in the wrong place. Double-click the text on the canvas to edit its wording inline. The properties panel is for styling and other props.
- A screen with no way out. A screen needs at least one interactive exit. On a single-screen flow, give a button a
closeFlowaction (or rely on the footer’s Continue button). On multi-screen flows, use a navigation action. See Build a multi-step flow.
Troubleshooting
- My button does nothing in preview. It has no interaction yet. Select it and add an onPress interaction with an action. See Interactions and actions.
- I cannot select the text to retype it. Make sure you are double-clicking the text on the canvas, not single-clicking (which only selects the component).