# @memoro/mobile-ui **React Native UI component library for memoro mobile apps.** ⚠️ **Framework Compatibility:** - ✅ **React Native (Expo)** - Full support - ❌ **Web (SvelteKit)** - Not compatible (use Svelte components instead) - ❌ **Landing (Astro)** - Not compatible (use Astro components instead) This library is specifically built for React Native applications using Expo. All components use React Native primitives (`View`, `Pressable`, `Text`) and cannot be used in web frameworks. ## 🎉 17 Components Ready ### UI Components (14) - ✅ **Button** - Pressable button with 5 variants, 3 sizes, icon support - ✅ **Text** - Typography with 11 predefined variants - ✅ **Icon** - Cross-platform icons (SF Symbols on iOS, Ionicons elsewhere) - ✅ **Container** - Safe area container with flexible padding - ✅ **EmptyState** - Empty state display with icon/emoji - ✅ **ErrorBanner** - Floating notification banner with 4 variants - ✅ **Slider** - Interactive slider with smooth animations - ✅ **Skeleton** - Loading skeleton with shimmer effect - ✅ **FAB** - Floating Action Button with spring animation - ✅ **Tag** - Tag/Chip for labels and categories - ✅ **Badge** - Notification badge for counts and status - ✅ **Card** - Container card with shadow and press interaction - ✅ **Select** - Horizontal scrollable selector with loading/error states - ✅ **ToggleGroup** - Segmented control for mutually exclusive options ### Navigation Components (3) - ✅ **Header** - Navigation header with title, back button, custom actions - ✅ **HeaderButton** - Icon button for header actions - ✅ **TabBarIcon** - Icon component optimized for tab bars ## Quick Start ### Using the CLI Tool ✅ ```bash # From your project root cd /path/to/your-app # List all available components node /path/to/packages/mobile-ui/cli/bin/cli.js list # Add components (dependencies auto-installed) node /path/to/packages/mobile-ui/cli/bin/cli.js add button node /path/to/packages/mobile-ui/cli/bin/cli.js add text node /path/to/packages/mobile-ui/cli/bin/cli.js add card # Or use -y to skip confirmations node /path/to/packages/mobile-ui/cli/bin/cli.js add select -y ``` Components are copied to your `components/ui/` directory! ### Using Components After adding components via CLI: ```tsx import { Button } from '@/components/ui/Button'; import { Text } from '@/components/ui/Text'; import { Card } from '@/components/ui/Card'; function MyScreen() { return ( Welcome