New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@ng-forge/dynamic-forms-material

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ng-forge/dynamic-forms-material

Angular Material integration for @ng-forge/dynamic-forms. Pre-built Material Design form components.

Source
npmnpm
Version
1.0.0-rc.3
Version published
Weekly downloads
36
89.47%
Maintainers
1
Weekly downloads
 
Created
Source

ng-forge Dynamic Forms

@ng-forge/dynamic-forms-material

Material Design field components for @ng-forge/dynamic-forms.

CI npm version npm downloads Angular License: MIT Discord

Experimental API Notice: This library uses Angular's experimental Signal Forms API. Angular may introduce breaking changes in patch releases. Check the compatibility matrix below.

Compatibility

@ng-forge/dynamic-forms-material@ng-forge/dynamic-formsAngular
0.9.x0.9.x>=21.2.0
0.8.x0.8.x>=21.2.0
0.7.x0.7.x>=21.2.0
0.6.x0.6.x>=21.1.0
0.5.x0.5.x>=21.1.0
0.4.x0.4.x>=21.1.0
0.3.x0.3.x21.0.7-21.0.x
0.2.x0.2.x21.0.6
0.1.1+0.1.1+21.0.2-21.0.5
0.1.00.1.021.0.0-21.0.1

Installation

npm install @ng-forge/dynamic-forms @ng-forge/dynamic-forms-material @angular/material

Setup

// 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())],
};

Usage

import { DynamicForm, type FormConfig, type InferFormValue } from '@ng-forge/dynamic-forms';

@Component({
  imports: [DynamicForm],
  template: `<form [dynamic-form]="config" (submitted)="onSubmit($event)"></form>`,
})
export class ContactFormComponent {
  config = {
    fields: [
      { key: 'name', type: 'input', value: '', label: 'Name', required: true, props: { appearance: 'outline' } },
      {
        key: 'email',
        type: 'input',
        value: '',
        label: 'Email',
        required: true,
        email: true,
        props: { appearance: 'outline', prefixIcon: 'email' },
      },
      { type: 'submit', key: 'submit', label: 'Send', props: { color: 'primary' } },
    ],
  } as const satisfies FormConfig;

  onSubmit(value: InferFormValue<typeof this.config.fields>) {
    console.log('Form submitted:', value);
  }
}

Global Configuration

provideDynamicForm(
  ...withMaterialFields({
    appearance: 'outline',
    subscriptSizing: 'dynamic',
  }),
);

Field Types

Input, Textarea, Select, Checkbox, Radio, Datepicker, Slider, Toggle, Multi-Checkbox, Button, Submit, Next, Previous

Documentation

Changelog

See GitHub Releases.

Contributing

Contributions are welcome! Please read our Contributing Guide.

License

MIT © ng-forge

Keywords

angular

FAQs

Package last updated on 10 Jun 2026

Related posts