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
PropTypeDefaultDescription
labelstring-Button label text
onPress() => void-Function to call on press
theme'glass' | 'brutal' | 'gradient' | 'dark' | 'minimal'minimalVisual theme
size'sm' | 'md' | 'lg'mdButton size preset
accentColorstring#6366f1Accent color
styleViewStyle-Custom container styles

Install

TERMINAL
$ npx expo install react-native-reanimated expo-blur expo-linear-gradient react-native-svg

Component 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%
Primary Action Button - Premium React Native Button Component for Expo | Uilora | Uilora