A comprehensive, customizable, and accessible UI kit for React Native applications. Built with TypeScript and designed for performance and developer experience.
- 🎨 40+ customizable components
- 🎯 TypeScript support out of the box
- 📱 Cross-platform (iOS & Android)
- ♿ Built with accessibility in mind
- 🚀 Optimized for performance
- 🔄 Theme support
- 🎭 Support for light/dark mode
- 📝 Comprehensive documentation
Using npm:
npm install @mainamiru/react-native-ui-kit @expo/vector-icons
Or using yarn:
yarn add @mainamiru/react-native-ui-kit
Or using bun:
bun add @mainamiru/react-native-ui-kit
Or using expo:
npx expo install @mainamiru/react-native-ui-kit
npx expo install @expo/vector-icons
npm install @react-native-vector-icons/evil-icons
Wrap your app with the ThemeProvider
to enable theming and access to the UI components:
import * as React from "react";
import { AppRegistry } from "react-native";
import {
DefaultTheme,
ReactNativeUIKitProvider,
} from "@mainamiru/react-native-ui-kit";
import { name as appName } from "./app.json";
import App from "./src/App";
export default function Main() {
return (
<ReactNativeUIKitProvider theme={DefaultTheme}>
<App />
</ReactNativeUIKitProvider>
);
}
AppRegistry.registerComponent(appName, () => Main);
- ActivityIndicator - Loading indicator
- Avatar - User avatar with image or initials
- Badge - Small status indicators
- Button - Customizable button component
- Card - Container for content with optional header and footer
- Checkbox - Selection control
- Divider - Visual separator
- Icon - Icon component with support for custom icon sets
- Text - Text component with typography support
- TextInput - Input field with various styles
- Box - Basic building block for layouts
- Center - Centers its children
- Container - Responsive container
- Flex - Flexbox container
- Grid - Grid layout system
- Row - Horizontal layout container
- Spacer - Adds space between components
- BottomSheet - Modal bottom sheet
- Menu - Dropdown menu
- Sidebar - Side navigation
- Tabs - Tab navigation
- List - Scrollable list with various styles
- Table - Data table with sorting and pagination
- Tooltip - Informative tooltip
- Dialog - Modal dialog
- Skeleton - Content loading placeholders
- Spinner - Loading indicator
- Toaster - Notification system
- Checkbox - Toggle input
- Picker - Dropdown selector
- Radio - Radio button group
- SearchBar - Search input field
- Switch - Toggle switch
All components are highly customizable through props. You can also extend the default theme or create your own component variants.
For detailed documentation and examples, please visit our documentation website.
We welcome contributions! Please read our Contributing Guide to learn how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this library useful, please consider giving it a ⭐️ on GitHub.
- Add more components
- Improve documentation
- Add more examples
- Performance optimizations
- Accessibility improvements
- Built with ❤️ by the React Native community
- Inspired by various UI component libraries
💡 Tip: Check out our examples directory for more usage examples.