v0.2 Now available on npm

The component library
React Native deserves

35+ production-ready, accessible, and beautifully crafted components. Theme-aware, animated, and zero dependencies.

$ npm install nova-native-ui
0
Components
0
Dependencies
100%
TypeScript
MIT
License

Built for developers
who ship fast

Everything you need to build beautiful, consistent mobile experiences without reinventing the wheel.

35+ Components

Buttons, inputs, cards, modals, toasts, avatars, switches, checkboxes — everything you need, nothing you don't.

Theme System

Light and dark mode built-in. Customize every token — colors, spacing, radii, typography, shadows — to match your brand.

TypeScript First

Full type definitions, IntelliSense, and autocomplete. Catch errors at compile time, not runtime.

Accessible

Proper accessibility roles, states, and labels out of the box. Screen readers and assistive tech just work.

Animated

Smooth 60fps native animations powered by React Native Animated API. No extra libraries needed.

Zero Dependencies

Only React and React Native as peer deps. Tree-shakeable exports — your bundle stays lean.

Every building block
you need

Carefully crafted, consistent, and ready to drop into your project.

Button4 variants · 6 colors · 3 sizes
Email address
Input3 variants · label · error state
AvatarImage or initials · 5 sizes
Glow Card
Animated glow effect
GlowCardPulsing glow · rainbow mode
ShimmerButtonShimmer sweep animation
nova-native-ui
GradientTextPer-char colors · animated
Browse All 35+ Components

Interactive previews, code examples, and props documentation

Ready in under a minute

Install, wrap with ThemeProvider, and start building.

App.tsx
import {
  ThemeProvider, ToastProvider,
  Button, NovaText, Input,
  Card, VStack,
} from 'nova-native-ui';

export default function App() {
  return (
    <ThemeProvider darkMode={false}>
      <ToastProvider>
        <VStack spacing="lg" padding="lg">
          <NovaText variant="h1">Welcome</NovaText>

          <Card variant="elevated" padding="lg">
            <Input
              label="Email"
              placeholder="you@example.com"
            />
            <Button color="primary" fullWidth>
              Sign In
            </Button>
          </Card>
        </VStack>
      </ToastProvider>
    </ThemeProvider>
  );
}

Start shipping
beautiful apps today

Open source, free forever. Star us on GitHub and join the community.

Star on GitHub View on npm