SignupForm
Overview
The SignupForm component is a feature-rich, animated signup form with comprehensive validation, password strength indicators, and multiple layout variants. It supports both centered card layouts and split-screen designs with promotional content, making it perfect for modern authentication flows.
Preview
- Preview
- Code
Preview - default variant • default state
Create Account
Join us today and get started
Already have an account? Sign in
import { CenteredSignupForm } from "./index";
function App() {
const handleSubmit = async (formData) => {
console.log("Form data:", formData);
// Handle form submission
};
return (
<CenteredSignupForm
variant="default"
onSubmit={handleSubmit}
/>
);
}
export default App;
- Preview
- Code
Preview - default variant • YourBrand • default state
YourBrand
Create Account
Sign up to get started with your journey
import { SplitSignupForm } from "./index";
function App() {
const handleSubmit = async (formData) => {
console.log("Form data:", formData);
// Handle form submission
};
return (
<SplitSignupForm
variant="default"
companyName="YourBrand"
onSubmit={handleSubmit}
/>
);
}
export default App;
Installation
- CLI
- Manual
ignix add component signup-form
# Copy the component file to your project
cp signup-form.tsx ./src/components/Forms/
# Install required dependencies
npm install framer-motion class-variance-authority lucide-react
Usage
Props
| Prop | Type | Default | Description |
|---|---|---|---|
variant | "default" | "modern" | "minimal" | "card" | "glass" | "elegant" | "default" | Visual theme variant for the form |
layout | "centered" | "split" | "centered" | Layout variant (centered card or split screen) |
inputVariant | string | "clean" | Animation variant for input fields |
size | "sm" | "md" | "lg" | "md" | Size of form elements |
showConfirmEmail | boolean | true | Show confirm email field for verification |
showTerms | boolean | true | Show terms and conditions checkbox |
enableCaptcha | boolean | false | Enable CAPTCHA integration placeholder |
realtimeValidation | boolean | true | Enable real-time validation as user types |
loading | boolean | false | Show loading state during submission |
success | boolean | false | Show success state after form submission |
onSubmit | (data: SignupFormData) => void | undefined | Custom submit handler |
loginLink | string | "/login" | Custom login page URL |
className | string | undefined | Additional CSS classes |