🎨 RNC Theme
A powerful and flexible theming system for React Native applications with TypeScript support.

📦 Peer Dependencies
✨ Features
- 🎯 Type-Safe - Full TypeScript support with comprehensive type definitions
- 🎨 Dynamic Theme Switching - Seamless light/dark mode transitions
- 📱 React Native Optimized - Built specifically for React Native performance
- 💾 Persistent Storage - Automatically saves theme preferences
- 🎭 8+ Built-in Presets - Material, Neon, Ocean, Cyberpunk, and more
- 🔄 Theme Registry - Register and manage multiple theme configurations
🚀 Installation
npm install rnc-theme
yarn add rnc-theme
pnpm add rnc-theme
bun add rnc-theme
⚡ Quick Start
1. Setup Theme Provider
import React from 'react';
import { RNCProvider } from 'rnc-theme';
import App from './App';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
export default function Root() {
return (
<GestureHandlerRootView>
<RNCProvider>
<App />
</RNCProvider>
</GestureHandlerRootView>
);
}
2. Using Themes in Components
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { useTheme, useThemedStyles } from 'rnc-theme';
const MyComponent = () => {
const { theme, isDark, setThemeMode } = useTheme();
const styles = useThemedStyles(createStyles);
return (
<View style={styles.container}>
<Text style={styles.text}>Hello World!</Text>
</View>
);
};
const createStyles = (theme) => StyleSheet.create({
container: {
backgroundColor: theme.colors.background,
padding: theme.spacing.md,
},
text: {
color: theme.colors.text,
fontSize: theme.fontSizes.md,
},
});
📄 License
MIT License - see LICENSE file for details.