@tanstack/svelte-form 1.33.3 → 2.0.0-alpha.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/dist/AppForm/AppForm.svelte +14 -0
- package/dist/AppForm/Components.lib.d.ts +7 -0
- package/dist/AppForm/Components.lib.js +8 -0
- package/dist/AppForm/SvelteAppFormApi.public.d.ts +10 -0
- package/dist/AppForm/appFormOptions.public.d.ts +12 -0
- package/dist/AppForm/appFormOptions.public.js +1 -0
- package/dist/AppForm/componentMap.public.d.ts +7 -0
- package/dist/AppForm/componentMap.public.js +1 -0
- package/dist/AppForm/contexts.lib.d.ts +4 -0
- package/dist/AppForm/contexts.lib.js +16 -0
- package/dist/AppForm/createFormHook.public.d.ts +3 -0
- package/dist/AppForm/createFormHook.public.js +20 -0
- package/dist/AppForm/createFormHookTypes.public.d.ts +12 -0
- package/dist/AppForm/createFormHookTypes.public.js +1 -0
- package/dist/AppForm/fieldComponentHelpers.lib.d.ts +5 -0
- package/dist/AppForm/fieldComponentHelpers.lib.js +10 -0
- package/dist/AppForm/getFormHookHelpers.public.d.ts +31 -0
- package/dist/AppForm/getFormHookHelpers.public.js +13 -0
- package/dist/AppForm/initializeAppForm.lib.d.ts +4 -0
- package/dist/AppForm/initializeAppForm.lib.js +5 -0
- package/dist/Components.public.d.ts +52 -0
- package/dist/Components.public.js +1 -0
- package/dist/Field.svelte +125 -314
- package/dist/Field.svelte.d.ts +14 -30
- package/dist/FieldGroup/FieldGroupApi.public.d.ts +15 -0
- package/dist/FieldGroup/FieldGroupApi.public.js +1 -0
- package/dist/FieldGroup/withFields.lib.d.ts +5 -0
- package/dist/FieldGroup/withFields.lib.js +44 -0
- package/dist/FieldGroup/withFields.public.d.ts +70 -0
- package/dist/FieldGroup/withFields.public.js +3 -0
- package/dist/FormGroup.svelte +81 -302
- package/dist/FormGroup.svelte.d.ts +13 -30
- package/dist/Subscribe.svelte +18 -8
- package/dist/Subscribe.svelte.d.ts +5 -3
- package/dist/createForm.public.d.ts +5 -0
- package/dist/createForm.public.js +5 -0
- package/dist/createForm.svelte.d.ts +11 -27
- package/dist/createForm.svelte.js +29 -19
- package/dist/formApiTypes.public.d.ts +13 -0
- package/dist/formApiTypes.public.js +1 -0
- package/dist/formType.public.d.ts +7 -0
- package/dist/formType.public.js +1 -0
- package/dist/index.d.ts +13 -4
- package/dist/index.js +13 -3
- package/dist/utils.lib.d.ts +1 -0
- package/dist/utils.lib.js +28 -0
- package/package.json +5 -5
- package/src/AppForm/AppForm.svelte +14 -0
- package/src/AppForm/Components.lib.ts +28 -0
- package/src/AppForm/SvelteAppFormApi.public.ts +14 -0
- package/src/AppForm/appFormOptions.public.ts +57 -0
- package/src/AppForm/componentMap.public.ts +19 -0
- package/src/AppForm/contexts.lib.ts +24 -0
- package/src/AppForm/createFormHook.public.ts +33 -0
- package/src/AppForm/createFormHookTypes.public.ts +30 -0
- package/src/AppForm/fieldComponentHelpers.lib.ts +24 -0
- package/src/AppForm/getFormHookHelpers.public.ts +82 -0
- package/src/AppForm/initializeAppForm.lib.ts +18 -0
- package/src/Components.public.ts +371 -0
- package/src/Field.svelte +125 -314
- package/src/FieldGroup/FieldGroupApi.public.ts +100 -0
- package/src/FieldGroup/withFields.lib.ts +82 -0
- package/src/FieldGroup/withFields.public.ts +179 -0
- package/src/FormGroup.svelte +81 -302
- package/src/Subscribe.svelte +18 -8
- package/src/createForm.public.ts +26 -0
- package/src/createForm.svelte.ts +62 -336
- package/src/formApiTypes.public.ts +48 -0
- package/src/formType.public.ts +46 -0
- package/src/index.ts +13 -12
- package/src/utils.lib.ts +30 -0
- package/dist/AppField.svelte +0 -19
- package/dist/AppField.svelte.d.ts +0 -10
- package/dist/AppForm.svelte +0 -16
- package/dist/InnerAppField.svelte +0 -17
- package/dist/InnerAppField.svelte.d.ts +0 -9
- package/dist/createFormCreator.svelte.d.ts +0 -26
- package/dist/createFormCreator.svelte.js +0 -51
- package/dist/types.d.ts +0 -21
- package/src/AppField.svelte +0 -19
- package/src/AppForm.svelte +0 -16
- package/src/InnerAppField.svelte +0 -17
- package/src/createFormCreator.svelte.ts +0 -321
- package/src/types.ts +0 -567
- /package/dist/{AppForm.svelte.d.ts → AppForm/AppForm.svelte.d.ts} +0 -0
- /package/dist/{types.js → AppForm/SvelteAppFormApi.public.js} +0 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DeepKeys,
|
|
3
|
+
DeepKeysWhereValueIncludes,
|
|
4
|
+
DeepValue,
|
|
5
|
+
FieldApi,
|
|
6
|
+
FieldApiOptions,
|
|
7
|
+
FieldValidators,
|
|
8
|
+
FormErrorTypes,
|
|
9
|
+
FormGroupApi,
|
|
10
|
+
FormGroupOptions,
|
|
11
|
+
FormGroupState,
|
|
12
|
+
FormGroupValidators,
|
|
13
|
+
FormState,
|
|
14
|
+
ToFieldError,
|
|
15
|
+
ToFormGroupErrorTypes,
|
|
16
|
+
} from '@tanstack/form-core'
|
|
17
|
+
import type {
|
|
18
|
+
Component,
|
|
19
|
+
ComponentConstructorOptions,
|
|
20
|
+
Snippet,
|
|
21
|
+
SvelteComponent,
|
|
22
|
+
} from 'svelte'
|
|
23
|
+
|
|
24
|
+
export type WithoutFunction<T> = {
|
|
25
|
+
[K in keyof T as T[K] extends Function ? never : K]: T[K]
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
type ExactFieldBrand<out TValue> = {
|
|
29
|
+
readonly __tanstackFieldExactType: TValue
|
|
30
|
+
}
|
|
31
|
+
type AcceptsFieldBrand<out TAcceptedValue> = {
|
|
32
|
+
readonly __tanstackFieldAcceptsType: TAcceptedValue
|
|
33
|
+
}
|
|
34
|
+
type CompatibleFieldKey<TKey, TComponent, TTargetValue> =
|
|
35
|
+
TComponent extends ExactFieldBrand<infer TExact>
|
|
36
|
+
? [TExact] extends [TTargetValue]
|
|
37
|
+
? [TTargetValue] extends [TExact]
|
|
38
|
+
? TKey
|
|
39
|
+
: never
|
|
40
|
+
: never
|
|
41
|
+
: TComponent extends AcceptsFieldBrand<infer TLoose>
|
|
42
|
+
? [TTargetValue] extends [TLoose]
|
|
43
|
+
? TKey
|
|
44
|
+
: never
|
|
45
|
+
: TKey
|
|
46
|
+
type FilteredFieldComponents<
|
|
47
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
48
|
+
TTargetValue,
|
|
49
|
+
> = {
|
|
50
|
+
[
|
|
51
|
+
K in keyof TFieldComponents as CompatibleFieldKey<
|
|
52
|
+
K,
|
|
53
|
+
TFieldComponents[K],
|
|
54
|
+
TTargetValue
|
|
55
|
+
>
|
|
56
|
+
]: TFieldComponents[K]
|
|
57
|
+
}
|
|
58
|
+
type FieldComponentsMatchingType<
|
|
59
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
60
|
+
TTargetValue,
|
|
61
|
+
> = unknown extends TTargetValue
|
|
62
|
+
? TFieldComponents
|
|
63
|
+
: string extends keyof TFieldComponents
|
|
64
|
+
? TFieldComponents
|
|
65
|
+
: FilteredFieldComponents<TFieldComponents, TTargetValue>
|
|
66
|
+
|
|
67
|
+
export type SvelteFieldApi<
|
|
68
|
+
TFieldName,
|
|
69
|
+
TFieldValue,
|
|
70
|
+
TFieldError,
|
|
71
|
+
TFormData,
|
|
72
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
73
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
74
|
+
> = FieldApi<TFieldName, TFieldValue, TFieldError, TFormData, TFormErrorTypes> &
|
|
75
|
+
FieldComponentsMatchingType<TFieldComponents, TFieldValue>
|
|
76
|
+
|
|
77
|
+
interface SvelteSubscribeProps<TSourceData, TSelected> {
|
|
78
|
+
selector: (state: TSourceData) => TSelected
|
|
79
|
+
when?: (selected: NoInfer<TSelected>) => boolean
|
|
80
|
+
children: Snippet<[NoInfer<TSelected>]>
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export type SvelteFormSubscribeProps<
|
|
84
|
+
TFormData,
|
|
85
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
86
|
+
TSelected,
|
|
87
|
+
> = SvelteSubscribeProps<FormState<TFormData, TFormErrorTypes>, TSelected>
|
|
88
|
+
|
|
89
|
+
export type SvelteFormSubscribeComponent<
|
|
90
|
+
TFormData,
|
|
91
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
92
|
+
> = (new <TSelected>(
|
|
93
|
+
options: ComponentConstructorOptions<
|
|
94
|
+
SvelteFormSubscribeProps<TFormData, TFormErrorTypes, TSelected>
|
|
95
|
+
>,
|
|
96
|
+
) => SvelteComponent) &
|
|
97
|
+
Component<any> &
|
|
98
|
+
WithoutFunction<Component>
|
|
99
|
+
|
|
100
|
+
export interface SvelteFormFieldProps<
|
|
101
|
+
TFieldData,
|
|
102
|
+
TFieldName,
|
|
103
|
+
TFieldValue,
|
|
104
|
+
TFieldValidators extends FieldValidators<TFieldData, TFieldName, TFieldValue>,
|
|
105
|
+
TGroupFieldError,
|
|
106
|
+
TFormData,
|
|
107
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
108
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
109
|
+
> extends FieldApiOptions<
|
|
110
|
+
TFieldData,
|
|
111
|
+
TFieldName,
|
|
112
|
+
TFieldValue,
|
|
113
|
+
TFieldValidators,
|
|
114
|
+
TGroupFieldError,
|
|
115
|
+
TFormData,
|
|
116
|
+
TFormErrorTypes
|
|
117
|
+
> {
|
|
118
|
+
children: Snippet<
|
|
119
|
+
[
|
|
120
|
+
SvelteFieldApi<
|
|
121
|
+
TFieldName,
|
|
122
|
+
TFieldValue,
|
|
123
|
+
ToFieldError<
|
|
124
|
+
NoInfer<TFieldValidators>,
|
|
125
|
+
TGroupFieldError,
|
|
126
|
+
TFormErrorTypes
|
|
127
|
+
>,
|
|
128
|
+
TFormData,
|
|
129
|
+
TFormErrorTypes,
|
|
130
|
+
TFieldComponents
|
|
131
|
+
>,
|
|
132
|
+
]
|
|
133
|
+
>
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export type SvelteFormFieldComponent<
|
|
137
|
+
TFormData,
|
|
138
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
139
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
140
|
+
> = (new <
|
|
141
|
+
TFieldName extends DeepKeys<TFormData>,
|
|
142
|
+
const TFieldValidators extends FieldValidators<
|
|
143
|
+
TFormData,
|
|
144
|
+
TFieldName,
|
|
145
|
+
DeepValue<TFormData, TFieldName>
|
|
146
|
+
>,
|
|
147
|
+
>(
|
|
148
|
+
options: ComponentConstructorOptions<
|
|
149
|
+
SvelteFormFieldProps<
|
|
150
|
+
TFormData,
|
|
151
|
+
TFieldName,
|
|
152
|
+
DeepValue<TFormData, TFieldName>,
|
|
153
|
+
TFieldValidators,
|
|
154
|
+
never,
|
|
155
|
+
TFormData,
|
|
156
|
+
TFormErrorTypes,
|
|
157
|
+
TFieldComponents
|
|
158
|
+
>
|
|
159
|
+
>,
|
|
160
|
+
) => SvelteComponent) &
|
|
161
|
+
Component<any> &
|
|
162
|
+
WithoutFunction<Component>
|
|
163
|
+
|
|
164
|
+
export type SvelteFormArrayFieldComponent<
|
|
165
|
+
TFormData,
|
|
166
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
167
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
168
|
+
> = (new <
|
|
169
|
+
TFieldName extends DeepKeysWhereValueIncludes<TFormData, Array<any>>,
|
|
170
|
+
const TFieldValidators extends FieldValidators<
|
|
171
|
+
TFormData,
|
|
172
|
+
TFieldName,
|
|
173
|
+
DeepValue<TFormData, TFieldName>
|
|
174
|
+
>,
|
|
175
|
+
>(
|
|
176
|
+
options: ComponentConstructorOptions<
|
|
177
|
+
SvelteFormFieldProps<
|
|
178
|
+
TFormData,
|
|
179
|
+
TFieldName,
|
|
180
|
+
DeepValue<TFormData, TFieldName>,
|
|
181
|
+
TFieldValidators,
|
|
182
|
+
never,
|
|
183
|
+
TFormData,
|
|
184
|
+
TFormErrorTypes,
|
|
185
|
+
TFieldComponents
|
|
186
|
+
>
|
|
187
|
+
>,
|
|
188
|
+
) => SvelteComponent) &
|
|
189
|
+
Component<any> &
|
|
190
|
+
WithoutFunction<Component>
|
|
191
|
+
|
|
192
|
+
export type SvelteFormGroupSubscribeComponent<
|
|
193
|
+
TGroupValue,
|
|
194
|
+
TGroupErrorTypes extends FormErrorTypes,
|
|
195
|
+
> = (new <TSelected>(
|
|
196
|
+
options: ComponentConstructorOptions<
|
|
197
|
+
SvelteSubscribeProps<
|
|
198
|
+
FormGroupState<TGroupValue, TGroupErrorTypes>,
|
|
199
|
+
TSelected
|
|
200
|
+
>
|
|
201
|
+
>,
|
|
202
|
+
) => SvelteComponent) &
|
|
203
|
+
Component<any> &
|
|
204
|
+
WithoutFunction<Component>
|
|
205
|
+
|
|
206
|
+
export type SvelteFormGroupFieldComponent<
|
|
207
|
+
TFormData,
|
|
208
|
+
TGroupValue,
|
|
209
|
+
TGroupErrorTypes extends FormErrorTypes,
|
|
210
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
211
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
212
|
+
> = (new <
|
|
213
|
+
TFieldName extends DeepKeys<TGroupValue>,
|
|
214
|
+
const TFieldValidators extends FieldValidators<
|
|
215
|
+
TGroupValue,
|
|
216
|
+
TFieldName,
|
|
217
|
+
DeepValue<TGroupValue, TFieldName>
|
|
218
|
+
>,
|
|
219
|
+
>(
|
|
220
|
+
options: ComponentConstructorOptions<
|
|
221
|
+
SvelteFormFieldProps<
|
|
222
|
+
TGroupValue,
|
|
223
|
+
TFieldName,
|
|
224
|
+
DeepValue<TGroupValue, TFieldName>,
|
|
225
|
+
TFieldValidators,
|
|
226
|
+
TGroupErrorTypes['fieldError'],
|
|
227
|
+
TFormData,
|
|
228
|
+
TFormErrorTypes,
|
|
229
|
+
TFieldComponents
|
|
230
|
+
>
|
|
231
|
+
>,
|
|
232
|
+
) => SvelteComponent) &
|
|
233
|
+
Component<any> &
|
|
234
|
+
WithoutFunction<Component>
|
|
235
|
+
|
|
236
|
+
export type SvelteFormGroupArrayFieldComponent<
|
|
237
|
+
TFormData,
|
|
238
|
+
TGroupValue,
|
|
239
|
+
TGroupErrorTypes extends FormErrorTypes,
|
|
240
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
241
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
242
|
+
> = (new <
|
|
243
|
+
TFieldName extends DeepKeysWhereValueIncludes<TGroupValue, Array<any>>,
|
|
244
|
+
const TFieldValidators extends FieldValidators<
|
|
245
|
+
TGroupValue,
|
|
246
|
+
TFieldName,
|
|
247
|
+
DeepValue<TGroupValue, TFieldName>
|
|
248
|
+
>,
|
|
249
|
+
>(
|
|
250
|
+
options: ComponentConstructorOptions<
|
|
251
|
+
SvelteFormFieldProps<
|
|
252
|
+
TGroupValue,
|
|
253
|
+
TFieldName,
|
|
254
|
+
DeepValue<TGroupValue, TFieldName>,
|
|
255
|
+
TFieldValidators,
|
|
256
|
+
TGroupErrorTypes['fieldError'],
|
|
257
|
+
TFormData,
|
|
258
|
+
TFormErrorTypes,
|
|
259
|
+
TFieldComponents
|
|
260
|
+
>
|
|
261
|
+
>,
|
|
262
|
+
) => SvelteComponent) &
|
|
263
|
+
Component<any> &
|
|
264
|
+
WithoutFunction<Component>
|
|
265
|
+
|
|
266
|
+
export interface SvelteFormGroupApi<
|
|
267
|
+
TFormData,
|
|
268
|
+
TGroupName,
|
|
269
|
+
TGroupValue,
|
|
270
|
+
TGroupErrorTypes extends FormErrorTypes,
|
|
271
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
272
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
273
|
+
> extends FormGroupApi<
|
|
274
|
+
TFormData,
|
|
275
|
+
TGroupName,
|
|
276
|
+
TGroupValue,
|
|
277
|
+
TGroupErrorTypes,
|
|
278
|
+
TFormErrorTypes
|
|
279
|
+
> {
|
|
280
|
+
Field: SvelteFormGroupFieldComponent<
|
|
281
|
+
TFormData,
|
|
282
|
+
TGroupValue,
|
|
283
|
+
TGroupErrorTypes,
|
|
284
|
+
TFormErrorTypes,
|
|
285
|
+
TFieldComponents
|
|
286
|
+
>
|
|
287
|
+
ArrayField: SvelteFormGroupArrayFieldComponent<
|
|
288
|
+
TFormData,
|
|
289
|
+
TGroupValue,
|
|
290
|
+
TGroupErrorTypes,
|
|
291
|
+
TFormErrorTypes,
|
|
292
|
+
TFieldComponents
|
|
293
|
+
>
|
|
294
|
+
Subscribe: SvelteFormGroupSubscribeComponent<TGroupValue, TGroupErrorTypes>
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
export interface SvelteFormGroupProps<
|
|
298
|
+
TFormData,
|
|
299
|
+
TGroupName,
|
|
300
|
+
TGroupValue,
|
|
301
|
+
TGroupValidators extends FormGroupValidators<TGroupValue>,
|
|
302
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
303
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
304
|
+
> extends Omit<
|
|
305
|
+
FormGroupOptions<
|
|
306
|
+
TFormData,
|
|
307
|
+
TGroupName,
|
|
308
|
+
TGroupValue,
|
|
309
|
+
TGroupValidators,
|
|
310
|
+
TFormErrorTypes
|
|
311
|
+
>,
|
|
312
|
+
'form'
|
|
313
|
+
> {
|
|
314
|
+
children: Snippet<
|
|
315
|
+
[
|
|
316
|
+
SvelteFormGroupApi<
|
|
317
|
+
TFormData,
|
|
318
|
+
TGroupName,
|
|
319
|
+
TGroupValue,
|
|
320
|
+
ToFormGroupErrorTypes<NoInfer<TGroupValidators>>,
|
|
321
|
+
TFormErrorTypes,
|
|
322
|
+
TFieldComponents
|
|
323
|
+
>,
|
|
324
|
+
]
|
|
325
|
+
>
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
export type SvelteFormGroupComponent<
|
|
329
|
+
TFormData,
|
|
330
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
331
|
+
TFieldComponents extends Record<string, Component<any>>,
|
|
332
|
+
> = (new <
|
|
333
|
+
TGroupName extends DeepKeys<TFormData>,
|
|
334
|
+
TGroupValue extends DeepValue<TFormData, TGroupName>,
|
|
335
|
+
const TGroupValidators extends FormGroupValidators<TGroupValue>,
|
|
336
|
+
>(
|
|
337
|
+
options: ComponentConstructorOptions<
|
|
338
|
+
SvelteFormGroupProps<
|
|
339
|
+
TFormData,
|
|
340
|
+
TGroupName,
|
|
341
|
+
TGroupValue,
|
|
342
|
+
TGroupValidators,
|
|
343
|
+
TFormErrorTypes,
|
|
344
|
+
TFieldComponents
|
|
345
|
+
>
|
|
346
|
+
>,
|
|
347
|
+
) => SvelteComponent) &
|
|
348
|
+
Component<any> &
|
|
349
|
+
WithoutFunction<Component>
|
|
350
|
+
|
|
351
|
+
export interface SvelteTanStackFormComponents<
|
|
352
|
+
TFormData,
|
|
353
|
+
TFormErrorTypes extends FormErrorTypes,
|
|
354
|
+
TFieldComponents extends Record<string, Component<any>> = Record<
|
|
355
|
+
never,
|
|
356
|
+
never
|
|
357
|
+
>,
|
|
358
|
+
> {
|
|
359
|
+
Field: SvelteFormFieldComponent<TFormData, TFormErrorTypes, TFieldComponents>
|
|
360
|
+
ArrayField: SvelteFormArrayFieldComponent<
|
|
361
|
+
TFormData,
|
|
362
|
+
TFormErrorTypes,
|
|
363
|
+
TFieldComponents
|
|
364
|
+
>
|
|
365
|
+
Subscribe: SvelteFormSubscribeComponent<TFormData, TFormErrorTypes>
|
|
366
|
+
FormGroup: SvelteFormGroupComponent<
|
|
367
|
+
TFormData,
|
|
368
|
+
TFormErrorTypes,
|
|
369
|
+
TFieldComponents
|
|
370
|
+
>
|
|
371
|
+
}
|