Components

Button

Pressable button component with multiple variants and sizes for user actions.

iOSAndroid
Preview Button on your device

Scan with Expo Go

Download Expo Go, then scan the QR code to preview native components.

Installation

pnpm dlx @docyrus/cli add @docyrus/rn-button
Required Packages(1 package)
pnpm add react-native-reanimated

Usage

import { Button } from '@/components/docyrus-native/button';

<Button>Click me</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="destructive">Delete</Button>
<Button variant="outline">Outline</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="link">Link</Button>
<Button loading>Loading...</Button>

API Reference

PropTypeDefaultDescription
childrenReactNode—Button content
variant'default' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link''default'Visual style variant
size'sm' | 'md' | 'lg' | 'icon''md'Button size
disabledbooleanfalseDisable interaction
loadingbooleanfalseShow loading spinner with smooth layout transition
feedbackVariant'scale' | 'scale-highlight' | 'none''scale-highlight'Press feedback animation type
onPress() => void—Press handler
onLongPress() => void—Long press handler
classNamestring—Additional CSS classes
textClassNamestring—Text CSS classes
accessibilityLabelstring—Accessibility label

Type Exports

TypeDescription
ButtonPropsProps for Button component
ButtonVariant'default' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link'
ButtonSize'sm' | 'md' | 'lg' | 'icon'

On this page