@tanstack/solid-form 0.42.1 → 0.43.1
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/dist/cjs/createField.cjs.map +1 -1
- package/dist/cjs/createField.d.cts +13 -13
- package/dist/cjs/createForm.cjs.map +1 -1
- package/dist/cjs/createForm.d.cts +8 -8
- package/dist/cjs/types.d.cts +2 -2
- package/dist/esm/createField.d.ts +13 -13
- package/dist/esm/createField.js.map +1 -1
- package/dist/esm/createForm.d.ts +8 -8
- package/dist/esm/createForm.js.map +1 -1
- package/dist/esm/types.d.ts +2 -2
- package/dist/source/createField.d.ts +13 -13
- package/dist/source/createField.jsx.map +1 -1
- package/dist/source/createForm.d.ts +8 -8
- package/dist/source/createForm.jsx.map +1 -1
- package/dist/source/types.d.ts +2 -2
- package/package.json +5 -5
- package/src/createField.tsx +404 -86
- package/src/createForm.tsx +142 -17
- package/src/types.ts +42 -11
package/src/createField.tsx
CHANGED
@@ -7,76 +7,214 @@ import {
|
|
7
7
|
onCleanup,
|
8
8
|
onMount,
|
9
9
|
} from 'solid-js'
|
10
|
-
|
11
10
|
import type {
|
12
11
|
DeepKeys,
|
13
12
|
DeepValue,
|
13
|
+
FieldAsyncValidateOrFn,
|
14
|
+
FieldValidateOrFn,
|
15
|
+
FormAsyncValidateOrFn,
|
16
|
+
FormValidateOrFn,
|
14
17
|
Narrow,
|
15
|
-
Validator,
|
16
18
|
} from '@tanstack/form-core'
|
19
|
+
|
17
20
|
import type { JSXElement } from 'solid-js'
|
18
21
|
import type { CreateFieldOptions } from './types'
|
19
22
|
|
20
23
|
interface SolidFieldApi<
|
21
24
|
TParentData,
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
26
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
27
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
28
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
29
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
30
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
31
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
32
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
25
33
|
> {
|
26
|
-
Field: FieldComponent<
|
34
|
+
Field: FieldComponent<
|
35
|
+
TParentData,
|
36
|
+
TFormOnMount,
|
37
|
+
TFormOnChange,
|
38
|
+
TFormOnChangeAsync,
|
39
|
+
TFormOnBlur,
|
40
|
+
TFormOnBlurAsync,
|
41
|
+
TFormOnSubmit,
|
42
|
+
TFormOnSubmitAsync,
|
43
|
+
TFormOnServer
|
44
|
+
>
|
27
45
|
}
|
28
46
|
|
29
47
|
export type CreateField<
|
30
48
|
TParentData,
|
31
|
-
|
32
|
-
|
33
|
-
|
49
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
50
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
51
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
52
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
53
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
54
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
55
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
56
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
34
57
|
> = <
|
35
58
|
TName extends DeepKeys<TParentData>,
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
59
|
+
TData extends DeepValue<TParentData, TName>,
|
60
|
+
TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
61
|
+
TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
62
|
+
TOnChangeAsync extends
|
63
|
+
| undefined
|
64
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
65
|
+
TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
66
|
+
TOnBlurAsync extends
|
67
|
+
| undefined
|
68
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
69
|
+
TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
70
|
+
TOnSubmitAsync extends
|
71
|
+
| undefined
|
72
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
40
73
|
>(
|
41
74
|
opts: () => { name: Narrow<TName> } & Omit<
|
42
75
|
CreateFieldOptions<
|
43
76
|
TParentData,
|
44
77
|
TName,
|
45
|
-
|
46
|
-
|
47
|
-
|
78
|
+
TData,
|
79
|
+
TOnMount,
|
80
|
+
TOnChange,
|
81
|
+
TOnChangeAsync,
|
82
|
+
TOnBlur,
|
83
|
+
TOnBlurAsync,
|
84
|
+
TOnSubmit,
|
85
|
+
TOnSubmitAsync,
|
86
|
+
TFormOnMount,
|
87
|
+
TFormOnChange,
|
88
|
+
TFormOnChangeAsync,
|
89
|
+
TFormOnBlur,
|
90
|
+
TFormOnBlurAsync,
|
91
|
+
TFormOnSubmit,
|
92
|
+
TFormOnSubmitAsync,
|
93
|
+
TFormOnServer
|
48
94
|
>,
|
49
95
|
'form'
|
50
96
|
>,
|
51
97
|
) => () => FieldApi<
|
52
98
|
TParentData,
|
53
99
|
TName,
|
54
|
-
|
55
|
-
|
56
|
-
|
100
|
+
TData,
|
101
|
+
TOnMount,
|
102
|
+
TOnChange,
|
103
|
+
TOnChangeAsync,
|
104
|
+
TOnBlur,
|
105
|
+
TOnBlurAsync,
|
106
|
+
TOnSubmit,
|
107
|
+
TOnSubmitAsync,
|
108
|
+
TFormOnMount,
|
109
|
+
TFormOnChange,
|
110
|
+
TFormOnChangeAsync,
|
111
|
+
TFormOnBlur,
|
112
|
+
TFormOnBlurAsync,
|
113
|
+
TFormOnSubmit,
|
114
|
+
TFormOnSubmitAsync,
|
115
|
+
TFormOnServer
|
57
116
|
> &
|
58
|
-
SolidFieldApi<
|
117
|
+
SolidFieldApi<
|
118
|
+
TParentData,
|
119
|
+
TFormOnMount,
|
120
|
+
TFormOnChange,
|
121
|
+
TFormOnChangeAsync,
|
122
|
+
TFormOnBlur,
|
123
|
+
TFormOnBlurAsync,
|
124
|
+
TFormOnSubmit,
|
125
|
+
TFormOnSubmitAsync,
|
126
|
+
TFormOnServer
|
127
|
+
>
|
59
128
|
|
60
129
|
// ugly way to trick solid into triggering updates for changes on the fieldApi
|
61
130
|
function makeFieldReactive<
|
62
131
|
TParentData,
|
63
132
|
TName extends DeepKeys<TParentData>,
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
71
|
-
|
133
|
+
TData extends DeepValue<TParentData, TName>,
|
134
|
+
TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
135
|
+
TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
136
|
+
TOnChangeAsync extends
|
137
|
+
| undefined
|
138
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
139
|
+
TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
140
|
+
TOnBlurAsync extends
|
141
|
+
| undefined
|
142
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
143
|
+
TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
144
|
+
TOnSubmitAsync extends
|
145
|
+
| undefined
|
146
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
147
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
148
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
149
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
150
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
151
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
152
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
153
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
154
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
155
|
+
>(
|
156
|
+
fieldApi: FieldApi<
|
72
157
|
TParentData,
|
73
158
|
TName,
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
159
|
+
TData,
|
160
|
+
TOnMount,
|
161
|
+
TOnChange,
|
162
|
+
TOnChangeAsync,
|
163
|
+
TOnBlur,
|
164
|
+
TOnBlurAsync,
|
165
|
+
TOnSubmit,
|
166
|
+
TOnSubmitAsync,
|
167
|
+
TFormOnMount,
|
168
|
+
TFormOnChange,
|
169
|
+
TFormOnChangeAsync,
|
170
|
+
TFormOnBlur,
|
171
|
+
TFormOnBlurAsync,
|
172
|
+
TFormOnSubmit,
|
173
|
+
TFormOnSubmitAsync,
|
174
|
+
TFormOnServer
|
175
|
+
> &
|
176
|
+
SolidFieldApi<
|
177
|
+
TParentData,
|
178
|
+
TFormOnMount,
|
179
|
+
TFormOnChange,
|
180
|
+
TFormOnChangeAsync,
|
181
|
+
TFormOnBlur,
|
182
|
+
TFormOnBlurAsync,
|
183
|
+
TFormOnSubmit,
|
184
|
+
TFormOnSubmitAsync,
|
185
|
+
TFormOnServer
|
186
|
+
>,
|
187
|
+
): () => FieldApi<
|
188
|
+
TParentData,
|
189
|
+
TName,
|
190
|
+
TData,
|
191
|
+
TOnMount,
|
192
|
+
TOnChange,
|
193
|
+
TOnChangeAsync,
|
194
|
+
TOnBlur,
|
195
|
+
TOnBlurAsync,
|
196
|
+
TOnSubmit,
|
197
|
+
TOnSubmitAsync,
|
198
|
+
TFormOnMount,
|
199
|
+
TFormOnChange,
|
200
|
+
TFormOnChangeAsync,
|
201
|
+
TFormOnBlur,
|
202
|
+
TFormOnBlurAsync,
|
203
|
+
TFormOnSubmit,
|
204
|
+
TFormOnSubmitAsync,
|
205
|
+
TFormOnServer
|
206
|
+
> &
|
207
|
+
SolidFieldApi<
|
208
|
+
TParentData,
|
209
|
+
TFormOnMount,
|
210
|
+
TFormOnChange,
|
211
|
+
TFormOnChangeAsync,
|
212
|
+
TFormOnBlur,
|
213
|
+
TFormOnBlurAsync,
|
214
|
+
TFormOnSubmit,
|
215
|
+
TFormOnSubmitAsync,
|
216
|
+
TFormOnServer
|
217
|
+
> {
|
80
218
|
const [flag, setFlag] = createSignal(false)
|
81
219
|
const fieldApiMemo = createMemo(() => [flag(), fieldApi] as const)
|
82
220
|
const unsubscribeStore = fieldApi.store.subscribe(() => setFlag((f) => !f))
|
@@ -87,28 +225,66 @@ function makeFieldReactive<
|
|
87
225
|
export function createField<
|
88
226
|
TParentData,
|
89
227
|
TName extends DeepKeys<TParentData>,
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
228
|
+
TData extends DeepValue<TParentData, TName>,
|
229
|
+
TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
230
|
+
TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
231
|
+
TOnChangeAsync extends
|
232
|
+
| undefined
|
233
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
234
|
+
TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
235
|
+
TOnBlurAsync extends
|
236
|
+
| undefined
|
237
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
238
|
+
TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
239
|
+
TOnSubmitAsync extends
|
240
|
+
| undefined
|
241
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
242
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
243
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
244
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
245
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
246
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
247
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
248
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
249
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
97
250
|
>(
|
98
251
|
opts: () => CreateFieldOptions<
|
99
252
|
TParentData,
|
100
253
|
TName,
|
101
|
-
|
102
|
-
|
103
|
-
|
254
|
+
TData,
|
255
|
+
TOnMount,
|
256
|
+
TOnChange,
|
257
|
+
TOnChangeAsync,
|
258
|
+
TOnBlur,
|
259
|
+
TOnBlurAsync,
|
260
|
+
TOnSubmit,
|
261
|
+
TOnSubmitAsync,
|
262
|
+
TFormOnMount,
|
263
|
+
TFormOnChange,
|
264
|
+
TFormOnChangeAsync,
|
265
|
+
TFormOnBlur,
|
266
|
+
TFormOnBlurAsync,
|
267
|
+
TFormOnSubmit,
|
268
|
+
TFormOnSubmitAsync,
|
269
|
+
TFormOnServer
|
104
270
|
>,
|
105
271
|
) {
|
106
272
|
const options = opts()
|
107
273
|
|
108
274
|
const api = new FieldApi(options)
|
109
275
|
|
110
|
-
const extendedApi: typeof api &
|
111
|
-
|
276
|
+
const extendedApi: typeof api &
|
277
|
+
SolidFieldApi<
|
278
|
+
TParentData,
|
279
|
+
TFormOnMount,
|
280
|
+
TFormOnChange,
|
281
|
+
TFormOnChangeAsync,
|
282
|
+
TFormOnBlur,
|
283
|
+
TFormOnBlurAsync,
|
284
|
+
TFormOnSubmit,
|
285
|
+
TFormOnSubmitAsync,
|
286
|
+
TFormOnServer
|
287
|
+
> = api as never
|
112
288
|
|
113
289
|
extendedApi.Field = Field as never
|
114
290
|
|
@@ -134,51 +310,126 @@ export function createField<
|
|
134
310
|
api.update(opts())
|
135
311
|
})
|
136
312
|
|
137
|
-
return makeFieldReactive
|
313
|
+
return makeFieldReactive<
|
314
|
+
TParentData,
|
315
|
+
TName,
|
316
|
+
TData,
|
317
|
+
TOnMount,
|
318
|
+
TOnChange,
|
319
|
+
TOnChangeAsync,
|
320
|
+
TOnBlur,
|
321
|
+
TOnBlurAsync,
|
322
|
+
TOnSubmit,
|
323
|
+
TOnSubmitAsync,
|
324
|
+
TFormOnMount,
|
325
|
+
TFormOnChange,
|
326
|
+
TFormOnChangeAsync,
|
327
|
+
TFormOnBlur,
|
328
|
+
TFormOnBlurAsync,
|
329
|
+
TFormOnSubmit,
|
330
|
+
TFormOnSubmitAsync,
|
331
|
+
TFormOnServer
|
332
|
+
>(extendedApi as never)
|
138
333
|
}
|
139
334
|
|
140
335
|
type FieldComponentProps<
|
141
336
|
TParentData,
|
142
337
|
TName extends DeepKeys<TParentData>,
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
338
|
+
TData extends DeepValue<TParentData, TName>,
|
339
|
+
TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
340
|
+
TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
341
|
+
TOnChangeAsync extends
|
342
|
+
| undefined
|
343
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
344
|
+
TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
345
|
+
TOnBlurAsync extends
|
346
|
+
| undefined
|
347
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
348
|
+
TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
349
|
+
TOnSubmitAsync extends
|
350
|
+
| undefined
|
351
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
352
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
353
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
354
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
355
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
356
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
357
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
358
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
359
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
150
360
|
> = {
|
151
361
|
children: (
|
152
362
|
fieldApi: () => FieldApi<
|
153
363
|
TParentData,
|
154
364
|
TName,
|
155
|
-
|
156
|
-
|
157
|
-
|
365
|
+
TData,
|
366
|
+
TOnMount,
|
367
|
+
TOnChange,
|
368
|
+
TOnChangeAsync,
|
369
|
+
TOnBlur,
|
370
|
+
TOnBlurAsync,
|
371
|
+
TOnSubmit,
|
372
|
+
TOnSubmitAsync,
|
373
|
+
TFormOnMount,
|
374
|
+
TFormOnChange,
|
375
|
+
TFormOnChangeAsync,
|
376
|
+
TFormOnBlur,
|
377
|
+
TFormOnBlurAsync,
|
378
|
+
TFormOnSubmit,
|
379
|
+
TFormOnSubmitAsync,
|
380
|
+
TFormOnServer
|
158
381
|
>,
|
159
382
|
) => JSXElement
|
160
383
|
} & Omit<
|
161
384
|
CreateFieldOptions<
|
162
385
|
TParentData,
|
163
386
|
TName,
|
164
|
-
|
165
|
-
|
166
|
-
|
387
|
+
TData,
|
388
|
+
TOnMount,
|
389
|
+
TOnChange,
|
390
|
+
TOnChangeAsync,
|
391
|
+
TOnBlur,
|
392
|
+
TOnBlurAsync,
|
393
|
+
TOnSubmit,
|
394
|
+
TOnSubmitAsync,
|
395
|
+
TFormOnMount,
|
396
|
+
TFormOnChange,
|
397
|
+
TFormOnChangeAsync,
|
398
|
+
TFormOnBlur,
|
399
|
+
TFormOnBlurAsync,
|
400
|
+
TFormOnSubmit,
|
401
|
+
TFormOnSubmitAsync,
|
402
|
+
TFormOnServer
|
167
403
|
>,
|
168
404
|
'form'
|
169
405
|
>
|
170
406
|
|
171
407
|
export type FieldComponent<
|
172
408
|
TParentData,
|
173
|
-
|
174
|
-
|
175
|
-
|
409
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
410
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
411
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
412
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
413
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
414
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
415
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
416
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
176
417
|
> = <
|
177
418
|
TName extends DeepKeys<TParentData>,
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
419
|
+
TData extends DeepValue<TParentData, TName>,
|
420
|
+
TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
421
|
+
TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
422
|
+
TOnChangeAsync extends
|
423
|
+
| undefined
|
424
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
425
|
+
TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
426
|
+
TOnBlurAsync extends
|
427
|
+
| undefined
|
428
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
429
|
+
TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
430
|
+
TOnSubmitAsync extends
|
431
|
+
| undefined
|
432
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
182
433
|
>({
|
183
434
|
children,
|
184
435
|
...fieldOptions
|
@@ -186,9 +437,22 @@ export type FieldComponent<
|
|
186
437
|
FieldComponentProps<
|
187
438
|
TParentData,
|
188
439
|
TName,
|
189
|
-
|
190
|
-
|
191
|
-
|
440
|
+
TData,
|
441
|
+
TOnMount,
|
442
|
+
TOnChange,
|
443
|
+
TOnChangeAsync,
|
444
|
+
TOnBlur,
|
445
|
+
TOnBlurAsync,
|
446
|
+
TOnSubmit,
|
447
|
+
TOnSubmitAsync,
|
448
|
+
TFormOnMount,
|
449
|
+
TFormOnChange,
|
450
|
+
TFormOnChangeAsync,
|
451
|
+
TFormOnBlur,
|
452
|
+
TFormOnBlurAsync,
|
453
|
+
TFormOnSubmit,
|
454
|
+
TFormOnSubmitAsync,
|
455
|
+
TFormOnServer
|
192
456
|
>,
|
193
457
|
'form'
|
194
458
|
>) => JSXElement
|
@@ -196,38 +460,92 @@ export type FieldComponent<
|
|
196
460
|
export function Field<
|
197
461
|
TParentData,
|
198
462
|
TName extends DeepKeys<TParentData>,
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
463
|
+
TData extends DeepValue<TParentData, TName>,
|
464
|
+
TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
465
|
+
TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
466
|
+
TOnChangeAsync extends
|
467
|
+
| undefined
|
468
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
469
|
+
TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
470
|
+
TOnBlurAsync extends
|
471
|
+
| undefined
|
472
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
473
|
+
TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
|
474
|
+
TOnSubmitAsync extends
|
475
|
+
| undefined
|
476
|
+
| FieldAsyncValidateOrFn<TParentData, TName, TData>,
|
477
|
+
TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
|
478
|
+
TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
|
479
|
+
TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
480
|
+
TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
|
481
|
+
TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
482
|
+
TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
|
483
|
+
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
|
484
|
+
TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
|
206
485
|
>(
|
207
486
|
props: {
|
208
487
|
children: (
|
209
488
|
fieldApi: () => FieldApi<
|
210
489
|
TParentData,
|
211
490
|
TName,
|
212
|
-
|
213
|
-
|
214
|
-
|
491
|
+
TData,
|
492
|
+
TOnMount,
|
493
|
+
TOnChange,
|
494
|
+
TOnChangeAsync,
|
495
|
+
TOnBlur,
|
496
|
+
TOnBlurAsync,
|
497
|
+
TOnSubmit,
|
498
|
+
TOnSubmitAsync,
|
499
|
+
TFormOnMount,
|
500
|
+
TFormOnChange,
|
501
|
+
TFormOnChangeAsync,
|
502
|
+
TFormOnBlur,
|
503
|
+
TFormOnBlurAsync,
|
504
|
+
TFormOnSubmit,
|
505
|
+
TFormOnSubmitAsync,
|
506
|
+
TFormOnServer
|
215
507
|
>,
|
216
508
|
) => JSXElement
|
217
509
|
} & CreateFieldOptions<
|
218
510
|
TParentData,
|
219
511
|
TName,
|
220
|
-
|
221
|
-
|
222
|
-
|
512
|
+
TData,
|
513
|
+
TOnMount,
|
514
|
+
TOnChange,
|
515
|
+
TOnChangeAsync,
|
516
|
+
TOnBlur,
|
517
|
+
TOnBlurAsync,
|
518
|
+
TOnSubmit,
|
519
|
+
TOnSubmitAsync,
|
520
|
+
TFormOnMount,
|
521
|
+
TFormOnChange,
|
522
|
+
TFormOnChangeAsync,
|
523
|
+
TFormOnBlur,
|
524
|
+
TFormOnBlurAsync,
|
525
|
+
TFormOnSubmit,
|
526
|
+
TFormOnSubmitAsync,
|
527
|
+
TFormOnServer
|
223
528
|
>,
|
224
529
|
) {
|
225
530
|
const fieldApi = createField<
|
226
531
|
TParentData,
|
227
532
|
TName,
|
228
|
-
|
229
|
-
|
230
|
-
|
533
|
+
TData,
|
534
|
+
TOnMount,
|
535
|
+
TOnChange,
|
536
|
+
TOnChangeAsync,
|
537
|
+
TOnBlur,
|
538
|
+
TOnBlurAsync,
|
539
|
+
TOnSubmit,
|
540
|
+
TOnSubmitAsync,
|
541
|
+
TFormOnMount,
|
542
|
+
TFormOnChange,
|
543
|
+
TFormOnChangeAsync,
|
544
|
+
TFormOnBlur,
|
545
|
+
TFormOnBlurAsync,
|
546
|
+
TFormOnSubmit,
|
547
|
+
TFormOnSubmitAsync,
|
548
|
+
TFormOnServer
|
231
549
|
>(() => {
|
232
550
|
const { children, ...fieldOptions } = props
|
233
551
|
return fieldOptions
|