| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Production-ready, JSON Schema-driven dynamic form generator component for React, Laravel Inertia.js, and Next.js applications.
@manggala31/schema-form-react is a declarative form generator component. It accepts JSON schema definitions and automatically renders typed input controls (text, number, select, toggle, textarea, radio, and checkboxes) with client-side validation, error message propagation, and customizable layout grids. It pairs directly with server-driven config engines (such as manggala/laravel-settings).
# Using npm
npm install @manggala31/schema-form-react
# Using yarn
yarn add @manggala31/schema-form-react
# Using pnpm
pnpm add @manggala31/schema-form-react
# Using bun
bun add @manggala31/schema-form-reactimport React from 'react';
import { SchemaForm, FormFieldSchema } from '@manggala31/schema-form-react';
import '@manggala31/schema-form-react/styles.css';
const formSchema: FormFieldSchema[] = [
{
name: 'siteName',
label: 'Application Title',
type: 'text',
placeholder: 'Enter application name',
required: true,
},
{
name: 'environment',
label: 'Environment',
type: 'select',
options: [
{ label: 'Production', value: 'production' },
{ label: 'Staging', value: 'staging' },
{ label: 'Development', value: 'development' },
],
required: true,
},
{
name: 'maintenanceMode',
label: 'Enable Maintenance Mode',
type: 'toggle',
description: 'Temporarily disable public access',
},
{
name: 'maxConnections',
label: 'Max DB Connections',
type: 'number',
min: 5,
max: 500,
},
];
export default function SettingsPage() {
const handleSubmit = (values: Record<string, any>) => {
console.log('Submitted form values:', values);
};
return (
<div className="container">
<h1>System Settings</h1>
<SchemaForm
schema={formSchema}
initialValues={{ siteName: 'My App', environment: 'production' }}
onSubmit={handleSubmit}
submitText="Save Settings"
/>
</div>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
| schema | FormFieldSchema[] | Required | Array of JSON field schemas. |
| initialValues | Record<string, any> | {} | Initial form values mapping. |
| onSubmit | (values: Record<string, any>) => void | Required | Callback invoked on valid form submission. |
| submitText | string | 'Submit' | Text label for the submit button. |
| className | string | '' | Custom form container CSS class. |
MIT License © Ilham Hatta Manggala
| Back | FazBrowse Home | New Git URL |