# **dynamic-forms**

This is an [**Angular**](https://angular.dev) project for dynamic forms based on JSON:

- [**GitHub**](https://github.com/dynamic-forms/dynamic-forms) repository under [MIT License](https://github.com/dynamic-forms/dynamic-forms/blob/main/LICENSE.md) with [releases](https://github.com/dynamic-forms/dynamic-forms/releases)
- [**Azure DevOps**](https://dev.azure.com/alexandergebuhr/dynamic-forms) project with [build pipelines](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build) and [release dashboard](https://dev.azure.com/alexandergebuhr/dynamic-forms/_dashboards/dashboard/75c3b542-d483-4a2c-b7e0-b822a0d4a493)
- [**Azure**](https://dynamic-forms.azurewebsites.net/) web apps with demos
- [**npm packages**](https://www.npmjs.com/org/dynamic-forms) for libraries
- [**stackblitz**](https://stackblitz.com/~/github.com/dynamic-forms/dynamic-forms) for project and [**stackblitz**](https://stackblitz.com/edit/dynamic-forms-stackblitz) with example using npm packages of libraries

## **Features**

- Dynamic [**reactive forms**](https://angular.dev/guide/forms/reactive-forms) based on **JSON** definition
- Structuring / nesting dynamic forms by
  - Dynamic form elements (container, accordion, tabs, text, content, markdown, modal)
  - Dynamic form fields (control, group, array, dictionary)
  - Dynamic form actions (button, icon)
- Dynamic form controls / inputs include
  - Dynamic form inputs
    - Checkbox and switch
    - Combobox, radio, select and toggle
    - Textbox, textarea and input mask
    - Datepicker
    - Numberbox
    - File(s)
  - Dynamic form input validation
  - Dynamic form input hints
  - Dynamic form input add-ons