Skip to main content
The TapRails SDK ships with a complete, production-ready UI layer. You can use it as-is, theme it to match your brand, or use its primitives alongside your own custom screens.

TapRailsThemeProvider

Wrap your app root with TapRailsThemeProvider to enable theming across all TapRails components:

colorOverrides

All fields are optional — any value you omit falls back to the TapRails default:

useTheme

Access the active theme anywhere in your component tree:

theme.colors

All colors from colorOverrides merged with TapRails defaults, accessible as theme.colors.<key>.

theme.typography.styles

Pre-built text style objects:

Button Component

A themed, accessible button with variants and sizes:

ButtonProps


Icon Component

Access TapRails’s icon set directly:
Icons use the lucide-react-native library under the hood. The name prop accepts any Lucide icon name.

IconProps


Accessibility

TapRails UI components are built WCAG AA compliant:
  • All interactive elements have accessibilityLabel and accessibilityRole
  • Minimum touch targets of 44×44pt
  • Color contrast ratios meet WCAG AA (≥ 4.5:1 for text)
  • Loading states announce to screen readers via accessibilityLiveRegion
  • Full keyboard navigation support