Skip to main content
Components are the building blocks of a screen. They are the lowest-level pieces in a flow: a piece of text, an image, a button, a stack that holds other components. There are 15 component kinds in total, and every one renders end to end (editor canvas, the SDK on device, and the dashboard preview) so what you build is what ships. This page explains what each component is and when to reach for it. For the full per-property tables (every prop, type, and default), see the Component reference.
Raw components are an Advanced mode surface. In Simple mode you do not place primitives directly; you build from certified blocks (where even a heading or image is a block). The 15 kinds below are still what every block is composed of, on both platforms.

How to add a component

1

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”.
2

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.
3

Drag it, or click it

Each row works two ways. Drag a row onto the canvas to drop it exactly where you want, or click the row to add it. A click adds the component as a sibling right after the currently selected component, or into the screen’s Root Stack if nothing inside the screen is selected.
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.
Use the search box at the top of the palette to filter by name or description.

The 15 component kinds

This is the complete, authoritative list. Nothing else is a component kind.

What is and is not in the Components palette

The Insert > Components palette shows 12 of these kinds, grouped as:
  • Layout: Stack
  • Display: Text, Image, Icon, Ring Progress, Lottie, Comparison Chart
  • Interactive: Button
  • Form: Text Input, Slider, Picker, Toggle
The other three kinds are added elsewhere:
  • screenRoot is 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 a progress component in auto mode.
  • custom is 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 stack with flex: 1 for flexible space, or a thin styled stack for 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. comparisonChart replaced the old chart.

Example: a simple content screen

A typical screen is a Root Stack holding a few primitives:
Every piece here is a single component you dragged from Insert > Components. To arrange them, nest them in stacks and set spacing and alignment on the stack. See Layout and sizing.

Common mistakes

  • Looking for a spacer. There isn’t one. Add a stack and set flex: 1 to 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 progress and ringProgress. progress is the linear bar (good for a header progress indicator). ringProgress is the circular ring (good for a loading dial).
  • Using an image for an icon. Use the icon component with a named icon. It scales and recolors cleanly. Reserve image for 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.