@syncfusion/ej2-react-form-renderer 0.1.1-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 (173) hide show
  1. package/README.md +86 -110
  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 -48
  149. package/src/ConditionalRuleEngine.d.ts +0 -253
  150. package/src/ConditionalRuleEngine.js +0 -489
  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 -144
  155. package/src/FormRenderer.d.ts +0 -90
  156. package/src/FormRenderer.js +0 -649
  157. package/src/FormValidator.d.ts +0 -479
  158. package/src/FormValidator.js +0 -579
  159. package/src/StaticHtmlRenderer.d.ts +0 -8
  160. package/src/StaticHtmlRenderer.js +0 -21
  161. package/src/json-converter.d.ts +0 -180
  162. package/src/json-converter.js +0 -1329
  163. package/src/parser.d.ts +0 -99
  164. package/src/parser.js +0 -750
  165. package/src/renderFormField.d.ts +0 -20
  166. package/src/renderFormField.js +0 -203
  167. package/src/types/FormSchema.d.ts +0 -205
  168. package/src/types/FormSchema.js +0 -1
  169. package/src/utils.js +0 -146
  170. package/styles/bootstrap5.3-dark.css +0 -26
  171. package/styles/fluent2-dark.css +0 -26
  172. package/styles/form-renderer.base.css +0 -489
  173. package/styles/tailwind3-dark.css +0 -10
package/README.md CHANGED
@@ -1,148 +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
- dataSchema={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
- | `dataSchema` | `DataSchema \| FormSchema \| string` | Form schema (JSON or object) |
109
- | `uiSchema` | `UISchema \| string` | Optional UI layout schema |
110
- | `layout` | `'single' \| 'twocolumn' \| 'threecolumn' \| 'fourcolumn'` | Form layout (when no UI schema) |
111
- | `onSubmit` | `(args: SubmitEventArgs) => void` | Submit handler |
112
- | `onChange` | `(args: ChangeEventArgs) => void` | Field change handler |
113
- | `onButtonClick` | `(args: ButtonClickEventArgs) => void` | Button click handler |
114
- | `created` | `() => void` | Called when form is ready |
115
- | `className` | `string` | Additional CSS classes |
81
+ ## Supported frameworks
116
82
 
117
- ### FormLayout
83
+ The Form Renderer is also offered in following list of frameworks.
118
84
 
119
- ```tsx
120
- export const FormLayout = {
121
- SingleColumn: 'single',
122
- TwoColumn: 'twocolumn',
123
- ThreeColumn: 'threecolumn',
124
- FourColumn: 'fourcolumn'
125
- } as const;
126
- ```
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
+ | :-----: | :-----: | :-----: | :-----: | :-----: |
127
87
 
128
- ## Schema Formats
88
+ ## Showcase samples
129
89
 
130
- The FormRenderer supports multiple schema formats:
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)
131
92
 
132
- 1. **DataSchema**: JSON Schema-compatible format
133
- 2. **UISchema**: Separate UI layout configuration
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)
134
101
 
135
102
  ## Support
136
103
 
137
- 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.
138
115
 
139
- - [Support Ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed response in 24 hours
140
- - [Community Forum](https://www.syncfusion.com/forums)
116
+ ## License and copyright
141
117
 
142
- ## 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).
143
119
 
144
- > 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.
145
121
 
146
- > 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.
147
123
 
148
- © 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
+ }