How to add a component
Select a screen (or a zone)
The Components palette is disabled until you select something to add to. Select a screen in the Layers panel, or select a persistent zone. With nothing selected you see “Select a screen or chrome section to add components”.
Open Insert > Components
In the left sidebar click Insert, then stay on the Components inner tab. The list is grouped into Layout, Display, Interactive, and Form.
Drag and click are mutually exclusive on a single gesture: a quick click never starts a drag, and a drag never fires a click. Use whichever feels natural.
The 14 component kinds
This is the complete, authoritative list. Nothing else is a component kind.| Component | What it is | Typical use |
|---|---|---|
screenRoot | The implicit root of every screen, shown as Root Stack in the Layers panel. | You do not add this. It is created with the screen and holds the screen’s components. |
stack | A flexible layout container (vertical or horizontal). The only layout primitive. | Group and arrange components. Also used for spacers (flex: 1) and separators (a thin styled stack). |
text | A run of text. | Headlines, body copy, labels. Double-click on the canvas to edit the wording inline. |
image | A static image loaded from a URL. | Hero images, illustrations, avatars. |
button | A tappable button with a label and onPress interactions. | Calls to action, “Continue”, custom navigation. |
input | A text entry field, labeled Text Input in the palette. | Collect typed input. Bind it to a variable to capture what the user types. |
toggle | An on/off switch bound to a boolean. | Opt-ins, settings, yes/no answers. |
progress | A linear progress bar. In auto mode it tracks the user’s progress through the flow. | A progress indicator in a zone. Added through the Progress Bar block, not from this palette (see below). |
ringProgress | A circular progress ring with a center slot. | Loading and “calculating” moments, score dials. |
icon | A named icon (for example Star). | Decorative or semantic icons. Use this instead of an image for icons. |
slider | A numeric range control. | Let the user pick a number in a range (weight, budget, intensity). |
lottie | A vector animation played from a Lottie JSON URL. | Rich animated illustrations and celebrations. |
comparisonChart | A two-series line chart (“with us” vs “without us”). | Before/after and value-over-time comparisons. |
custom | A reference to a native component implemented in your app. | Native UI the flow engine does not provide. See Custom components. |
What is and is not in the Components palette
The Insert > Components palette shows 11 of these kinds, grouped as:- Layout: Stack
- Display: Text, Image, Icon, Ring Progress, Lottie, Comparison Chart
- Interactive: Button
- Form: Text Input, Slider, Toggle
screenRootis the implicit Root Stack. It is created with each screen, so you never add it by hand.progress(the linear bar) is not a palette primitive. Add it with the Progress Bar block (Insert > Blocks > Chrome), which inserts aprogresscomponent inautomode.customis your own native component. It lives in the Custom tab and appears at the bottom of the Components palette once you define it. See Custom components.
Components that no longer exist
To save you hunting for them, these were removed and are not component kinds:- No spacer or divider. Use a
stackwithflex: 1for flexible space, or a thin styledstackfor a separator line. - No card or chip primitive. These are now one-click blocks (Card and Chip) that expand into a styled
stack. - No carousel, video, or chart primitive.
comparisonChartreplaced the oldchart.
Example: a simple content screen
A typical screen is a Root Stack holding a few primitives:Common mistakes
- Looking for a spacer. There isn’t one. Add a
stackand setflex: 1to push content apart, or give a stack a fixed height for a gap. - Looking for Progress in the Components tab. The linear progress bar is the Progress Bar block under Insert > Blocks > Chrome, not a Components primitive.
- Confusing
progressandringProgress.progressis the linear bar (good for a header progress indicator).ringProgressis the circular ring (good for a loading dial). - Using an
imagefor an icon. Use theiconcomponent with a named icon. It scales and recolors cleanly. Reserveimagefor photos and illustrations. - Expecting Card or Chip in Components. They are blocks, not primitives. They drop in as a styled stack you can edit freely.