A high-end, production-ready collection of form components designed with precision, performance, and developer experience in mind. Perfect for SaaS, Dashboards, and Modern Landing Pages.
- Premium Aesthetics: Modern glassmorphism, organic layered shadows, and fluid staggered animations.
- Zero Dependencies: Built with pure React 19 and Vanilla CSS. No bulky UI libraries (Tailwind/Bootstrap) required.
- Theme Engine: 6 hand-crafted color themes driven by modular CSS variables.
- Developer First: Centralized
useFormcustom hook for complex state logic and validation. - Ready for Social: Integrated Google and GitHub login UI.
- SEO & Accessibility: Semantic HTML5 with focus management and ARIA labels.
- Framework: React 19 (Functional Components)
- Bundler: Vite 7 (Lightning fast development & optimized build)
- Styling: Vanilla CSS (CSS Variables / Custom Properties)
- Icons: Optimized SVG React Components
# Extract the package and install dependencies
npm install
# Start development server
npm run devimport LoginForm from './components/LoginForm';
function App() {
const handleLogin = async (data) => {
// Connect to your API here
console.log('Logging in with:', data);
};
return (
<LoginForm
onSubmit={handleLogin}
title="Welcome Back"
/>
);
}All components are fully standardized with the following props for maximum flexibility:
| Prop | Type | Default | Description |
|---|---|---|---|
title |
string |
"Sign in" |
Main heading for the form. |
subtitle |
string |
"Welcome back..." |
Descriptive text below the title. |
onSubmit |
async func |
Mock Delay |
Async function receiving form { email, password, remember }. |
onForgot |
func |
null |
Triggered when "Forgot password?" is clicked. |
onSwitch |
func |
null |
Triggered for navigation to registration. |
| Prop | Type | Default | Description |
|---|---|---|---|
title |
string |
"Create account" |
Main heading for the registration form. |
subtitle |
string |
"Join us today..." |
Secondary descriptive text. |
onSubmit |
async func |
Mock Delay |
Async function receiving { name, email, password, confirm }. |
onSwitch |
func |
null |
Triggered for navigation to login. |
| Prop | Type | Default | Description |
|---|---|---|---|
title |
string |
"Get in touch" |
Main heading for the contact form. |
subtitle |
string |
"We'd love to..." |
Secondary descriptive text. |
onSubmit |
async func |
Mock Delay |
Async function receiving { name, email, subject, message }. |
| Prop | Type | Default | Description |
|---|---|---|---|
title |
string |
"Forgot password?" |
Main heading for the reset flow. |
subtitle |
string |
"No worries!..." |
Secondary descriptive text. |
onSubmit |
async func |
Mock Delay |
Async function receiving { email }. |
onBack |
func |
null |
Triggered to return to the sign-in screen. |
Global variables are located in index.css, while themes are in src/themes/*.css. To create a new theme:
- Create
new-theme.css. - Define the palette:
[data-theme="new-theme"] {
--primary: #your-color;
--primary-rgb: x, y, z;
--app-bg: #...;
/* ... copy other variables from blue.css */
}Validation rules are centralized in each component for easy editing. To add a custom rule:
- Open the form component (e.g.,
RegisterForm.jsx). - Update the
validatefunction:
const validate = (form) => {
const err = {};
if (form.password.length < 12) {
err.password = 'Security policy: Password must be 12+ chars.';
}
return err;
};src/
├── components/ # Visual components & Icons
│ ├── Icons.jsx # Centralized SVG registry
│ └── ...Form.jsx # Standalone form components
├── themes/ # CSS Theme definitions
├── utils/ # Logic & Helper functions
│ ├── cn.js # Conditional class utility
│ └── form-utils.js # Custom useForm hook
├── App.jsx # Demo implementation shell
└── index.css # Base design system & micro-interactions
Built for scale and performance:
- Optimization: Run
npm run buildfor a highly minified, chunk-split distribution. - Fast Refresh: Instant feedback during development via Vite.
- Micro-Scale Icons: All icons are lightweight inline SVGs, reducing HTTP requests.
- Support: For bugs or customization requests, please contact the author via ThemeForest.
- License: Regular or Extended License applies based on your purchase.
© 2026 ThemeForest Author. All rights reserved.