Skip to content

ng-forge/ng-forge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

89 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ng-forge Dynamic Forms

Stop writing repetitive form code.
Build type-safe, dynamic Angular forms in minutes, not hours.

npm version License: MIT

πŸ“š Documentation β€’ πŸš€ Getting Started β€’ πŸ› Issues


⚑ Quick Start

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;
}

✨ Features

⚑ 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

⚠️ Compatibility

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

πŸ“¦ Packages

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

πŸ“– Documentation

πŸ› οΈ Development

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:docs

See Developer Guides for architecture docs, testing strategy, and creating UI adapters.

πŸ“„ License

MIT Β© ng-forge


⭐ Star us on GitHub β€’ Report an Issue β€’ Join the Discussion

About

Type-safe dynamic forms library for Angular 21 signal forms

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages