Primary Action Button
Standard action button with various size and theme presets.
Component Features and Props
How to Use Primary Action Button Component
Installation Guide for Primary Action Button
Component Props
Specifications
| Prop | Type | Default | Description |
|---|---|---|---|
label | string | - | Button label text |
onPress | () => void | - | Function to call on press |
theme | 'glass' | 'brutal' | 'gradient' | 'dark' | 'minimal' | minimal | Visual theme |
size | 'sm' | 'md' | 'lg' | md | Button size preset |
accentColor | string | #6366f1 | Accent color |
style | ViewStyle | - | Custom container styles |
Install
TERMINAL
$ npx expo install react-native-reanimated expo-blur expo-linear-gradient react-native-svgComponent Code
Component.tsx
1import React, { useEffect } from 'react';
2import { StyleSheet, Text, Pressable, View, ViewStyle, TextStyle } from 'react-native';
3import Animated, {
4 useAnimatedStyle,
5 useSharedValue,
6 withSpring,
7 Easing,
8} from 'react-native-reanimated';
9import { BlurView } from 'expo-blur';
10import { LinearGradient } from 'expo-linear-gradient';
11import Svg, { Rect, Defs, LinearGradient as SvgGradient, Stop } from 'react-native-svg';
12
13type ButtonTheme = 'glass' | 'brutal' | 'gradient' | 'dark' | 'minimal';
14type ButtonSize = 'sm' | 'md' | 'lg';
15
16interface Props {
17 label: string;
18 onPress?: () => void;
19 theme?: ButtonTheme;
20 size?: ButtonSize;Usage
Usage.tsx
import React from 'react';
import { StyleSheet, View, ScrollView, Text, SafeAreaView } from 'react-native';
import PrimaryActionButton from './components/PrimaryActionButton';
export default function App() {
return (
<SafeAreaView style={styles.container}>
<ScrollView contentContainerStyle={styles.scroll}>
<Text style={styles.title}>Themes Buttons</Text>
{/* 1. GLASS - High Tech / SaaS */}
<Text style={styles.sectionLabel}>Glass Theme</Text>
<PrimaryActionButton
label="Join Waitlist"
theme="glass"
accentColor="#00f2fe"
/>
{/* 2. BRUTAL - Trendy / Gen-Z Apps */}
<Text style={styles.sectionLabel}>Neo-Brutalism Theme</Text>100%
Interactive Preview running on Expo Web.
Gestures and animations are simulated.
100%
