Widget catalog

The widget catalog is the fastest way to survey what the public widget surface already covers.
Do not treat it as a tutorial. Its job is to help you choose the right family of widgets and then jump to the dedicated page for the exact widget or supporting type you need.
A good rule is to choose by job first.
If you are shaping space, start with layout. If you are collecting user intent, start with inputs. If you are rendering information-heavy screens, start with display and data. If the feature needs layered interface, routing, or overlays, start with overlays and navigation. If the feature needs host-backed or custom surfaces, start with media.

Layout and structure

These widgets determine how space is allocated and how children are arranged before you worry about product-specific details.
Widget
Dedicated page
Typical use
Container
Constraint, padding, size, and background wrapper for one child
Row
Horizontal arrangement of children
Column
Vertical arrangement of children
Scroll
Scrollable region when content may exceed the viewport
Spacer
Fixed or flexible empty space
Grid
Matrix-style layout container
GridItem
Child placement and span control inside a grid
ZStack
Layered children in the same visual region
Positioned
Explicit placement inside layered layouts
Align
Child alignment inside available space
Center
Simple centered layout helper
HStack
Higher-level horizontal stack helper
VStack
Higher-level vertical stack helper
Wrap
Multi-line wrapping layout for repeated content
SimpleGrid
Higher-level grid helper
SplitView
Resizable split-pane layout
SplitDirection
Split orientation support type
AspectRatio
Preserve width-to-height ratio
SafeArea
Respect window or device insets
LayoutBuilder
Build based on current layout constraints
absolute_fill(...)
Fill the available stacked bounds
Clip
Clip child drawing to a shape or bounds
Transform
Visual transformation wrapper
Composite
Composition and repaint-boundary helper
FocusScope
Focus-boundary grouping for keyboard traversal
For a family-level overview, continue to Layout widgets.

Inputs and editing

These widgets collect intent, edit values, or wrap input flows.
Widget
Dedicated page
Typical use
Button
Primary click or tap action
ButtonVariant
Button style selection support type
ButtonContentAlign
Button content alignment support type
Checkbox
Boolean choice with visible checked state
Radio
Single selection inside a group
Switch
On or off toggle with switch affordance
Slider
Continuous value selection
RangeSlider
Two-handle continuous range selection
TextInput
Single-line or multiline text entry surface
NumberInput
Numeric entry with increment or decrement patterns
Select
Closed set choice control
SelectItem
Option type for Select
Combobox
Text input plus suggestion selection
SegmentedControl
Small mutually exclusive option group
DatePicker
Date selection surface
DateRangePicker
Date range selection surface
TimePicker
Time-of-day selection surface
Editable
Lower-level editable wrapper
GestureDetector
Manual gesture-driven intent capture
Draggable
Draggable source surface
DragTarget
Drop acceptance target
Dropzone
File or payload drop region
FileUpload
Upload-oriented input wrapper
FormControl
Label, helper, and validation wrapper
DropDown
Dropdown wrapper and helper surface
For the family-level explanation, see Input widgets.

Display and data

These widgets present information once layout and state flow are already clear.
Widget
Dedicated page
Typical use
Text
Basic text display
TextContent
Literal or keyed text content support type
RichText
Mixed-style text content
RichTextRun
Segment inside rich text
TextRunStyle
Rich-text style support type
TextFontStyle
Text style support type
Icon
Iconographic display element
Avatar
User or entity identity surface
Badge
Small status indicator
Tag
Labeled categorical chip
Link
Hyperlink-style display and action surface
Code
Inline or block code presentation
Kbd
Keyboard shortcut presentation
Card
Framed information container
Divider
Visual separation line
Alert
Prominent inline message surface
AlertKind
Alert style support type
EmptyState
"Nothing here yet" presentation
ProgressBar
Linear progress display
CircularProgress
Circular progress display
Spinner
Indeterminate loading motion
Skeleton
Placeholder loading layout
FutureBuilder
Async job-backed display builder
RefreshIndicator
Pull-to-refresh wrapper
Stat
Labeled metric display
Stepper
Step-by-step process indicator
Calendar
Calendar grid display
DataTable
Tabular data presentation
TableColumn
Column definition for DataTable
TableRow
Row definition for DataTable
Timeline
Chronological sequence display
TimelineItem
Entry inside a timeline
TreeView
Hierarchical data presentation
TreeItem
Entry inside a tree view
For the family-level explanation, see Display and data widgets.

Overlays and navigation

These widgets handle layered interface, routing, menus, and movement between sections of the app.
Widget
Dedicated page
Typical use
Modal
Blocking dialog overlay
ModalAction
Footer action support type for modals
Popover
Anchored floating panel
Drawer
Sliding side panel
DrawerSide
Drawer side selection support type
Tooltip
Small explanatory overlay
Toast
Temporary notification overlay
ToastKind
Toast style support type
Portal
Low-level portal registration widget
flyout(...)
Flyout overlay helper
Menu
Menu surface
MenuButton
Button that opens a menu
MenuItem
Entry inside a menu
Tabs
Tabbed navigation surface
TabItem
Tab definition
Accordion
Expandable section group
AccordionItem
One accordion entry
Breadcrumb
Hierarchical navigation trail
BreadcrumbItem
One breadcrumb entry
Pagination
Page-by-page navigation
Route
Route definition
RouteParams
Route parameter access type
Router
Route selection widget
Hero
Shared-element transition surface
Transition
Animation-oriented transition wrapper
For the family-level explanation, see Overlays and navigation.

Media and custom surfaces

These widgets and helper types cover image, video, host-backed embeds, terminal surfaces, and custom drawing entry points.
Widget or helper
Dedicated page
Typical use
Image
Static raster image display
Video
Video playback surface
WebView
Embedded web content surface
TerminalView
Interactive terminal surface
TerminalLaunchConfig
Terminal startup configuration
TerminalSession
Terminal session handle
Widget
The closed tree type produced by authored components
Builder
Inline closure-backed widget helper
canvas(...)
Lightweight custom drawing helper
CanvasLowerer
Lowering helper behind canvas(...)
CustomWidget
Custom authored widget with lowerer or render object
For the family-level explanation, see Media.
Fission
A cross-platform, GPU-accelerated user interface framework for Rust. MIT licensed.
Copyright (c) 2026 Fission
Ready to use today. Widget APIs are expected to remain stable; some runtime and shell APIs may change before 1.0.0.
Fission 0.7.0