Skip to content

Components & inputs

Components are the building blocks inside a section — the text, images, layout wrappers, buttons, and form fields you assemble into a page. This page lists every component available in the Components tab, grouped as you'll find them: Layout, Display, and Input.

Each component has a friendly display name (shown in the palette and outline) and a set of props you edit in the inspector. Where a component is a container, it can hold children; drop other components inside it.

Layout

Layout components arrange other components. They're containers.

ComponentPalette nameWhat it does
BoxBlockPlain container — group elements vertically
RowRowHorizontal group; children sit side-by-side
StackStackVertical or horizontal group with even spacing
LayerLayerFree-positioning surface for overlapping elements
ContainerCentered wrapCaps page width and centres content
PaperSurfaceCard-like surface with elevation or border
GridGridCSS-grid container with responsive columns
CardCardBoxed content with shadow and padding
DividerDividerHorizontal (or vertical) rule between groups
AccordionAccordionExpandable title/body panels
TabsTabsTabbed navigation between panels
StepsMulti-step formA wizard — each child is one step, shown one at a time
SpacerSpacerAn empty vertical gap of a set height

Key props:

  • Stackdirection (row / column / reversed), spacing, alignItems, justifyContent.
  • ContainermaxWidth (xsxl, or false for none), disableGutters.
  • Gridcontainer, item, spacing, and per-breakpoint column spans xs / sm / md / lg.
  • Paper / Cardvariant (elevation or outlined), plus elevation / raised.
  • Accordionitems (one title | body per line), defaultExpanded.
  • Tabsitems (one label per line), orientation, variant, centered.
  • StepsshowStepper, labels (one step label per line), nextLabel, backLabel, finishLabel. Put a Steps inside a Form; each direct child of Steps is one page of the wizard. On the live page visitors move through the steps with Back / Next (each step's required fields are checked before advancing) and the final Finish submits the whole form — hidden steps still submit their fields. In the designer every step is shown stacked so you can edit them all. (A statically exported copy shows all steps on one page — the wizard navigation needs the live renderer.)
  • Spacersize (height in pixels).

TIP

Row and Stack cover most layouts. Reach for Grid only when you need columns that reflow across breakpoints, and Container to keep a section's content from stretching too wide on large screens.

Display

Display components show content. Most are not containers.

ComponentPalette nameWhat it does
TypographyTextHeadings, paragraphs, captions
AlertAlertInline notice — info / warning / error / success
ChipTagA small labelled pill
AvatarAvatarRound profile image or initial
LinkLinkA clickable text link
ListListA bulleted or plain item list
ImageImageA picture
VideoVideoAn embedded mp4 / webm video
EmbedEmbedA sandboxed iframe from a URL or raw HTML
IconIconAny unicode symbol or emoji

Key props:

  • Typographytext, variant (h1h6, subtitle1/2, body1/2, caption, overline, button), align, color, gutterBottom, noWrap. Its text supports inline rich editing.
  • Alerttext, severity (error / warning / info / success), variant (standard / filled / outlined).
  • Chiplabel, color, variant (filled / outlined), size.
  • Avatartext (an initial), src, alt, variant (circular / rounded / square).
  • Linktext, href (an in-project page or URL — see Pages & navigation), target, underline, color.
  • Imagesrc (upload or URL), alt.
  • Videosrc, poster, controls, autoPlay, loop, muted.
  • Embedsrc (iframe URL) or html, plus title.
  • Iconsymbol (any unicode/emoji), size.

NOTE

A legacy raw-HTML component still renders existing content (sanitized on every render and export) but is hidden from the palette, so no new instances can be added. Use Embed for third-party widgets instead.

Input

Input components collect data. Wrap them in a Form to submit responses to your submissions inbox or a flow.

ComponentPalette nameWhat it does
ButtonButtonAction button — submit, link, or custom
TextFieldText inputSingle- or multi-line text
SelectDropdownA drop-down list of options
AutocompleteAutocompleteA searchable type-ahead select for long option lists
CheckboxCheckboxA yes/no tick box
SwitchToggleAn on/off slider
RadioRadioA single standalone radio button
RadioGroupRadio groupA one-of-many question — pick one option
CheckboxGroupCheckbox groupA multi-choice question — tick any number of options
SliderSliderA numeric range slider
RatingStar ratingA star rating for feedback / reviews
HiddenHidden fieldA hidden value sent with every submission
FileUploadFile uploadLets visitors attach a file
FormControlField groupGroups a label / input / helper
FormFormContainer that submits its inputs

Key props:

  • Buttontext, variant (text / outlined / contained), color, size, type (button / submit / reset), href (link to a page), fullWidth.
  • TextFieldname (the field key in a submission), label, placeholder, helperText, type (text, number, email, password, tel, url, date, time, datetime-local, month, week), min / max / step (for number and date types), required, pattern (a validation regex), multiline + rows, fullWidth.
  • Selectname, label, items (one option per line), variant, fullWidth.
  • Autocompletename, label, items (one option per line), defaultValue, placeholder, helperText, freeSolo (allow a typed value not in the list), required, fullWidth, disabled. Submits the selected (or typed) value as a string. Best for long lists like countries or tags; the static HTML export uses a native <datalist> for JS-free type-ahead.
  • Checkbox / Switch / Radiolabel, defaultChecked, color, size, disabled. (Checkbox and Radio also take a name for form binding.)
  • RadioGroupname, label, items (one option per line), defaultValue (pre-selected option), row (lay out horizontally), required, disabled. Submits a single value under name.
  • CheckboxGroupname, label, items (one option per line), defaultValue (pre-checked options, one per line), row, disabled. Submits an array of the checked option values under name. In a showIf condition, name == 'option' is true when that option is checked (and a bare name is true when any option is checked). With JSON submit (the default) the value is a JSON array; if you switch a form to native submit (sendAsJson off) it posts as repeated name= keys, which most backends parse back into an array.
  • Slidername, label, defaultValue, min, max, step, valueLabelDisplay, marks. Submits the chosen number under name.
  • Ratingname, label, defaultValue, max (number of stars, default 5), precision (0.5 for half-stars), size, readOnly, disabled.
  • Hiddenname, value. Sends a fixed value with every submission — handy for tagging responses with a source page, campaign, or form id. It's invisible on the live page (shown as a small chip in the designer).
  • FileUploadname, label, accept (e.g. image/*,.pdf), helperText, required. Uploaded files are stored securely and linked to the submission — see File uploads.
  • Formmethod (POST / GET), action (submit URL), successMessage, sendAsJson.

TIP

Give every input a name — that's the key each answer is stored under. A TextField named email shows up as email in your submissions and in any flow you forward the form to.

See also

FlowRunner — the no-code platform for small businesses.