@syncfusion/ej2-form-renderer 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 (214) hide show
  1. package/README.md +60 -0
  2. package/common.d.ts +4 -0
  3. package/common.js +4 -0
  4. package/dist/ej2-form-renderer.umd.min.js +11 -0
  5. package/dist/ej2-form-renderer.umd.min.js.map +1 -0
  6. package/dist/es6/ej2-form-renderer.es2015.js +6787 -0
  7. package/dist/es6/ej2-form-renderer.es2015.js.map +1 -0
  8. package/dist/es6/ej2-form-renderer.es5.js +7055 -0
  9. package/dist/es6/ej2-form-renderer.es5.js.map +1 -0
  10. package/dist/global/ej2-form-renderer.min.js +11 -0
  11. package/dist/global/ej2-form-renderer.min.js.map +1 -0
  12. package/dist/global/index.d.ts +14 -0
  13. package/form-renderer.d.ts +4 -0
  14. package/form-renderer.js +4 -0
  15. package/index.d.ts +4 -0
  16. package/index.js +4 -0
  17. package/license +10 -0
  18. package/package.json +41 -0
  19. package/src/common/checkbox-group.d.ts +55 -0
  20. package/src/common/checkbox-group.js +241 -0
  21. package/src/common/conditional-rule-engine.d.ts +241 -0
  22. package/src/common/conditional-rule-engine.js +505 -0
  23. package/src/common/custom-validation-engine.d.ts +57 -0
  24. package/src/common/custom-validation-engine.js +152 -0
  25. package/src/common/datagrid-component.d.ts +156 -0
  26. package/src/common/datagrid-component.js +410 -0
  27. package/src/common/expressions/dependency-tracker.d.ts +29 -0
  28. package/src/common/expressions/dependency-tracker.js +137 -0
  29. package/src/common/expressions/expression-engine.d.ts +94 -0
  30. package/src/common/expressions/expression-engine.js +514 -0
  31. package/src/common/expressions/expression-parser.d.ts +40 -0
  32. package/src/common/expressions/expression-parser.js +270 -0
  33. package/src/common/expressions/grid-expressions.d.ts +24 -0
  34. package/src/common/expressions/grid-expressions.js +92 -0
  35. package/src/common/expressions/index.d.ts +4 -0
  36. package/src/common/expressions/index.js +4 -0
  37. package/src/common/index.d.ts +10 -0
  38. package/src/common/index.js +10 -0
  39. package/src/common/json-converter.d.ts +945 -0
  40. package/src/common/json-converter.js +1110 -0
  41. package/src/common/minmax-rule-engine.d.ts +105 -0
  42. package/src/common/minmax-rule-engine.js +380 -0
  43. package/src/common/option-fetcher.d.ts +30 -0
  44. package/src/common/option-fetcher.js +139 -0
  45. package/src/common/parser.d.ts +98 -0
  46. package/src/common/parser.js +788 -0
  47. package/src/common/static-html-renderer.d.ts +45 -0
  48. package/src/common/static-html-renderer.js +77 -0
  49. package/src/common/utils.d.ts +116 -0
  50. package/src/common/utils.js +484 -0
  51. package/src/form-renderer/form-renderer-model.d.ts +65 -0
  52. package/src/form-renderer/form-renderer.d.ts +425 -0
  53. package/src/form-renderer/form-renderer.js +2277 -0
  54. package/src/form-renderer/index.d.ts +6 -0
  55. package/src/form-renderer/index.js +5 -0
  56. package/src/form-renderer/render-form-field.d.ts +31 -0
  57. package/src/form-renderer/render-form-field.js +816 -0
  58. package/src/form-renderer/types/form-schema.d.ts +452 -0
  59. package/src/form-renderer/types/form-schema.js +32 -0
  60. package/src/global.js +1 -0
  61. package/src/index.d.ts +4 -0
  62. package/src/index.js +4 -0
  63. package/styles/bds-lite.css +599 -0
  64. package/styles/bds-lite.scss +2 -0
  65. package/styles/bds.css +599 -0
  66. package/styles/bds.scss +2 -0
  67. package/styles/bootstrap-dark-lite.css +608 -0
  68. package/styles/bootstrap-dark-lite.scss +2 -0
  69. package/styles/bootstrap-dark.css +608 -0
  70. package/styles/bootstrap-dark.scss +2 -0
  71. package/styles/bootstrap-lite.css +595 -0
  72. package/styles/bootstrap-lite.scss +2 -0
  73. package/styles/bootstrap.css +595 -0
  74. package/styles/bootstrap.scss +2 -0
  75. package/styles/bootstrap4-lite.css +595 -0
  76. package/styles/bootstrap4-lite.scss +2 -0
  77. package/styles/bootstrap4.css +595 -0
  78. package/styles/bootstrap4.scss +2 -0
  79. package/styles/bootstrap5-dark-lite.css +595 -0
  80. package/styles/bootstrap5-dark-lite.scss +2 -0
  81. package/styles/bootstrap5-dark.css +595 -0
  82. package/styles/bootstrap5-dark.scss +2 -0
  83. package/styles/bootstrap5-lite.css +595 -0
  84. package/styles/bootstrap5-lite.scss +2 -0
  85. package/styles/bootstrap5.3-lite.css +679 -0
  86. package/styles/bootstrap5.3-lite.scss +2 -0
  87. package/styles/bootstrap5.3.css +679 -0
  88. package/styles/bootstrap5.3.scss +2 -0
  89. package/styles/bootstrap5.css +595 -0
  90. package/styles/bootstrap5.scss +2 -0
  91. package/styles/fabric-dark-lite.css +608 -0
  92. package/styles/fabric-dark-lite.scss +2 -0
  93. package/styles/fabric-dark.css +608 -0
  94. package/styles/fabric-dark.scss +2 -0
  95. package/styles/fabric-lite.css +595 -0
  96. package/styles/fabric-lite.scss +2 -0
  97. package/styles/fabric.css +595 -0
  98. package/styles/fabric.scss +2 -0
  99. package/styles/fluent-dark-lite.css +595 -0
  100. package/styles/fluent-dark-lite.scss +2 -0
  101. package/styles/fluent-dark.css +595 -0
  102. package/styles/fluent-dark.scss +2 -0
  103. package/styles/fluent-lite.css +595 -0
  104. package/styles/fluent-lite.scss +2 -0
  105. package/styles/fluent.css +595 -0
  106. package/styles/fluent.scss +2 -0
  107. package/styles/fluent2-lite.css +681 -0
  108. package/styles/fluent2-lite.scss +2 -0
  109. package/styles/fluent2.css +681 -0
  110. package/styles/fluent2.scss +2 -0
  111. package/styles/form-renderer/_all.scss +2 -0
  112. package/styles/form-renderer/_bds-definition.scss +8 -0
  113. package/styles/form-renderer/_bootstrap-dark-definition.scss +8 -0
  114. package/styles/form-renderer/_bootstrap-definition.scss +8 -0
  115. package/styles/form-renderer/_bootstrap4-definition.scss +8 -0
  116. package/styles/form-renderer/_bootstrap5-dark-definition.scss +8 -0
  117. package/styles/form-renderer/_bootstrap5-definition.scss +8 -0
  118. package/styles/form-renderer/_bootstrap5.3-definition.scss +8 -0
  119. package/styles/form-renderer/_fabric-dark-definition.scss +8 -0
  120. package/styles/form-renderer/_fabric-definition.scss +8 -0
  121. package/styles/form-renderer/_fluent-dark-definition.scss +8 -0
  122. package/styles/form-renderer/_fluent-definition.scss +8 -0
  123. package/styles/form-renderer/_fluent2-definition.scss +8 -0
  124. package/styles/form-renderer/_highcontrast-definition.scss +8 -0
  125. package/styles/form-renderer/_highcontrast-light-definition.scss +8 -0
  126. package/styles/form-renderer/_layout.scss +480 -0
  127. package/styles/form-renderer/_material-dark-definition.scss +8 -0
  128. package/styles/form-renderer/_material-definition.scss +8 -0
  129. package/styles/form-renderer/_material3-dark-definition.scss +8 -0
  130. package/styles/form-renderer/_material3-definition.scss +8 -0
  131. package/styles/form-renderer/_mixin.scss +26 -0
  132. package/styles/form-renderer/_tailwind-dark-definition.scss +8 -0
  133. package/styles/form-renderer/_tailwind-definition.scss +8 -0
  134. package/styles/form-renderer/_tailwind3-definition.scss +8 -0
  135. package/styles/form-renderer/_theme.scss +69 -0
  136. package/styles/form-renderer/_variables.scss +2 -0
  137. package/styles/form-renderer/bds.css +599 -0
  138. package/styles/form-renderer/bds.scss +2 -0
  139. package/styles/form-renderer/bootstrap-dark.css +608 -0
  140. package/styles/form-renderer/bootstrap-dark.scss +2 -0
  141. package/styles/form-renderer/bootstrap.css +595 -0
  142. package/styles/form-renderer/bootstrap.scss +2 -0
  143. package/styles/form-renderer/bootstrap4.css +595 -0
  144. package/styles/form-renderer/bootstrap4.scss +2 -0
  145. package/styles/form-renderer/bootstrap5-dark.css +595 -0
  146. package/styles/form-renderer/bootstrap5-dark.scss +2 -0
  147. package/styles/form-renderer/bootstrap5.3.css +679 -0
  148. package/styles/form-renderer/bootstrap5.3.scss +2 -0
  149. package/styles/form-renderer/bootstrap5.css +595 -0
  150. package/styles/form-renderer/bootstrap5.scss +2 -0
  151. package/styles/form-renderer/fabric-dark.css +608 -0
  152. package/styles/form-renderer/fabric-dark.scss +2 -0
  153. package/styles/form-renderer/fabric.css +595 -0
  154. package/styles/form-renderer/fabric.scss +2 -0
  155. package/styles/form-renderer/fluent-dark.css +595 -0
  156. package/styles/form-renderer/fluent-dark.scss +2 -0
  157. package/styles/form-renderer/fluent.css +595 -0
  158. package/styles/form-renderer/fluent.scss +2 -0
  159. package/styles/form-renderer/fluent2.css +681 -0
  160. package/styles/form-renderer/fluent2.scss +2 -0
  161. package/styles/form-renderer/highcontrast-light.css +595 -0
  162. package/styles/form-renderer/highcontrast-light.scss +2 -0
  163. package/styles/form-renderer/highcontrast.css +608 -0
  164. package/styles/form-renderer/highcontrast.scss +2 -0
  165. package/styles/form-renderer/material-dark.css +608 -0
  166. package/styles/form-renderer/material-dark.scss +2 -0
  167. package/styles/form-renderer/material.css +595 -0
  168. package/styles/form-renderer/material.scss +2 -0
  169. package/styles/form-renderer/material3-dark.css +677 -0
  170. package/styles/form-renderer/material3-dark.scss +2 -0
  171. package/styles/form-renderer/material3.css +679 -0
  172. package/styles/form-renderer/material3.scss +2 -0
  173. package/styles/form-renderer/tailwind-dark.css +595 -0
  174. package/styles/form-renderer/tailwind-dark.scss +2 -0
  175. package/styles/form-renderer/tailwind.css +595 -0
  176. package/styles/form-renderer/tailwind.scss +2 -0
  177. package/styles/form-renderer/tailwind3.css +669 -0
  178. package/styles/form-renderer/tailwind3.scss +2 -0
  179. package/styles/highcontrast-light-lite.css +595 -0
  180. package/styles/highcontrast-light-lite.scss +2 -0
  181. package/styles/highcontrast-light.css +595 -0
  182. package/styles/highcontrast-light.scss +2 -0
  183. package/styles/highcontrast-lite.css +608 -0
  184. package/styles/highcontrast-lite.scss +2 -0
  185. package/styles/highcontrast.css +608 -0
  186. package/styles/highcontrast.scss +2 -0
  187. package/styles/material-dark-lite.css +608 -0
  188. package/styles/material-dark-lite.scss +2 -0
  189. package/styles/material-dark.css +608 -0
  190. package/styles/material-dark.scss +2 -0
  191. package/styles/material-lite.css +595 -0
  192. package/styles/material-lite.scss +2 -0
  193. package/styles/material.css +595 -0
  194. package/styles/material.scss +2 -0
  195. package/styles/material3-dark-lite.css +677 -0
  196. package/styles/material3-dark-lite.scss +2 -0
  197. package/styles/material3-dark.css +677 -0
  198. package/styles/material3-dark.scss +2 -0
  199. package/styles/material3-lite.css +679 -0
  200. package/styles/material3-lite.scss +2 -0
  201. package/styles/material3.css +679 -0
  202. package/styles/material3.scss +2 -0
  203. package/styles/tailwind-dark-lite.css +595 -0
  204. package/styles/tailwind-dark-lite.scss +2 -0
  205. package/styles/tailwind-dark.css +595 -0
  206. package/styles/tailwind-dark.scss +2 -0
  207. package/styles/tailwind-lite.css +595 -0
  208. package/styles/tailwind-lite.scss +2 -0
  209. package/styles/tailwind.css +595 -0
  210. package/styles/tailwind.scss +2 -0
  211. package/styles/tailwind3-lite.css +669 -0
  212. package/styles/tailwind3-lite.scss +2 -0
  213. package/styles/tailwind3.css +669 -0
  214. package/styles/tailwind3.scss +2 -0
@@ -0,0 +1,152 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { ExpressionEngine } from './expressions/expression-engine';
13
+ /**
14
+ * Custom Validation Engine
15
+ *
16
+ * Evaluates FormIO-style custom validation expressions:
17
+ * valid = (condition) ? true : 'error message';
18
+ *
19
+ * Reuses ExpressionEngine for dependency extraction and expression parsing
20
+ * @private
21
+ */
22
+ var CustomValidationEngine = /** @class */ (function () {
23
+ function CustomValidationEngine() {
24
+ this.expressionEngine = new ExpressionEngine();
25
+ }
26
+ /**
27
+ * Validate field using custom validation expression
28
+ *
29
+ * @param expression - FormIO-style validation expression (generated by UI)
30
+ * @param fieldValue - Current field value (as 'input')
31
+ * @param formValues - All form values for cross-field references
32
+ * @returns true if valid, error message string if invalid
33
+ */
34
+ CustomValidationEngine.prototype.validate = function (expression, fieldValue, formValues) {
35
+ if (!expression || expression.trim() === '') {
36
+ return true; // No validation rule = valid
37
+ }
38
+ try {
39
+ // Inject 'input' as current field value
40
+ var context = __assign({}, formValues, { input: fieldValue, valid: true // Initialize valid variable
41
+ });
42
+ // Parse expression - FormIO pattern uses assignment: valid = ...
43
+ // Pattern: valid = (condition) ? true : 'error message'
44
+ var validPattern = /valid\s*=\s*(.+?)\s*\?\s*true\s*:\s*['"](.+?)['"]\s*$/;
45
+ var match = expression.match(validPattern);
46
+ if (!match) {
47
+ return 'Invalid validation expression format';
48
+ }
49
+ var condition = match[1].trim();
50
+ var errorMessage = match[2];
51
+ // Evaluate the condition (should return boolean)
52
+ var conditionResult = this.expressionEngine.evaluate(condition, context, { throwOnError: false }, true);
53
+ // If condition is true, validation passes
54
+ if (conditionResult === true) {
55
+ return true;
56
+ }
57
+ else {
58
+ // Condition is false, return the error message
59
+ return errorMessage;
60
+ }
61
+ }
62
+ catch (error) {
63
+ return 'Validation expression error';
64
+ }
65
+ };
66
+ /**
67
+ * Extract field dependencies from validation expression
68
+ *
69
+ * @param expression - Custom validation expression (or just condition)
70
+ * @returns Array of field names referenced in expression
71
+ */
72
+ CustomValidationEngine.prototype.extractDependencies = function (expression) {
73
+ if (!expression)
74
+ return [];
75
+ // Extract validation logic (right side of = sign if present)
76
+ var validPattern = /valid\s*=\s*(.+)/;
77
+ var match = expression.match(validPattern);
78
+ var validationLogic = match ? match[1] : expression;
79
+ // Use ExpressionEngine to extract field references
80
+ var deps = this.expressionEngine.extractDependencies(validationLogic);
81
+ // Filter out 'input' as it's the current field, not a dependency
82
+ return deps.filter(function (dep) { return dep !== 'input'; });
83
+ };
84
+ /**
85
+ * Validate condition syntax (simplified - no need for "valid =" check)
86
+ *
87
+ * @param condition - Validation condition (without "valid =" prefix)
88
+ * @param availableFields - Available field names for reference validation
89
+ * @returns Array of validation error messages
90
+ */
91
+ CustomValidationEngine.prototype.validateConditionSyntax = function (condition, availableFields) {
92
+ if (!condition || condition.trim() === '') {
93
+ return ['Condition cannot be empty'];
94
+ }
95
+ var errors = [];
96
+ // Check for balanced parentheses
97
+ var openParens = (condition.match(/\(/g) || []).length;
98
+ var closeParens = (condition.match(/\)/g) || []).length;
99
+ if (openParens !== closeParens) {
100
+ errors.push("Unbalanced parentheses (" + openParens + " open, " + closeParens + " close)");
101
+ }
102
+ // Check for balanced braces
103
+ var openBraces = (condition.match(/\{/g) || []).length;
104
+ var closeBraces = (condition.match(/\}/g) || []).length;
105
+ if (openBraces !== closeBraces) {
106
+ errors.push("Unbalanced braces (" + openBraces + " open, " + closeBraces + " close)");
107
+ }
108
+ // Validate field references
109
+ var deps = this.extractDependencies(condition);
110
+ var invalidFields = deps.filter(function (field) { return availableFields.indexOf(field) === -1; });
111
+ if (invalidFields.length > 0) {
112
+ errors.push("Unknown field references: " + invalidFields.join(', '));
113
+ }
114
+ return errors;
115
+ };
116
+ /**
117
+ * Build full FormIO expression from condition and error message
118
+ *
119
+ * @param condition - Validation condition (e.g., "(input === {password})")
120
+ * @param errorMessage - Error message to show when validation fails
121
+ * @returns Full FormIO expression
122
+ */
123
+ CustomValidationEngine.prototype.buildExpression = function (condition, errorMessage) {
124
+ // Remove outer parentheses if present (we'll add them back in ternary)
125
+ var trimmedCondition = condition.trim();
126
+ // Escape single quotes in error message
127
+ var escapedMessage = errorMessage.replace(/'/g, "\\'");
128
+ // Build FormIO expression
129
+ return "valid = " + trimmedCondition + " ? true : '" + escapedMessage + "'";
130
+ };
131
+ /**
132
+ * Extract condition and error message from full FormIO expression
133
+ * For editing existing rules
134
+ *
135
+ * @param expression - Full FormIO expression
136
+ * @returns { condition, errorMessage } or null if invalid
137
+ */
138
+ CustomValidationEngine.prototype.parseExpression = function (expression) {
139
+ // Pattern: valid = (condition) ? true : 'error message'
140
+ var pattern = /valid\s*=\s*(.+?)\s*\?\s*true\s*:\s*'(.+)'/;
141
+ var match = expression.match(pattern);
142
+ if (match) {
143
+ return {
144
+ condition: match[1].trim(),
145
+ errorMessage: match[2].replace(/\\'/g, "'") // Unescape quotes
146
+ };
147
+ }
148
+ return null;
149
+ };
150
+ return CustomValidationEngine;
151
+ }());
152
+ export { CustomValidationEngine };
@@ -0,0 +1,156 @@
1
+ import { Grid } from '@syncfusion/ej2-grids';
2
+ /**
3
+ * @private
4
+ */
5
+ export interface GridColumn {
6
+ field: string;
7
+ headerText?: string;
8
+ type?: 'string' | 'number' | 'boolean' | 'date' | 'datetime';
9
+ isPrimaryKey?: boolean;
10
+ width?: number | string;
11
+ format?: string;
12
+ editType?: string;
13
+ allowEditing?: boolean;
14
+ expression?: string;
15
+ validationRules?: any;
16
+ customValidation?: {
17
+ expression: string;
18
+ }[];
19
+ }
20
+ /**
21
+ * @private
22
+ */
23
+ export interface GridComponentSchema {
24
+ id?: string;
25
+ columns?: GridColumn[];
26
+ dataSource?: Record<string, any>[];
27
+ height?: string | number;
28
+ width?: string | number;
29
+ locale?: string;
30
+ cssClass?: string;
31
+ pageSize?: number;
32
+ allowPaging?: boolean;
33
+ allowAdding?: boolean;
34
+ allowEditing?: boolean;
35
+ allowDeleting?: boolean;
36
+ allowFiltering?: boolean;
37
+ }
38
+ /**
39
+ * @private
40
+ */
41
+ export interface DataGridRef {
42
+ getGridData: () => Record<string, any>[];
43
+ gridRef: {
44
+ current: Grid | null;
45
+ };
46
+ }
47
+ /**
48
+ * @private
49
+ * Constructor options for `DataGridComponent`.
50
+ */
51
+ export interface DataGridComponentOptions extends GridComponentSchema {
52
+ isPreviewMode?: boolean;
53
+ onDataChange?: (data: Record<string, any>[]) => void;
54
+ enableRtl?: boolean;
55
+ target?: HTMLElement;
56
+ ref?: any;
57
+ }
58
+ /**
59
+ * @private
60
+ *
61
+ * `DataGridComponent` is the Category C native reimplementation of
62
+ * `Common/DataGridComponent.tsx` using the EJ2 `Grid` (with `Edit`,
63
+ * `Toolbar`, `Page`, `Resize`, `Sort`, `Filter` inject modules).
64
+ *
65
+ * Reproduces:
66
+ * - internal current-data state seeded from `dataSource`;
67
+ * - calculated/expression columns (disable `allowEditing`, recompute on
68
+ * sibling field change via edit `change` params, update UI value by
69
+ * column type);
70
+ * - per-column custom validation merged into `validationRules`
71
+ * (required + custom validator via `CustomValidationEngine`);
72
+ * - dynamic toolbar (`Add`/`Edit`/`Delete` conditional + always
73
+ * `Update`/`Cancel`);
74
+ * - `actionComplete` → sync state + `onDataChange` callback;
75
+ * - `getGridData()` equivalent;
76
+ * - column mapping (`field, headerText, type, isPrimaryKey, width,
77
+ * format (date default 'MM/dd/yyyy'), editType, allowEditing`);
78
+ * - `filterSettings.mode='Immediate'`.
79
+ */
80
+ export declare class DataGridComponent {
81
+ private id?;
82
+ private columns;
83
+ private dataSource;
84
+ private height;
85
+ private width;
86
+ private locale;
87
+ private cssClass;
88
+ private pageSize;
89
+ private allowPaging;
90
+ private allowAdding;
91
+ private allowEditing;
92
+ private allowDeleting;
93
+ private allowFiltering;
94
+ private onDataChange;
95
+ private isPreviewMode;
96
+ private enableRtl;
97
+ private ref;
98
+ private currentData;
99
+ private grid;
100
+ private gridExpressions;
101
+ private validationEngine;
102
+ private wrapper;
103
+ constructor(options: DataGridComponentOptions);
104
+ private readonly calculatedColumns;
105
+ private readonly hasExpressions;
106
+ /**
107
+ * Map React custom validation to a Syncfusion-style custom validator
108
+ * closure. Mirrors `mapCustomValidationToSyncfusion`.
109
+ */
110
+ private mapCustomValidationToSyncfusion;
111
+ /**
112
+ * Create edit params attaching a `change` callback for non-calculated
113
+ * columns that have calc dependents. Mirrors `createEditParams`.
114
+ */
115
+ private createEditParams;
116
+ /**
117
+ * Sync the working data on `actionComplete`. Mirrors `handleActionComplete`.
118
+ */
119
+ private handleActionComplete;
120
+ /**
121
+ * Build the dynamic toolbar array. Mirrors `buildToolbar`.
122
+ */
123
+ private buildToolbar;
124
+ /**
125
+ * Map a GridColumn to the EJ2 Grid column model, merging standard + custom
126
+ * validation rules and disabling editing on expression / no-edit columns.
127
+ */
128
+ private mapColumn;
129
+ /**
130
+ * Build the grid element, instantiate `Grid`, inject services and append
131
+ * to the target/created container. Returns the wrapper element.
132
+ */
133
+ render(targetOrHost?: HTMLElement): HTMLElement;
134
+ /**
135
+ * @private
136
+ */
137
+ getRef(): DataGridRef;
138
+ /**
139
+ * Equivalent of `getGridData()`.
140
+ */
141
+ getGridData(): Record<string, any>[];
142
+ /**
143
+ * Recompute expression-bearing rows from fresh `dataSource` (mirrors the
144
+ * useEffect on `[dataSource, hasExpressions, columns, ...]`).
145
+ */
146
+ setDataSource(dataSource: Record<string, any>[]): void;
147
+ /**
148
+ * Re-detect columns; refresh the grid (mirrors the useEffect on columns).
149
+ */
150
+ setColumns(columns: GridColumn[]): void;
151
+ /**
152
+ * @private
153
+ */
154
+ destroy(): void;
155
+ }
156
+ export default DataGridComponent;