@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
@@ -1,180 +0,0 @@
1
- import type { FormSchema, FormComponent } from '../FormBuilder/types/FormSchema';
2
- export declare const generateId: (type: string) => string;
3
- export declare const generateName: (type: string) => string;
4
- export interface SplitSchema {
5
- dataSchema: DataSchema;
6
- uiSchema: UISchema;
7
- }
8
- export interface DataSchema {
9
- version: string;
10
- properties: Record<string, DataField>;
11
- }
12
- export interface DataField {
13
- id: string;
14
- type: 'string' | 'number' | 'boolean' | 'array' | 'any' | 'button' | 'message' | 'sign' | 'image' | 'file' | 'color' | 'grid';
15
- name: string;
16
- label?: string;
17
- format?: 'date' | 'date-time' | 'time' | 'email' | 'url';
18
- defaultValue?: any;
19
- content?: string;
20
- buttonType?: string;
21
- textboxType?: string;
22
- options?: string[] | any[];
23
- required?: boolean;
24
- minLength?: number;
25
- maxLength?: number;
26
- minValue?: number;
27
- maxValue?: number;
28
- minDate?: string;
29
- maxDate?: string;
30
- minTime?: string;
31
- maxTime?: string;
32
- pattern?: string;
33
- }
34
- export interface UISchema {
35
- properties: Record<string, UIField>;
36
- layout: LayoutNode[];
37
- }
38
- export interface UIField {
39
- widget: string;
40
- _configured?: boolean;
41
- [key: string]: any;
42
- }
43
- export type LayoutNode = FieldNode | TableNode | PanelNode | TabsNode | CardNode;
44
- export interface FieldNode {
45
- type: 'field';
46
- propertyId: string;
47
- }
48
- export interface TableNode {
49
- type: 'table';
50
- id: string;
51
- name: string;
52
- label?: string;
53
- cssClass?: string;
54
- hideBorders?: boolean;
55
- rows: number;
56
- cols: number;
57
- cells: TableCell[][];
58
- columnWidths?: {
59
- widths: (number | null)[];
60
- };
61
- conditions?: any;
62
- }
63
- export interface TableCell {
64
- row: number;
65
- col: number;
66
- children: LayoutNode[];
67
- }
68
- export interface PanelNode {
69
- type: 'panel';
70
- id: string;
71
- name: string;
72
- label?: string;
73
- cssClass?: string;
74
- hideBorders?: boolean;
75
- hideLabel?: boolean;
76
- children: LayoutNode[];
77
- conditions?: any;
78
- }
79
- export interface TabsNode {
80
- type: 'tabs';
81
- id: string;
82
- name: string;
83
- cssClass?: string;
84
- label?: string;
85
- tabOptions?: string[];
86
- tabs: TabItem[];
87
- conditions?: any;
88
- }
89
- export interface TabItem {
90
- header: string;
91
- children: LayoutNode[];
92
- }
93
- export interface CardNode {
94
- type: 'card';
95
- id: string;
96
- name: string;
97
- label?: string;
98
- cssClass?: string;
99
- hideLabel?: boolean;
100
- cardTitle?: string;
101
- cardSubtitle?: string;
102
- enableAction?: boolean;
103
- actionButtonLabel?: string;
104
- actionButtonType?: 'button' | 'submit';
105
- children: LayoutNode[];
106
- conditions?: any;
107
- }
108
- /**
109
- * Convert label to camelCase identifier
110
- * Examples:
111
- * "First Name" → "firstName"
112
- * "Email Address" → "emailAddress"
113
- * "Date of Birth" → "dateOfBirth"
114
- * "Phone Number (Mobile)" → "phoneNumberMobile"
115
- */
116
- export declare function labelToFieldKey(label: string, fallbackId?: string): string;
117
- /**
118
- * Ensure field key is unique by appending a number if needed
119
- */
120
- export declare function makeUniqueFieldKey(baseKey: string, existingKeys: Set<string>, originalId?: string): string;
121
- export declare function splitSchema(heartSchema: FormSchema): SplitSchema;
122
- /**
123
- * Merge split schemas back into heart schema
124
- * Supports both simple merge and fuzzy matching for re-import scenarios
125
- */
126
- export declare function mergeSchema(split: SplitSchema, existingUISchema?: UISchema): FormSchema;
127
- /**
128
- * Infer widget type from semantic data type
129
- */
130
- export declare function inferWidgetFromType(type: string, format?: string, hasOptions?: boolean): string;
131
- export interface FieldMatchResult {
132
- existingId: string;
133
- newDataId: string;
134
- confidence: 'exact' | 'high' | 'medium' | 'low';
135
- method: 'id' | 'label-exact' | 'label-fuzzy' | 'new';
136
- similarity?: number;
137
- }
138
- /**
139
- * Match a new data field with existing UI schema field
140
- * Preserves existing ID for stability
141
- */
142
- export declare function matchFieldWithIDPreservation(newDataField: DataField, existingUISchema: UISchema): FieldMatchResult;
143
- /**
144
- * Merge with ID remapping for re-import scenarios
145
- * Preserves existing IDs to maintain layout stability
146
- */
147
- export declare function mergeWithIDRemapping(newDataSchema: DataSchema, existingUISchema: UISchema): FormSchema;
148
- /**
149
- * Extract all field IDs from layout tree
150
- */
151
- export declare function extractFieldIdsFromLayout(layout: LayoutNode[]): Set<string>;
152
- /**
153
- * Find unmatched fields (in data schema but not in layout)
154
- */
155
- export declare function findUnmatchedFields(dataSchema: DataSchema, layout: LayoutNode[]): string[];
156
- /**
157
- * Convert parser output (FormComponent[]) to DataSchema format
158
- * This allows parser results to be merged with existing UI schemas
159
- */
160
- export declare function convertComponentsToDataSchema(components: FormComponent[]): DataSchema;
161
- /**
162
- * Convert parser output to a simple linear layout
163
- * Used when no existing UI schema is present
164
- */
165
- export declare function convertComponentsToUISchema(components: FormComponent[]): UISchema;
166
- /**
167
- * Generate default UI properties for each data field
168
- * Used by renderers when only data schema is provided
169
- */
170
- export declare function generateUIPropertiesFromData(dataSchema: DataSchema): Record<string, UIField>;
171
- /**
172
- * Generate sequential layout from data schema
173
- * Used by renderers when only data schema is provided
174
- */
175
- export declare function generateLayoutFromData(dataSchema: DataSchema): FieldNode[];
176
- /**
177
- * Generate minimal data schema from UI schema
178
- * Used by renderers when only UI schema is provided
179
- */
180
- export declare function generateDataSchemaFromUI(uiSchema: UISchema): DataSchema;