Stop writing repetitive form code.
Build type-safe, dynamic Angular forms in minutes, not hours.
π Documentation β’ π Getting Started β’ π Issues
npm install @ng-forge/dynamic-forms @ng-forge/dynamic-forms-material// app.config.ts
import { provideDynamicForm } from '@ng-forge/dynamic-forms';
import { withMaterialFields } from '@ng-forge/dynamic-forms-material';
export const appConfig: ApplicationConfig = {
providers: [provideDynamicForm(...withMaterialFields())],
};// component.ts
import { DynamicForm, type FormConfig, type InferFormValue } from '@ng-forge/dynamic-forms';
@Component({
imports: [DynamicForm],
template: `<form [dynamic-form]="config"></form>`,
})
export class LoginComponent {
config = {
fields: [
{ key: 'email', type: 'input', value: '', label: 'Email', required: true, email: true },
{ key: 'password', type: 'input', value: '', label: 'Password', required: true, minLength: 8, props: { type: 'password' } },
{ type: 'submit', key: 'submit', label: 'Sign In' },
],
} as const satisfies FormConfig;
}β‘ Signal Forms β Native Angular 21+ signal forms integration
π― Type-Safe β Full TypeScript inference for form values
π¨ UI Agnostic β Material, Bootstrap, PrimeNG, Ionic, or custom
β Validation β Shorthand validators and conditional validation
π Conditional Logic β Dynamic field visibility and requirements
π Multi-Step Forms β Built-in wizard and pagination support
π i18n Ready β Observable/Signal support for labels and messages
Experimental API Notice: This library uses Angular's experimental Signal Forms API. Angular may introduce breaking changes in patch releases.
| @ng-forge/dynamic-forms | Angular |
|---|---|
| 0.3.x | >=21.0.7 |
| 0.2.x | 21.0.6 |
| 0.1.1+ | 21.0.2-21.0.5 |
| 0.1.0 | 21.0.0-21.0.1 |
| Package | Description |
|---|---|
| @ng-forge/dynamic-forms | Core library |
| @ng-forge/dynamic-forms-material | Material Design |
| @ng-forge/dynamic-forms-primeng | PrimeNG |
| @ng-forge/dynamic-forms-ionic | Ionic |
| @ng-forge/dynamic-forms-bootstrap | Bootstrap 5 |
git clone https://github.com/ng-forge/ng-forge.git && cd ng-forge
pnpm install
pnpm run build:libs
pnpm run test
pnpm run serve:docsSee Developer Guides for architecture docs, testing strategy, and creating UI adapters.
MIT Β© ng-forge
β Star us on GitHub β’ Report an Issue β’ Join the Discussion