View that takes spacing, colour, radius and elevation tokens as props.
- Padding and margin props
- Theme colour background
- Radius and 6 elevation levels
Vertical and horizontal stacks with token-based gaps.
- VStack and HStack
- Gap from spacing tokens
- Align, justify and wrap
Typography primitive bound to the theme type scale.
- 18 type variants
- Theme colour tokens
- Readable accent colours
Header-role text mapped to the heading styles.
- Levels 1-3 plus 2 display sizes
- Header role for screen readers
Hairline horizontal separator.
- Inset on both sides
- Thickness from tokens
Pressable with a Reanimated spring scale on press.
- Configurable scale
- Respects reduced motion
- Keyboard focus ring
Single-line text that scrolls only when it overflows.
- Overflow detection
- Configurable speed and pause
- Static under reduced motion
Animated page or step indicator.
- Active dot widens
- Announces the current step
Small uppercase overline with a header role.
- Uppercase by default
- Custom transform and colour
Drawn icon set that looks the same on iOS and Android.
- 12 glyphs
- Chevrons mirror in RTL
- Hidden from screen readers
Tappable tile with a tinted icon chip and a label.
- 5 tones
- Spring press scale
- Light haptic on press
Circular avatar showing an image or initials.
- 4 sizes (sm-xl)
- Initials from a name
- Custom initials background
Count, short label or status dot.
- 5 colour variants
- Overflow cap (99+)
- Dot mode
Modal sheet that slides up from the bottom.
- Drag down to dismiss
- Header, Body and Footer parts
- Keyboard avoidance
- Screen reader escape gesture
Bottom tab bar with an animated active pill.
- Per-tab badges
- Tab roles with selected state
- Safe-area inset
Main action button with variants, sizes, loading state and icons.
- 5 variants
- 3 sizes (sm/md/lg)
- Loading state
- Haptic press
Themed surface that becomes pressable when given a handler.
- 4 elevation levels
- 3 density sizes
- Header and footer slots
Checkbox with an optional label.
- 2 sizes
- Checkbox role and state
- Light haptic on toggle
Selectable chip or filter tag.
- 3 variants and 3 shapes
- Leading icon
- ChipGroup layout
Celebratory confetti burst that never blocks touches.
- Configurable particle count
- Fires when shown
- Respects reduced motion
Self-updating countdown to a deadline.
- 4 formats
- Localizable units
- Expired label and callback
Date, time or date-time field.
- 3 modes
- Minimum and maximum dates
- Clearable
- Read-only fallback without the picker
Start and end date fields for a range.
- Each end limits the other
- Separate error per end
- Clearable
Centred zero state with icon, title, message and action.
- 3 sizes
- Action slot
- Summary role
Error boundary with a retry fallback.
- Reset keys
- Custom fallback render
- withErrorBoundary HOC
Error caption shown under form fields.
- Alert role
- Polite live region
Uppercase field label with a required marker.
- Required marker
- Announced as required
Screen header with back button, title and actions.
- Regular and large titles
- Centred or left title
- Back chevron mirrors in RTL
Icon-only circular button.
- 4 variants and 3 sizes
- Built-in hit slop
- Light haptic
Text input with label, error and a focus border.
- Label, error and required
- Forwards ref and TextInput props
- Multiline support
Cross-platform text prompt dialog.
- System Alert.prompt on iOS
- Themed modal on Android
- Localized buttons
Bottom action bar that stays above the keyboard.
- Lifts with the keyboard
- On by default on Android
List or page header in four sizes.
- 4 sizes
- Text transform options
- Header role
List row with icon, subtitle, value and chevron.
- Chevron when pressable
- Destructive style
- Custom slots
Grouped list section with a title and a footer note.
- Grouped card or separate rows
- Title and footer note
List row with a built-in switch.
- Switch built in
- Icon and subtitle
Centred dialog with backdrop, title and footer.
- Header, Body and Footer parts
- Backdrop dismiss
- Screen reader escape gesture
Determinate horizontal progress bar.
- Semantic or custom colour
- Progress bar role with value
- Configurable height
Single radio option with an optional label.
- Controlled selection
- Radio role
- Light haptic
Safe-area screen wrapper with a tablet max width.
- Top and bottom safe areas
- Centred content on tablets
- Optional padding
Search field with debounce and a clear button.
- Built-in debounce
- Clear button
- Left and right slots
Content section with a title and an action.
- Title heading
- Action slot
iOS-style single-choice segmented control.
- Radio group for screen readers
- Typed values
- Light haptic
Single-value picker with options in a bottom sheet.
- BottomSheet picker
- Option icons
- Label, error and required
Settings row with a rounded icon tile.
- Icon tile
- Destructive style
- SettingsSwitchRow variant
Animated loading placeholder.
- Card preset
- Respects reduced motion
- Localized loading label
Centred activity indicator with an optional label.
- 2 sizes
- Announced to screen readers
Statistic tile with a label, value and caption.
- 5 tones
- 3 sizes
- Tabular numbers
Themed native switch with a label and subtitle.
- Whole row tappable
- Light haptic
- Label read with subtitle
Multiline input with a label and error.
- Minimum height in lines
- Label, error and required
Imperative toast mounted once at the app root.
- 5 variants
- Top or bottom position
- Action button
- Screen reader announcements