@defra/forms-model 3.0.210 → 3.0.212
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.
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/types.ts"],"sourcesContent":["import {\n type ComponentSubType,\n type ComponentType\n} from '~/src/components/enums.js'\n\nexport type ConditionalComponentType =\n | ComponentType.RadiosField\n | ComponentType.CheckboxesField\n | ComponentType.DatePartsField\n | ComponentType.EmailAddressField\n | ComponentType.MultilineTextField\n | ComponentType.NumberField\n | ComponentType.TextField\n | ComponentType.TimeField\n | ComponentType.YesNoField\n\
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/types.ts"],"sourcesContent":["import {\n type ComponentSubType,\n type ComponentType\n} from '~/src/components/enums.js'\n\nexport type ConditionalComponentType =\n | ComponentType.RadiosField\n | ComponentType.CheckboxesField\n | ComponentType.DatePartsField\n | ComponentType.EmailAddressField\n | ComponentType.MultilineTextField\n | ComponentType.NumberField\n | ComponentType.TextField\n | ComponentType.TimeField\n | ComponentType.YesNoField\n\n/**\n * Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists\n */\ninterface TextFieldBase {\n type:\n | ComponentType.EmailAddressField\n | ComponentType.MultilineTextField\n | ComponentType.NumberField\n | ComponentType.TelephoneNumberField\n | ComponentType.TextField\n | ComponentType.UkAddressField\n | ComponentType.YesNoField\n subType?: ComponentSubType.Field\n name: string\n title: string\n hint?: string\n options: {\n required?: boolean\n optionalText?: boolean\n classes?: string\n allow?: string\n autocomplete?: string\n exposeToContext?: boolean\n }\n schema: {\n max?: number\n min?: number\n length?: number\n regex?: string\n error?: unknown\n }\n}\n\ninterface NumberFieldBase {\n type: ComponentType\n subType?: ComponentSubType.Field\n name: string\n title: string\n hint?: string\n options: {\n required?: boolean\n optionalText?: boolean\n classes?: string\n prefix?: string\n suffix?: string\n exposeToContext?: boolean\n }\n schema: {\n min?: number\n max?: number\n precision?: number\n }\n}\n\ninterface ListFieldBase {\n type:\n | ComponentType.AutocompleteField\n | ComponentType.CheckboxesField\n | ComponentType.List\n | ComponentType.RadiosField\n | ComponentType.SelectField\n subType?: ComponentSubType.Content | ComponentSubType.ListField\n name: string\n title: string\n options: {\n type?: string\n required?: boolean\n optionalText?: boolean\n classes?: string\n bold?: boolean\n exposeToContext?: boolean\n allowPrePopulation?: boolean\n }\n list: string\n schema: object\n}\n\ninterface ContentFieldBase {\n type: ComponentType.Details | ComponentType.Html | ComponentType.InsetText\n subType?: ComponentSubType.Content\n name: string\n title: string\n content: string\n options: {\n condition?: string\n }\n schema?: object\n}\n\ninterface DateFieldBase {\n type:\n | ComponentType.DatePartsField\n | ComponentType.MonthYearField\n | ComponentType.TimeField\n subType?: ComponentSubType.Field\n name: string\n title: string\n hint?: string\n options: {\n required?: boolean\n optionalText?: boolean\n maxDaysInFuture?: number\n maxDaysInPast?: number\n exposeToContext?: boolean\n }\n schema: object\n}\n\n// Text Fields\nexport interface TextFieldComponent extends TextFieldBase {\n type: ComponentType.TextField\n options: TextFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface EmailAddressFieldComponent extends TextFieldBase {\n type: ComponentType.EmailAddressField\n options: TextFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface NumberFieldComponent extends NumberFieldBase {\n type: ComponentType.NumberField\n options: NumberFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n }\n}\n\nexport interface TelephoneNumberFieldComponent extends TextFieldBase {\n type: ComponentType.TelephoneNumberField\n options: TextFieldBase['options'] & {\n customValidationMessage?: string\n }\n}\n\nexport interface YesNoFieldComponent extends TextFieldBase {\n type: ComponentType.YesNoField\n options: TextFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface MultilineTextFieldComponent extends TextFieldBase {\n type: ComponentType.MultilineTextField\n options: TextFieldBase['options'] & {\n condition?: string\n customValidationMessage?: string\n rows?: number\n maxWords?: number\n }\n schema: {\n max?: number\n min?: number\n }\n}\n\nexport interface UkAddressFieldComponent extends TextFieldBase {\n type: ComponentType.UkAddressField\n options: TextFieldBase['options'] & {\n hideTitle?: boolean\n }\n}\n\n// Date Fields\nexport interface DatePartsFieldFieldComponent extends DateFieldBase {\n type: ComponentType.DatePartsField\n options: DateFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface MonthYearFieldComponent extends DateFieldBase {\n type: ComponentType.MonthYearField\n options: DateFieldBase['options'] & {\n customValidationMessage?: string\n }\n}\n\nexport interface TimeFieldComponent extends DateFieldBase {\n type: ComponentType.TimeField\n options: DateFieldBase['options'] & {\n condition?: string\n }\n}\n\n// Content Fields\nexport interface DetailsComponent extends ContentFieldBase {\n type: ComponentType.Details\n}\n\nexport interface HtmlComponent extends ContentFieldBase {\n type: ComponentType.Html\n}\n\nexport interface InsetTextComponent extends ContentFieldBase {\n type: ComponentType.InsetText\n}\n\n// List Fields\nexport interface ListComponent extends ListFieldBase {\n type: ComponentType.List\n}\n\nexport interface AutocompleteFieldComponent extends ListFieldBase {\n type: ComponentType.AutocompleteField\n subType?: ComponentSubType.ListField\n}\n\nexport interface CheckboxesFieldComponent extends ListFieldBase {\n type: ComponentType.CheckboxesField\n subType?: ComponentSubType.ListField\n options: ListFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface RadiosFieldComponent extends ListFieldBase {\n type: ComponentType.RadiosField\n subType?: ComponentSubType.ListField\n options: ListFieldBase['options'] & {\n condition?: string\n }\n}\n\nexport interface SelectFieldComponent extends ListFieldBase {\n type: ComponentType.SelectField\n subType?: ComponentSubType.ListField\n options: ListFieldBase['options'] & { autocomplete?: string }\n}\n\nexport type ComponentDef =\n | InsetTextComponent\n | AutocompleteFieldComponent\n | CheckboxesFieldComponent\n | DatePartsFieldFieldComponent\n | MonthYearFieldComponent\n | DetailsComponent\n | EmailAddressFieldComponent\n | HtmlComponent\n | ListComponent\n | MultilineTextFieldComponent\n | NumberFieldComponent\n | RadiosFieldComponent\n | SelectFieldComponent\n | TelephoneNumberFieldComponent\n | TextFieldComponent\n | TimeFieldComponent\n | UkAddressFieldComponent\n | YesNoFieldComponent\n\n// Components that render inputs\nexport type InputFieldsComponentsDef =\n | TextFieldComponent\n | EmailAddressFieldComponent\n | NumberFieldComponent\n | MultilineTextFieldComponent\n | TelephoneNumberFieldComponent\n | YesNoFieldComponent\n | MonthYearFieldComponent\n | TimeFieldComponent\n | UkAddressFieldComponent\n\n// Components that render content\nexport type ContentComponentsDef =\n | DetailsComponent\n | HtmlComponent\n | InsetTextComponent\n\n// Components with editors\nexport type EditorComponentsDef =\n | TextFieldComponent\n | EmailAddressFieldComponent\n | TelephoneNumberFieldComponent\n | MultilineTextFieldComponent\n | NumberFieldComponent\n | AutocompleteFieldComponent\n | SelectFieldComponent\n | RadiosFieldComponent\n | CheckboxesFieldComponent\n | ListComponent\n | DetailsComponent\n | HtmlComponent\n | InsetTextComponent\n | DatePartsFieldFieldComponent\n\n// Components that render lists\nexport type ListComponentsDef =\n | ListComponent\n | AutocompleteFieldComponent\n | CheckboxesFieldComponent\n | RadiosFieldComponent\n | SelectFieldComponent\n\n// Components that have selection fields\nexport type SelectionComponentsDef =\n | CheckboxesFieldComponent\n | RadiosFieldComponent\n | SelectFieldComponent\n | YesNoFieldComponent\n\n// Components that have custom condition operators\nexport type ConditionalComponentsDef =\n | CheckboxesFieldComponent\n | DatePartsFieldFieldComponent\n | EmailAddressFieldComponent\n | MultilineTextFieldComponent\n | NumberFieldComponent\n | TextFieldComponent\n | TimeFieldComponent\n | YesNoFieldComponent\n"],"mappings":"","ignoreList":[]}
|
@@ -1,8 +1,5 @@
|
|
1
1
|
import { type ComponentSubType, type ComponentType } from '../components/enums.js';
|
2
2
|
export type ConditionalComponentType = ComponentType.RadiosField | ComponentType.CheckboxesField | ComponentType.DatePartsField | ComponentType.EmailAddressField | ComponentType.MultilineTextField | ComponentType.NumberField | ComponentType.TextField | ComponentType.TimeField | ComponentType.YesNoField;
|
3
|
-
export interface ContentOptions {
|
4
|
-
condition?: string;
|
5
|
-
}
|
6
3
|
/**
|
7
4
|
* Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists
|
8
5
|
*/
|
@@ -13,7 +10,6 @@ interface TextFieldBase {
|
|
13
10
|
title: string;
|
14
11
|
hint?: string;
|
15
12
|
options: {
|
16
|
-
hideTitle?: boolean;
|
17
13
|
required?: boolean;
|
18
14
|
optionalText?: boolean;
|
19
15
|
classes?: string;
|
@@ -34,8 +30,11 @@ interface NumberFieldBase {
|
|
34
30
|
subType?: ComponentSubType.Field;
|
35
31
|
name: string;
|
36
32
|
title: string;
|
37
|
-
hint
|
33
|
+
hint?: string;
|
38
34
|
options: {
|
35
|
+
required?: boolean;
|
36
|
+
optionalText?: boolean;
|
37
|
+
classes?: string;
|
39
38
|
prefix?: string;
|
40
39
|
suffix?: string;
|
41
40
|
exposeToContext?: boolean;
|
@@ -53,7 +52,6 @@ interface ListFieldBase {
|
|
53
52
|
title: string;
|
54
53
|
options: {
|
55
54
|
type?: string;
|
56
|
-
hideTitle?: boolean;
|
57
55
|
required?: boolean;
|
58
56
|
optionalText?: boolean;
|
59
57
|
classes?: string;
|
@@ -70,7 +68,9 @@ interface ContentFieldBase {
|
|
70
68
|
name: string;
|
71
69
|
title: string;
|
72
70
|
content: string;
|
73
|
-
options:
|
71
|
+
options: {
|
72
|
+
condition?: string;
|
73
|
+
};
|
74
74
|
schema?: object;
|
75
75
|
}
|
76
76
|
interface DateFieldBase {
|
@@ -78,9 +78,8 @@ interface DateFieldBase {
|
|
78
78
|
subType?: ComponentSubType.Field;
|
79
79
|
name: string;
|
80
80
|
title: string;
|
81
|
-
hint
|
81
|
+
hint?: string;
|
82
82
|
options: {
|
83
|
-
hideTitle?: boolean;
|
84
83
|
required?: boolean;
|
85
84
|
optionalText?: boolean;
|
86
85
|
maxDaysInFuture?: number;
|
@@ -92,14 +91,23 @@ interface DateFieldBase {
|
|
92
91
|
export interface TextFieldComponent extends TextFieldBase {
|
93
92
|
type: ComponentType.TextField;
|
94
93
|
options: TextFieldBase['options'] & {
|
94
|
+
condition?: string;
|
95
95
|
customValidationMessage?: string;
|
96
96
|
};
|
97
97
|
}
|
98
98
|
export interface EmailAddressFieldComponent extends TextFieldBase {
|
99
99
|
type: ComponentType.EmailAddressField;
|
100
|
+
options: TextFieldBase['options'] & {
|
101
|
+
condition?: string;
|
102
|
+
customValidationMessage?: string;
|
103
|
+
};
|
100
104
|
}
|
101
105
|
export interface NumberFieldComponent extends NumberFieldBase {
|
102
106
|
type: ComponentType.NumberField;
|
107
|
+
options: NumberFieldBase['options'] & {
|
108
|
+
condition?: string;
|
109
|
+
customValidationMessage?: string;
|
110
|
+
};
|
103
111
|
}
|
104
112
|
export interface TelephoneNumberFieldComponent extends TextFieldBase {
|
105
113
|
type: ComponentType.TelephoneNumberField;
|
@@ -109,10 +117,14 @@ export interface TelephoneNumberFieldComponent extends TextFieldBase {
|
|
109
117
|
}
|
110
118
|
export interface YesNoFieldComponent extends TextFieldBase {
|
111
119
|
type: ComponentType.YesNoField;
|
120
|
+
options: TextFieldBase['options'] & {
|
121
|
+
condition?: string;
|
122
|
+
};
|
112
123
|
}
|
113
124
|
export interface MultilineTextFieldComponent extends TextFieldBase {
|
114
125
|
type: ComponentType.MultilineTextField;
|
115
126
|
options: TextFieldBase['options'] & {
|
127
|
+
condition?: string;
|
116
128
|
customValidationMessage?: string;
|
117
129
|
rows?: number;
|
118
130
|
maxWords?: number;
|
@@ -124,15 +136,27 @@ export interface MultilineTextFieldComponent extends TextFieldBase {
|
|
124
136
|
}
|
125
137
|
export interface UkAddressFieldComponent extends TextFieldBase {
|
126
138
|
type: ComponentType.UkAddressField;
|
139
|
+
options: TextFieldBase['options'] & {
|
140
|
+
hideTitle?: boolean;
|
141
|
+
};
|
127
142
|
}
|
128
143
|
export interface DatePartsFieldFieldComponent extends DateFieldBase {
|
129
144
|
type: ComponentType.DatePartsField;
|
145
|
+
options: DateFieldBase['options'] & {
|
146
|
+
condition?: string;
|
147
|
+
};
|
130
148
|
}
|
131
149
|
export interface MonthYearFieldComponent extends DateFieldBase {
|
132
150
|
type: ComponentType.MonthYearField;
|
151
|
+
options: DateFieldBase['options'] & {
|
152
|
+
customValidationMessage?: string;
|
153
|
+
};
|
133
154
|
}
|
134
155
|
export interface TimeFieldComponent extends DateFieldBase {
|
135
156
|
type: ComponentType.TimeField;
|
157
|
+
options: DateFieldBase['options'] & {
|
158
|
+
condition?: string;
|
159
|
+
};
|
136
160
|
}
|
137
161
|
export interface DetailsComponent extends ContentFieldBase {
|
138
162
|
type: ComponentType.Details;
|
@@ -153,10 +177,16 @@ export interface AutocompleteFieldComponent extends ListFieldBase {
|
|
153
177
|
export interface CheckboxesFieldComponent extends ListFieldBase {
|
154
178
|
type: ComponentType.CheckboxesField;
|
155
179
|
subType?: ComponentSubType.ListField;
|
180
|
+
options: ListFieldBase['options'] & {
|
181
|
+
condition?: string;
|
182
|
+
};
|
156
183
|
}
|
157
184
|
export interface RadiosFieldComponent extends ListFieldBase {
|
158
185
|
type: ComponentType.RadiosField;
|
159
186
|
subType?: ComponentSubType.ListField;
|
187
|
+
options: ListFieldBase['options'] & {
|
188
|
+
condition?: string;
|
189
|
+
};
|
160
190
|
}
|
161
191
|
export interface SelectFieldComponent extends ListFieldBase {
|
162
192
|
type: ComponentType.SelectField;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAA;AAElC,MAAM,MAAM,wBAAwB,GAChC,aAAa,CAAC,WAAW,GACzB,aAAa,CAAC,eAAe,GAC7B,aAAa,CAAC,cAAc,GAC5B,aAAa,CAAC,iBAAiB,GAC/B,aAAa,CAAC,kBAAkB,GAChC,aAAa,CAAC,WAAW,GACzB,aAAa,CAAC,SAAS,GACvB,aAAa,CAAC,SAAS,GACvB,aAAa,CAAC,UAAU,CAAA;AAE5B
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@defra/forms-model",
|
3
|
-
"version": "3.0.
|
3
|
+
"version": "3.0.212",
|
4
4
|
"description": "A hapi plugin providing the model for Defra forms",
|
5
5
|
"homepage": "https://github.com/DEFRA/forms-designer/tree/main/model#readme",
|
6
6
|
"repository": {
|
@@ -24,7 +24,7 @@
|
|
24
24
|
"slug": "^9.1.0"
|
25
25
|
},
|
26
26
|
"devDependencies": {
|
27
|
-
"joi": "^17.13.
|
27
|
+
"joi": "^17.13.3",
|
28
28
|
"nanoid": "^3.3.7"
|
29
29
|
},
|
30
30
|
"peerDependencies": {
|
package/src/components/types.ts
CHANGED
@@ -14,10 +14,6 @@ export type ConditionalComponentType =
|
|
14
14
|
| ComponentType.TimeField
|
15
15
|
| ComponentType.YesNoField
|
16
16
|
|
17
|
-
export interface ContentOptions {
|
18
|
-
condition?: string
|
19
|
-
}
|
20
|
-
|
21
17
|
/**
|
22
18
|
* Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists
|
23
19
|
*/
|
@@ -35,7 +31,6 @@ interface TextFieldBase {
|
|
35
31
|
title: string
|
36
32
|
hint?: string
|
37
33
|
options: {
|
38
|
-
hideTitle?: boolean
|
39
34
|
required?: boolean
|
40
35
|
optionalText?: boolean
|
41
36
|
classes?: string
|
@@ -57,8 +52,11 @@ interface NumberFieldBase {
|
|
57
52
|
subType?: ComponentSubType.Field
|
58
53
|
name: string
|
59
54
|
title: string
|
60
|
-
hint
|
55
|
+
hint?: string
|
61
56
|
options: {
|
57
|
+
required?: boolean
|
58
|
+
optionalText?: boolean
|
59
|
+
classes?: string
|
62
60
|
prefix?: string
|
63
61
|
suffix?: string
|
64
62
|
exposeToContext?: boolean
|
@@ -82,7 +80,6 @@ interface ListFieldBase {
|
|
82
80
|
title: string
|
83
81
|
options: {
|
84
82
|
type?: string
|
85
|
-
hideTitle?: boolean
|
86
83
|
required?: boolean
|
87
84
|
optionalText?: boolean
|
88
85
|
classes?: string
|
@@ -100,7 +97,9 @@ interface ContentFieldBase {
|
|
100
97
|
name: string
|
101
98
|
title: string
|
102
99
|
content: string
|
103
|
-
options:
|
100
|
+
options: {
|
101
|
+
condition?: string
|
102
|
+
}
|
104
103
|
schema?: object
|
105
104
|
}
|
106
105
|
|
@@ -112,9 +111,8 @@ interface DateFieldBase {
|
|
112
111
|
subType?: ComponentSubType.Field
|
113
112
|
name: string
|
114
113
|
title: string
|
115
|
-
hint
|
114
|
+
hint?: string
|
116
115
|
options: {
|
117
|
-
hideTitle?: boolean
|
118
116
|
required?: boolean
|
119
117
|
optionalText?: boolean
|
120
118
|
maxDaysInFuture?: number
|
@@ -128,16 +126,25 @@ interface DateFieldBase {
|
|
128
126
|
export interface TextFieldComponent extends TextFieldBase {
|
129
127
|
type: ComponentType.TextField
|
130
128
|
options: TextFieldBase['options'] & {
|
129
|
+
condition?: string
|
131
130
|
customValidationMessage?: string
|
132
131
|
}
|
133
132
|
}
|
134
133
|
|
135
134
|
export interface EmailAddressFieldComponent extends TextFieldBase {
|
136
135
|
type: ComponentType.EmailAddressField
|
136
|
+
options: TextFieldBase['options'] & {
|
137
|
+
condition?: string
|
138
|
+
customValidationMessage?: string
|
139
|
+
}
|
137
140
|
}
|
138
141
|
|
139
142
|
export interface NumberFieldComponent extends NumberFieldBase {
|
140
143
|
type: ComponentType.NumberField
|
144
|
+
options: NumberFieldBase['options'] & {
|
145
|
+
condition?: string
|
146
|
+
customValidationMessage?: string
|
147
|
+
}
|
141
148
|
}
|
142
149
|
|
143
150
|
export interface TelephoneNumberFieldComponent extends TextFieldBase {
|
@@ -149,11 +156,15 @@ export interface TelephoneNumberFieldComponent extends TextFieldBase {
|
|
149
156
|
|
150
157
|
export interface YesNoFieldComponent extends TextFieldBase {
|
151
158
|
type: ComponentType.YesNoField
|
159
|
+
options: TextFieldBase['options'] & {
|
160
|
+
condition?: string
|
161
|
+
}
|
152
162
|
}
|
153
163
|
|
154
164
|
export interface MultilineTextFieldComponent extends TextFieldBase {
|
155
165
|
type: ComponentType.MultilineTextField
|
156
166
|
options: TextFieldBase['options'] & {
|
167
|
+
condition?: string
|
157
168
|
customValidationMessage?: string
|
158
169
|
rows?: number
|
159
170
|
maxWords?: number
|
@@ -166,19 +177,31 @@ export interface MultilineTextFieldComponent extends TextFieldBase {
|
|
166
177
|
|
167
178
|
export interface UkAddressFieldComponent extends TextFieldBase {
|
168
179
|
type: ComponentType.UkAddressField
|
180
|
+
options: TextFieldBase['options'] & {
|
181
|
+
hideTitle?: boolean
|
182
|
+
}
|
169
183
|
}
|
170
184
|
|
171
185
|
// Date Fields
|
172
186
|
export interface DatePartsFieldFieldComponent extends DateFieldBase {
|
173
187
|
type: ComponentType.DatePartsField
|
188
|
+
options: DateFieldBase['options'] & {
|
189
|
+
condition?: string
|
190
|
+
}
|
174
191
|
}
|
175
192
|
|
176
193
|
export interface MonthYearFieldComponent extends DateFieldBase {
|
177
194
|
type: ComponentType.MonthYearField
|
195
|
+
options: DateFieldBase['options'] & {
|
196
|
+
customValidationMessage?: string
|
197
|
+
}
|
178
198
|
}
|
179
199
|
|
180
200
|
export interface TimeFieldComponent extends DateFieldBase {
|
181
201
|
type: ComponentType.TimeField
|
202
|
+
options: DateFieldBase['options'] & {
|
203
|
+
condition?: string
|
204
|
+
}
|
182
205
|
}
|
183
206
|
|
184
207
|
// Content Fields
|
@@ -207,11 +230,17 @@ export interface AutocompleteFieldComponent extends ListFieldBase {
|
|
207
230
|
export interface CheckboxesFieldComponent extends ListFieldBase {
|
208
231
|
type: ComponentType.CheckboxesField
|
209
232
|
subType?: ComponentSubType.ListField
|
233
|
+
options: ListFieldBase['options'] & {
|
234
|
+
condition?: string
|
235
|
+
}
|
210
236
|
}
|
211
237
|
|
212
238
|
export interface RadiosFieldComponent extends ListFieldBase {
|
213
239
|
type: ComponentType.RadiosField
|
214
240
|
subType?: ComponentSubType.ListField
|
241
|
+
options: ListFieldBase['options'] & {
|
242
|
+
condition?: string
|
243
|
+
}
|
215
244
|
}
|
216
245
|
|
217
246
|
export interface SelectFieldComponent extends ListFieldBase {
|