Introduction
Welcome to Lunar Kit 🌙 — a comprehensive UI component library for React Native applications, built with NativeWind (Tailwind CSS for React Native).
What is Lunar Kit?
Lunar Kit is a collection of beautifully designed, accessible, and customizable UI components for React Native. It provides everything you need to build modern mobile applications with a consistent design system.
Key Features
- 🎨 Beautiful Design — Clean, modern components following best practices
- 🌙 Dark Mode Support — Built-in theme switching capabilities
- 📱 Cross Platform — Works on iOS, Android, and Web
- ⚡ NativeWind Powered — Leverage Tailwind CSS utility classes
- 🔧 Customizable — Easy to extend and modify
- 📦 Copy-Paste Ready — Components are added directly to your project
- 🎯 TypeScript First — Full type safety throughout
- ♿ Accessible — WCAG compliant components
Why Lunar Kit?
Unlike traditional component libraries that are installed as npm packages, Lunar Kit follows the copy-paste approach (inspired by shadcn/ui). This means:
- Full Control — Components live in your project, so you can modify them freely
- No Lock-in — You're not dependent on library updates or breaking changes
- Learn & Understand — See exactly how each component is built
- Customize Everything — Change styles, behavior, or structure as needed
Philosophy
Lunar Kit is built with these principles in mind:
Composition Over Configuration
Components are designed to be composed together rather than configured through props. This gives you more flexibility and makes the code more readable.
Variants with CVA
We use class-variance-authority (CVA) for handling component variants. This provides type-safe variant management with excellent developer experience.
NativeWind Integration
All styling is done through NativeWind, making it easy to customize using familiar Tailwind CSS classes.
Components
Lunar Kit includes a comprehensive set of components:
Form Components
- Button — Versatile button with multiple variants
- Input — Text input with prefix/suffix support
- Textarea — Multi-line text input
- Checkbox — Checkbox with label support
- Radio — Radio button components
- Select — Dropdown select component
- Form — Form wrapper with validation
Layout Components
- Card — Container with header, content, footer
- Dialog — Modal dialog with overlay
- Bottom Sheet — Sliding bottom panel
- Banner — Alert/notification banner
Display Components
Data Components
- Calendar — Date selection calendar
- Date Picker — Date input with calendar
- Date Range Picker — Select date ranges
Navigation
- Tabs — Tab navigation component
Advanced
- Accordion — Collapsible content sections
Quick Start
Get started with Lunar Kit in just a few minutes:
Requirements
- React Native >= 0.70.0
- Expo SDK 49+ (recommended)
- NativeWind >= 4.0.0
- Node.js >= 18.0.0
Community
Ready to get started? Head over to the Installation guide!