@tanstack/svelte-form 1.29.0 → 1.29.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/dist/Field.svelte CHANGED
@@ -10,8 +10,7 @@
10
10
  } from '@tanstack/form-core'
11
11
  import { useStore } from '@tanstack/svelte-store'
12
12
  import { onMount, type Snippet } from 'svelte'
13
- import Field from './Field.svelte'
14
- import type { CreateFieldOptions, SvelteFieldApi } from './types.js'
13
+ import type { CreateFieldOptions } from './types.js'
15
14
 
16
15
  export function createField<
17
16
  TParentData,
@@ -76,23 +75,7 @@
76
75
 
77
76
  const api = new FieldApi(options)
78
77
 
79
- const extendedApi: typeof api &
80
- SvelteFieldApi<
81
- TParentData,
82
- TFormOnMount,
83
- TFormOnChange,
84
- TFormOnChangeAsync,
85
- TFormOnBlur,
86
- TFormOnBlurAsync,
87
- TFormOnSubmit,
88
- TFormOnSubmitAsync,
89
- TFormOnDynamic,
90
- TFormOnDynamicAsync,
91
- TFormOnServer,
92
- TParentSubmitMeta
93
- > = api as never
94
-
95
- extendedApi.Field = Field as never
78
+ const extendedApi: typeof api = api as never
96
79
 
97
80
  let mounted = false
98
81
  // Instantiates field meta and removes it when unrendered
@@ -1,8 +1,7 @@
1
1
  import { type DeepKeys, type DeepValue, FieldApi, type FieldAsyncValidateOrFn, type FieldValidateOrFn, type FormAsyncValidateOrFn, type FormValidateOrFn } from '@tanstack/form-core';
2
2
  import { type Snippet } from 'svelte';
3
- import Field from './Field.svelte';
4
- import type { CreateFieldOptions, SvelteFieldApi } from './types.js';
5
- export declare function createField<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta>(opts: () => CreateFieldOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> & SvelteFieldApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
3
+ import type { CreateFieldOptions } from './types.js';
4
+ export declare function createField<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta>(opts: () => CreateFieldOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
6
5
  type Props<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta> = {
7
6
  children: Snippet<[
8
7
  FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>
@@ -1,10 +1,9 @@
1
1
  import { FormApi } from '@tanstack/form-core';
2
2
  import type { Component, ComponentConstructorOptions, Snippet, SvelteComponent } from 'svelte';
3
3
  import type { FormAsyncValidateOrFn, FormOptions, FormState, FormValidateOrFn } from '@tanstack/form-core';
4
- import type { CreateField, FieldComponent, WithoutFunction } from './types.js';
4
+ import type { FieldComponent, WithoutFunction } from './types.js';
5
5
  export interface SvelteFormApi<TParentData, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TSubmitMeta> {
6
6
  Field: FieldComponent<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>;
7
- createField: CreateField<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>;
8
7
  useStore: <TSelected = NoInfer<FormState<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer>>>(selector?: (state: NoInfer<FormState<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer>>) => TSelected) => {
9
8
  current: TSelected;
10
9
  };
@@ -1,7 +1,7 @@
1
1
  import { FormApi } from '@tanstack/form-core';
2
2
  import { useStore } from '@tanstack/svelte-store';
3
3
  import { onMount } from 'svelte';
4
- import Field, { createField } from './Field.svelte';
4
+ import Field from './Field.svelte';
5
5
  import Subscribe from './Subscribe.svelte';
6
6
  export function createForm(opts) {
7
7
  const options = opts?.();
@@ -9,9 +9,6 @@ export function createForm(opts) {
9
9
  const extendedApi = api;
10
10
  // @ts-expect-error constructor definition exists only on a type level
11
11
  extendedApi.Field = (internal, props) => Field(internal, { ...props, form: api });
12
- extendedApi.createField = (props) => createField(() => {
13
- return { ...props(), form: api };
14
- }); // Type cast because else "Error: Type instantiation is excessively deep and possibly infinite."
15
12
  extendedApi.useStore = (selector) => useStore(api.store, selector);
16
13
  // @ts-expect-error constructor definition exists only on a type level
17
14
  extendedApi.Subscribe = (internal, props) => Subscribe(internal, { ...props, store: api.store });
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export * from '@tanstack/form-core';
2
2
  export { useStore } from '@tanstack/svelte-store';
3
3
  export { createForm, type SvelteFormApi } from './createForm.svelte.js';
4
4
  export { default as Field, createField } from './Field.svelte';
5
- export type { CreateField, FieldComponent } from './types.js';
5
+ export type { FieldComponent } from './types.js';
6
6
  export { createFormCreator, createFormCreatorContexts, } from './createFormCreator.svelte.js';
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { DeepKeys, DeepValue, FieldApi, FieldApiOptions, FieldAsyncValidateOrFn, FieldValidateOrFn, FormAsyncValidateOrFn, FormValidateOrFn, Narrow } from '@tanstack/form-core';
1
+ import type { DeepKeys, DeepValue, FieldApi, FieldApiOptions, FieldAsyncValidateOrFn, FieldValidateOrFn, FormAsyncValidateOrFn, FormValidateOrFn } from '@tanstack/form-core';
2
2
  import type { Component, ComponentConstructorOptions, Snippet, SvelteComponent } from 'svelte';
3
3
  export type CreateFieldOptions<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TSubmitMeta> = FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta> & {
4
4
  mode?: 'value' | 'array';
@@ -6,16 +6,10 @@ export type CreateFieldOptions<TParentData, TName extends DeepKeys<TParentData>,
6
6
  export type WithoutFunction<T> = {
7
7
  [K in keyof T as T[K] extends Function ? never : K]: T[K];
8
8
  };
9
- export interface SvelteFieldApi<TParentData, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta> {
10
- Field: FieldComponent<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
11
- }
12
9
  export type FieldComponent<TParentData, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta, ExtendedApi = {}> = (<TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>>(internal: any, { children, ...fieldOptions }: Omit<FieldComponentProps<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta, ExtendedApi>, 'form'>) => {}) & (new <TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>>(opts: ComponentConstructorOptions<Omit<FieldComponentProps<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta, ExtendedApi>, 'form'>>) => SvelteComponent) & WithoutFunction<Component>;
13
10
  type FieldComponentProps<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta, ExtendedApi = {}> = {
14
11
  children: Snippet<[
15
12
  FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> & ExtendedApi
16
13
  ]>;
17
14
  } & Omit<CreateFieldOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>, 'form'>;
18
- export type CreateField<TParentData, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TParentSubmitMeta> = <TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TSubmitMeta>(opts: () => {
19
- name: Narrow<TName>;
20
- } & Omit<CreateFieldOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>, 'form'>) => FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> & SvelteFieldApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
21
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/svelte-form",
3
- "version": "1.29.0",
3
+ "version": "1.29.2",
4
4
  "description": "Powerful, type-safe forms for Svelte.",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "@tanstack/svelte-store": "^0.10.1",
35
- "@tanstack/form-core": "1.29.0"
35
+ "@tanstack/form-core": "1.29.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@sveltejs/package": "^2.5.3",
package/src/Field.svelte CHANGED
@@ -10,8 +10,7 @@
10
10
  } from '@tanstack/form-core'
11
11
  import { useStore } from '@tanstack/svelte-store'
12
12
  import { onMount, type Snippet } from 'svelte'
13
- import Field from './Field.svelte'
14
- import type { CreateFieldOptions, SvelteFieldApi } from './types.js'
13
+ import type { CreateFieldOptions } from './types.js'
15
14
 
16
15
  export function createField<
17
16
  TParentData,
@@ -76,23 +75,7 @@
76
75
 
77
76
  const api = new FieldApi(options)
78
77
 
79
- const extendedApi: typeof api &
80
- SvelteFieldApi<
81
- TParentData,
82
- TFormOnMount,
83
- TFormOnChange,
84
- TFormOnChangeAsync,
85
- TFormOnBlur,
86
- TFormOnBlurAsync,
87
- TFormOnSubmit,
88
- TFormOnSubmitAsync,
89
- TFormOnDynamic,
90
- TFormOnDynamicAsync,
91
- TFormOnServer,
92
- TParentSubmitMeta
93
- > = api as never
94
-
95
- extendedApi.Field = Field as never
78
+ const extendedApi: typeof api = api as never
96
79
 
97
80
  let mounted = false
98
81
  // Instantiates field meta and removes it when unrendered
@@ -1,7 +1,7 @@
1
1
  import { FormApi } from '@tanstack/form-core'
2
2
  import { useStore } from '@tanstack/svelte-store'
3
3
  import { onMount } from 'svelte'
4
- import Field, { createField } from './Field.svelte'
4
+ import Field from './Field.svelte'
5
5
  import Subscribe from './Subscribe.svelte'
6
6
  import type {
7
7
  Component,
@@ -15,7 +15,7 @@ import type {
15
15
  FormState,
16
16
  FormValidateOrFn,
17
17
  } from '@tanstack/form-core'
18
- import type { CreateField, FieldComponent, WithoutFunction } from './types.js'
18
+ import type { FieldComponent, WithoutFunction } from './types.js'
19
19
 
20
20
  export interface SvelteFormApi<
21
21
  TParentData,
@@ -45,20 +45,6 @@ export interface SvelteFormApi<
45
45
  TFormOnServer,
46
46
  TSubmitMeta
47
47
  >
48
- createField: CreateField<
49
- TParentData,
50
- TFormOnMount,
51
- TFormOnChange,
52
- TFormOnChangeAsync,
53
- TFormOnBlur,
54
- TFormOnBlurAsync,
55
- TFormOnSubmit,
56
- TFormOnSubmitAsync,
57
- TFormOnDynamic,
58
- TFormOnDynamicAsync,
59
- TFormOnServer,
60
- TSubmitMeta
61
- >
62
48
  useStore: <
63
49
  TSelected = NoInfer<
64
50
  FormState<
@@ -287,10 +273,6 @@ export function createForm<
287
273
  // @ts-expect-error constructor definition exists only on a type level
288
274
  extendedApi.Field = (internal, props) =>
289
275
  Field(internal, { ...props, form: api as never } as never)
290
- extendedApi.createField = (props) =>
291
- createField(() => {
292
- return { ...props(), form: api } as never
293
- }) as never // Type cast because else "Error: Type instantiation is excessively deep and possibly infinite."
294
276
  extendedApi.useStore = (selector) => useStore(api.store, selector)
295
277
  // @ts-expect-error constructor definition exists only on a type level
296
278
  extendedApi.Subscribe = (internal, props) =>
@@ -13,7 +13,7 @@ import type {
13
13
  } from '@tanstack/form-core'
14
14
  import type { FieldComponent } from './types.js'
15
15
  import type { SvelteFormExtendedApi } from './createForm.svelte'
16
- import type { Component, Snippet, SvelteComponent } from 'svelte'
16
+ import type { Component, Snippet } from 'svelte'
17
17
 
18
18
  /**
19
19
  * TypeScript inferencing is weird.
package/src/index.ts CHANGED
@@ -6,7 +6,7 @@ export { createForm, type SvelteFormApi } from './createForm.svelte.js'
6
6
 
7
7
  export { default as Field, createField } from './Field.svelte'
8
8
 
9
- export type { CreateField, FieldComponent } from './types.js'
9
+ export type { FieldComponent } from './types.js'
10
10
 
11
11
  export {
12
12
  createFormCreator,
package/src/types.ts CHANGED
@@ -80,36 +80,6 @@ export type WithoutFunction<T> = {
80
80
  [K in keyof T as T[K] extends Function ? never : K]: T[K]
81
81
  }
82
82
 
83
- export interface SvelteFieldApi<
84
- TParentData,
85
- TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
86
- TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
87
- TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
88
- TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
89
- TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
90
- TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
91
- TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
92
- TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>,
93
- TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
94
- TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
95
- TParentSubmitMeta,
96
- > {
97
- Field: FieldComponent<
98
- TParentData,
99
- TFormOnMount,
100
- TFormOnChange,
101
- TFormOnChangeAsync,
102
- TFormOnBlur,
103
- TFormOnBlurAsync,
104
- TFormOnSubmit,
105
- TFormOnSubmitAsync,
106
- TFormOnDynamic,
107
- TFormOnDynamicAsync,
108
- TFormOnServer,
109
- TParentSubmitMeta
110
- >
111
- }
112
-
113
83
  export type FieldComponent<
114
84
  TParentData,
115
85
  TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
@@ -338,106 +308,3 @@ type FieldComponentProps<
338
308
  >,
339
309
  'form'
340
310
  >
341
-
342
- export type CreateField<
343
- TParentData,
344
- TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
345
- TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
346
- TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
347
- TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
348
- TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
349
- TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
350
- TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
351
- TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>,
352
- TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
353
- TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
354
- TParentSubmitMeta,
355
- > = <
356
- TName extends DeepKeys<TParentData>,
357
- TData extends DeepValue<TParentData, TName>,
358
- TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
359
- TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
360
- TOnChangeAsync extends
361
- | undefined
362
- | FieldAsyncValidateOrFn<TParentData, TName, TData>,
363
- TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
364
- TOnBlurAsync extends
365
- | undefined
366
- | FieldAsyncValidateOrFn<TParentData, TName, TData>,
367
- TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
368
- TOnSubmitAsync extends
369
- | undefined
370
- | FieldAsyncValidateOrFn<TParentData, TName, TData>,
371
- TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
372
- TOnDynamicAsync extends
373
- | undefined
374
- | FieldAsyncValidateOrFn<TParentData, TName, TData>,
375
- TSubmitMeta,
376
- >(
377
- opts: () => { name: Narrow<TName> } & Omit<
378
- CreateFieldOptions<
379
- TParentData,
380
- TName,
381
- TData,
382
- TOnMount,
383
- TOnChange,
384
- TOnChangeAsync,
385
- TOnBlur,
386
- TOnBlurAsync,
387
- TOnSubmit,
388
- TOnSubmitAsync,
389
- TOnDynamic,
390
- TOnDynamicAsync,
391
- TFormOnMount,
392
- TFormOnChange,
393
- TFormOnChangeAsync,
394
- TFormOnBlur,
395
- TFormOnBlurAsync,
396
- TFormOnSubmit,
397
- TFormOnSubmitAsync,
398
- TFormOnDynamic,
399
- TFormOnDynamicAsync,
400
- TFormOnServer,
401
- TSubmitMeta
402
- >,
403
- 'form'
404
- >,
405
- ) => FieldApi<
406
- TParentData,
407
- TName,
408
- TData,
409
- TOnMount,
410
- TOnChange,
411
- TOnChangeAsync,
412
- TOnBlur,
413
- TOnBlurAsync,
414
- TOnSubmit,
415
- TOnSubmitAsync,
416
- TOnDynamic,
417
- TOnDynamicAsync,
418
- TFormOnMount,
419
- TFormOnChange,
420
- TFormOnChangeAsync,
421
- TFormOnBlur,
422
- TFormOnBlurAsync,
423
- TFormOnSubmit,
424
- TFormOnSubmitAsync,
425
- TFormOnDynamic,
426
- TFormOnDynamicAsync,
427
- TFormOnServer,
428
- TParentSubmitMeta
429
- > &
430
- SvelteFieldApi<
431
- TParentData,
432
- TFormOnMount,
433
- TFormOnChange,
434
- TFormOnChangeAsync,
435
- TFormOnBlur,
436
- TFormOnBlurAsync,
437
- TFormOnSubmit,
438
- TFormOnSubmitAsync,
439
- TFormOnDynamic,
440
- TFormOnDynamicAsync,
441
- TFormOnServer,
442
- TParentSubmitMeta
443
- >