@tanstack/svelte-form 1.6.0

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/src/types.ts ADDED
@@ -0,0 +1,374 @@
1
+ import type {
2
+ DeepKeys,
3
+ DeepValue,
4
+ FieldApi,
5
+ FieldApiOptions,
6
+ FieldAsyncValidateOrFn,
7
+ FieldValidateOrFn,
8
+ FormAsyncValidateOrFn,
9
+ FormValidateOrFn,
10
+ Narrow,
11
+ } from '@tanstack/form-core'
12
+ import type {
13
+ Component,
14
+ ComponentConstructorOptions,
15
+ Snippet,
16
+ SvelteComponent,
17
+ } from 'svelte'
18
+
19
+ export type CreateFieldOptions<
20
+ TParentData,
21
+ TName extends DeepKeys<TParentData>,
22
+ TData extends DeepValue<TParentData, TName>,
23
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
24
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
25
+ TOnChangeAsync extends
26
+ | undefined
27
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
28
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
29
+ TOnBlurAsync extends
30
+ | undefined
31
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
32
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
33
+ TOnSubmitAsync extends
34
+ | undefined
35
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
36
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
37
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
38
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
39
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
40
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
41
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
42
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
43
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
44
+ TSubmitMeta,
45
+ > = FieldApiOptions<
46
+ TParentData,
47
+ TName,
48
+ TData,
49
+ TOnMount,
50
+ TOnChange,
51
+ TOnChangeAsync,
52
+ TOnBlur,
53
+ TOnBlurAsync,
54
+ TOnSubmit,
55
+ TOnSubmitAsync,
56
+ TFormOnMount,
57
+ TFormOnChange,
58
+ TFormOnChangeAsync,
59
+ TFormOnBlur,
60
+ TFormOnBlurAsync,
61
+ TFormOnSubmit,
62
+ TFormOnSubmitAsync,
63
+ TFormOnServer,
64
+ TSubmitMeta
65
+ > & {
66
+ mode?: 'value' | 'array'
67
+ }
68
+
69
+ export type WithoutFunction<T> = {
70
+ [K in keyof T as T[K] extends Function ? never : K]: T[K]
71
+ }
72
+
73
+ export interface SvelteFieldApi<
74
+ TParentData,
75
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
76
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
77
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
78
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
79
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
80
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
81
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
82
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
83
+ TParentSubmitMeta,
84
+ > {
85
+ Field: FieldComponent<
86
+ TParentData,
87
+ TFormOnMount,
88
+ TFormOnChange,
89
+ TFormOnChangeAsync,
90
+ TFormOnBlur,
91
+ TFormOnBlurAsync,
92
+ TFormOnSubmit,
93
+ TFormOnSubmitAsync,
94
+ TFormOnServer,
95
+ TParentSubmitMeta
96
+ >
97
+ }
98
+
99
+ export type FieldComponent<
100
+ TParentData,
101
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
102
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
103
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
104
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
105
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
106
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
107
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
108
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
109
+ TParentSubmitMeta,
110
+ > =
111
+ // This giant type allows the type
112
+ // - to be used as a function (which they are now in Svelte 5)
113
+ // - to be used as a class (which they were in Svelte 4, and which Svelte intellisense still uses for backwards compat)
114
+ // - to preserve the generics correctly
115
+ // Once Svelte intellisense no longer has/needs backwards compat, we can remove the class constructor part
116
+ (<
117
+ TName extends DeepKeys<TParentData>,
118
+ TData extends DeepValue<TParentData, TName>,
119
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
120
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
121
+ TOnChangeAsync extends
122
+ | undefined
123
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
124
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
125
+ TOnBlurAsync extends
126
+ | undefined
127
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
128
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
129
+ TOnSubmitAsync extends
130
+ | undefined
131
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
132
+ >(
133
+ internal: any,
134
+ {
135
+ children,
136
+ ...fieldOptions
137
+ }: Omit<
138
+ FieldComponentProps<
139
+ TParentData,
140
+ TName,
141
+ TData,
142
+ TOnMount,
143
+ TOnChange,
144
+ TOnChangeAsync,
145
+ TOnBlur,
146
+ TOnBlurAsync,
147
+ TOnSubmit,
148
+ TOnSubmitAsync,
149
+ TFormOnMount,
150
+ TFormOnChange,
151
+ TFormOnChangeAsync,
152
+ TFormOnBlur,
153
+ TFormOnBlurAsync,
154
+ TFormOnSubmit,
155
+ TFormOnSubmitAsync,
156
+ TFormOnServer,
157
+ TParentSubmitMeta
158
+ >,
159
+ 'form'
160
+ >,
161
+ ) => {}) &
162
+ (new <
163
+ TName extends DeepKeys<TParentData>,
164
+ TData extends DeepValue<TParentData, TName>,
165
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
166
+ TOnChange extends
167
+ | undefined
168
+ | FieldValidateOrFn<TParentData, TName, TData>,
169
+ TOnChangeAsync extends
170
+ | undefined
171
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
172
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
173
+ TOnBlurAsync extends
174
+ | undefined
175
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
176
+ TOnSubmit extends
177
+ | undefined
178
+ | FieldValidateOrFn<TParentData, TName, TData>,
179
+ TOnSubmitAsync extends
180
+ | undefined
181
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
182
+ >(
183
+ opts: ComponentConstructorOptions<
184
+ Omit<
185
+ FieldComponentProps<
186
+ TParentData,
187
+ TName,
188
+ TData,
189
+ TOnMount,
190
+ TOnChange,
191
+ TOnChangeAsync,
192
+ TOnBlur,
193
+ TOnBlurAsync,
194
+ TOnSubmit,
195
+ TOnSubmitAsync,
196
+ TFormOnMount,
197
+ TFormOnChange,
198
+ TFormOnChangeAsync,
199
+ TFormOnBlur,
200
+ TFormOnBlurAsync,
201
+ TFormOnSubmit,
202
+ TFormOnSubmitAsync,
203
+ TFormOnServer,
204
+ TParentSubmitMeta
205
+ >,
206
+ 'form'
207
+ >
208
+ >,
209
+ ) => SvelteComponent) &
210
+ WithoutFunction<Component>
211
+
212
+ type FieldComponentProps<
213
+ TParentData,
214
+ TName extends DeepKeys<TParentData>,
215
+ TData extends DeepValue<TParentData, TName>,
216
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
217
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
218
+ TOnChangeAsync extends
219
+ | undefined
220
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
221
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
222
+ TOnBlurAsync extends
223
+ | undefined
224
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
225
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
226
+ TOnSubmitAsync extends
227
+ | undefined
228
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
229
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
230
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
231
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
232
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
233
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
234
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
235
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
236
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
237
+ TParentSubmitMeta,
238
+ > = {
239
+ children: Snippet<
240
+ [
241
+ FieldApi<
242
+ TParentData,
243
+ TName,
244
+ TData,
245
+ TOnMount,
246
+ TOnChange,
247
+ TOnChangeAsync,
248
+ TOnBlur,
249
+ TOnBlurAsync,
250
+ TOnSubmit,
251
+ TOnSubmitAsync,
252
+ TFormOnMount,
253
+ TFormOnChange,
254
+ TFormOnChangeAsync,
255
+ TFormOnBlur,
256
+ TFormOnBlurAsync,
257
+ TFormOnSubmit,
258
+ TFormOnSubmitAsync,
259
+ TFormOnServer,
260
+ TParentSubmitMeta
261
+ >,
262
+ ]
263
+ >
264
+ } & Omit<
265
+ CreateFieldOptions<
266
+ TParentData,
267
+ TName,
268
+ TData,
269
+ TOnMount,
270
+ TOnChange,
271
+ TOnChangeAsync,
272
+ TOnBlur,
273
+ TOnBlurAsync,
274
+ TOnSubmit,
275
+ TOnSubmitAsync,
276
+ TFormOnMount,
277
+ TFormOnChange,
278
+ TFormOnChangeAsync,
279
+ TFormOnBlur,
280
+ TFormOnBlurAsync,
281
+ TFormOnSubmit,
282
+ TFormOnSubmitAsync,
283
+ TFormOnServer,
284
+ TParentSubmitMeta
285
+ >,
286
+ 'form'
287
+ >
288
+
289
+ export type CreateField<
290
+ TParentData,
291
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
292
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
293
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
294
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
295
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
296
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
297
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
298
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
299
+ TParentSubmitMeta,
300
+ > = <
301
+ TName extends DeepKeys<TParentData>,
302
+ TData extends DeepValue<TParentData, TName>,
303
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
304
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
305
+ TOnChangeAsync extends
306
+ | undefined
307
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
308
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
309
+ TOnBlurAsync extends
310
+ | undefined
311
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
312
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
313
+ TOnSubmitAsync extends
314
+ | undefined
315
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
316
+ TSubmitMeta,
317
+ >(
318
+ opts: () => { name: Narrow<TName> } & Omit<
319
+ CreateFieldOptions<
320
+ TParentData,
321
+ TName,
322
+ TData,
323
+ TOnMount,
324
+ TOnChange,
325
+ TOnChangeAsync,
326
+ TOnBlur,
327
+ TOnBlurAsync,
328
+ TOnSubmit,
329
+ TOnSubmitAsync,
330
+ TFormOnMount,
331
+ TFormOnChange,
332
+ TFormOnChangeAsync,
333
+ TFormOnBlur,
334
+ TFormOnBlurAsync,
335
+ TFormOnSubmit,
336
+ TFormOnSubmitAsync,
337
+ TFormOnServer,
338
+ TSubmitMeta
339
+ >,
340
+ 'form'
341
+ >,
342
+ ) => FieldApi<
343
+ TParentData,
344
+ TName,
345
+ TData,
346
+ TOnMount,
347
+ TOnChange,
348
+ TOnChangeAsync,
349
+ TOnBlur,
350
+ TOnBlurAsync,
351
+ TOnSubmit,
352
+ TOnSubmitAsync,
353
+ TFormOnMount,
354
+ TFormOnChange,
355
+ TFormOnChangeAsync,
356
+ TFormOnBlur,
357
+ TFormOnBlurAsync,
358
+ TFormOnSubmit,
359
+ TFormOnSubmitAsync,
360
+ TFormOnServer,
361
+ TParentSubmitMeta
362
+ > &
363
+ SvelteFieldApi<
364
+ TParentData,
365
+ TFormOnMount,
366
+ TFormOnChange,
367
+ TFormOnChangeAsync,
368
+ TFormOnBlur,
369
+ TFormOnBlurAsync,
370
+ TFormOnSubmit,
371
+ TFormOnSubmitAsync,
372
+ TFormOnServer,
373
+ TParentSubmitMeta
374
+ >