@syncfusion/ej2-react-form-renderer 0.1.2-beta → 34.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -105
- package/diConfig.json +85 -0
- package/dist/ej2-react-form-renderer.min.js +10 -0
- package/dist/ej2-react-form-renderer.umd.min.js +11 -0
- package/dist/ej2-react-form-renderer.umd.min.js.map +1 -0
- package/dist/es6/ej2-react-form-renderer.es2015.js +37 -0
- package/dist/es6/ej2-react-form-renderer.es2015.js.map +1 -0
- package/form-renderer.d.ts +4 -0
- package/form-renderer.js +4 -0
- package/index.d.ts +2 -4
- package/index.js +2 -4
- package/license +6 -13
- package/package.json +19 -38
- package/src/form-renderer/formrenderer.component.d.ts +34 -0
- package/src/form-renderer/formrenderer.component.js +49 -0
- package/src/form-renderer/index.d.ts +1 -0
- package/src/form-renderer/index.js +1 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +2 -6
- package/src/index.js +2 -6
- package/styles/bds-lite.css +1 -0
- package/styles/bds-lite.scss +1 -0
- package/styles/bds.css +1 -0
- package/styles/bds.scss +1 -0
- package/styles/bootstrap-dark-lite.css +1 -0
- package/styles/bootstrap-dark-lite.scss +1 -0
- package/styles/bootstrap-dark.css +1 -26
- package/styles/bootstrap-dark.scss +1 -0
- package/styles/bootstrap-lite.css +1 -0
- package/styles/bootstrap-lite.scss +1 -0
- package/styles/bootstrap.css +1 -26
- package/styles/bootstrap.scss +1 -0
- package/styles/bootstrap4-lite.css +1 -0
- package/styles/bootstrap4-lite.scss +1 -0
- package/styles/bootstrap4.css +1 -26
- package/styles/bootstrap4.scss +1 -0
- package/styles/bootstrap5-dark-lite.css +1 -0
- package/styles/bootstrap5-dark-lite.scss +1 -0
- package/styles/bootstrap5-dark.css +1 -26
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5-lite.css +1 -0
- package/styles/bootstrap5-lite.scss +1 -0
- package/styles/bootstrap5.3-lite.css +1 -0
- package/styles/bootstrap5.3-lite.scss +1 -0
- package/styles/bootstrap5.3.css +1 -26
- package/styles/bootstrap5.3.scss +1 -0
- package/styles/bootstrap5.css +1 -26
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark-lite.css +1 -0
- package/styles/fabric-dark-lite.scss +1 -0
- package/styles/fabric-dark.css +1 -0
- package/styles/fabric-dark.scss +1 -0
- package/styles/fabric-lite.css +1 -0
- package/styles/fabric-lite.scss +1 -0
- package/styles/fabric.css +1 -0
- package/styles/fabric.scss +1 -0
- package/styles/fluent-dark-lite.css +1 -0
- package/styles/fluent-dark-lite.scss +1 -0
- package/styles/fluent-dark.css +1 -26
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent-lite.css +1 -0
- package/styles/fluent-lite.scss +1 -0
- package/styles/fluent.css +1 -26
- package/styles/fluent.scss +1 -0
- package/styles/fluent2-lite.css +1 -0
- package/styles/fluent2-lite.scss +1 -0
- package/styles/fluent2.css +1 -26
- package/styles/fluent2.scss +1 -0
- package/styles/form-renderer/bds.css +1 -0
- package/styles/form-renderer/bds.scss +1 -0
- package/styles/form-renderer/bootstrap-dark.css +1 -0
- package/styles/form-renderer/bootstrap-dark.scss +1 -0
- package/styles/form-renderer/bootstrap.css +1 -0
- package/styles/form-renderer/bootstrap.scss +1 -0
- package/styles/form-renderer/bootstrap4.css +1 -0
- package/styles/form-renderer/bootstrap4.scss +1 -0
- package/styles/form-renderer/bootstrap5-dark.css +1 -0
- package/styles/form-renderer/bootstrap5-dark.scss +1 -0
- package/styles/form-renderer/bootstrap5.3.css +1 -0
- package/styles/form-renderer/bootstrap5.3.scss +1 -0
- package/styles/form-renderer/bootstrap5.css +1 -0
- package/styles/form-renderer/bootstrap5.scss +1 -0
- package/styles/form-renderer/fabric-dark.css +1 -0
- package/styles/form-renderer/fabric-dark.scss +1 -0
- package/styles/form-renderer/fabric.css +1 -0
- package/styles/form-renderer/fabric.scss +1 -0
- package/styles/form-renderer/fluent-dark.css +1 -0
- package/styles/form-renderer/fluent-dark.scss +1 -0
- package/styles/form-renderer/fluent.css +1 -0
- package/styles/form-renderer/fluent.scss +1 -0
- package/styles/form-renderer/fluent2.css +1 -0
- package/styles/form-renderer/fluent2.scss +1 -0
- package/styles/form-renderer/highcontrast-light.css +1 -0
- package/styles/form-renderer/highcontrast-light.scss +1 -0
- package/styles/form-renderer/highcontrast.css +1 -0
- package/styles/form-renderer/highcontrast.scss +1 -0
- package/styles/form-renderer/material-dark.css +1 -0
- package/styles/form-renderer/material-dark.scss +1 -0
- package/styles/form-renderer/material.css +1 -0
- package/styles/form-renderer/material.scss +1 -0
- package/styles/form-renderer/material3-dark.css +1 -0
- package/styles/form-renderer/material3-dark.scss +1 -0
- package/styles/form-renderer/material3.css +1 -0
- package/styles/form-renderer/material3.scss +1 -0
- package/styles/form-renderer/tailwind-dark.css +1 -0
- package/styles/form-renderer/tailwind-dark.scss +1 -0
- package/styles/form-renderer/tailwind.css +1 -0
- package/styles/form-renderer/tailwind.scss +1 -0
- package/styles/form-renderer/tailwind3.css +1 -0
- package/styles/form-renderer/tailwind3.scss +1 -0
- package/styles/highcontrast-light-lite.css +1 -0
- package/styles/highcontrast-light-lite.scss +1 -0
- package/styles/highcontrast-light.css +1 -0
- package/styles/highcontrast-light.scss +1 -0
- package/styles/highcontrast-lite.css +1 -0
- package/styles/highcontrast-lite.scss +1 -0
- package/styles/highcontrast.css +1 -0
- package/styles/highcontrast.scss +1 -0
- package/styles/material-dark-lite.css +1 -0
- package/styles/material-dark-lite.scss +1 -0
- package/styles/material-dark.css +1 -26
- package/styles/material-dark.scss +1 -0
- package/styles/material-lite.css +1 -0
- package/styles/material-lite.scss +1 -0
- package/styles/material.css +1 -26
- package/styles/material.scss +1 -0
- package/styles/material3-dark-lite.css +1 -0
- package/styles/material3-dark-lite.scss +1 -0
- package/styles/material3-dark.css +1 -26
- package/styles/material3-dark.scss +1 -0
- package/styles/material3-lite.css +1 -0
- package/styles/material3-lite.scss +1 -0
- package/styles/material3.css +1 -26
- package/styles/material3.scss +1 -0
- package/styles/tailwind-dark-lite.css +1 -0
- package/styles/tailwind-dark-lite.scss +1 -0
- package/styles/tailwind-dark.css +1 -26
- package/styles/tailwind-dark.scss +1 -0
- package/styles/tailwind-lite.css +1 -0
- package/styles/tailwind-lite.scss +1 -0
- package/styles/tailwind.css +1 -26
- package/styles/tailwind.scss +1 -0
- package/styles/tailwind3-lite.css +1 -0
- package/styles/tailwind3-lite.scss +1 -0
- package/styles/tailwind3.css +1 -26
- package/styles/tailwind3.scss +1 -0
- package/src/CheckboxGroup.d.ts +0 -12
- package/src/CheckboxGroup.js +0 -49
- package/src/ConditionalRuleEngine.d.ts +0 -295
- package/src/ConditionalRuleEngine.js +0 -566
- package/src/CustomTabComponent.d.ts +0 -13
- package/src/CustomTabComponent.js +0 -35
- package/src/DataGridComponent.d.ts +0 -28
- package/src/DataGridComponent.js +0 -147
- package/src/FormRenderer.d.ts +0 -84
- package/src/FormRenderer.js +0 -707
- package/src/FormValidator.d.ts +0 -479
- package/src/FormValidator.js +0 -579
- package/src/MinMaxRuleEngine.d.ts +0 -95
- package/src/MinMaxRuleEngine.js +0 -361
- package/src/StaticHtmlRenderer.d.ts +0 -8
- package/src/StaticHtmlRenderer.js +0 -21
- package/src/expressions/DependencyTracker.d.ts +0 -30
- package/src/expressions/DependencyTracker.js +0 -128
- package/src/expressions/ExpressionEngine.d.ts +0 -81
- package/src/expressions/ExpressionEngine.js +0 -503
- package/src/expressions/ExpressionParser.d.ts +0 -39
- package/src/expressions/ExpressionParser.js +0 -270
- package/src/json-converter.d.ts +0 -171
- package/src/json-converter.js +0 -1209
- package/src/parser.d.ts +0 -99
- package/src/parser.js +0 -753
- package/src/renderFormField.d.ts +0 -21
- package/src/renderFormField.js +0 -226
- package/src/types/FormSchema.d.ts +0 -211
- package/src/types/FormSchema.js +0 -1
- package/src/utils.js +0 -408
- package/styles/bootstrap5.3-dark.css +0 -26
- package/styles/fluent2-dark.css +0 -26
- package/styles/form-renderer.base.css +0 -499
- package/styles/tailwind3-dark.css +0 -10
package/README.md
CHANGED
|
@@ -1,141 +1,124 @@
|
|
|
1
|
-
#
|
|
1
|
+
# React Form Renderer Component
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## What's Included in the React Form Renderer Package
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The React Form Renderer package is a schema-driven form rendering and validation engine. It consumes a JSON form schema and renders a fully functional, Syncfusion-based form that supports field mapping, conditional visibility/disabling, expression-based value computation, custom validation, and data submission.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- **Accessibility**: WCAG 2.1 AA compliant
|
|
13
|
-
- **TypeScript Support**: Full type definitions included
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://ej2.syncfusion.com/react/documentation/introduction?utm_source=npm&utm_medium=listing&utm_campaign=react-form-renderer-npm">Getting Started</a> .
|
|
9
|
+
<a href="https://ej2.syncfusion.com/react/demos/?utm_source=npm&utm_medium=listing&utm_campaign=react-form-renderer-npm">Online demos</a> .
|
|
10
|
+
<a href="https://www.syncfusion.com/react-ui-components?utm_source=npm&utm_medium=listing&utm_campaign=react-form-renderer-npm">Learn more</a>
|
|
11
|
+
</p>
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
<p align="center">
|
|
14
|
+
<img alt="React Form Renderer Component" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/react/react-form-renderer.png">
|
|
15
|
+
</p>
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
## Form Renderer (React)
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
npm install @syncfusion/ej2-react-form-renderer
|
|
21
|
-
```
|
|
19
|
+
The [React Form Renderer](https://www.syncfusion.com/react-ui-components?utm_source=npm&utm_medium=listing&utm_campaign=react-form-renderer-npm) component renders a fully interactive, validation-enabled form from a JSON schema. It is built on top of the Syncfusion Essential JS 2 React suite (inputs, dropdowns, calendars, grids, navigation, popups, and rich text editor) and exposes a `<FormRenderer />` component that is the source of truth for the form-renderer contract.
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
#### Key features
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
* **Schema-driven rendering** — Consumes a JSON `FormSchema` (or Unified Schema) describing the form's version, fields (`properties`), layout, and global settings, then renders the form automatically.
|
|
24
|
+
* **30+ field types** — Maps every supported `component.type` to the equivalent Syncfusion EJ2 React component (textbox, textarea, number, checkbox, checkbox group, radio, dropdown, multiselect, date, dateTime, time, date range, switch, button, split button, signature, rating, color picker, input mask, range slider, file upload, image editor, message, panel, table, tabs, data grid, lookup, static HTML, card, rich text editor).
|
|
25
|
+
* **Built-in validation** — Uses the native EJ2 `FormValidator` to enforce `required`, `minLength`, `maxLength`, `min`, `max`, `regex`, and custom expression rules. Auto-applies email/URL regexes for `textbox` with `textboxType` set.
|
|
26
|
+
* **Conditional logic** — `visibleWhen`, `hideWhen`, `readOnlyWhen`, `disabledWhen`, `requiredWhen`, `setValueWhen`, choice-based field filtering, and conditional data sources for data grids.
|
|
27
|
+
* **Expression engine** — Computed fields via `expressionValue` with topological evaluation order, cycle detection, and per-target-type coercion.
|
|
28
|
+
* **Layouts & composition** — Single/Two/Three/Four column layouts, panels, tables, tabs, cards, and per-column width control.
|
|
29
|
+
* **Events** — `created`, `onChange`, `onSubmit`, `onButtonClick`, and `onFailure` for full integration.
|
|
30
|
+
* **Localization & RTL** — `locale` and `enableRtl` are threaded into every rendered Syncfusion React control.
|
|
31
|
+
|
|
32
|
+
### Usage
|
|
26
33
|
|
|
27
34
|
```tsx
|
|
28
|
-
import React from 'react';
|
|
35
|
+
import * as React from 'react';
|
|
29
36
|
import { FormRenderer } from '@syncfusion/ej2-react-form-renderer';
|
|
30
|
-
import '@syncfusion/ej2-react-form-renderer/styles/tailwind3.css'; // Choose your theme
|
|
31
|
-
|
|
32
|
-
const schema = {
|
|
33
|
-
"version": "1.0.0-beta",
|
|
34
|
-
"properties": {
|
|
35
|
-
"firstName": {
|
|
36
|
-
"id": "textbox_1773902761966_849",
|
|
37
|
-
"type": "string",
|
|
38
|
-
"label": "First Name",
|
|
39
|
-
"required": true
|
|
40
|
-
},
|
|
41
|
-
"lastName": {
|
|
42
|
-
"id": "textbox_1773902782931_266",
|
|
43
|
-
"type": "string",
|
|
44
|
-
"label": "Last Name",
|
|
45
|
-
"required": true
|
|
46
|
-
},
|
|
47
|
-
"age": {
|
|
48
|
-
"id": "number_1773902793792_571",
|
|
49
|
-
"type": "number",
|
|
50
|
-
"label": "Age",
|
|
51
|
-
"required": true
|
|
52
|
-
},
|
|
53
|
-
"dateOfBirth": {
|
|
54
|
-
"id": "datepicker_1773902807416_662",
|
|
55
|
-
"type": "string",
|
|
56
|
-
"format": "date",
|
|
57
|
-
"label": "Date of Birth",
|
|
58
|
-
"required": true
|
|
59
|
-
},
|
|
60
|
-
"submit": {
|
|
61
|
-
"id": "submit_button_initial",
|
|
62
|
-
"type": "button",
|
|
63
|
-
"label": "Submit",
|
|
64
|
-
"buttonType": "submit"
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
37
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
38
|
+
const formSchema = {
|
|
39
|
+
version: '0.1.0',
|
|
40
|
+
properties: {
|
|
41
|
+
name: { type: 'textbox', label: 'Name', required: true },
|
|
42
|
+
email: { type: 'textbox', label: 'Email', textboxType: 'email' },
|
|
43
|
+
role: { type: 'dropdown', label: 'Role', options: ['Admin', 'User'] },
|
|
44
|
+
accept: { type: 'checkbox', label: 'Accept Terms', required: true }
|
|
45
|
+
},
|
|
46
|
+
layout: [
|
|
47
|
+
{ row: 0, col: 0, field: 'name' },
|
|
48
|
+
{ row: 1, col: 0, field: 'email' },
|
|
49
|
+
{ row: 2, col: 0, field: 'role' },
|
|
50
|
+
{ row: 3, col: 0, field: 'accept' }
|
|
51
|
+
]
|
|
52
|
+
};
|
|
78
53
|
|
|
54
|
+
export default function App() {
|
|
79
55
|
return (
|
|
80
56
|
<FormRenderer
|
|
81
|
-
schema={
|
|
82
|
-
onSubmit={
|
|
83
|
-
onChange={handleChange}
|
|
57
|
+
schema={formSchema}
|
|
58
|
+
onSubmit={(args) => console.log(args.data, args.isValid)}
|
|
84
59
|
/>
|
|
85
60
|
);
|
|
86
61
|
}
|
|
87
|
-
|
|
88
|
-
export default App;
|
|
89
62
|
```
|
|
90
63
|
|
|
91
|
-
|
|
64
|
+
<p align="center">
|
|
65
|
+
Trusted by the world's leading companies
|
|
66
|
+
<a href="https://www.syncfusion.com/">
|
|
67
|
+
<img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Syncfusion logo">
|
|
68
|
+
</a>
|
|
69
|
+
</p>
|
|
92
70
|
|
|
93
|
-
|
|
94
|
-
- Selection controls: `dropdown`, `multiselect`, `radio`, `checkbox`, `checkboxgroup`
|
|
95
|
-
- Date/time: `datepicker`, `datetimepicker`, `timepicker`, `daterange`
|
|
96
|
-
- Rich inputs: `switch` (toggle), `colorpicker`, `rating`, `signature`, `imageeditor`, `richtexteditor`, `fileupload`, `rangeslider`
|
|
97
|
-
- Layout & containers: `panel` (section), `table` (cells), `tabs`, `card`, `message` (alert), `statichtml`
|
|
98
|
-
- Data display / complex controls: `datagrid` (embedded grid)
|
|
99
|
-
- Buttons: `button`, `splitbutton` and grouped button configurations (`buttonsGroups`)
|
|
71
|
+
## Setup
|
|
100
72
|
|
|
73
|
+
To install the form renderer and its dependent packages, use the following command.
|
|
101
74
|
|
|
102
|
-
|
|
75
|
+
```sh
|
|
76
|
+
npm install @syncfusion/ej2-react-form-renderer
|
|
77
|
+
```
|
|
103
78
|
|
|
104
|
-
|
|
79
|
+
The React Form Renderer pulls in its required EJ2 React peers automatically (inputs, calendars, dropdowns, buttons, split buttons, grids, navigation, popups, notifications, rich text editor, image editor).
|
|
105
80
|
|
|
106
|
-
|
|
107
|
-
|------|------|-------------|
|
|
108
|
-
| `schema` | `Schema \| FormSchema \| string` | Form schema (JSON or object) |
|
|
109
|
-
| `layout` | `'single' \| 'twocolumn' \| 'threecolumn' \| 'fourcolumn'` | Form layout (when no UI schema) |
|
|
110
|
-
| `onSubmit` | `(args: SubmitEventArgs) => void` | Submit handler |
|
|
111
|
-
| `onChange` | `(args: ChangeEventArgs) => void` | Field change handler |
|
|
112
|
-
| `onButtonClick` | `(args: ButtonClickEventArgs) => void` | Button click handler |
|
|
113
|
-
| `created` | `() => void` | Called when form is ready |
|
|
114
|
-
| `className` | `string` | Additional CSS classes |
|
|
81
|
+
## Supported frameworks
|
|
115
82
|
|
|
116
|
-
|
|
83
|
+
The Form Renderer is also offered in following list of frameworks.
|
|
117
84
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
```
|
|
85
|
+
| [<img src="https://ej2.syncfusion.com/github/images/js.svg" height="50" />](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)<br/> [JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/angular-new.svg" height="50" />](https://www.syncfusion.com/angular-components/?utm_medium=listing&utm_source=github)<br/> [Angular](https://www.syncfusion.com/angular-components/?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/> [Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/> [ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github) | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/> [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github) |
|
|
86
|
+
| :-----: | :-----: | :-----: | :-----: | :-----: |
|
|
87
|
+
|
|
88
|
+
## Showcase samples
|
|
89
|
+
|
|
90
|
+
* Job Application Form - [Source](https://github.com/syncfusion/ej2-showcase-react-form-renderer), [Live Demo](https://ej2.syncfusion.com/showcase/react/form-renderer/?utm_source=npm&utm_campaign=form-renderer)
|
|
91
|
+
* Survey Builder - [Source](https://github.com/syncfusion/ej2-showcase-react-survey), [Live Demo](https://ej2.syncfusion.com/showcase/react/survey/?utm_source=npm&utm_campaign=form-renderer)
|
|
126
92
|
|
|
93
|
+
## Resources
|
|
94
|
+
|
|
95
|
+
* [Documentation](https://ej2.syncfusion.com/react/documentation/introduction)
|
|
96
|
+
* [Theme Studio](https://ej2.syncfusion.com/themestudio/)
|
|
97
|
+
* [What's New](https://www.syncfusion.com/products/whatsnew/react?utm_medium=listing&utm_source=github)
|
|
98
|
+
* [Road Map](https://www.syncfusion.com/products/roadmap/react)
|
|
99
|
+
* [E-Books](https://www.syncfusion.com/succinctly-free-ebooks?searchkey=react&type=all)
|
|
100
|
+
* [AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview)
|
|
127
101
|
|
|
128
102
|
## Support
|
|
129
103
|
|
|
130
|
-
Product support is available through
|
|
104
|
+
Product support is available through following mediums.
|
|
105
|
+
|
|
106
|
+
* [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
|
|
107
|
+
* [Community forum](https://www.syncfusion.com/forums/react-js2?utm_source=npm&utm_campaign=react-form-renderer-npm)
|
|
108
|
+
* [GitHub issues](https://github.com/syncfusion/ej2-react-ui-components/issues/new)
|
|
109
|
+
* [Request feature or report bug](https://www.syncfusion.com/feedback/react?utm_medium=listing&utm_source=github)
|
|
110
|
+
* Live chat
|
|
111
|
+
|
|
112
|
+
## Changelog
|
|
113
|
+
|
|
114
|
+
Check the changelog [here](https://github.com/syncfusion/ej2-react-ui-components/blob/master/components/form-renderer/CHANGELOG.md). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
|
|
131
115
|
|
|
132
|
-
|
|
133
|
-
- [Community Forum](https://www.syncfusion.com/forums)
|
|
116
|
+
## License and copyright
|
|
134
117
|
|
|
135
|
-
|
|
118
|
+
> This is a commercial product and requires a paid license for possession or use. Syncfusion<sup>®</sup> licensed software, including this component, is subject to the terms and conditions of Syncfusion<sup>®</sup> [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 140+ [React UI components](https://www.syncfusion.com/react-ui-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
|
|
136
119
|
|
|
137
|
-
>
|
|
120
|
+
> A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
|
|
138
121
|
|
|
139
|
-
|
|
122
|
+
See [LICENSE FILE](https://github.com/syncfusion/ej2-react-ui-components/blob/master/license) for more info.
|
|
140
123
|
|
|
141
|
-
© Copyright 2026 Syncfusion
|
|
124
|
+
© Copyright 2026 Syncfusion<sup>®</sup> Inc. All Rights Reserved. The Syncfusion<sup>®</sup> Essential Studio<sup>®</sup> license and copyright applies to this distribution.
|
package/diConfig.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Form-Renderer",
|
|
3
|
+
"description": "Form Renderer Component",
|
|
4
|
+
"keywords": {
|
|
5
|
+
"common": [
|
|
6
|
+
"ej2",
|
|
7
|
+
"syncfusion",
|
|
8
|
+
"ej2-form-renderer",
|
|
9
|
+
"form renderer",
|
|
10
|
+
"form-renderer",
|
|
11
|
+
"ej2 form renderer",
|
|
12
|
+
"react form renderer",
|
|
13
|
+
"typescript form renderer",
|
|
14
|
+
"form control",
|
|
15
|
+
"form controls",
|
|
16
|
+
"input",
|
|
17
|
+
"json form",
|
|
18
|
+
"schema form"
|
|
19
|
+
],
|
|
20
|
+
"angular": [
|
|
21
|
+
"angular",
|
|
22
|
+
"ng",
|
|
23
|
+
"ej2-ng-form-renderer",
|
|
24
|
+
"ng-form-renderer",
|
|
25
|
+
"angular-form-renderer"
|
|
26
|
+
],
|
|
27
|
+
"react": [
|
|
28
|
+
"react",
|
|
29
|
+
"reactjs",
|
|
30
|
+
"ej2-react-form-renderer",
|
|
31
|
+
"react-form-renderer",
|
|
32
|
+
"form-renderer"
|
|
33
|
+
],
|
|
34
|
+
"vue": [
|
|
35
|
+
"vue",
|
|
36
|
+
"vuejs",
|
|
37
|
+
"ej2-vue-form-renderer",
|
|
38
|
+
"vue-form-renderer"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "https://github.com/syncfusion/ej2-form-renderer"
|
|
44
|
+
},
|
|
45
|
+
"eventInterfaces": [
|
|
46
|
+
"ChangeEventArgs",
|
|
47
|
+
"SubmitEventArgs",
|
|
48
|
+
"ButtonClickEventArgs"
|
|
49
|
+
],
|
|
50
|
+
"components": [
|
|
51
|
+
{
|
|
52
|
+
"baseClass": "FormRenderer",
|
|
53
|
+
"directoryName": "form-renderer",
|
|
54
|
+
"type": "container",
|
|
55
|
+
"defaultTag": "<div id='formrenderer'></div>",
|
|
56
|
+
"selector": "[ejs-form-renderer], ejs-form-renderer",
|
|
57
|
+
"preferredTag": "div",
|
|
58
|
+
"blazorType": "native",
|
|
59
|
+
"comment": [
|
|
60
|
+
"/**",
|
|
61
|
+
" * Represents the Angular FormRenderer Component.",
|
|
62
|
+
" * ```html",
|
|
63
|
+
" * <ejs-form-renderer></ejs-form-renderer>",
|
|
64
|
+
" * ```",
|
|
65
|
+
" */"
|
|
66
|
+
],
|
|
67
|
+
"reactComment": [
|
|
68
|
+
"/**",
|
|
69
|
+
" * `FormRenderer` represents the React FormRenderer Component.",
|
|
70
|
+
" * ```ts",
|
|
71
|
+
" * <FormRendererComponent schema={schema} />",
|
|
72
|
+
" * ```",
|
|
73
|
+
" */"
|
|
74
|
+
],
|
|
75
|
+
"vueComment": [
|
|
76
|
+
"/**",
|
|
77
|
+
" * Represents the Essential JS 2 VueJS FormRenderer Component",
|
|
78
|
+
" * ```html",
|
|
79
|
+
" * <ejs-form-renderer></ejs-form-renderer>",
|
|
80
|
+
" * ```",
|
|
81
|
+
" */"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|