@syncfusion/ej2-react-form-renderer 0.1.2-beta → 34.2.2

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.
Files changed (181) hide show
  1. package/README.md +88 -105
  2. package/diConfig.json +85 -0
  3. package/dist/ej2-react-form-renderer.min.js +10 -0
  4. package/dist/ej2-react-form-renderer.umd.min.js +11 -0
  5. package/dist/ej2-react-form-renderer.umd.min.js.map +1 -0
  6. package/dist/es6/ej2-react-form-renderer.es2015.js +37 -0
  7. package/dist/es6/ej2-react-form-renderer.es2015.js.map +1 -0
  8. package/form-renderer.d.ts +4 -0
  9. package/form-renderer.js +4 -0
  10. package/index.d.ts +2 -4
  11. package/index.js +2 -4
  12. package/license +6 -13
  13. package/package.json +19 -38
  14. package/src/form-renderer/formrenderer.component.d.ts +34 -0
  15. package/src/form-renderer/formrenderer.component.js +49 -0
  16. package/src/form-renderer/index.d.ts +1 -0
  17. package/src/form-renderer/index.js +1 -0
  18. package/src/global.js +1 -0
  19. package/src/index.d.ts +2 -6
  20. package/src/index.js +2 -6
  21. package/styles/bds-lite.css +1 -0
  22. package/styles/bds-lite.scss +1 -0
  23. package/styles/bds.css +1 -0
  24. package/styles/bds.scss +1 -0
  25. package/styles/bootstrap-dark-lite.css +1 -0
  26. package/styles/bootstrap-dark-lite.scss +1 -0
  27. package/styles/bootstrap-dark.css +1 -26
  28. package/styles/bootstrap-dark.scss +1 -0
  29. package/styles/bootstrap-lite.css +1 -0
  30. package/styles/bootstrap-lite.scss +1 -0
  31. package/styles/bootstrap.css +1 -26
  32. package/styles/bootstrap.scss +1 -0
  33. package/styles/bootstrap4-lite.css +1 -0
  34. package/styles/bootstrap4-lite.scss +1 -0
  35. package/styles/bootstrap4.css +1 -26
  36. package/styles/bootstrap4.scss +1 -0
  37. package/styles/bootstrap5-dark-lite.css +1 -0
  38. package/styles/bootstrap5-dark-lite.scss +1 -0
  39. package/styles/bootstrap5-dark.css +1 -26
  40. package/styles/bootstrap5-dark.scss +1 -0
  41. package/styles/bootstrap5-lite.css +1 -0
  42. package/styles/bootstrap5-lite.scss +1 -0
  43. package/styles/bootstrap5.3-lite.css +1 -0
  44. package/styles/bootstrap5.3-lite.scss +1 -0
  45. package/styles/bootstrap5.3.css +1 -26
  46. package/styles/bootstrap5.3.scss +1 -0
  47. package/styles/bootstrap5.css +1 -26
  48. package/styles/bootstrap5.scss +1 -0
  49. package/styles/fabric-dark-lite.css +1 -0
  50. package/styles/fabric-dark-lite.scss +1 -0
  51. package/styles/fabric-dark.css +1 -0
  52. package/styles/fabric-dark.scss +1 -0
  53. package/styles/fabric-lite.css +1 -0
  54. package/styles/fabric-lite.scss +1 -0
  55. package/styles/fabric.css +1 -0
  56. package/styles/fabric.scss +1 -0
  57. package/styles/fluent-dark-lite.css +1 -0
  58. package/styles/fluent-dark-lite.scss +1 -0
  59. package/styles/fluent-dark.css +1 -26
  60. package/styles/fluent-dark.scss +1 -0
  61. package/styles/fluent-lite.css +1 -0
  62. package/styles/fluent-lite.scss +1 -0
  63. package/styles/fluent.css +1 -26
  64. package/styles/fluent.scss +1 -0
  65. package/styles/fluent2-lite.css +1 -0
  66. package/styles/fluent2-lite.scss +1 -0
  67. package/styles/fluent2.css +1 -26
  68. package/styles/fluent2.scss +1 -0
  69. package/styles/form-renderer/bds.css +1 -0
  70. package/styles/form-renderer/bds.scss +1 -0
  71. package/styles/form-renderer/bootstrap-dark.css +1 -0
  72. package/styles/form-renderer/bootstrap-dark.scss +1 -0
  73. package/styles/form-renderer/bootstrap.css +1 -0
  74. package/styles/form-renderer/bootstrap.scss +1 -0
  75. package/styles/form-renderer/bootstrap4.css +1 -0
  76. package/styles/form-renderer/bootstrap4.scss +1 -0
  77. package/styles/form-renderer/bootstrap5-dark.css +1 -0
  78. package/styles/form-renderer/bootstrap5-dark.scss +1 -0
  79. package/styles/form-renderer/bootstrap5.3.css +1 -0
  80. package/styles/form-renderer/bootstrap5.3.scss +1 -0
  81. package/styles/form-renderer/bootstrap5.css +1 -0
  82. package/styles/form-renderer/bootstrap5.scss +1 -0
  83. package/styles/form-renderer/fabric-dark.css +1 -0
  84. package/styles/form-renderer/fabric-dark.scss +1 -0
  85. package/styles/form-renderer/fabric.css +1 -0
  86. package/styles/form-renderer/fabric.scss +1 -0
  87. package/styles/form-renderer/fluent-dark.css +1 -0
  88. package/styles/form-renderer/fluent-dark.scss +1 -0
  89. package/styles/form-renderer/fluent.css +1 -0
  90. package/styles/form-renderer/fluent.scss +1 -0
  91. package/styles/form-renderer/fluent2.css +1 -0
  92. package/styles/form-renderer/fluent2.scss +1 -0
  93. package/styles/form-renderer/highcontrast-light.css +1 -0
  94. package/styles/form-renderer/highcontrast-light.scss +1 -0
  95. package/styles/form-renderer/highcontrast.css +1 -0
  96. package/styles/form-renderer/highcontrast.scss +1 -0
  97. package/styles/form-renderer/material-dark.css +1 -0
  98. package/styles/form-renderer/material-dark.scss +1 -0
  99. package/styles/form-renderer/material.css +1 -0
  100. package/styles/form-renderer/material.scss +1 -0
  101. package/styles/form-renderer/material3-dark.css +1 -0
  102. package/styles/form-renderer/material3-dark.scss +1 -0
  103. package/styles/form-renderer/material3.css +1 -0
  104. package/styles/form-renderer/material3.scss +1 -0
  105. package/styles/form-renderer/tailwind-dark.css +1 -0
  106. package/styles/form-renderer/tailwind-dark.scss +1 -0
  107. package/styles/form-renderer/tailwind.css +1 -0
  108. package/styles/form-renderer/tailwind.scss +1 -0
  109. package/styles/form-renderer/tailwind3.css +1 -0
  110. package/styles/form-renderer/tailwind3.scss +1 -0
  111. package/styles/highcontrast-light-lite.css +1 -0
  112. package/styles/highcontrast-light-lite.scss +1 -0
  113. package/styles/highcontrast-light.css +1 -0
  114. package/styles/highcontrast-light.scss +1 -0
  115. package/styles/highcontrast-lite.css +1 -0
  116. package/styles/highcontrast-lite.scss +1 -0
  117. package/styles/highcontrast.css +1 -0
  118. package/styles/highcontrast.scss +1 -0
  119. package/styles/material-dark-lite.css +1 -0
  120. package/styles/material-dark-lite.scss +1 -0
  121. package/styles/material-dark.css +1 -26
  122. package/styles/material-dark.scss +1 -0
  123. package/styles/material-lite.css +1 -0
  124. package/styles/material-lite.scss +1 -0
  125. package/styles/material.css +1 -26
  126. package/styles/material.scss +1 -0
  127. package/styles/material3-dark-lite.css +1 -0
  128. package/styles/material3-dark-lite.scss +1 -0
  129. package/styles/material3-dark.css +1 -26
  130. package/styles/material3-dark.scss +1 -0
  131. package/styles/material3-lite.css +1 -0
  132. package/styles/material3-lite.scss +1 -0
  133. package/styles/material3.css +1 -26
  134. package/styles/material3.scss +1 -0
  135. package/styles/tailwind-dark-lite.css +1 -0
  136. package/styles/tailwind-dark-lite.scss +1 -0
  137. package/styles/tailwind-dark.css +1 -26
  138. package/styles/tailwind-dark.scss +1 -0
  139. package/styles/tailwind-lite.css +1 -0
  140. package/styles/tailwind-lite.scss +1 -0
  141. package/styles/tailwind.css +1 -26
  142. package/styles/tailwind.scss +1 -0
  143. package/styles/tailwind3-lite.css +1 -0
  144. package/styles/tailwind3-lite.scss +1 -0
  145. package/styles/tailwind3.css +1 -26
  146. package/styles/tailwind3.scss +1 -0
  147. package/src/CheckboxGroup.d.ts +0 -12
  148. package/src/CheckboxGroup.js +0 -49
  149. package/src/ConditionalRuleEngine.d.ts +0 -295
  150. package/src/ConditionalRuleEngine.js +0 -566
  151. package/src/CustomTabComponent.d.ts +0 -13
  152. package/src/CustomTabComponent.js +0 -35
  153. package/src/DataGridComponent.d.ts +0 -28
  154. package/src/DataGridComponent.js +0 -147
  155. package/src/FormRenderer.d.ts +0 -84
  156. package/src/FormRenderer.js +0 -707
  157. package/src/FormValidator.d.ts +0 -479
  158. package/src/FormValidator.js +0 -579
  159. package/src/MinMaxRuleEngine.d.ts +0 -95
  160. package/src/MinMaxRuleEngine.js +0 -361
  161. package/src/StaticHtmlRenderer.d.ts +0 -8
  162. package/src/StaticHtmlRenderer.js +0 -21
  163. package/src/expressions/DependencyTracker.d.ts +0 -30
  164. package/src/expressions/DependencyTracker.js +0 -128
  165. package/src/expressions/ExpressionEngine.d.ts +0 -81
  166. package/src/expressions/ExpressionEngine.js +0 -503
  167. package/src/expressions/ExpressionParser.d.ts +0 -39
  168. package/src/expressions/ExpressionParser.js +0 -270
  169. package/src/json-converter.d.ts +0 -171
  170. package/src/json-converter.js +0 -1209
  171. package/src/parser.d.ts +0 -99
  172. package/src/parser.js +0 -753
  173. package/src/renderFormField.d.ts +0 -21
  174. package/src/renderFormField.js +0 -226
  175. package/src/types/FormSchema.d.ts +0 -211
  176. package/src/types/FormSchema.js +0 -1
  177. package/src/utils.js +0 -408
  178. package/styles/bootstrap5.3-dark.css +0 -26
  179. package/styles/fluent2-dark.css +0 -26
  180. package/styles/form-renderer.base.css +0 -499
  181. package/styles/tailwind3-dark.css +0 -10
package/README.md CHANGED
@@ -1,141 +1,124 @@
1
- # EJ2 React Form Renderer
1
+ # React Form Renderer Component
2
2
 
3
- The `@syncfusion/ej2-react-form-renderer` package is a powerful React component for rendering dynamic, JSON-driven forms using Syncfusion's Essential® Studio React components.
3
+ ## What's Included in the React Form Renderer Package
4
4
 
5
- ## Key Features
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
- - **JSON-Driven Forms**: Render forms from JSON schemas (FormSchema, DataSchema, or UISchema)
8
- - **20+ Field Types**: Support for textbox, textarea, number, dropdown, datepicker, checkbox, radio, switch, and more
9
- - **Advanced Layouts**: Panels, tables, tabs for complex form structures
10
- - **Validation**: Built-in validation with Syncfusion FormValidator
11
- - **Theming**: Support for all Syncfusion themes (Material, Bootstrap, Fluent, Tailwind, etc.)
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
- ## Installation
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
- To install `@syncfusion/ej2-react-form-renderer` and its dependencies, run:
17
+ ## Form Renderer (React)
18
18
 
19
- ```sh
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
- ## Usage
21
+ #### Key features
24
22
 
25
- ### Basic Example
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
- function App() {
70
- const handleSubmit = (args) => {
71
- console.log('Form submitted:', args.data);
72
- console.log('Is valid:', args.isValid);
73
- };
74
-
75
- const handleChange = (args) => {
76
- console.log('Field changed:', args.field, args.value);
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={schema}
82
- onSubmit={handleSubmit}
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
- ## Supported Field Types
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
- - Basic inputs: `textbox`, `textarea`, `number`, `inputmask`
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
- ## API Reference
75
+ ```sh
76
+ npm install @syncfusion/ej2-react-form-renderer
77
+ ```
103
78
 
104
- ### FormRenderer Props
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
- | Prop | Type | Description |
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
- ### FormLayout
83
+ The Form Renderer is also offered in following list of frameworks.
117
84
 
118
- ```tsx
119
- export const FormLayout = {
120
- SingleColumn: 'single',
121
- TwoColumn: 'twocolumn',
122
- ThreeColumn: 'threecolumn',
123
- FourColumn: 'fourcolumn'
124
- } as const;
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/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<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/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Angular](https://www.syncfusion.com/angular-components/?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<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/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<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/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<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/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
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 the following channels:
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
- - [Support Ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed response in 24 hours
133
- - [Community Forum](https://www.syncfusion.com/forums)
116
+ ## License and copyright
134
117
 
135
- ## License and Copyright
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
- > This is a commercial product and requires a paid license for possession or use. Syncfusion's licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 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).
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
- > 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.
122
+ See [LICENSE FILE](https://github.com/syncfusion/ej2-react-ui-components/blob/master/license) for more info.
140
123
 
141
- © Copyright 2026 Syncfusion®, Inc. All Rights Reserved. The Syncfusion® Essential® Studio license and copyright applies to this distribution.
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
+ }