Skip to content
Components

Display Components

Add badges, tooltips, cards, and other display elements.

Display Components

Display components provide supporting visual elements that enhance your screens without requiring user interaction. Use them to add labels, contextual hints, embedded web content, visual grouping, and spacing.

Badge

A small label for status, categories, or emphasis. Use badges to mark something as new, highlight a plan tier, or flag a state.

Properties

PropertyTypeDefaultDescription
Badge TexttextNewThe label shown inside the badge.
Variantselectdefaultdefault, success, warning, error, info, or outline.
Sizeselectmediumsmall, medium, or large.
Iconicon--Optional icon shown next to the text.
Background Colorcolor--Overrides the variant's background.
Text Colorcolor--Overrides the variant's text color.
Border Radiusnumber9999Corner rounding. The default gives a pill shape.
Marginspacing0External spacing.

Reach for a variant before overriding colors. The six variants carry consistent meaning across a flow, and they adapt to the app's theme.


Tooltip

A small popup that explains an element without taking up permanent space on the screen.

Properties

PropertyTypeDefaultDescription
Tooltip ContenttextareaTooltip textThe text shown inside the tooltip.
Triggerselecthoverhover or click. On a device, use click: there is no hover.
PositionselecttopWhere the tooltip sits: top, bottom, left, or right.
Max Widthnumber200Maximum width before the text wraps.
Background Colorcolor#1F2937Tooltip background.
Text Colorcolor#FFFFFFTooltip text color.
Border Radiusnumber6Corner rounding.
Show Delay (ms)number200Delay before the tooltip appears.

Trigger defaults to hover, which has no equivalent on a touchscreen. Set it to click for flows that run on a device.


WebView

An embedded web content component that renders a URL within your flow screen. WebView is useful for displaying terms of service, privacy policies, external forms, or any web-based content that does not need to be rebuilt natively.

Properties

PropertyTypeDefaultDescription
URLtext--The web page to load.
Widthsize100%Component width.
Heightsize300Component height.
Allow ScrollingbooleantrueWhether the embedded page can scroll independently.
Border Radiusnumber0Corner rounding.
Marginspacingbottom 16External spacing.

WebView content is rendered inside a platform webview, unlike all other Setgreet components which are fully native. Use WebView sparingly and only when native components cannot achieve the desired result.


Card

A grouped container with a background, padding, and a shadow. Use cards to separate a block of content from the rest of the screen.

Properties

PropertyTypeDefaultDescription
Background Colorcolor#FFFFFFCard background.
Paddingspacing24Inner spacing on all sides.
Marginspacingbottom 16External spacing.
Border Radiusnumber12Corner rounding.
Borderborder--Width, style, and color as one control.
Shadowshadowsoft dropOffset, blur, spread, and color.
On Clickaction--Makes the whole card tappable.

A card with an On Click action is tappable on iOS and Android, so it works as a large touch target for a choice.


Divider

A line that separates sections of content.

Properties

PropertyTypeDefaultDescription
Orientationselecthorizontalhorizontal or vertical.
Styleselectsolidsolid, dashed, or dotted.
Colorcolor#E5E7EBLine color.
Thicknessnumber1Line thickness in pixels.
Marginspacingtop/bottom 16External spacing.

Spacer

A flexible spacing element that creates vertical or horizontal gaps between components. Spacers are essential for controlling layout when you need precise spacing that padding and margin alone cannot achieve.

Properties

PropertyTypeDefaultDescription
Fill SpacebooleantrueExpand to fill the available space, pushing later components down.
Heightnumber24Fixed height in pixels. Used when Fill Space is off.

Layout behavior

Fill Space is on by default, so a new spacer expands rather than holding a fixed 24px gap. That default is what pins a call to action to the bottom of a screen: put a spacer above the button and it pushes the button down. Turn Fill Space off when you want a fixed gap between two elements.

Fill Space only expands on screens using the default fitScreen layout. On a scrollable screen the root hugs its content, so there is no leftover space to fill and the spacer falls back to its fixed height.


An element that opens another screen in a modal overlay on top of the current one. Use it for content a user may want but should not be forced through: terms, a plan comparison, a "how it works" explainer. The user reads it and returns to where they were, without leaving the step.

The trigger itself can render as a button, a text link, an icon, or an image. Only the properties for the selected Trigger Type apply.

Properties

PropertyTypeDefaultDescription
Trigger TypeselectbuttonHow the trigger renders: button, link, icon, or image.
Button LabeltextOpen ModalText on the trigger when Trigger Type is button.
Link TexttextClick hereText on the trigger when Trigger Type is link.
Iconicon--Icon used when Trigger Type is icon.
Imageimage--Image used when Trigger Type is image.
Target Screen IDtext--Required. The screen rendered inside the modal.
Modal Sizeselectmediumsmall (80%), medium (90%), large (95%), or fullscreen.
PositionselectcenterWhere the modal sits: center, top, or bottom.
Button Variantselectprimaryprimary, secondary, outline, or ghost. Applies to button triggers.
Overlay Colorcolor#00000080Scrim drawn over the screen behind the modal.
Modal Backgroundcolor#FFFFFFModal fill.
Modal Border RadiusborderRadius16Corner rounding of the modal.
Modal Shadowshadowsoft dropOffset, blur, spread, and color.
AnimationselectfadeHow the modal appears: none, fade, slide-up, slide-down, or scale.
Close on Overlay ClickbooleantrueDismiss the modal when the user taps the scrim.
Show Close ButtonbooleantrueDisplay a close control inside the modal.
Close on Escape KeybooleantrueDismiss on the escape key, where a keyboard is present.
On Openaction--Action fired when the modal opens.
On Closeaction--Action fired when the modal closes.
Trigger Marginspacing0External spacing around the trigger element, not the modal.

Modal Trigger's animation is a plain string select controlling how the modal enters: none, fade, slide-up, slide-down, or scale. It is not the object-valued animation property found on other components, which carries preset, duration, delay, easing, and trigger. Setting an animation object here will not work.

Target Screen ID is required and points at a screen in the same flow. The modal renders that screen's components, so build the modal content as a normal screen first, then reference it.

On this page