@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.
- package/README.md +60 -0
- package/common.d.ts +4 -0
- package/common.js +4 -0
- package/dist/ej2-form-renderer.umd.min.js +11 -0
- package/dist/ej2-form-renderer.umd.min.js.map +1 -0
- package/dist/es6/ej2-form-renderer.es2015.js +6787 -0
- package/dist/es6/ej2-form-renderer.es2015.js.map +1 -0
- package/dist/es6/ej2-form-renderer.es5.js +7055 -0
- package/dist/es6/ej2-form-renderer.es5.js.map +1 -0
- package/dist/global/ej2-form-renderer.min.js +11 -0
- package/dist/global/ej2-form-renderer.min.js.map +1 -0
- package/dist/global/index.d.ts +14 -0
- package/form-renderer.d.ts +4 -0
- package/form-renderer.js +4 -0
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +41 -0
- package/src/common/checkbox-group.d.ts +55 -0
- package/src/common/checkbox-group.js +241 -0
- package/src/common/conditional-rule-engine.d.ts +241 -0
- package/src/common/conditional-rule-engine.js +505 -0
- package/src/common/custom-validation-engine.d.ts +57 -0
- package/src/common/custom-validation-engine.js +152 -0
- package/src/common/datagrid-component.d.ts +156 -0
- package/src/common/datagrid-component.js +410 -0
- package/src/common/expressions/dependency-tracker.d.ts +29 -0
- package/src/common/expressions/dependency-tracker.js +137 -0
- package/src/common/expressions/expression-engine.d.ts +94 -0
- package/src/common/expressions/expression-engine.js +514 -0
- package/src/common/expressions/expression-parser.d.ts +40 -0
- package/src/common/expressions/expression-parser.js +270 -0
- package/src/common/expressions/grid-expressions.d.ts +24 -0
- package/src/common/expressions/grid-expressions.js +92 -0
- package/src/common/expressions/index.d.ts +4 -0
- package/src/common/expressions/index.js +4 -0
- package/src/common/index.d.ts +10 -0
- package/src/common/index.js +10 -0
- package/src/common/json-converter.d.ts +945 -0
- package/src/common/json-converter.js +1110 -0
- package/src/common/minmax-rule-engine.d.ts +105 -0
- package/src/common/minmax-rule-engine.js +380 -0
- package/src/common/option-fetcher.d.ts +30 -0
- package/src/common/option-fetcher.js +139 -0
- package/src/common/parser.d.ts +98 -0
- package/src/common/parser.js +788 -0
- package/src/common/static-html-renderer.d.ts +45 -0
- package/src/common/static-html-renderer.js +77 -0
- package/src/common/utils.d.ts +116 -0
- package/src/common/utils.js +484 -0
- package/src/form-renderer/form-renderer-model.d.ts +65 -0
- package/src/form-renderer/form-renderer.d.ts +425 -0
- package/src/form-renderer/form-renderer.js +2277 -0
- package/src/form-renderer/index.d.ts +6 -0
- package/src/form-renderer/index.js +5 -0
- package/src/form-renderer/render-form-field.d.ts +31 -0
- package/src/form-renderer/render-form-field.js +816 -0
- package/src/form-renderer/types/form-schema.d.ts +452 -0
- package/src/form-renderer/types/form-schema.js +32 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +4 -0
- package/src/index.js +4 -0
- package/styles/bds-lite.css +599 -0
- package/styles/bds-lite.scss +2 -0
- package/styles/bds.css +599 -0
- package/styles/bds.scss +2 -0
- package/styles/bootstrap-dark-lite.css +608 -0
- package/styles/bootstrap-dark-lite.scss +2 -0
- package/styles/bootstrap-dark.css +608 -0
- package/styles/bootstrap-dark.scss +2 -0
- package/styles/bootstrap-lite.css +595 -0
- package/styles/bootstrap-lite.scss +2 -0
- package/styles/bootstrap.css +595 -0
- package/styles/bootstrap.scss +2 -0
- package/styles/bootstrap4-lite.css +595 -0
- package/styles/bootstrap4-lite.scss +2 -0
- package/styles/bootstrap4.css +595 -0
- package/styles/bootstrap4.scss +2 -0
- package/styles/bootstrap5-dark-lite.css +595 -0
- package/styles/bootstrap5-dark-lite.scss +2 -0
- package/styles/bootstrap5-dark.css +595 -0
- package/styles/bootstrap5-dark.scss +2 -0
- package/styles/bootstrap5-lite.css +595 -0
- package/styles/bootstrap5-lite.scss +2 -0
- package/styles/bootstrap5.3-lite.css +679 -0
- package/styles/bootstrap5.3-lite.scss +2 -0
- package/styles/bootstrap5.3.css +679 -0
- package/styles/bootstrap5.3.scss +2 -0
- package/styles/bootstrap5.css +595 -0
- package/styles/bootstrap5.scss +2 -0
- package/styles/fabric-dark-lite.css +608 -0
- package/styles/fabric-dark-lite.scss +2 -0
- package/styles/fabric-dark.css +608 -0
- package/styles/fabric-dark.scss +2 -0
- package/styles/fabric-lite.css +595 -0
- package/styles/fabric-lite.scss +2 -0
- package/styles/fabric.css +595 -0
- package/styles/fabric.scss +2 -0
- package/styles/fluent-dark-lite.css +595 -0
- package/styles/fluent-dark-lite.scss +2 -0
- package/styles/fluent-dark.css +595 -0
- package/styles/fluent-dark.scss +2 -0
- package/styles/fluent-lite.css +595 -0
- package/styles/fluent-lite.scss +2 -0
- package/styles/fluent.css +595 -0
- package/styles/fluent.scss +2 -0
- package/styles/fluent2-lite.css +681 -0
- package/styles/fluent2-lite.scss +2 -0
- package/styles/fluent2.css +681 -0
- package/styles/fluent2.scss +2 -0
- package/styles/form-renderer/_all.scss +2 -0
- package/styles/form-renderer/_bds-definition.scss +8 -0
- package/styles/form-renderer/_bootstrap-dark-definition.scss +8 -0
- package/styles/form-renderer/_bootstrap-definition.scss +8 -0
- package/styles/form-renderer/_bootstrap4-definition.scss +8 -0
- package/styles/form-renderer/_bootstrap5-dark-definition.scss +8 -0
- package/styles/form-renderer/_bootstrap5-definition.scss +8 -0
- package/styles/form-renderer/_bootstrap5.3-definition.scss +8 -0
- package/styles/form-renderer/_fabric-dark-definition.scss +8 -0
- package/styles/form-renderer/_fabric-definition.scss +8 -0
- package/styles/form-renderer/_fluent-dark-definition.scss +8 -0
- package/styles/form-renderer/_fluent-definition.scss +8 -0
- package/styles/form-renderer/_fluent2-definition.scss +8 -0
- package/styles/form-renderer/_highcontrast-definition.scss +8 -0
- package/styles/form-renderer/_highcontrast-light-definition.scss +8 -0
- package/styles/form-renderer/_layout.scss +480 -0
- package/styles/form-renderer/_material-dark-definition.scss +8 -0
- package/styles/form-renderer/_material-definition.scss +8 -0
- package/styles/form-renderer/_material3-dark-definition.scss +8 -0
- package/styles/form-renderer/_material3-definition.scss +8 -0
- package/styles/form-renderer/_mixin.scss +26 -0
- package/styles/form-renderer/_tailwind-dark-definition.scss +8 -0
- package/styles/form-renderer/_tailwind-definition.scss +8 -0
- package/styles/form-renderer/_tailwind3-definition.scss +8 -0
- package/styles/form-renderer/_theme.scss +69 -0
- package/styles/form-renderer/_variables.scss +2 -0
- package/styles/form-renderer/bds.css +599 -0
- package/styles/form-renderer/bds.scss +2 -0
- package/styles/form-renderer/bootstrap-dark.css +608 -0
- package/styles/form-renderer/bootstrap-dark.scss +2 -0
- package/styles/form-renderer/bootstrap.css +595 -0
- package/styles/form-renderer/bootstrap.scss +2 -0
- package/styles/form-renderer/bootstrap4.css +595 -0
- package/styles/form-renderer/bootstrap4.scss +2 -0
- package/styles/form-renderer/bootstrap5-dark.css +595 -0
- package/styles/form-renderer/bootstrap5-dark.scss +2 -0
- package/styles/form-renderer/bootstrap5.3.css +679 -0
- package/styles/form-renderer/bootstrap5.3.scss +2 -0
- package/styles/form-renderer/bootstrap5.css +595 -0
- package/styles/form-renderer/bootstrap5.scss +2 -0
- package/styles/form-renderer/fabric-dark.css +608 -0
- package/styles/form-renderer/fabric-dark.scss +2 -0
- package/styles/form-renderer/fabric.css +595 -0
- package/styles/form-renderer/fabric.scss +2 -0
- package/styles/form-renderer/fluent-dark.css +595 -0
- package/styles/form-renderer/fluent-dark.scss +2 -0
- package/styles/form-renderer/fluent.css +595 -0
- package/styles/form-renderer/fluent.scss +2 -0
- package/styles/form-renderer/fluent2.css +681 -0
- package/styles/form-renderer/fluent2.scss +2 -0
- package/styles/form-renderer/highcontrast-light.css +595 -0
- package/styles/form-renderer/highcontrast-light.scss +2 -0
- package/styles/form-renderer/highcontrast.css +608 -0
- package/styles/form-renderer/highcontrast.scss +2 -0
- package/styles/form-renderer/material-dark.css +608 -0
- package/styles/form-renderer/material-dark.scss +2 -0
- package/styles/form-renderer/material.css +595 -0
- package/styles/form-renderer/material.scss +2 -0
- package/styles/form-renderer/material3-dark.css +677 -0
- package/styles/form-renderer/material3-dark.scss +2 -0
- package/styles/form-renderer/material3.css +679 -0
- package/styles/form-renderer/material3.scss +2 -0
- package/styles/form-renderer/tailwind-dark.css +595 -0
- package/styles/form-renderer/tailwind-dark.scss +2 -0
- package/styles/form-renderer/tailwind.css +595 -0
- package/styles/form-renderer/tailwind.scss +2 -0
- package/styles/form-renderer/tailwind3.css +669 -0
- package/styles/form-renderer/tailwind3.scss +2 -0
- package/styles/highcontrast-light-lite.css +595 -0
- package/styles/highcontrast-light-lite.scss +2 -0
- package/styles/highcontrast-light.css +595 -0
- package/styles/highcontrast-light.scss +2 -0
- package/styles/highcontrast-lite.css +608 -0
- package/styles/highcontrast-lite.scss +2 -0
- package/styles/highcontrast.css +608 -0
- package/styles/highcontrast.scss +2 -0
- package/styles/material-dark-lite.css +608 -0
- package/styles/material-dark-lite.scss +2 -0
- package/styles/material-dark.css +608 -0
- package/styles/material-dark.scss +2 -0
- package/styles/material-lite.css +595 -0
- package/styles/material-lite.scss +2 -0
- package/styles/material.css +595 -0
- package/styles/material.scss +2 -0
- package/styles/material3-dark-lite.css +677 -0
- package/styles/material3-dark-lite.scss +2 -0
- package/styles/material3-dark.css +677 -0
- package/styles/material3-dark.scss +2 -0
- package/styles/material3-lite.css +679 -0
- package/styles/material3-lite.scss +2 -0
- package/styles/material3.css +679 -0
- package/styles/material3.scss +2 -0
- package/styles/tailwind-dark-lite.css +595 -0
- package/styles/tailwind-dark-lite.scss +2 -0
- package/styles/tailwind-dark.css +595 -0
- package/styles/tailwind-dark.scss +2 -0
- package/styles/tailwind-lite.css +595 -0
- package/styles/tailwind-lite.scss +2 -0
- package/styles/tailwind.css +595 -0
- package/styles/tailwind.scss +2 -0
- package/styles/tailwind3-lite.css +669 -0
- package/styles/tailwind3-lite.scss +2 -0
- package/styles/tailwind3.css +669 -0
- package/styles/tailwind3.scss +2 -0
|
@@ -0,0 +1,945 @@
|
|
|
1
|
+
import { FieldDataType } from '../form-renderer';
|
|
2
|
+
import { FormSchema, FormNode, ConditionRule, ButtonDefinition, visualMode, CustomValidationRule } from '../form-renderer/types/form-schema';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export declare const generateId: (type: string) => string;
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
export declare const generateName: (type: string) => string;
|
|
11
|
+
/**
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
export interface UnifiedSchema {
|
|
15
|
+
version: string;
|
|
16
|
+
properties: Record<string, FieldProperties>;
|
|
17
|
+
theme?: string;
|
|
18
|
+
layout: LayoutNode[];
|
|
19
|
+
settings?: any;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
export interface DataSchema {
|
|
25
|
+
version: string;
|
|
26
|
+
properties: Record<string, DataField>;
|
|
27
|
+
settings?: any;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Represents the properties provided to the form fields in the JSON schema.
|
|
31
|
+
*/
|
|
32
|
+
export interface FieldProperties {
|
|
33
|
+
/**
|
|
34
|
+
* Specifies the id of the form field.
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
id?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Specifies the type of the form field. The values are `string`, `number`, `boolean`, `array`, and so on.
|
|
40
|
+
*/
|
|
41
|
+
type?: 'string' | 'number' | 'boolean' | 'array' | 'any' | 'button' | 'message' | 'sign' | 'image' | 'file' | 'color' | 'grid';
|
|
42
|
+
/**
|
|
43
|
+
* Specifies the name assigned to the form field, which is used in expressions and other form operations.
|
|
44
|
+
*/
|
|
45
|
+
name?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Specifies the label assigned to the form field for identification in the form UI.
|
|
48
|
+
*/
|
|
49
|
+
label?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Specifies an identifier for inputs such as Date Picker, DateTime Picker, TimePicker, and TextBox.
|
|
52
|
+
* Takes values such as `date` for Date Picker, `date-time` for DateTime Picker, `time` for TimePicker, and `email` and `url` for TextBox.
|
|
53
|
+
*/
|
|
54
|
+
format?: 'date' | 'date-time' | 'time' | 'email' | 'url';
|
|
55
|
+
/**
|
|
56
|
+
* Specifies the default value of the form field.
|
|
57
|
+
*/
|
|
58
|
+
defaultValue?: FieldDataType;
|
|
59
|
+
/**
|
|
60
|
+
* Specifies the expression assigned to the form field.
|
|
61
|
+
*/
|
|
62
|
+
expressionValue?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Specifies the text content used for message fields.
|
|
65
|
+
*/
|
|
66
|
+
content?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Specifies the type of the button set on the button field.
|
|
69
|
+
*/
|
|
70
|
+
buttonType?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Specifies the type of the text box set on the text box field.
|
|
73
|
+
* Takes values such as `text`, `password`, `email`, `number`, and `url`.
|
|
74
|
+
*/
|
|
75
|
+
textboxType?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Specifies the multiple choice options set on the form field.
|
|
78
|
+
* This property applies to Radio Button, Dropdown List, MultiSelect, and Checkbox Group.
|
|
79
|
+
*/
|
|
80
|
+
options?: string[] | unknown[];
|
|
81
|
+
/**
|
|
82
|
+
* Specifies whether the current field is mandatory.
|
|
83
|
+
*/
|
|
84
|
+
required?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Specifies the minimum length of input allowed for the text box and text area.
|
|
87
|
+
*/
|
|
88
|
+
minLength?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Specifies the maximum length of input allowed for the text box and text area.
|
|
91
|
+
*/
|
|
92
|
+
maxLength?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Specifies the minimum value that can be set to the rating and range slider components.
|
|
95
|
+
*/
|
|
96
|
+
minValue?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Specifies the maximum value that can be set to the range slider component.
|
|
99
|
+
*/
|
|
100
|
+
maxValue?: number;
|
|
101
|
+
/**
|
|
102
|
+
* Specifies the minimum date value that can be set to the DateRange Picker.
|
|
103
|
+
*/
|
|
104
|
+
minDate?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Specifies the maximum date value that can be set to the DateRange Picker.
|
|
107
|
+
*/
|
|
108
|
+
maxDate?: string;
|
|
109
|
+
/**
|
|
110
|
+
* @private
|
|
111
|
+
*/
|
|
112
|
+
minTime?: string;
|
|
113
|
+
/**
|
|
114
|
+
* @private
|
|
115
|
+
*/
|
|
116
|
+
maxTime?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Specifies the regular expression pattern used to validate the text box and text area form fields.
|
|
119
|
+
*/
|
|
120
|
+
pattern?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Specifies the widget used for the current component.
|
|
123
|
+
*/
|
|
124
|
+
widget?: 'textbox' | 'textarea' | 'number' | 'checkbox' | 'checkboxGroup' | 'radio' | 'dropdown' | 'multiselect' | 'button' | 'date' | 'dateTime' | 'time' | 'dateRange' | 'switch' | 'signature' | 'rating' | 'imageEditor' | 'fileUpload' | 'rangeSlider' | 'colorPicker' | 'inputMask' | 'message' | 'panel' | 'table' | 'tabs' | 'dataGrid' | 'staticHtml' | 'card' | 'splitButton' | 'richTextEditor';
|
|
125
|
+
/**
|
|
126
|
+
* @private
|
|
127
|
+
*/
|
|
128
|
+
_configured?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Specifies the description text displayed beneath the field for additional guidance across supported components.
|
|
131
|
+
*/
|
|
132
|
+
description?: string | undefined;
|
|
133
|
+
/**
|
|
134
|
+
* Specifies the prefix content displayed before the input for textbox, textarea, number, and input mask fields.
|
|
135
|
+
*/
|
|
136
|
+
prefix?: string | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Specifies the suffix content displayed after the input for textbox, textarea, number, and input mask fields.
|
|
139
|
+
*/
|
|
140
|
+
suffix?: string | undefined;
|
|
141
|
+
/**
|
|
142
|
+
* Specifies the placeholder text displayed inside textbox, textarea, number, input mask, dropdown, and multiselect fields.
|
|
143
|
+
*/
|
|
144
|
+
placeholder?: string;
|
|
145
|
+
/**
|
|
146
|
+
* Specifies whether the component is disabled in the form UI for all supported components.
|
|
147
|
+
*/
|
|
148
|
+
disabled?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Specifies whether the component is visible or hidden in the form UI for all supported components.
|
|
151
|
+
*/
|
|
152
|
+
visible?: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Specifies the tooltip text displayed for the component label for all supported components.
|
|
155
|
+
*/
|
|
156
|
+
tooltip?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Specifies whether the border and padding of a table or panel component are hidden.
|
|
159
|
+
*/
|
|
160
|
+
hideBorders?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Specifies whether the form field label is hidden for all supported components.
|
|
163
|
+
*/
|
|
164
|
+
hideLabel?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Specifies the CSS class name applied to the component for styling.
|
|
167
|
+
*/
|
|
168
|
+
cssClass?: string;
|
|
169
|
+
/**
|
|
170
|
+
* Specifies whether the textbox component is rendered as a multi-line input.
|
|
171
|
+
*/
|
|
172
|
+
multiline?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Specifies whether the input component shows a clear button to reset the current field value.
|
|
175
|
+
*/
|
|
176
|
+
showClearButton?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Specifies whether the message component shows a close button.
|
|
179
|
+
*/
|
|
180
|
+
showCloseIcon?: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Specifies whether the message component shows its severity icon.
|
|
183
|
+
*/
|
|
184
|
+
showIcon?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Specifies the visual variant of the message component.
|
|
187
|
+
*/
|
|
188
|
+
variant?: 'Standard' | 'Filled' | 'Outlined';
|
|
189
|
+
/**
|
|
190
|
+
* Specifies the severity of the message component.
|
|
191
|
+
*/
|
|
192
|
+
severity?: 'Information' | 'Success' | 'Warning' | 'Error';
|
|
193
|
+
/**
|
|
194
|
+
* Specifies whether the calendar component shows a today button.
|
|
195
|
+
*/
|
|
196
|
+
showTodayButton?: boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Specifies additional HTML attributes applied to input-like components such as textbox, textarea, and file fields.
|
|
199
|
+
*/
|
|
200
|
+
htmlAttributes?: Record<string, FieldDataType>;
|
|
201
|
+
/**
|
|
202
|
+
* Specifies the position of the field label for input components, such as top, bottom, left, or right.
|
|
203
|
+
*/
|
|
204
|
+
labelPosition?: string;
|
|
205
|
+
/**
|
|
206
|
+
* Specifies the alignment of button and split button components.
|
|
207
|
+
*/
|
|
208
|
+
position?: string;
|
|
209
|
+
/**
|
|
210
|
+
* Specifies the label position for radio button components, such as before or after the option.
|
|
211
|
+
*/
|
|
212
|
+
fieldLabelPosition?: 'After' | 'Before';
|
|
213
|
+
/**
|
|
214
|
+
* Specifies the width of the field label for aligning labels when using left or right placement.
|
|
215
|
+
*/
|
|
216
|
+
labelWidth?: string;
|
|
217
|
+
/**
|
|
218
|
+
* Specifies the float label behavior for input fields that support placeholder positioning when focused.
|
|
219
|
+
*/
|
|
220
|
+
floatLabelType?: 'Never' | 'Always' | 'Auto';
|
|
221
|
+
/**
|
|
222
|
+
* Specifies whether the input component is read-only.
|
|
223
|
+
*/
|
|
224
|
+
readOnly?: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Specifies whether the input component allows browser autocomplete.
|
|
227
|
+
*/
|
|
228
|
+
autocomplete?: boolean;
|
|
229
|
+
/**
|
|
230
|
+
* Specifies the number of columns displayed by the textarea component.
|
|
231
|
+
*/
|
|
232
|
+
cols?: number;
|
|
233
|
+
/**
|
|
234
|
+
* Specifies the number of rows displayed by the textarea component.
|
|
235
|
+
*/
|
|
236
|
+
textareaRows?: number;
|
|
237
|
+
/**
|
|
238
|
+
* Specifies the checked state of checkbox and switch components.
|
|
239
|
+
*/
|
|
240
|
+
checked?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Specifies the indeterminate state of checkbox components.
|
|
243
|
+
*/
|
|
244
|
+
indeterminate?: boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Specifies the off label text displayed by switch components.
|
|
247
|
+
*/
|
|
248
|
+
offLabel?: string;
|
|
249
|
+
/**
|
|
250
|
+
* Specifies the on label text displayed by switch components.
|
|
251
|
+
*/
|
|
252
|
+
onLabel?: string;
|
|
253
|
+
/**
|
|
254
|
+
* Specifies the icon CSS class applied to button components.
|
|
255
|
+
*/
|
|
256
|
+
iconCss?: string;
|
|
257
|
+
/**
|
|
258
|
+
* Specifies the icon position for button components.
|
|
259
|
+
*/
|
|
260
|
+
iconPosition?: 'Left' | 'Right';
|
|
261
|
+
/**
|
|
262
|
+
* Specifies the visual style applied to button and split button components.
|
|
263
|
+
*/
|
|
264
|
+
style?: 'primary' | 'flat' | 'information' | 'error' | 'success' | 'warning';
|
|
265
|
+
/**
|
|
266
|
+
* Specifies the collection of buttons for a button group component.
|
|
267
|
+
*/
|
|
268
|
+
buttonsGroups?: ButtonDefinition[];
|
|
269
|
+
/**
|
|
270
|
+
* Specifies the spacing between buttons in button group and checkbox group components.
|
|
271
|
+
*/
|
|
272
|
+
gap?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Specifies the number of decimal places for numeric textbox components.
|
|
275
|
+
*/
|
|
276
|
+
decimals?: number;
|
|
277
|
+
/**
|
|
278
|
+
* Specifies the currency format for numeric textbox components.
|
|
279
|
+
*/
|
|
280
|
+
currency?: string;
|
|
281
|
+
/**
|
|
282
|
+
* Specifies the number format for numeric textbox components.
|
|
283
|
+
*/
|
|
284
|
+
numberFormat?: string;
|
|
285
|
+
/**
|
|
286
|
+
* Specifies whether the rating component allows reset.
|
|
287
|
+
*/
|
|
288
|
+
allowReset?: boolean;
|
|
289
|
+
/**
|
|
290
|
+
* Specifies the number of items displayed by the rating component.
|
|
291
|
+
*/
|
|
292
|
+
itemsCount?: number;
|
|
293
|
+
/**
|
|
294
|
+
* Specifies the precision of the rating component.
|
|
295
|
+
*/
|
|
296
|
+
precision?: number | string;
|
|
297
|
+
/**
|
|
298
|
+
* Specifies whether the rating component shows a tooltip.
|
|
299
|
+
*/
|
|
300
|
+
showRatingTooltip?: boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Specifies whether the rating component shows a label.
|
|
303
|
+
*/
|
|
304
|
+
showRatingLabel?: boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Specifies the position of the rating label.
|
|
307
|
+
*/
|
|
308
|
+
ratingLabelPosition?: 'Top' | 'Bottom' | 'Left' | 'Right';
|
|
309
|
+
/**
|
|
310
|
+
* Specifies the height of the image editor component.
|
|
311
|
+
*/
|
|
312
|
+
height?: number | null;
|
|
313
|
+
/**
|
|
314
|
+
* Specifies the width of the image editor component.
|
|
315
|
+
*/
|
|
316
|
+
width?: number | null;
|
|
317
|
+
/**
|
|
318
|
+
* Specifies the background color of the signature component.
|
|
319
|
+
*/
|
|
320
|
+
backgroundColor?: string;
|
|
321
|
+
/**
|
|
322
|
+
* Specifies the stroke color of the signature component.
|
|
323
|
+
*/
|
|
324
|
+
strokeColor?: string;
|
|
325
|
+
/**
|
|
326
|
+
* Specifies the maximum stroke width of the signature component.
|
|
327
|
+
*/
|
|
328
|
+
maximumStrokeWidth?: number;
|
|
329
|
+
/**
|
|
330
|
+
* Specifies the minimum stroke width of the signature component.
|
|
331
|
+
*/
|
|
332
|
+
minimumStrokeWidth?: number;
|
|
333
|
+
/**
|
|
334
|
+
* Specifies the velocity of the signature component.
|
|
335
|
+
*/
|
|
336
|
+
velocity?: number;
|
|
337
|
+
/**
|
|
338
|
+
* Specifies whether the color picker component enables opacity.
|
|
339
|
+
*/
|
|
340
|
+
enableOpacity?: boolean;
|
|
341
|
+
/**
|
|
342
|
+
* Specifies whether the color picker shows a no-color option.
|
|
343
|
+
*/
|
|
344
|
+
showNoColor?: boolean;
|
|
345
|
+
/**
|
|
346
|
+
* Specifies whether the color picker shows buttons.
|
|
347
|
+
*/
|
|
348
|
+
showButtons?: boolean;
|
|
349
|
+
/**
|
|
350
|
+
* Specifies whether the color picker shows recent colors.
|
|
351
|
+
*/
|
|
352
|
+
showRecentColors?: boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Specifies the allowed file extensions for the uploader component.
|
|
355
|
+
*/
|
|
356
|
+
allowExtensions?: string;
|
|
357
|
+
/**
|
|
358
|
+
* Specifies the save URL for the uploader component.
|
|
359
|
+
*/
|
|
360
|
+
saveUrl?: string;
|
|
361
|
+
/**
|
|
362
|
+
* Specifies the remove URL for the uploader component.
|
|
363
|
+
*/
|
|
364
|
+
removeUrl?: string;
|
|
365
|
+
/**
|
|
366
|
+
* Specifies the button configuration for the uploader component.
|
|
367
|
+
*/
|
|
368
|
+
buttons?: object;
|
|
369
|
+
/**
|
|
370
|
+
* Specifies whether the uploader component allows multiple files.
|
|
371
|
+
*/
|
|
372
|
+
allowMultiple?: boolean;
|
|
373
|
+
/**
|
|
374
|
+
* Specifies whether the uploader component shows a file list.
|
|
375
|
+
*/
|
|
376
|
+
showFileList?: boolean;
|
|
377
|
+
/**
|
|
378
|
+
* Specifies the data source used by the data grid component.
|
|
379
|
+
*/
|
|
380
|
+
dataSource?: [] | unknown;
|
|
381
|
+
/**
|
|
382
|
+
* Specifies the calendar system used by the DatePicker, DateTimePicker, or DateRangePicker component.
|
|
383
|
+
*/
|
|
384
|
+
calendarMode?: 'Gregorian' | 'Islamic';
|
|
385
|
+
/**
|
|
386
|
+
* Specifies the format of the day names displayed in the calendar header of the DatePicker, DateTimePicker, or DateRangePicker component.
|
|
387
|
+
*/
|
|
388
|
+
dayHeaderFormat?: 'Short' | 'Narrow' | 'Abbreviated' | 'Wide';
|
|
389
|
+
/**
|
|
390
|
+
* Specifies the maximum navigation depth available in the calendar view of the DatePicker, DateTimePicker, or DateRangePicker component.
|
|
391
|
+
*/
|
|
392
|
+
depth?: 'Month' | 'Year' | 'Decade';
|
|
393
|
+
/**
|
|
394
|
+
* Specifies the first day of the week displayed in the calendar of the DatePicker, DateTimePicker, or DateRangePicker component.
|
|
395
|
+
*/
|
|
396
|
+
firstDayOfWeek?: number;
|
|
397
|
+
/**
|
|
398
|
+
* Specifies the initial calendar view displayed when opening the DatePicker, DateTimePicker, or DateRangePicker component.
|
|
399
|
+
*/
|
|
400
|
+
start?: 'Month' | 'Year' | 'Decade';
|
|
401
|
+
/**
|
|
402
|
+
* Specifies whether users can manually enter or edit values in the DateTimePicker input field.
|
|
403
|
+
*/
|
|
404
|
+
allowEdit?: boolean;
|
|
405
|
+
/**
|
|
406
|
+
* Specifies whether the DateTimePicker component is enabled for user interaction.
|
|
407
|
+
*/
|
|
408
|
+
enabled?: boolean;
|
|
409
|
+
/**
|
|
410
|
+
* Specifies the display format used for the time portion in the DateTimePicker component.
|
|
411
|
+
*/
|
|
412
|
+
timeFormat?: string;
|
|
413
|
+
/**
|
|
414
|
+
* Specifies the interval, in minutes, between selectable time values in the DateTimePicker component.
|
|
415
|
+
*/
|
|
416
|
+
step?: number;
|
|
417
|
+
/**
|
|
418
|
+
* Specifies the initial start date value of the DateRangePicker component.
|
|
419
|
+
*/
|
|
420
|
+
startDate?: string;
|
|
421
|
+
/**
|
|
422
|
+
* Specifies the initial end date value of the DateRangePicker component.
|
|
423
|
+
*/
|
|
424
|
+
endDate?: string;
|
|
425
|
+
/**
|
|
426
|
+
* Specifies the separator text displayed between the start and end dates in the DateRangePicker component.
|
|
427
|
+
*/
|
|
428
|
+
separator?: string;
|
|
429
|
+
/**
|
|
430
|
+
* Specifies the input mask pattern used in the MaskedTextBox component.
|
|
431
|
+
*/
|
|
432
|
+
mask?: string;
|
|
433
|
+
/**
|
|
434
|
+
* Specifies custom character definitions that can be used within the mask pattern of the MaskedTextBox component.
|
|
435
|
+
*/
|
|
436
|
+
customCharacters?: Record<string, string>;
|
|
437
|
+
/**
|
|
438
|
+
* Specifies the placeholder character displayed for unfilled positions in the MaskedTextBox component.
|
|
439
|
+
*/
|
|
440
|
+
promptChar?: string;
|
|
441
|
+
/**
|
|
442
|
+
* Specifies whether users can add custom values that are not present in the predefined list of the MultiSelect component.
|
|
443
|
+
*/
|
|
444
|
+
allowCustomValue?: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* Specifies whether a selected value is added as a tag when the MultiSelect component loses focus.
|
|
447
|
+
*/
|
|
448
|
+
addTagOnBlur?: boolean;
|
|
449
|
+
/**
|
|
450
|
+
* Specifies the character used to separate selected values in the MultiSelect component.
|
|
451
|
+
*/
|
|
452
|
+
delimiterChar?: string;
|
|
453
|
+
/**
|
|
454
|
+
* Specifies how selected values are visually displayed in the MultiSelect component.
|
|
455
|
+
*/
|
|
456
|
+
visualMode?: visualMode;
|
|
457
|
+
/**
|
|
458
|
+
* Specifies whether the Select All option is displayed in the MultiSelect component.
|
|
459
|
+
*/
|
|
460
|
+
showSelectAll?: boolean;
|
|
461
|
+
/**
|
|
462
|
+
* Specifies the text displayed for the Select All option in the MultiSelect component.
|
|
463
|
+
*/
|
|
464
|
+
selectAllText?: string;
|
|
465
|
+
/**
|
|
466
|
+
* Specifies the text displayed for the Unselect All option in the MultiSelect component.
|
|
467
|
+
*/
|
|
468
|
+
unSelectAllText?: string;
|
|
469
|
+
/**
|
|
470
|
+
* Specifies whether to display the dropdown icon in the MultiSelect component.
|
|
471
|
+
*/
|
|
472
|
+
showDropDownIcon?: boolean;
|
|
473
|
+
/****
|
|
474
|
+
* Specifies the number of records displayed per page in the DataGrid component.
|
|
475
|
+
*/
|
|
476
|
+
pageSize?: number;
|
|
477
|
+
/**
|
|
478
|
+
* Specifies the visual size of the component and is applicable to all input components.
|
|
479
|
+
*/
|
|
480
|
+
size?: 'Default' | 'Small' | 'Bigger';
|
|
481
|
+
/**
|
|
482
|
+
* Specifies whether paging is enabled in the DataGrid component.
|
|
483
|
+
*/
|
|
484
|
+
allowPaging?: boolean;
|
|
485
|
+
/**
|
|
486
|
+
* Specifies whether new records can be added in the DataGrid component.
|
|
487
|
+
*/
|
|
488
|
+
allowAdding?: boolean;
|
|
489
|
+
/**
|
|
490
|
+
* Specifies whether existing records can be edited in the DataGrid component.
|
|
491
|
+
*/
|
|
492
|
+
allowEditing?: boolean;
|
|
493
|
+
/**
|
|
494
|
+
* Specifies whether records can be deleted in the DataGrid component.
|
|
495
|
+
*/
|
|
496
|
+
allowDeleting?: boolean;
|
|
497
|
+
/**
|
|
498
|
+
* Specifies the position of the label relative to the checkbox. Applicable to CheckBox and CheckBoxGroup components.
|
|
499
|
+
*/
|
|
500
|
+
checkboxLabelPosition?: 'Before' | 'After';
|
|
501
|
+
/**
|
|
502
|
+
* Specifies the layout direction used to arrange checkboxes in the CheckBoxGroup component.
|
|
503
|
+
*/
|
|
504
|
+
layoutDirection?: 'row' | 'column';
|
|
505
|
+
/**
|
|
506
|
+
* Specifies whether HTML content is sanitized before rendering in the Static HTML component.
|
|
507
|
+
*/
|
|
508
|
+
enableHtmlSanitizer?: boolean;
|
|
509
|
+
/**
|
|
510
|
+
* Specifies whether virtualization is enabled to efficiently render large data sets in the DropDownList and MultiSelect components.
|
|
511
|
+
*/
|
|
512
|
+
enableVirtualization?: boolean;
|
|
513
|
+
/**
|
|
514
|
+
* Specifies the height of the popup displayed by the DropDownList and MultiSelect components.
|
|
515
|
+
*/
|
|
516
|
+
popupHeight?: string;
|
|
517
|
+
/**
|
|
518
|
+
* Specifies the width of the popup displayed by the DropDownList and MultiSelect components.
|
|
519
|
+
*/
|
|
520
|
+
popupWidth?: string;
|
|
521
|
+
/**
|
|
522
|
+
* Specifies the visual style of the message displayed in the Message component.
|
|
523
|
+
*/
|
|
524
|
+
messageType?: 'info' | 'success' | 'warning' | 'error';
|
|
525
|
+
/**
|
|
526
|
+
* Specifies the child form nodes contained within the Panel or Card layout component.
|
|
527
|
+
*/
|
|
528
|
+
children?: FormNode[];
|
|
529
|
+
/**
|
|
530
|
+
* Specifies the number of rows in the Table layout component.
|
|
531
|
+
*/
|
|
532
|
+
rows?: number;
|
|
533
|
+
/**
|
|
534
|
+
* Specifies the number of columns in the Table layout component.
|
|
535
|
+
*/
|
|
536
|
+
columns?: number | FieldDataType;
|
|
537
|
+
/**
|
|
538
|
+
* Specifies the legend text displayed in the Panel layout component.
|
|
539
|
+
*/
|
|
540
|
+
legend?: string;
|
|
541
|
+
/**
|
|
542
|
+
* Specifies the title displayed in the Card layout component.
|
|
543
|
+
*/
|
|
544
|
+
cardTitle?: string;
|
|
545
|
+
/**
|
|
546
|
+
* Specifies the subtitle displayed in the Card layout component.
|
|
547
|
+
*/
|
|
548
|
+
cardSubtitle?: string;
|
|
549
|
+
/**
|
|
550
|
+
* Specifies the width configuration for columns in the Table layout component.
|
|
551
|
+
*/
|
|
552
|
+
columnWidths?: {
|
|
553
|
+
/**
|
|
554
|
+
* Specifies the total number of columns in the table.
|
|
555
|
+
*/
|
|
556
|
+
columns: number;
|
|
557
|
+
/**
|
|
558
|
+
* Specifies the percentage width for each column in the table.
|
|
559
|
+
*/
|
|
560
|
+
widths: number[];
|
|
561
|
+
};
|
|
562
|
+
/**
|
|
563
|
+
* Specifies the tab items and their associated content in the Tab layout component.
|
|
564
|
+
*/
|
|
565
|
+
tabItems?: Array<{
|
|
566
|
+
header: string;
|
|
567
|
+
content?: FormNode[];
|
|
568
|
+
}>;
|
|
569
|
+
/**
|
|
570
|
+
* Specifies the table cell content used to render form nodes within the Table layout component.
|
|
571
|
+
*/
|
|
572
|
+
tableCells?: FormNode[][][];
|
|
573
|
+
/**
|
|
574
|
+
* Specifies the header text for each tab in the Tab layout component.
|
|
575
|
+
*/
|
|
576
|
+
tabOptions?: string[];
|
|
577
|
+
/**
|
|
578
|
+
* Specifies the settings to enable importing Word documents in the Rich Text Editor component.
|
|
579
|
+
*/
|
|
580
|
+
enableImportFromWord?: {
|
|
581
|
+
/**
|
|
582
|
+
* Specifies whether the import from Word feature is enabled.
|
|
583
|
+
*/
|
|
584
|
+
enabled: boolean;
|
|
585
|
+
/**
|
|
586
|
+
* Specifies the service endpoint used to process Word document imports in Rich Text Editor.
|
|
587
|
+
*/
|
|
588
|
+
serviceUrl: string;
|
|
589
|
+
};
|
|
590
|
+
/**
|
|
591
|
+
* Specifies the settings to enable exporting content as a Word document in the Rich Text Editor component.
|
|
592
|
+
*/
|
|
593
|
+
enableExportToWord?: {
|
|
594
|
+
/**
|
|
595
|
+
* Specifies whether the export to Word feature is enabled.
|
|
596
|
+
*/
|
|
597
|
+
enabled: boolean;
|
|
598
|
+
/**
|
|
599
|
+
* Specifies the service endpoint used to process Word document exports.
|
|
600
|
+
*/
|
|
601
|
+
serviceUrl: string;
|
|
602
|
+
};
|
|
603
|
+
/**
|
|
604
|
+
* Specifies the settings to enable exporting content as a PDF document in the Rich Text Editor component.
|
|
605
|
+
*/
|
|
606
|
+
enableExportToPdf?: {
|
|
607
|
+
/**
|
|
608
|
+
* Specifies whether the export to PDF feature is enabled.
|
|
609
|
+
*/
|
|
610
|
+
enabled: boolean;
|
|
611
|
+
/**
|
|
612
|
+
* Specifies the service endpoint used to process PDF exports.
|
|
613
|
+
*/
|
|
614
|
+
serviceUrl: string;
|
|
615
|
+
};
|
|
616
|
+
/**
|
|
617
|
+
* Specifies the conditional rules for the component, such as visibility, enablement, or other behavior based on form field values.
|
|
618
|
+
* Applicable to all form components.
|
|
619
|
+
*/
|
|
620
|
+
conditions?: ConditionRule | FieldDataType;
|
|
621
|
+
/**
|
|
622
|
+
* Specifies custom validation rules and validation messages for the component.
|
|
623
|
+
* Applicable to all input form field components.
|
|
624
|
+
*/
|
|
625
|
+
customValidation?: CustomValidationRule[] | FieldDataType;
|
|
626
|
+
/**
|
|
627
|
+
* Additional UI properties supported by the rendered component.
|
|
628
|
+
*/
|
|
629
|
+
[key: string]: unknown;
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* @private
|
|
633
|
+
*/
|
|
634
|
+
export interface DataField {
|
|
635
|
+
id: string;
|
|
636
|
+
type: 'string' | 'number' | 'boolean' | 'array' | 'any' | 'button' | 'message' | 'sign' | 'image' | 'file' | 'color' | 'grid';
|
|
637
|
+
name: string;
|
|
638
|
+
label?: string;
|
|
639
|
+
format?: 'date' | 'date-time' | 'time' | 'email' | 'url';
|
|
640
|
+
defaultValue?: any;
|
|
641
|
+
expressionValue?: string;
|
|
642
|
+
content?: string;
|
|
643
|
+
buttonType?: string;
|
|
644
|
+
textboxType?: string;
|
|
645
|
+
options?: string[] | any[] | string | any;
|
|
646
|
+
required?: boolean;
|
|
647
|
+
minLength?: number;
|
|
648
|
+
maxLength?: number;
|
|
649
|
+
minValue?: number;
|
|
650
|
+
maxValue?: number;
|
|
651
|
+
minDate?: string;
|
|
652
|
+
maxDate?: string;
|
|
653
|
+
minTime?: string;
|
|
654
|
+
maxTime?: string;
|
|
655
|
+
pattern?: string;
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* @private
|
|
659
|
+
*/
|
|
660
|
+
export interface UISchema {
|
|
661
|
+
properties: Record<string, UIField>;
|
|
662
|
+
layout: LayoutNode[];
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* @private
|
|
666
|
+
*/
|
|
667
|
+
export interface UIField {
|
|
668
|
+
widget: string;
|
|
669
|
+
_configured?: boolean;
|
|
670
|
+
[key: string]: any;
|
|
671
|
+
}
|
|
672
|
+
/**
|
|
673
|
+
* Specifies the layouts available in the form.
|
|
674
|
+
*/
|
|
675
|
+
export declare type LayoutNode = FieldNode | TableNode | PanelNode | TabsNode | CardNode;
|
|
676
|
+
/**
|
|
677
|
+
* Provides the properties to signify a field node.
|
|
678
|
+
*/
|
|
679
|
+
export interface FieldNode {
|
|
680
|
+
/**
|
|
681
|
+
* Specifies the type identifier of the layout node, set to `field`.
|
|
682
|
+
*/
|
|
683
|
+
type: 'field';
|
|
684
|
+
/**
|
|
685
|
+
* Specifies the field id in the properties key, which is provided as a reference to the layout.
|
|
686
|
+
*/
|
|
687
|
+
propertyId: string;
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* Provides the properties to signify a table.
|
|
691
|
+
*/
|
|
692
|
+
export interface TableNode {
|
|
693
|
+
/**
|
|
694
|
+
* Specifies the type identifier of the layout node, set to `table`.
|
|
695
|
+
*/
|
|
696
|
+
type: 'table';
|
|
697
|
+
/**
|
|
698
|
+
* Specifies the id of the table.
|
|
699
|
+
*/
|
|
700
|
+
id: string;
|
|
701
|
+
/**
|
|
702
|
+
* Specifies the name assigned to the table, which is used in expressions and other form operations.
|
|
703
|
+
*/
|
|
704
|
+
name: string;
|
|
705
|
+
/**
|
|
706
|
+
* Specifies the label assigned to the table for identification in the form UI.
|
|
707
|
+
*/
|
|
708
|
+
label?: string;
|
|
709
|
+
/**
|
|
710
|
+
* Specifies the class name that can be added to the table for CSS styling.
|
|
711
|
+
*/
|
|
712
|
+
cssClass?: string;
|
|
713
|
+
/**
|
|
714
|
+
* Specifies whether the border of the table is hidden.
|
|
715
|
+
*/
|
|
716
|
+
hideBorders?: boolean;
|
|
717
|
+
/**
|
|
718
|
+
* Specifies the row count in the table.
|
|
719
|
+
*/
|
|
720
|
+
rows: number;
|
|
721
|
+
/**
|
|
722
|
+
* Specifies the column count in the table.
|
|
723
|
+
*/
|
|
724
|
+
cols: number;
|
|
725
|
+
/**
|
|
726
|
+
* Specifies the configuration set on the table cells.
|
|
727
|
+
*/
|
|
728
|
+
cells: TableCell[][];
|
|
729
|
+
/**
|
|
730
|
+
* Specifies the configuration of the column widths.
|
|
731
|
+
*/
|
|
732
|
+
columnWidths?: {
|
|
733
|
+
widths: (number | null)[];
|
|
734
|
+
};
|
|
735
|
+
/**
|
|
736
|
+
* Specifies the condition rules that are set on the table element.
|
|
737
|
+
*/
|
|
738
|
+
conditions?: ConditionRule;
|
|
739
|
+
}
|
|
740
|
+
/**
|
|
741
|
+
* Provides the properties to signify a table cell.
|
|
742
|
+
*/
|
|
743
|
+
export interface TableCell {
|
|
744
|
+
/**
|
|
745
|
+
* Specifies the row index of the table cell.
|
|
746
|
+
*/
|
|
747
|
+
row: number;
|
|
748
|
+
/**
|
|
749
|
+
* Specifies the column index of the table cell.
|
|
750
|
+
*/
|
|
751
|
+
col: number;
|
|
752
|
+
/**
|
|
753
|
+
* Specifies the fields or layouts that are available in the current cell.
|
|
754
|
+
*/
|
|
755
|
+
children: LayoutNode[];
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* Provides the properties to signify a panel.
|
|
759
|
+
*/
|
|
760
|
+
export interface PanelNode {
|
|
761
|
+
/**
|
|
762
|
+
* Specifies the type identifier of the layout node, set to `panel`.
|
|
763
|
+
*/
|
|
764
|
+
type: 'panel';
|
|
765
|
+
/**
|
|
766
|
+
* Specifies the id of the panel.
|
|
767
|
+
*/
|
|
768
|
+
id: string;
|
|
769
|
+
/**
|
|
770
|
+
* Specifies the name assigned to the panel, which is used in expressions and other form operations.
|
|
771
|
+
*/
|
|
772
|
+
name: string;
|
|
773
|
+
/**
|
|
774
|
+
* Specifies the label assigned to the panel for identification in the form UI.
|
|
775
|
+
*/
|
|
776
|
+
label?: string;
|
|
777
|
+
/**
|
|
778
|
+
* Specifies the class name that can be added to the panel for CSS styling.
|
|
779
|
+
*/
|
|
780
|
+
cssClass?: string;
|
|
781
|
+
/**
|
|
782
|
+
* Specifies whether the border of the panel is hidden.
|
|
783
|
+
*/
|
|
784
|
+
hideBorders?: boolean;
|
|
785
|
+
/**
|
|
786
|
+
* Specifies whether the label of the panel is hidden.
|
|
787
|
+
*/
|
|
788
|
+
hideLabel?: boolean;
|
|
789
|
+
/**
|
|
790
|
+
* Specifies the fields or layouts that are available in the current panel.
|
|
791
|
+
*/
|
|
792
|
+
children: LayoutNode[];
|
|
793
|
+
/**
|
|
794
|
+
* Specifies the condition rules that are set on the panel element.
|
|
795
|
+
*/
|
|
796
|
+
conditions?: ConditionRule;
|
|
797
|
+
}
|
|
798
|
+
/**
|
|
799
|
+
* Provides the properties to signify a tab.
|
|
800
|
+
*/
|
|
801
|
+
export interface TabsNode {
|
|
802
|
+
/**
|
|
803
|
+
* Specifies the type identifier of the layout node, set to `tabs`.
|
|
804
|
+
*/
|
|
805
|
+
type: 'tabs';
|
|
806
|
+
/**
|
|
807
|
+
* Specifies the id of the tabs.
|
|
808
|
+
*/
|
|
809
|
+
id: string;
|
|
810
|
+
/**
|
|
811
|
+
* Specifies the name assigned to the tabs, which is used in expressions and other form operations.
|
|
812
|
+
*/
|
|
813
|
+
name: string;
|
|
814
|
+
/**
|
|
815
|
+
* Specifies the class name that can be added to the tabs for CSS styling.
|
|
816
|
+
*/
|
|
817
|
+
cssClass?: string;
|
|
818
|
+
/**
|
|
819
|
+
* Specifies the label assigned to the tabs for identification in the form UI.
|
|
820
|
+
*/
|
|
821
|
+
label?: string;
|
|
822
|
+
/**
|
|
823
|
+
* Specifies the name of each tab item.
|
|
824
|
+
*/
|
|
825
|
+
tabOptions?: string[];
|
|
826
|
+
/**
|
|
827
|
+
* Specifies the configuration that has been set on each tab item.
|
|
828
|
+
*/
|
|
829
|
+
tabs: TabItem[];
|
|
830
|
+
/**
|
|
831
|
+
* Specifies the condition rules that are set on the tabs element.
|
|
832
|
+
*/
|
|
833
|
+
conditions?: ConditionRule;
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* Provides the properties to signify a tab item.
|
|
837
|
+
*/
|
|
838
|
+
export interface TabItem {
|
|
839
|
+
/**
|
|
840
|
+
* Specifies the header name of the tab.
|
|
841
|
+
*/
|
|
842
|
+
header: string;
|
|
843
|
+
/**
|
|
844
|
+
* Specifies the fields or layouts that are available in the current tab item.
|
|
845
|
+
*/
|
|
846
|
+
children: LayoutNode[];
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Provides the properties to signify a card.
|
|
850
|
+
*/
|
|
851
|
+
export interface CardNode {
|
|
852
|
+
/**
|
|
853
|
+
* Specifies the type identifier of the layout node, set to `card`.
|
|
854
|
+
*/
|
|
855
|
+
type: 'card';
|
|
856
|
+
/**
|
|
857
|
+
* Specifies the id of the card.
|
|
858
|
+
*/
|
|
859
|
+
id: string;
|
|
860
|
+
/**
|
|
861
|
+
* Specifies the name assigned to the card, which is used in expressions and other form operations.
|
|
862
|
+
*/
|
|
863
|
+
name: string;
|
|
864
|
+
/**
|
|
865
|
+
* Specifies the label assigned to the card for identification in the form UI.
|
|
866
|
+
*/
|
|
867
|
+
label?: string;
|
|
868
|
+
/**
|
|
869
|
+
* Specifies the class name that can be added to the card for CSS styling.
|
|
870
|
+
*/
|
|
871
|
+
cssClass?: string;
|
|
872
|
+
/**
|
|
873
|
+
* Specifies whether the label of the card is hidden.
|
|
874
|
+
*/
|
|
875
|
+
hideLabel?: boolean;
|
|
876
|
+
/**
|
|
877
|
+
* Specifies the title of the card.
|
|
878
|
+
*/
|
|
879
|
+
cardTitle?: string;
|
|
880
|
+
/**
|
|
881
|
+
* Specifies the subtitle of the card.
|
|
882
|
+
*/
|
|
883
|
+
cardSubtitle?: string;
|
|
884
|
+
/**
|
|
885
|
+
* Specifies the fields or layouts that are available in the current card.
|
|
886
|
+
*/
|
|
887
|
+
children: LayoutNode[];
|
|
888
|
+
/**
|
|
889
|
+
* Specifies the condition rules that are set on the card element.
|
|
890
|
+
*/
|
|
891
|
+
conditions?: ConditionRule;
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* @private
|
|
895
|
+
*/
|
|
896
|
+
export declare function labelToFieldKey(label: string, fallbackId?: string): string;
|
|
897
|
+
/**
|
|
898
|
+
* @private
|
|
899
|
+
*/
|
|
900
|
+
export declare function makeUniqueFieldKey(baseKey: string, existingKeys: Set<string>, originalId?: string): string;
|
|
901
|
+
/**
|
|
902
|
+
* @private
|
|
903
|
+
*/
|
|
904
|
+
export declare const UI_TYPE_TO_SEMANTIC_TYPE: Record<string, {
|
|
905
|
+
type: DataField['type'];
|
|
906
|
+
format?: string;
|
|
907
|
+
} | null>;
|
|
908
|
+
/**
|
|
909
|
+
* @private
|
|
910
|
+
*/
|
|
911
|
+
export declare function splitSchema(heartSchema: FormSchema): UnifiedSchema;
|
|
912
|
+
/**
|
|
913
|
+
* @private
|
|
914
|
+
*/
|
|
915
|
+
export declare function mergeSchema(unified: UnifiedSchema): FormSchema;
|
|
916
|
+
/**
|
|
917
|
+
* @private
|
|
918
|
+
*/
|
|
919
|
+
export declare function inferWidgetFromType(type: string, format?: string, hasOptions?: boolean): string;
|
|
920
|
+
/**
|
|
921
|
+
* @private
|
|
922
|
+
*/
|
|
923
|
+
export interface FieldMatchResult {
|
|
924
|
+
existingId: string;
|
|
925
|
+
newDataId: string;
|
|
926
|
+
confidence: 'exact' | 'high' | 'medium' | 'low';
|
|
927
|
+
method: 'id' | 'label-exact' | 'label-fuzzy' | 'new';
|
|
928
|
+
similarity?: number;
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* @private
|
|
932
|
+
*/
|
|
933
|
+
export declare function matchFieldWithIDPreservation(newDataField: DataField, existingUISchema: UISchema): FieldMatchResult;
|
|
934
|
+
/**
|
|
935
|
+
* @private
|
|
936
|
+
*/
|
|
937
|
+
export declare function mergeWithIDRemapping(newDataSchema: DataSchema, existingUISchema: UISchema): FormSchema;
|
|
938
|
+
/**
|
|
939
|
+
* @private
|
|
940
|
+
*/
|
|
941
|
+
export declare function extractFieldIdsFromLayout(layout: LayoutNode[]): Set<string>;
|
|
942
|
+
/**
|
|
943
|
+
* @private
|
|
944
|
+
*/
|
|
945
|
+
export declare function convertComponentsToDataSchema(components: FormNode[]): DataSchema;
|