# heroui-native > Build React Native UI with HeroUI Native component library. Use when user explicitly mentions HeroUI, heroui-native, or asks about HeroUI Native components like Button, Card, TextField, Dialog, BottomSheet, Toast, Switch, Checkbox, Tabs, or Accordion. Provides component APIs, compound component patterns, styling with Tailwind/Uniwind, and theming guidance. - Author: Eric Kreutzer - Repository: erickreutz/dotfiles - Version: 20260124140251 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/erickreutz/dotfiles - Web: https://mule.run/skillshub/@@erickreutz/dotfiles~heroui-native:20260124140251 --- --- name: heroui-native description: Build React Native UI with HeroUI Native component library. Use when user explicitly mentions HeroUI, heroui-native, or asks about HeroUI Native components like Button, Card, TextField, Dialog, BottomSheet, Toast, Switch, Checkbox, Tabs, or Accordion. Provides component APIs, compound component patterns, styling with Tailwind/Uniwind, and theming guidance. --- # HeroUI Native React Native component library built on Tailwind v4 via Uniwind with smooth animations and accessibility. ## Quick Reference ```tsx import { Button, Card, TextField, Dialog, Toast, Switch } from 'heroui-native'; ``` ### Provider Setup (required) ```tsx import { HeroUINativeProvider } from 'heroui-native'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; {/* App content */} ``` ## Component Categories ### Interactive Components - **Button** - `variant`: primary|secondary|tertiary|ghost|danger|danger-soft, `size`: sm|md|lg - **Switch** - `isSelected`, `onSelectedChange`, compound: `Switch.Thumb` - **Checkbox** - `isSelected`, `onSelectedChange` - **TextField** - `isRequired`, `isInvalid`, compounds: Label, Input, ErrorMessage - **Select** - Dropdown selection ### Display Components - **Card** - compounds: Card.Header, Card.Body, Card.Footer, Card.Title, Card.Description - **Avatar** - User avatars with images/initials - **Chip** - Compact labels - **Spinner** - Loading indicator, `size`: sm|md|lg, `color`: default|success|warning|danger ### Overlay Components - **Dialog** - Modal overlay with gesture dismiss - **BottomSheet** - Slides from bottom, supports snap points - **Toast** - Temporary notifications via `useToast()` hook - **Popover** - Floating content anchored to trigger ### Layout - **Tabs** - Tabbed navigation - **Accordion** - Collapsible panels ## Core Patterns ### Compound Components Components use dot notation for sub-components: ```tsx Title Description ``` ### Styling with className All components accept `className` for Tailwind utilities: ```tsx ``` ### asChild Pattern Replace rendered element while keeping behavior: ```tsx ``` ### Controlled State Most interactive components support controlled patterns: ```tsx const [isSelected, setIsSelected] = useState(false); ``` ## Detailed References - **Form & Interactive components**: See [references/components.md](references/components.md) - **Dialog, BottomSheet, Toast, Popover**: See [references/overlays.md](references/overlays.md) - **Styling, theming, composition**: See [references/patterns.md](references/patterns.md)