@tanstack/react-form 0.0.5 → 0.0.6

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.
Files changed (37) hide show
  1. package/build/cjs/Field.js +2 -5
  2. package/build/cjs/Field.js.map +1 -1
  3. package/build/cjs/createFormFactory.js +32 -0
  4. package/build/cjs/createFormFactory.js.map +1 -0
  5. package/build/cjs/formContext.js +1 -5
  6. package/build/cjs/formContext.js.map +1 -1
  7. package/build/cjs/index.js +14 -9
  8. package/build/cjs/index.js.map +1 -1
  9. package/build/cjs/useField.js +4 -12
  10. package/build/cjs/useField.js.map +1 -1
  11. package/build/cjs/useForm.js +6 -31
  12. package/build/cjs/useForm.js.map +1 -1
  13. package/build/esm/index.js +24 -50
  14. package/build/esm/index.js.map +1 -1
  15. package/build/stats-html.html +1 -1
  16. package/build/stats-react.json +145 -107
  17. package/build/types/form-core/src/FieldApi.d.ts +11 -10
  18. package/build/types/form-core/src/FormApi.d.ts +12 -12
  19. package/build/types/form-core/src/utils.d.ts +10 -10
  20. package/build/types/index.d.ts +22 -10
  21. package/build/types/react-form/src/Field.d.ts +3 -3
  22. package/build/types/react-form/src/createFormFactory.d.ts +9 -0
  23. package/build/types/react-form/src/formContext.d.ts +1 -1
  24. package/build/types/react-form/src/index.d.ts +10 -4
  25. package/build/types/react-form/src/useField.d.ts +9 -3
  26. package/build/types/react-form/src/useForm.d.ts +5 -3
  27. package/build/umd/index.development.js +24 -54
  28. package/build/umd/index.development.js.map +1 -1
  29. package/build/umd/index.production.js +2 -2
  30. package/build/umd/index.production.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/Field.tsx +2 -3
  33. package/src/createFormFactory.ts +22 -0
  34. package/src/formContext.ts +1 -5
  35. package/src/index.ts +35 -4
  36. package/src/useField.ts +13 -17
  37. package/src/useForm.tsx +11 -43
@@ -8,27 +8,40 @@
8
8
  *
9
9
  * @license MIT
10
10
  */
11
- import { DeepKeys, FieldApi, DeepValue, FieldOptions, FormApi, FormState, FormOptions } from '@tanstack/form-core';
12
- export * from '@tanstack/form-core';
11
+ import { DeepKeys, FieldApi, DeepValue, FieldOptions, FormOptions, FormApi, FormState } from '@tanstack/form-core';
12
+ export { ChangeProps, DeepKeys, DeepValue, FieldApi, FieldApiOptions, FieldInfo, FieldMeta, FieldOptions, FieldState, FormApi, FormOptions, FormState, InputProps, RequiredByKey, Updater, UpdaterFn, UserChangeProps, UserInputProps, ValidationCause, ValidationError, ValidationMeta, functionalUpdate } from '@tanstack/form-core';
13
13
  import { NoInfer } from '@tanstack/react-store';
14
14
  import React from 'react';
15
15
 
16
- declare type FieldComponent<TFormData> = <TField extends DeepKeys<TFormData>>({ children, ...fieldOptions }: {
16
+ type FieldComponent<TFormData> = <TField extends DeepKeys<TFormData>>({ children, ...fieldOptions }: {
17
17
  children: (fieldApi: FieldApi<DeepValue<TFormData, TField>, TFormData>) => any;
18
18
  name: TField;
19
19
  } & Omit<FieldOptions<DeepValue<TFormData, TField>, TFormData>, 'name'>) => any;
20
- declare function createFieldComponent<TFormData>(formApi: FormApi<TFormData>): FieldComponent<TFormData>;
21
20
  declare function Field<TData, TFormData>({ children, ...fieldOptions }: {
22
21
  children: (fieldApi: FieldApi<TData, TFormData>) => any;
23
22
  } & FieldOptions<TData, TFormData>): any;
24
23
 
25
- declare type UseField<TFormData> = <TField extends DeepKeys<TFormData>>(opts?: {
24
+ type FormFactory<TFormData> = {
25
+ useForm: (opts?: FormOptions<TFormData>) => FormApi<TFormData>;
26
+ useField: UseField<TFormData>;
27
+ Field: FieldComponent<TFormData>;
28
+ };
29
+ declare function createFormFactory<TFormData>(defaultOpts?: FormOptions<TFormData>): FormFactory<TFormData>;
30
+
31
+ declare module '@tanstack/form-core' {
32
+ interface FieldOptions<TData, TFormData> {
33
+ formFactory?: FormFactory<TFormData>;
34
+ }
35
+ }
36
+ type UseField<TFormData> = <TField extends DeepKeys<TFormData>>(opts?: {
26
37
  name: TField;
27
38
  } & FieldOptions<DeepValue<TFormData, TField>, TFormData>) => FieldApi<DeepValue<TFormData, TField>, TFormData>;
28
- declare function createUseField<TFormData>(formApi: FormApi<TFormData>): UseField<TFormData>;
29
39
  declare function useField<TData, TFormData>(opts: FieldOptions<TData, TFormData> & {}): FieldApi<TData, TFormData>;
30
40
 
31
41
  declare module '@tanstack/form-core' {
42
+ interface Register {
43
+ FormSubmitEvent: React.FormEvent<HTMLFormElement>;
44
+ }
32
45
  interface FormApi<TFormData> {
33
46
  Form: FormComponent;
34
47
  Field: FieldComponent<TFormData>;
@@ -41,11 +54,10 @@ declare module '@tanstack/form-core' {
41
54
  }
42
55
  }
43
56
  declare function useForm<TData>(opts?: FormOptions<TData>): FormApi<TData>;
44
- declare type FormProps = React.HTMLProps<HTMLFormElement> & {
57
+ type FormProps = React.HTMLProps<HTMLFormElement> & {
45
58
  children: React.ReactNode;
46
59
  noFormElement?: boolean;
47
60
  };
48
- declare type FormComponent = (props: FormProps) => any;
49
- declare function createFormComponent(formApi: FormApi<any>): FormComponent;
61
+ type FormComponent = (props: FormProps) => any;
50
62
 
51
- export { Field, FieldComponent, FormComponent, FormProps, UseField, createFieldComponent, createFormComponent, createUseField, useField, useForm };
63
+ export { Field, FieldComponent, FormComponent, FormFactory, FormProps, UseField, createFormFactory, useField, useForm };
@@ -1,9 +1,9 @@
1
- import { type DeepKeys, type DeepValue, type FieldApi, type FieldOptions, type FormApi } from '@tanstack/form-core';
2
- export declare type FieldComponent<TFormData> = <TField extends DeepKeys<TFormData>>({ children, ...fieldOptions }: {
1
+ import { type DeepKeys, type DeepValue, type FieldApi, type FieldOptions } from '@tanstack/form-core';
2
+ export type FieldComponent<TFormData> = <TField extends DeepKeys<TFormData>>({ children, ...fieldOptions }: {
3
3
  children: (fieldApi: FieldApi<DeepValue<TFormData, TField>, TFormData>) => any;
4
4
  name: TField;
5
5
  } & Omit<FieldOptions<DeepValue<TFormData, TField>, TFormData>, 'name'>) => any;
6
- export declare function createFieldComponent<TFormData>(formApi: FormApi<TFormData>): FieldComponent<TFormData>;
6
+ export declare function createFieldComponent<TFormData>(): FieldComponent<TFormData>;
7
7
  export declare function Field<TData, TFormData>({ children, ...fieldOptions }: {
8
8
  children: (fieldApi: FieldApi<TData, TFormData>) => any;
9
9
  } & FieldOptions<TData, TFormData>): any;
@@ -0,0 +1,9 @@
1
+ import type { FormApi, FormOptions } from '@tanstack/form-core';
2
+ import { type UseField } from './useField';
3
+ import { type FieldComponent } from './Field';
4
+ export type FormFactory<TFormData> = {
5
+ useForm: (opts?: FormOptions<TFormData>) => FormApi<TFormData>;
6
+ useField: UseField<TFormData>;
7
+ Field: FieldComponent<TFormData>;
8
+ };
9
+ export declare function createFormFactory<TFormData>(defaultOpts?: FormOptions<TFormData>): FormFactory<TFormData>;
@@ -1,4 +1,4 @@
1
1
  import type { FormApi } from '@tanstack/form-core';
2
2
  import * as React from 'react';
3
3
  export declare const formContext: React.Context<FormApi<any> | null>;
4
- export declare function useFormContext(customFormApi?: FormApi<any>): FormApi<any>;
4
+ export declare function useFormContext(): FormApi<any>;
@@ -1,4 +1,10 @@
1
- export * from '@tanstack/form-core';
2
- export * from './useForm';
3
- export * from './Field';
4
- export * from './useField';
1
+ export type { ChangeProps, DeepKeys, DeepValue, FieldApiOptions, FieldInfo, FieldMeta, FieldOptions, FieldState, FormOptions, FormState, InputProps, RequiredByKey, Updater, UpdaterFn, UserChangeProps, UserInputProps, ValidationCause, ValidationError, ValidationMeta, } from '@tanstack/form-core';
2
+ export { FormApi, FieldApi, functionalUpdate } from '@tanstack/form-core';
3
+ export type { FormComponent, FormProps } from './useForm';
4
+ export { useForm } from './useForm';
5
+ export type { FieldComponent } from './Field';
6
+ export { Field } from './Field';
7
+ export type { UseField } from './useField';
8
+ export { useField } from './useField';
9
+ export type { FormFactory } from './createFormFactory';
10
+ export { createFormFactory } from './createFormFactory';
@@ -1,7 +1,13 @@
1
- import type { DeepKeys, DeepValue, FieldOptions, FormApi } from '@tanstack/form-core';
1
+ import type { DeepKeys, DeepValue, FieldOptions } from '@tanstack/form-core';
2
2
  import { FieldApi } from '@tanstack/form-core';
3
- export declare type UseField<TFormData> = <TField extends DeepKeys<TFormData>>(opts?: {
3
+ import type { FormFactory } from './createFormFactory';
4
+ declare module '@tanstack/form-core' {
5
+ interface FieldOptions<TData, TFormData> {
6
+ formFactory?: FormFactory<TFormData>;
7
+ }
8
+ }
9
+ export type UseField<TFormData> = <TField extends DeepKeys<TFormData>>(opts?: {
4
10
  name: TField;
5
11
  } & FieldOptions<DeepValue<TFormData, TField>, TFormData>) => FieldApi<DeepValue<TFormData, TField>, TFormData>;
6
- export declare function createUseField<TFormData>(formApi: FormApi<TFormData>): UseField<TFormData>;
12
+ export declare function createUseField<TFormData>(): UseField<TFormData>;
7
13
  export declare function useField<TData, TFormData>(opts: FieldOptions<TData, TFormData> & {}): FieldApi<TData, TFormData>;
@@ -5,6 +5,9 @@ import React from 'react';
5
5
  import { type FieldComponent } from './Field';
6
6
  import { type UseField } from './useField';
7
7
  declare module '@tanstack/form-core' {
8
+ interface Register {
9
+ FormSubmitEvent: React.FormEvent<HTMLFormElement>;
10
+ }
8
11
  interface FormApi<TFormData> {
9
12
  Form: FormComponent;
10
13
  Field: FieldComponent<TFormData>;
@@ -17,9 +20,8 @@ declare module '@tanstack/form-core' {
17
20
  }
18
21
  }
19
22
  export declare function useForm<TData>(opts?: FormOptions<TData>): FormApi<TData>;
20
- export declare type FormProps = React.HTMLProps<HTMLFormElement> & {
23
+ export type FormProps = React.HTMLProps<HTMLFormElement> & {
21
24
  children: React.ReactNode;
22
25
  noFormElement?: boolean;
23
26
  };
24
- export declare type FormComponent = (props: FormProps) => any;
25
- export declare function createFormComponent(formApi: FormApi<any>): FormComponent;
27
+ export type FormComponent = (props: FormProps) => any;
@@ -186,6 +186,7 @@
186
186
  ...defaultState
187
187
  };
188
188
  }
189
+
189
190
  class FormApi {
190
191
  // // This carries the context for nested fields
191
192
  constructor(_opts) {
@@ -855,13 +856,9 @@
855
856
  }
856
857
 
857
858
  const formContext = /*#__PURE__*/React__namespace.createContext(null);
858
- function useFormContext(customFormApi) {
859
+ function useFormContext() {
859
860
  const formApi = React__namespace.useContext(formContext);
860
861
 
861
- if (customFormApi) {
862
- return customFormApi;
863
- }
864
-
865
862
  if (!formApi) {
866
863
  throw new Error("You are trying to use the form API outside of a form!");
867
864
  }
@@ -869,22 +866,14 @@
869
866
  return formApi;
870
867
  }
871
868
 
872
- function createUseField(formApi) {
873
- const useFormField = opts => {
874
- return useField({ ...opts,
875
- form: formApi
876
- });
869
+ function createUseField() {
870
+ return opts => {
871
+ return useField(opts);
877
872
  };
878
-
879
- return useFormField;
880
873
  }
881
874
  function useField(opts) {
882
- // invariant( // TODO:
883
- // opts.name,
884
- // `useField: A field is required to use this hook. eg, useField('myField', options)`
885
- // )
886
875
  // Get the form API either manually or from context
887
- const formApi = useFormContext(opts.form);
876
+ const formApi = useFormContext();
888
877
  const [fieldApi] = React__namespace.useState(() => new FieldApi({ ...opts,
889
878
  form: formApi
890
879
  })); // Keep options up to date as they are rendered
@@ -898,10 +887,8 @@
898
887
  return fieldApi;
899
888
  }
900
889
 
901
- function createFieldComponent(formApi) {
902
- const ConnectedField = props => /*#__PURE__*/React__namespace.createElement(Field, _extends({}, props, {
903
- form: formApi
904
- }));
890
+ function createFieldComponent() {
891
+ const ConnectedField = props => /*#__PURE__*/React__namespace.createElement(Field, props);
905
892
 
906
893
  return ConnectedField;
907
894
  }
@@ -913,14 +900,13 @@
913
900
  return functionalUpdate(children, fieldApi);
914
901
  }
915
902
 
916
- //
917
903
  function useForm(opts) {
918
904
  const [formApi] = React__default["default"].useState(() => {
919
905
  // @ts-ignore
920
- const api = new FormApi(opts || {});
906
+ const api = new FormApi(opts);
921
907
  api.Form = createFormComponent(api);
922
- api.Field = createFieldComponent(api);
923
- api.useField = createUseField(api);
908
+ api.Field = createFieldComponent();
909
+ api.useField = createUseField();
924
910
 
925
911
  api.useStore = ( // @ts-ignore
926
912
  selector) => {
@@ -935,10 +921,10 @@
935
921
  };
936
922
 
937
923
  return api;
938
- }); // React.useEffect(() => formApi.mount(), [])
939
-
924
+ });
940
925
  return formApi;
941
926
  }
927
+
942
928
  function createFormComponent(formApi) {
943
929
  const Form = ({
944
930
  children,
@@ -951,45 +937,29 @@
951
937
  }, noFormElement ? children : /*#__PURE__*/React__default["default"].createElement("form", _extends({
952
938
  onSubmit: formApi.handleSubmit,
953
939
  disabled: isSubmitting
954
- }, rest), formApi.options.debugForm ? /*#__PURE__*/React__default["default"].createElement("div", {
955
- style: {
956
- margin: '2rem 0'
957
- }
958
- }, /*#__PURE__*/React__default["default"].createElement("div", {
959
- style: {
960
- fontWeight: 'bolder'
961
- }
962
- }, "Form State"), /*#__PURE__*/React__default["default"].createElement("pre", null, /*#__PURE__*/React__default["default"].createElement("code", null, JSON.stringify(formApi, safeStringifyReplace(), 2)))) : null, children));
940
+ }, rest), children));
963
941
  };
964
942
 
965
943
  return Form;
966
944
  }
967
945
 
968
- function safeStringifyReplace() {
969
- const set = new Set();
970
- return (_key, value) => {
971
- if (typeof value === 'object' || Array.isArray(value)) {
972
- if (set.has(value)) {
973
- return '(circular value)';
974
- }
975
-
976
- set.add(value);
977
- }
978
-
979
- return typeof value === 'function' ? undefined : value;
946
+ function createFormFactory(defaultOpts) {
947
+ return {
948
+ useForm: opts => {
949
+ return useForm({ ...defaultOpts,
950
+ ...opts
951
+ });
952
+ },
953
+ useField: createUseField(),
954
+ Field: createFieldComponent()
980
955
  };
981
956
  }
982
957
 
983
958
  exports.Field = Field;
984
959
  exports.FieldApi = FieldApi;
985
960
  exports.FormApi = FormApi;
986
- exports.createFieldComponent = createFieldComponent;
987
- exports.createFormComponent = createFormComponent;
988
- exports.createUseField = createUseField;
961
+ exports.createFormFactory = createFormFactory;
989
962
  exports.functionalUpdate = functionalUpdate;
990
- exports.getBy = getBy;
991
- exports.getDefaultFormState = getDefaultFormState;
992
- exports.setBy = setBy;
993
963
  exports.useField = useField;
994
964
  exports.useForm = useForm;
995
965
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../../node_modules/.pnpm/@tanstack+store@0.0.1-beta.84/node_modules/@tanstack/store/build/esm/index.js","../../../form-core/build/esm/index.js","../../../../node_modules/.pnpm/@tanstack+react-store@0.0.1-beta.84_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/esm/index.js","../../src/formContext.ts","../../src/useField.ts","../../src/Field.tsx","../../src/useForm.tsx"],"sourcesContent":["/**\n * store\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nclass Store {\n listeners = new Set();\n batching = false;\n queue = [];\n constructor(initialState, options) {\n this.state = initialState;\n this.options = options;\n }\n subscribe = listener => {\n this.listeners.add(listener);\n const unsub = this.options?.onSubscribe?.(listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub?.();\n };\n };\n setState = updater => {\n const previous = this.state;\n this.state = this.options?.updateFn ? this.options.updateFn(previous)(updater) : updater(previous);\n if (this.state === previous) return;\n this.options?.onUpdate?.(this.state, previous);\n this.queue.push(() => {\n this.listeners.forEach(listener => listener(this.state, previous));\n });\n this.#flush();\n };\n #flush = () => {\n if (this.batching) return;\n this.queue.forEach(cb => cb());\n this.queue = [];\n };\n batch = cb => {\n this.batching = true;\n cb();\n this.batching = false;\n this.#flush();\n };\n}\n\nexport { Store };\n//# sourceMappingURL=index.js.map\n","/**\n * form-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { Store } from '@tanstack/store';\n\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction getBy(obj, path) {\n if (!path) {\n throw new Error('A path string is required to use getBy');\n }\n\n const pathArray = makePathArray(path);\n const pathObj = pathArray;\n return pathObj.reduce((current, pathPart) => {\n if (typeof current !== 'undefined') {\n return current[pathPart];\n }\n\n return undefined;\n }, obj);\n}\nfunction setBy(obj, _path, updater) {\n const path = makePathArray(_path);\n\n function doSet(parent) {\n if (!path.length) {\n return functionalUpdate(updater, parent);\n }\n\n const key = path.shift();\n\n if (typeof key === 'string') {\n if (typeof parent === 'object') {\n return { ...parent,\n [key]: doSet(parent[key])\n };\n }\n\n return {\n [key]: doSet()\n };\n }\n\n if (typeof key === 'number') {\n if (Array.isArray(parent)) {\n const prefix = parent.slice(0, key);\n return [...(prefix.length ? prefix : new Array(key)), doSet(parent[key]), ...parent.slice(key + 1)];\n }\n\n return [...new Array(key), doSet()];\n }\n\n throw new Error('Uh oh!');\n }\n\n return doSet(obj);\n}\nconst reFindNumbers0 = /^(\\d*)$/gm;\nconst reFindNumbers1 = /\\.(\\d*)\\./gm;\nconst reFindNumbers2 = /^(\\d*)\\./gm;\nconst reFindNumbers3 = /\\.(\\d*$)/gm;\nconst reFindMultiplePeriods = /\\.{2,}/gm;\n\nfunction makePathArray(str) {\n return str.replace('[', '.').replace(']', '').replace(reFindNumbers0, '__int__$1').replace(reFindNumbers1, '.__int__$1.').replace(reFindNumbers2, '__int__$1.').replace(reFindNumbers3, '.__int__$1').replace(reFindMultiplePeriods, '.').split('.').map(d => {\n if (d.indexOf('__int__') === 0) {\n return parseInt(d.substring('__int__'.length), 10);\n }\n\n return d;\n });\n}\n\nfunction getDefaultFormState(defaultState) {\n return {\n values: {},\n fieldMeta: {},\n canSubmit: true,\n isFieldsValid: false,\n isFieldsValidating: false,\n isFormValid: false,\n isFormValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isTouched: false,\n isValid: false,\n isValidating: false,\n submissionAttempts: 0,\n formValidationCount: 0,\n ...defaultState\n };\n}\nclass FormApi {\n // // This carries the context for nested fields\n constructor(_opts) {\n var _opts$defaultValues, _opts$defaultState;\n\n this.options = {};\n this.fieldInfo = {};\n this.validationMeta = {};\n\n this.update = options => {\n this.store.batch(() => {\n if (options.defaultState && options.defaultState !== this.options.defaultState) {\n this.store.setState(prev => ({ ...prev,\n ...options.defaultState\n }));\n }\n\n if (options.defaultValues !== this.options.defaultValues) {\n this.store.setState(prev => ({ ...prev,\n values: options.defaultValues\n }));\n }\n });\n this.options = options;\n };\n\n this.reset = () => this.store.setState(() => getDefaultFormState(this.options.defaultValues));\n\n this.validateAllFields = async () => {\n const fieldValidationPromises = [];\n this.store.batch(() => {\n void Object.values(this.fieldInfo).forEach(field => {\n Object.values(field.instances).forEach(instance => {\n // If any fields are not touched\n if (!instance.state.meta.isTouched) {\n // Mark them as touched\n instance.setMeta(prev => ({ ...prev,\n isTouched: true\n })); // Validate the field\n\n if (instance.options.validate) {\n fieldValidationPromises.push(instance.validate());\n }\n }\n });\n });\n });\n return Promise.all(fieldValidationPromises);\n };\n\n this.validateForm = async () => {\n const {\n validate\n } = this.options;\n\n if (!validate) {\n return;\n } // Use the formValidationCount for all field instances to\n // track freshness of the validation\n\n\n this.store.setState(prev => ({ ...prev,\n isValidating: true,\n formValidationCount: prev.formValidationCount + 1\n }));\n const formValidationCount = this.state.formValidationCount;\n\n const checkLatest = () => formValidationCount === this.state.formValidationCount;\n\n if (!this.validationMeta.validationPromise) {\n this.validationMeta.validationPromise = new Promise((resolve, reject) => {\n this.validationMeta.validationResolve = resolve;\n this.validationMeta.validationReject = reject;\n });\n }\n\n const doValidation = async () => {\n try {\n const error = await validate(this.state.values, this);\n\n if (checkLatest()) {\n var _this$validationMeta$, _this$validationMeta;\n\n this.store.setState(prev => ({ ...prev,\n isValidating: false,\n error: error ? typeof error === 'string' ? error : 'Invalid Form Values' : null\n }));\n (_this$validationMeta$ = (_this$validationMeta = this.validationMeta).validationResolve) == null ? void 0 : _this$validationMeta$.call(_this$validationMeta, error);\n }\n } catch (err) {\n if (checkLatest()) {\n var _this$validationMeta$2, _this$validationMeta2;\n\n (_this$validationMeta$2 = (_this$validationMeta2 = this.validationMeta).validationReject) == null ? void 0 : _this$validationMeta$2.call(_this$validationMeta2, err);\n }\n } finally {\n delete this.validationMeta.validationPromise;\n }\n };\n\n doValidation();\n return this.validationMeta.validationPromise;\n };\n\n this.handleSubmit = async e => {\n e.preventDefault();\n e.stopPropagation(); // Check to see that the form and all fields have been touched\n // If they have not, touch them all and run validation\n // Run form validation\n // Submit the form\n\n this.store.setState(old => ({ ...old,\n // Submittion attempts mark the form as not submitted\n isSubmitted: false,\n // Count submission attempts\n submissionAttempts: old.submissionAttempts + 1\n })); // Don't let invalid forms submit\n\n if (!this.state.canSubmit) return;\n this.store.setState(d => ({ ...d,\n isSubmitting: true\n }));\n\n const done = () => {\n this.store.setState(prev => ({ ...prev,\n isSubmitting: false\n }));\n }; // Validate all fields\n\n\n await this.validateAllFields(); // Fields are invalid, do not submit\n\n if (!this.state.isFieldsValid) {\n var _this$options$onInval, _this$options;\n\n done();\n (_this$options$onInval = (_this$options = this.options).onInvalidSubmit) == null ? void 0 : _this$options$onInval.call(_this$options, this.state.values, this);\n return;\n } // Run validation for the form\n\n\n await this.validateForm();\n\n if (!this.state.isValid) {\n var _this$options$onInval2, _this$options2;\n\n done();\n (_this$options$onInval2 = (_this$options2 = this.options).onInvalidSubmit) == null ? void 0 : _this$options$onInval2.call(_this$options2, this.state.values, this);\n return;\n }\n\n try {\n var _this$options$onSubmi, _this$options3;\n\n // Run the submit code\n await ((_this$options$onSubmi = (_this$options3 = this.options).onSubmit) == null ? void 0 : _this$options$onSubmi.call(_this$options3, this.state.values, this));\n this.store.batch(() => {\n this.store.setState(prev => ({ ...prev,\n isSubmitted: true\n }));\n done();\n });\n } catch (err) {\n done();\n throw err;\n }\n };\n\n this.getFieldValue = field => getBy(this.state.values, field);\n\n this.getFieldMeta = field => {\n return this.state.fieldMeta[field];\n };\n\n this.getFieldInfo = field => {\n var _this$fieldInfo;\n\n return (_this$fieldInfo = this.fieldInfo)[field] || (_this$fieldInfo[field] = {\n instances: {}\n });\n };\n\n this.setFieldMeta = (field, updater) => {\n this.store.setState(prev => {\n return { ...prev,\n fieldMeta: { ...prev.fieldMeta,\n [field]: functionalUpdate(updater, prev.fieldMeta[field])\n }\n };\n });\n };\n\n this.setFieldValue = (field, updater, opts) => {\n var _opts$touch;\n\n const touch = (_opts$touch = opts == null ? void 0 : opts.touch) != null ? _opts$touch : true;\n this.store.batch(() => {\n this.store.setState(prev => {\n return { ...prev,\n values: setBy(prev.values, field, updater)\n };\n });\n\n if (touch) {\n this.setFieldMeta(field, prev => ({ ...prev,\n isTouched: true\n }));\n }\n });\n };\n\n this.pushFieldValue = (field, value, opts) => {\n return this.setFieldValue(field, prev => [...(Array.isArray(prev) ? prev : []), value], opts);\n };\n\n this.insertFieldValue = (field, index, value, opts) => {\n this.setFieldValue(field, prev => {\n // invariant( // TODO: bring in invariant\n // Array.isArray(prev),\n // `Cannot insert a field value into a non-array field. Check that this field's existing value is an array: ${field}.`\n // )\n return prev.map((d, i) => i === index ? value : d);\n }, opts);\n };\n\n this.spliceFieldValue = (field, index, opts) => {\n this.setFieldValue(field, prev => {\n // invariant( // TODO: bring in invariant\n // Array.isArray(prev),\n // `Cannot insert a field value into a non-array field. Check that this field's existing value is an array: ${field}.`\n // )\n return prev.filter((_d, i) => i !== index);\n }, opts);\n };\n\n this.swapFieldValues = (field, index1, index2) => {\n this.setFieldValue(field, prev => {\n const prev1 = prev[index1];\n const prev2 = prev[index2];\n return setBy(setBy(prev, [index1], prev2), [index2], prev1);\n });\n };\n\n this.store = new Store(getDefaultFormState({ ...(_opts == null ? void 0 : _opts.defaultState),\n values: (_opts$defaultValues = _opts == null ? void 0 : _opts.defaultValues) != null ? _opts$defaultValues : _opts == null ? void 0 : (_opts$defaultState = _opts.defaultState) == null ? void 0 : _opts$defaultState.values,\n isFormValid: !(_opts != null && _opts.validate)\n }), {\n onUpdate: next => {\n // Computed state\n const fieldMetaValues = Object.values(next.fieldMeta);\n const isFieldsValidating = fieldMetaValues.some(field => field == null ? void 0 : field.isValidating);\n const isFieldsValid = !fieldMetaValues.some(field => field == null ? void 0 : field.error);\n const isTouched = fieldMetaValues.some(field => field == null ? void 0 : field.isTouched);\n const isValidating = isFieldsValidating || next.isFormValidating;\n const isFormValid = !next.formError;\n const isValid = isFieldsValid && isFormValid;\n const canSubmit = next.submissionAttempts === 0 && !isTouched || !isValidating && !next.isSubmitting && isValid;\n next = { ...next,\n isFieldsValidating,\n isFieldsValid,\n isFormValid,\n isValid,\n canSubmit,\n isTouched\n }; // Create a shortcut for the state\n // Write it back to the store\n\n this.store.state = next;\n this.state = next;\n }\n });\n this.state = this.store.state;\n this.update(_opts || {});\n }\n\n}\n\nvar id = 0;\n\nfunction _classPrivateFieldLooseKey(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\nfunction _classPrivateFieldLooseBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\nlet uid = 0;\n\nvar _updateStore = /*#__PURE__*/_classPrivateFieldLooseKey(\"updateStore\");\n\nvar _leaseValidateAsync = /*#__PURE__*/_classPrivateFieldLooseKey(\"leaseValidateAsync\");\n\nclass FieldApi {\n constructor(_opts) {\n var _this$getMeta;\n\n this.options = {};\n\n this.mount = () => {\n const info = this.getInfo();\n info.instances[this.uid] = this;\n const unsubscribe = this.form.store.subscribe(() => {\n _classPrivateFieldLooseBase(this, _updateStore)[_updateStore]();\n });\n return () => {\n unsubscribe();\n delete info.instances[this.uid];\n\n if (!Object.keys(info.instances).length) {\n delete this.form.fieldInfo[this.name];\n }\n };\n };\n\n Object.defineProperty(this, _updateStore, {\n writable: true,\n value: () => {\n this.store.batch(() => {\n const nextValue = this.getValue();\n const nextMeta = this.getMeta();\n\n if (nextValue !== this.state.value) {\n this.store.setState(prev => ({ ...prev,\n value: nextValue\n }));\n }\n\n if (nextMeta !== this.state.meta) {\n this.store.setState(prev => ({ ...prev,\n meta: nextMeta\n }));\n }\n });\n }\n });\n\n this.update = opts => {\n var _this$form$options$de, _this$form$options$de2, _this$form$options$de3, _this$form$options$de4;\n\n this.options = {\n validatePristine: (_this$form$options$de = this.form.options.defaultValidatePristine) != null ? _this$form$options$de : false,\n validateOn: (_this$form$options$de2 = this.form.options.defaultValidateOn) != null ? _this$form$options$de2 : 'change',\n validateAsyncOn: (_this$form$options$de3 = this.form.options.defaultValidateAsyncOn) != null ? _this$form$options$de3 : 'blur',\n validateAsyncDebounceMs: (_this$form$options$de4 = this.form.options.defaultValidateAsyncDebounceMs) != null ? _this$form$options$de4 : 0,\n ...opts\n }; // Default Value\n\n if (this.state.value === undefined && this.options.defaultValue !== undefined) {\n this.setValue(this.options.defaultValue);\n } // Default Meta\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n\n if (this.getMeta() === undefined) {\n this.setMeta(this.state.meta);\n }\n };\n\n this.getValue = () => this.form.getFieldValue(this.name);\n\n this.setValue = (updater, options) => this.form.setFieldValue(this.name, updater, options);\n\n this.getMeta = () => this.form.getFieldMeta(this.name);\n\n this.setMeta = updater => this.form.setFieldMeta(this.name, updater);\n\n this.getInfo = () => this.form.getFieldInfo(this.name);\n\n this.pushValue = value => this.form.pushFieldValue(this.name, value);\n\n this.insertValue = (index, value) => this.form.insertFieldValue(this.name, index, value);\n\n this.removeValue = index => this.form.spliceFieldValue(this.name, index);\n\n this.swapValues = (aIndex, bIndex) => this.form.swapFieldValues(this.name, aIndex, bIndex);\n\n this.getSubField = name => new FieldApi({\n name: this.name + \".\" + name,\n form: this.form\n });\n\n this.validateSync = async (value = this.state.value) => {\n const {\n validate\n } = this.options;\n\n if (!validate) {\n return;\n } // Use the validationCount for all field instances to\n // track freshness of the validation\n\n\n const validationCount = (this.getInfo().validationCount || 0) + 1;\n this.getInfo().validationCount = validationCount;\n const error = normalizeError(validate(value, this));\n\n if (this.state.meta.error !== error) {\n this.setMeta(prev => ({ ...prev,\n error\n }));\n } // If a sync error is encountered, cancel any async validation\n\n\n if (this.state.meta.error) {\n this.cancelValidateAsync();\n }\n };\n\n Object.defineProperty(this, _leaseValidateAsync, {\n writable: true,\n value: () => {\n const count = (this.getInfo().validationAsyncCount || 0) + 1;\n this.getInfo().validationAsyncCount = count;\n return count;\n }\n });\n\n this.cancelValidateAsync = () => {\n // Lease a new validation count to ignore any pending validations\n _classPrivateFieldLooseBase(this, _leaseValidateAsync)[_leaseValidateAsync](); // Cancel any pending validation state\n\n\n this.setMeta(prev => ({ ...prev,\n isValidating: false\n }));\n };\n\n this.validateAsync = async (value = this.state.value) => {\n const {\n validateAsync,\n validateAsyncDebounceMs\n } = this.options;\n\n if (!validateAsync) {\n return;\n }\n\n if (this.state.meta.isValidating !== true) this.setMeta(prev => ({ ...prev,\n isValidating: true\n })); // Use the validationCount for all field instances to\n // track freshness of the validation\n\n const validationAsyncCount = _classPrivateFieldLooseBase(this, _leaseValidateAsync)[_leaseValidateAsync]();\n\n const checkLatest = () => validationAsyncCount === this.getInfo().validationAsyncCount;\n\n if (!this.getInfo().validationPromise) {\n this.getInfo().validationPromise = new Promise((resolve, reject) => {\n this.getInfo().validationResolve = resolve;\n this.getInfo().validationReject = reject;\n });\n }\n\n if (validateAsyncDebounceMs > 0) {\n await new Promise(r => setTimeout(r, validateAsyncDebounceMs));\n } // Only kick off validation if this validation is the latest attempt\n\n\n if (checkLatest()) {\n try {\n const rawError = await validateAsync(value, this);\n\n if (checkLatest()) {\n var _this$getInfo$validat, _this$getInfo;\n\n const error = normalizeError(rawError);\n this.setMeta(prev => ({ ...prev,\n isValidating: false,\n error\n }));\n (_this$getInfo$validat = (_this$getInfo = this.getInfo()).validationResolve) == null ? void 0 : _this$getInfo$validat.call(_this$getInfo, error);\n }\n } catch (error) {\n if (checkLatest()) {\n var _this$getInfo$validat2, _this$getInfo2;\n\n (_this$getInfo$validat2 = (_this$getInfo2 = this.getInfo()).validationReject) == null ? void 0 : _this$getInfo$validat2.call(_this$getInfo2, error);\n throw error;\n }\n } finally {\n if (checkLatest()) {\n this.setMeta(prev => ({ ...prev,\n isValidating: false\n }));\n delete this.getInfo().validationPromise;\n }\n }\n } // Always return the latest validation promise to the caller\n\n\n return this.getInfo().validationPromise;\n };\n\n this.shouldValidate = (isAsync, cause) => {\n const {\n validateOn,\n validateAsyncOn\n } = this.options;\n const level = getValidationCauseLevel(cause); // Must meet *at least* the validation level to validate,\n // e.g. if validateOn is 'change' and validateCause is 'blur',\n // the field will still validate\n\n return Object.keys(validateCauseLevels).some(d => isAsync ? validateAsyncOn : validateOn === d && level >= validateCauseLevels[d]);\n };\n\n this.validate = async (cause, value) => {\n // If the field is pristine and validatePristine is false, do not validate\n if (!this.options.validatePristine && !this.state.meta.isTouched) return; // Attempt to sync validate first\n\n if (this.shouldValidate(false, cause)) {\n this.validateSync(value);\n } // If there is an error, return it, do not attempt async validation\n\n\n if (this.state.meta.error) {\n return this.state.meta.error;\n } // No error? Attempt async validation\n\n\n if (this.shouldValidate(true, cause)) {\n return this.validateAsync(value);\n } // If there is no sync error or async validation attempt, there is no error\n\n\n return undefined;\n };\n\n this.getChangeProps = (props = {}) => {\n return { ...props,\n value: this.state.value,\n onChange: value => {\n this.setValue(value);\n props.onChange == null ? void 0 : props.onChange(value);\n },\n onBlur: e => {\n this.setMeta(prev => ({ ...prev,\n isTouched: true\n }));\n this.validate('blur');\n props.onBlur == null ? void 0 : props.onBlur(e);\n }\n };\n };\n\n this.getInputProps = (props = {}) => {\n return { ...props,\n value: String(this.state.value),\n onChange: e => {\n this.setValue(e.target.value);\n props.onChange == null ? void 0 : props.onChange(e.target.value);\n },\n onBlur: this.getChangeProps(props).onBlur\n };\n };\n\n this.form = _opts.form;\n this.uid = uid++; // Support field prefixing from FieldScope\n\n let fieldPrefix = '';\n\n if (this.form.fieldName) {\n fieldPrefix = this.form.fieldName + \".\";\n }\n\n this.name = fieldPrefix + _opts.name;\n this.store = new Store({\n value: this.getValue(),\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n meta: (_this$getMeta = this.getMeta()) != null ? _this$getMeta : {\n isValidating: false,\n isTouched: false,\n ...this.options.defaultMeta\n }\n }, {\n onUpdate: next => {\n next.meta.touchedError = next.meta.isTouched ? next.meta.error : undefined; // Do not validate pristine fields\n\n const prevState = this.state;\n this.state = next;\n\n if (next.value !== prevState.value) {\n this.validate('change', next.value);\n }\n }\n });\n this.state = this.store.state;\n this.update(_opts);\n }\n\n}\nconst validateCauseLevels = {\n change: 0,\n blur: 1,\n submit: 2\n};\n\nfunction getValidationCauseLevel(cause) {\n return !cause ? 3 : validateCauseLevels[cause];\n}\n\nfunction normalizeError(rawError) {\n if (rawError) {\n if (typeof rawError !== 'string') {\n return 'Invalid Form Values';\n }\n\n return rawError;\n }\n\n return undefined;\n}\n\nexport { FieldApi, FormApi, functionalUpdate, getBy, getDefaultFormState, setBy };\n//# sourceMappingURL=index.js.map\n","/**\n * react-store\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nexport * from '@tanstack/store';\n\nfunction useStore(store, selector = d => d) {\n const slice = useSyncExternalStoreWithSelector(store.subscribe, () => store.state, () => store.state, selector, shallow);\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow, useStore };\n//# sourceMappingURL=index.js.map\n","import type { FormApi } from '@tanstack/form-core'\nimport * as React from 'react'\n\nexport const formContext = React.createContext<FormApi<any> | null>(null)\n\nexport function useFormContext(customFormApi?: FormApi<any>) {\n const formApi = React.useContext(formContext)\n\n if (customFormApi) {\n return customFormApi\n }\n\n if (!formApi) {\n throw new Error(`You are trying to use the form API outside of a form!`)\n }\n\n return formApi\n}\n","import * as React from 'react'\n//\nimport { useStore } from '@tanstack/react-store'\nimport type {\n DeepKeys,\n DeepValue,\n FieldOptions,\n FormApi,\n} from '@tanstack/form-core'\nimport { FieldApi } from '@tanstack/form-core'\nimport { useFormContext } from './formContext'\n\nexport type UseField<TFormData> = <TField extends DeepKeys<TFormData>>(\n opts?: { name: TField } & FieldOptions<\n DeepValue<TFormData, TField>,\n TFormData\n >,\n) => FieldApi<DeepValue<TFormData, TField>, TFormData>\n\nexport function createUseField<TFormData>(formApi: FormApi<TFormData>) {\n const useFormField: UseField<TFormData> = (opts) => {\n return useField({ ...opts, form: formApi } as any)\n }\n\n return useFormField\n}\n\nexport function useField<TData, TFormData>(\n opts: FieldOptions<TData, TFormData> & {\n // selector: (state: FieldApi<TData, TFormData>) => TSelected\n },\n): FieldApi<TData, TFormData> {\n // invariant( // TODO:\n // opts.name,\n // `useField: A field is required to use this hook. eg, useField('myField', options)`\n // )\n\n // Get the form API either manually or from context\n const formApi = useFormContext(opts.form)\n\n const [fieldApi] = React.useState<FieldApi<TData, TFormData>>(\n () => new FieldApi({ ...opts, form: formApi }),\n )\n\n // Keep options up to date as they are rendered\n fieldApi.update({ ...opts, form: formApi })\n\n useStore(fieldApi.store)\n\n // Instantiates field meta and removes it when unrendered\n React.useEffect(() => fieldApi.mount(), [fieldApi])\n\n return fieldApi\n}\n","import * as React from 'react'\nimport {\n functionalUpdate,\n type DeepKeys,\n type DeepValue,\n type FieldApi,\n type FieldOptions,\n type FormApi,\n} from '@tanstack/form-core'\nimport { useField } from './useField'\n\n//\n\nexport type FieldComponent<TFormData> = <TField extends DeepKeys<TFormData>>({\n children,\n ...fieldOptions\n}: {\n children: (fieldApi: FieldApi<DeepValue<TFormData, TField>, TFormData>) => any\n name: TField\n} & Omit<FieldOptions<DeepValue<TFormData, TField>, TFormData>, 'name'>) => any\n\nexport function createFieldComponent<TFormData>(formApi: FormApi<TFormData>) {\n const ConnectedField: FieldComponent<TFormData> = (props) => (\n <Field {...(props as any)} form={formApi} />\n )\n return ConnectedField\n}\n\nexport function Field<TData, TFormData>({\n children,\n ...fieldOptions\n}: {\n children: (fieldApi: FieldApi<TData, TFormData>) => any\n} & FieldOptions<TData, TFormData>) {\n const fieldApi = useField(fieldOptions as any)\n return functionalUpdate(children, fieldApi as any)\n}\n","import type { FormState, FormOptions } from '@tanstack/form-core'\nimport { FormApi, functionalUpdate } from '@tanstack/form-core'\nimport type { NoInfer } from '@tanstack/react-store'\nimport { useStore } from '@tanstack/react-store'\nimport React from 'react'\nimport { createFieldComponent, type FieldComponent } from './Field'\nimport { createUseField, type UseField } from './useField'\nimport { formContext } from './formContext'\n\ndeclare module '@tanstack/form-core' {\n // eslint-disable-next-line no-shadow\n interface FormApi<TFormData> {\n Form: FormComponent\n Field: FieldComponent<TFormData>\n useField: UseField<TFormData>\n useStore: <TSelected = NoInfer<FormState<TFormData>>>(\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected,\n ) => TSelected\n Subscribe: <TSelected = NoInfer<FormState<TFormData>>>(props: {\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected\n children:\n | ((state: NoInfer<TSelected>) => React.ReactNode)\n | React.ReactNode\n }) => any\n }\n}\n//\n\nexport function useForm<TData>(opts?: FormOptions<TData>): FormApi<TData> {\n const [formApi] = React.useState(() => {\n // @ts-ignore\n const api = new FormApi<TData>(opts || {})\n\n api.Form = createFormComponent(api)\n api.Field = createFieldComponent(api)\n api.useField = createUseField(api)\n api.useStore = (\n // @ts-ignore\n selector,\n ) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useStore(api.store, selector) as any\n }\n api.Subscribe = (\n // @ts-ignore\n props,\n ) => {\n return functionalUpdate(\n props.children,\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useStore(api.store, props.selector),\n ) as any\n }\n\n return api\n })\n\n // React.useEffect(() => formApi.mount(), [])\n\n return formApi\n}\n\nexport type FormProps = React.HTMLProps<HTMLFormElement> & {\n children: React.ReactNode\n noFormElement?: boolean\n}\n\nexport type FormComponent = (props: FormProps) => any\n\nexport function createFormComponent(formApi: FormApi<any>) {\n const Form: FormComponent = ({ children, noFormElement, ...rest }) => {\n const isSubmitting = formApi.useStore((state) => state.isSubmitting)\n\n return (\n <formContext.Provider value={formApi}>\n {noFormElement ? (\n children\n ) : (\n <form\n onSubmit={formApi.handleSubmit}\n disabled={isSubmitting}\n {...rest}\n >\n {formApi.options.debugForm ? (\n <div\n style={{\n margin: '2rem 0',\n }}\n >\n <div\n style={{\n fontWeight: 'bolder',\n }}\n >\n Form State\n </div>\n <pre>\n <code>\n {JSON.stringify(formApi, safeStringifyReplace(), 2)}\n </code>\n </pre>\n </div>\n ) : null}\n {children}\n </form>\n )}\n </formContext.Provider>\n )\n }\n\n return Form\n}\n\nfunction safeStringifyReplace() {\n const set = new Set()\n return (_key: string, value: any) => {\n if (typeof value === 'object' || Array.isArray(value)) {\n if (set.has(value)) {\n return '(circular value)'\n }\n set.add(value)\n }\n return typeof value === 'function' ? undefined : value\n }\n}\n"],"names":["useSyncExternalStoreWithSelector","formContext","React","createContext","useFormContext","customFormApi","formApi","useContext","Error","createUseField","useFormField","opts","useField","form","fieldApi","useState","FieldApi","update","useStore","store","useEffect","mount","createFieldComponent","ConnectedField","props","Field","children","fieldOptions","functionalUpdate","useForm","api","FormApi","Form","createFormComponent","selector","Subscribe","noFormElement","rest","isSubmitting","state","handleSubmit","options","debugForm","margin","fontWeight","JSON","stringify","safeStringifyReplace","set","Set","_key","value","Array","isArray","has","add","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../../node_modules/.pnpm/@tanstack+store@0.0.1-beta.84/node_modules/@tanstack/store/build/esm/index.js","../../../form-core/build/esm/index.js","../../../../node_modules/.pnpm/@tanstack+react-store@0.0.1-beta.84_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/esm/index.js","../../src/formContext.ts","../../src/useField.ts","../../src/Field.tsx","../../src/useForm.tsx","../../src/createFormFactory.ts"],"sourcesContent":["/**\n * store\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nclass Store {\n listeners = new Set();\n batching = false;\n queue = [];\n constructor(initialState, options) {\n this.state = initialState;\n this.options = options;\n }\n subscribe = listener => {\n this.listeners.add(listener);\n const unsub = this.options?.onSubscribe?.(listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub?.();\n };\n };\n setState = updater => {\n const previous = this.state;\n this.state = this.options?.updateFn ? this.options.updateFn(previous)(updater) : updater(previous);\n if (this.state === previous) return;\n this.options?.onUpdate?.(this.state, previous);\n this.queue.push(() => {\n this.listeners.forEach(listener => listener(this.state, previous));\n });\n this.#flush();\n };\n #flush = () => {\n if (this.batching) return;\n this.queue.forEach(cb => cb());\n this.queue = [];\n };\n batch = cb => {\n this.batching = true;\n cb();\n this.batching = false;\n this.#flush();\n };\n}\n\nexport { Store };\n//# sourceMappingURL=index.js.map\n","/**\n * form-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { Store } from '@tanstack/store';\n\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction getBy(obj, path) {\n if (!path) {\n throw new Error('A path string is required to use getBy');\n }\n\n const pathArray = makePathArray(path);\n const pathObj = pathArray;\n return pathObj.reduce((current, pathPart) => {\n if (typeof current !== 'undefined') {\n return current[pathPart];\n }\n\n return undefined;\n }, obj);\n}\nfunction setBy(obj, _path, updater) {\n const path = makePathArray(_path);\n\n function doSet(parent) {\n if (!path.length) {\n return functionalUpdate(updater, parent);\n }\n\n const key = path.shift();\n\n if (typeof key === 'string') {\n if (typeof parent === 'object') {\n return { ...parent,\n [key]: doSet(parent[key])\n };\n }\n\n return {\n [key]: doSet()\n };\n }\n\n if (typeof key === 'number') {\n if (Array.isArray(parent)) {\n const prefix = parent.slice(0, key);\n return [...(prefix.length ? prefix : new Array(key)), doSet(parent[key]), ...parent.slice(key + 1)];\n }\n\n return [...new Array(key), doSet()];\n }\n\n throw new Error('Uh oh!');\n }\n\n return doSet(obj);\n}\nconst reFindNumbers0 = /^(\\d*)$/gm;\nconst reFindNumbers1 = /\\.(\\d*)\\./gm;\nconst reFindNumbers2 = /^(\\d*)\\./gm;\nconst reFindNumbers3 = /\\.(\\d*$)/gm;\nconst reFindMultiplePeriods = /\\.{2,}/gm;\n\nfunction makePathArray(str) {\n return str.replace('[', '.').replace(']', '').replace(reFindNumbers0, '__int__$1').replace(reFindNumbers1, '.__int__$1.').replace(reFindNumbers2, '__int__$1.').replace(reFindNumbers3, '.__int__$1').replace(reFindMultiplePeriods, '.').split('.').map(d => {\n if (d.indexOf('__int__') === 0) {\n return parseInt(d.substring('__int__'.length), 10);\n }\n\n return d;\n });\n}\n\nfunction getDefaultFormState(defaultState) {\n return {\n values: {},\n fieldMeta: {},\n canSubmit: true,\n isFieldsValid: false,\n isFieldsValidating: false,\n isFormValid: false,\n isFormValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isTouched: false,\n isValid: false,\n isValidating: false,\n submissionAttempts: 0,\n formValidationCount: 0,\n ...defaultState\n };\n}\n\nclass FormApi {\n // // This carries the context for nested fields\n constructor(_opts) {\n var _opts$defaultValues, _opts$defaultState;\n\n this.options = {};\n this.fieldInfo = {};\n this.validationMeta = {};\n\n this.update = options => {\n this.store.batch(() => {\n if (options.defaultState && options.defaultState !== this.options.defaultState) {\n this.store.setState(prev => ({ ...prev,\n ...options.defaultState\n }));\n }\n\n if (options.defaultValues !== this.options.defaultValues) {\n this.store.setState(prev => ({ ...prev,\n values: options.defaultValues\n }));\n }\n });\n this.options = options;\n };\n\n this.reset = () => this.store.setState(() => getDefaultFormState(this.options.defaultValues));\n\n this.validateAllFields = async () => {\n const fieldValidationPromises = [];\n this.store.batch(() => {\n void Object.values(this.fieldInfo).forEach(field => {\n Object.values(field.instances).forEach(instance => {\n // If any fields are not touched\n if (!instance.state.meta.isTouched) {\n // Mark them as touched\n instance.setMeta(prev => ({ ...prev,\n isTouched: true\n })); // Validate the field\n\n if (instance.options.validate) {\n fieldValidationPromises.push(instance.validate());\n }\n }\n });\n });\n });\n return Promise.all(fieldValidationPromises);\n };\n\n this.validateForm = async () => {\n const {\n validate\n } = this.options;\n\n if (!validate) {\n return;\n } // Use the formValidationCount for all field instances to\n // track freshness of the validation\n\n\n this.store.setState(prev => ({ ...prev,\n isValidating: true,\n formValidationCount: prev.formValidationCount + 1\n }));\n const formValidationCount = this.state.formValidationCount;\n\n const checkLatest = () => formValidationCount === this.state.formValidationCount;\n\n if (!this.validationMeta.validationPromise) {\n this.validationMeta.validationPromise = new Promise((resolve, reject) => {\n this.validationMeta.validationResolve = resolve;\n this.validationMeta.validationReject = reject;\n });\n }\n\n const doValidation = async () => {\n try {\n const error = await validate(this.state.values, this);\n\n if (checkLatest()) {\n var _this$validationMeta$, _this$validationMeta;\n\n this.store.setState(prev => ({ ...prev,\n isValidating: false,\n error: error ? typeof error === 'string' ? error : 'Invalid Form Values' : null\n }));\n (_this$validationMeta$ = (_this$validationMeta = this.validationMeta).validationResolve) == null ? void 0 : _this$validationMeta$.call(_this$validationMeta, error);\n }\n } catch (err) {\n if (checkLatest()) {\n var _this$validationMeta$2, _this$validationMeta2;\n\n (_this$validationMeta$2 = (_this$validationMeta2 = this.validationMeta).validationReject) == null ? void 0 : _this$validationMeta$2.call(_this$validationMeta2, err);\n }\n } finally {\n delete this.validationMeta.validationPromise;\n }\n };\n\n doValidation();\n return this.validationMeta.validationPromise;\n };\n\n this.handleSubmit = async e => {\n e.preventDefault();\n e.stopPropagation(); // Check to see that the form and all fields have been touched\n // If they have not, touch them all and run validation\n // Run form validation\n // Submit the form\n\n this.store.setState(old => ({ ...old,\n // Submittion attempts mark the form as not submitted\n isSubmitted: false,\n // Count submission attempts\n submissionAttempts: old.submissionAttempts + 1\n })); // Don't let invalid forms submit\n\n if (!this.state.canSubmit) return;\n this.store.setState(d => ({ ...d,\n isSubmitting: true\n }));\n\n const done = () => {\n this.store.setState(prev => ({ ...prev,\n isSubmitting: false\n }));\n }; // Validate all fields\n\n\n await this.validateAllFields(); // Fields are invalid, do not submit\n\n if (!this.state.isFieldsValid) {\n var _this$options$onInval, _this$options;\n\n done();\n (_this$options$onInval = (_this$options = this.options).onInvalidSubmit) == null ? void 0 : _this$options$onInval.call(_this$options, this.state.values, this);\n return;\n } // Run validation for the form\n\n\n await this.validateForm();\n\n if (!this.state.isValid) {\n var _this$options$onInval2, _this$options2;\n\n done();\n (_this$options$onInval2 = (_this$options2 = this.options).onInvalidSubmit) == null ? void 0 : _this$options$onInval2.call(_this$options2, this.state.values, this);\n return;\n }\n\n try {\n var _this$options$onSubmi, _this$options3;\n\n // Run the submit code\n await ((_this$options$onSubmi = (_this$options3 = this.options).onSubmit) == null ? void 0 : _this$options$onSubmi.call(_this$options3, this.state.values, this));\n this.store.batch(() => {\n this.store.setState(prev => ({ ...prev,\n isSubmitted: true\n }));\n done();\n });\n } catch (err) {\n done();\n throw err;\n }\n };\n\n this.getFieldValue = field => getBy(this.state.values, field);\n\n this.getFieldMeta = field => {\n return this.state.fieldMeta[field];\n };\n\n this.getFieldInfo = field => {\n var _this$fieldInfo;\n\n return (_this$fieldInfo = this.fieldInfo)[field] || (_this$fieldInfo[field] = {\n instances: {}\n });\n };\n\n this.setFieldMeta = (field, updater) => {\n this.store.setState(prev => {\n return { ...prev,\n fieldMeta: { ...prev.fieldMeta,\n [field]: functionalUpdate(updater, prev.fieldMeta[field])\n }\n };\n });\n };\n\n this.setFieldValue = (field, updater, opts) => {\n var _opts$touch;\n\n const touch = (_opts$touch = opts == null ? void 0 : opts.touch) != null ? _opts$touch : true;\n this.store.batch(() => {\n this.store.setState(prev => {\n return { ...prev,\n values: setBy(prev.values, field, updater)\n };\n });\n\n if (touch) {\n this.setFieldMeta(field, prev => ({ ...prev,\n isTouched: true\n }));\n }\n });\n };\n\n this.pushFieldValue = (field, value, opts) => {\n return this.setFieldValue(field, prev => [...(Array.isArray(prev) ? prev : []), value], opts);\n };\n\n this.insertFieldValue = (field, index, value, opts) => {\n this.setFieldValue(field, prev => {\n // invariant( // TODO: bring in invariant\n // Array.isArray(prev),\n // `Cannot insert a field value into a non-array field. Check that this field's existing value is an array: ${field}.`\n // )\n return prev.map((d, i) => i === index ? value : d);\n }, opts);\n };\n\n this.spliceFieldValue = (field, index, opts) => {\n this.setFieldValue(field, prev => {\n // invariant( // TODO: bring in invariant\n // Array.isArray(prev),\n // `Cannot insert a field value into a non-array field. Check that this field's existing value is an array: ${field}.`\n // )\n return prev.filter((_d, i) => i !== index);\n }, opts);\n };\n\n this.swapFieldValues = (field, index1, index2) => {\n this.setFieldValue(field, prev => {\n const prev1 = prev[index1];\n const prev2 = prev[index2];\n return setBy(setBy(prev, [index1], prev2), [index2], prev1);\n });\n };\n\n this.store = new Store(getDefaultFormState({ ...(_opts == null ? void 0 : _opts.defaultState),\n values: (_opts$defaultValues = _opts == null ? void 0 : _opts.defaultValues) != null ? _opts$defaultValues : _opts == null ? void 0 : (_opts$defaultState = _opts.defaultState) == null ? void 0 : _opts$defaultState.values,\n isFormValid: !(_opts != null && _opts.validate)\n }), {\n onUpdate: next => {\n // Computed state\n const fieldMetaValues = Object.values(next.fieldMeta);\n const isFieldsValidating = fieldMetaValues.some(field => field == null ? void 0 : field.isValidating);\n const isFieldsValid = !fieldMetaValues.some(field => field == null ? void 0 : field.error);\n const isTouched = fieldMetaValues.some(field => field == null ? void 0 : field.isTouched);\n const isValidating = isFieldsValidating || next.isFormValidating;\n const isFormValid = !next.formError;\n const isValid = isFieldsValid && isFormValid;\n const canSubmit = next.submissionAttempts === 0 && !isTouched || !isValidating && !next.isSubmitting && isValid;\n next = { ...next,\n isFieldsValidating,\n isFieldsValid,\n isFormValid,\n isValid,\n canSubmit,\n isTouched\n }; // Create a shortcut for the state\n // Write it back to the store\n\n this.store.state = next;\n this.state = next;\n }\n });\n this.state = this.store.state;\n this.update(_opts || {});\n }\n\n}\n\nvar id = 0;\n\nfunction _classPrivateFieldLooseKey(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\nfunction _classPrivateFieldLooseBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\nlet uid = 0;\n\nvar _updateStore = /*#__PURE__*/_classPrivateFieldLooseKey(\"updateStore\");\n\nvar _leaseValidateAsync = /*#__PURE__*/_classPrivateFieldLooseKey(\"leaseValidateAsync\");\n\nclass FieldApi {\n constructor(_opts) {\n var _this$getMeta;\n\n this.options = {};\n\n this.mount = () => {\n const info = this.getInfo();\n info.instances[this.uid] = this;\n const unsubscribe = this.form.store.subscribe(() => {\n _classPrivateFieldLooseBase(this, _updateStore)[_updateStore]();\n });\n return () => {\n unsubscribe();\n delete info.instances[this.uid];\n\n if (!Object.keys(info.instances).length) {\n delete this.form.fieldInfo[this.name];\n }\n };\n };\n\n Object.defineProperty(this, _updateStore, {\n writable: true,\n value: () => {\n this.store.batch(() => {\n const nextValue = this.getValue();\n const nextMeta = this.getMeta();\n\n if (nextValue !== this.state.value) {\n this.store.setState(prev => ({ ...prev,\n value: nextValue\n }));\n }\n\n if (nextMeta !== this.state.meta) {\n this.store.setState(prev => ({ ...prev,\n meta: nextMeta\n }));\n }\n });\n }\n });\n\n this.update = opts => {\n var _this$form$options$de, _this$form$options$de2, _this$form$options$de3, _this$form$options$de4;\n\n this.options = {\n validatePristine: (_this$form$options$de = this.form.options.defaultValidatePristine) != null ? _this$form$options$de : false,\n validateOn: (_this$form$options$de2 = this.form.options.defaultValidateOn) != null ? _this$form$options$de2 : 'change',\n validateAsyncOn: (_this$form$options$de3 = this.form.options.defaultValidateAsyncOn) != null ? _this$form$options$de3 : 'blur',\n validateAsyncDebounceMs: (_this$form$options$de4 = this.form.options.defaultValidateAsyncDebounceMs) != null ? _this$form$options$de4 : 0,\n ...opts\n }; // Default Value\n\n if (this.state.value === undefined && this.options.defaultValue !== undefined) {\n this.setValue(this.options.defaultValue);\n } // Default Meta\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n\n if (this.getMeta() === undefined) {\n this.setMeta(this.state.meta);\n }\n };\n\n this.getValue = () => this.form.getFieldValue(this.name);\n\n this.setValue = (updater, options) => this.form.setFieldValue(this.name, updater, options);\n\n this.getMeta = () => this.form.getFieldMeta(this.name);\n\n this.setMeta = updater => this.form.setFieldMeta(this.name, updater);\n\n this.getInfo = () => this.form.getFieldInfo(this.name);\n\n this.pushValue = value => this.form.pushFieldValue(this.name, value);\n\n this.insertValue = (index, value) => this.form.insertFieldValue(this.name, index, value);\n\n this.removeValue = index => this.form.spliceFieldValue(this.name, index);\n\n this.swapValues = (aIndex, bIndex) => this.form.swapFieldValues(this.name, aIndex, bIndex);\n\n this.getSubField = name => new FieldApi({\n name: this.name + \".\" + name,\n form: this.form\n });\n\n this.validateSync = async (value = this.state.value) => {\n const {\n validate\n } = this.options;\n\n if (!validate) {\n return;\n } // Use the validationCount for all field instances to\n // track freshness of the validation\n\n\n const validationCount = (this.getInfo().validationCount || 0) + 1;\n this.getInfo().validationCount = validationCount;\n const error = normalizeError(validate(value, this));\n\n if (this.state.meta.error !== error) {\n this.setMeta(prev => ({ ...prev,\n error\n }));\n } // If a sync error is encountered, cancel any async validation\n\n\n if (this.state.meta.error) {\n this.cancelValidateAsync();\n }\n };\n\n Object.defineProperty(this, _leaseValidateAsync, {\n writable: true,\n value: () => {\n const count = (this.getInfo().validationAsyncCount || 0) + 1;\n this.getInfo().validationAsyncCount = count;\n return count;\n }\n });\n\n this.cancelValidateAsync = () => {\n // Lease a new validation count to ignore any pending validations\n _classPrivateFieldLooseBase(this, _leaseValidateAsync)[_leaseValidateAsync](); // Cancel any pending validation state\n\n\n this.setMeta(prev => ({ ...prev,\n isValidating: false\n }));\n };\n\n this.validateAsync = async (value = this.state.value) => {\n const {\n validateAsync,\n validateAsyncDebounceMs\n } = this.options;\n\n if (!validateAsync) {\n return;\n }\n\n if (this.state.meta.isValidating !== true) this.setMeta(prev => ({ ...prev,\n isValidating: true\n })); // Use the validationCount for all field instances to\n // track freshness of the validation\n\n const validationAsyncCount = _classPrivateFieldLooseBase(this, _leaseValidateAsync)[_leaseValidateAsync]();\n\n const checkLatest = () => validationAsyncCount === this.getInfo().validationAsyncCount;\n\n if (!this.getInfo().validationPromise) {\n this.getInfo().validationPromise = new Promise((resolve, reject) => {\n this.getInfo().validationResolve = resolve;\n this.getInfo().validationReject = reject;\n });\n }\n\n if (validateAsyncDebounceMs > 0) {\n await new Promise(r => setTimeout(r, validateAsyncDebounceMs));\n } // Only kick off validation if this validation is the latest attempt\n\n\n if (checkLatest()) {\n try {\n const rawError = await validateAsync(value, this);\n\n if (checkLatest()) {\n var _this$getInfo$validat, _this$getInfo;\n\n const error = normalizeError(rawError);\n this.setMeta(prev => ({ ...prev,\n isValidating: false,\n error\n }));\n (_this$getInfo$validat = (_this$getInfo = this.getInfo()).validationResolve) == null ? void 0 : _this$getInfo$validat.call(_this$getInfo, error);\n }\n } catch (error) {\n if (checkLatest()) {\n var _this$getInfo$validat2, _this$getInfo2;\n\n (_this$getInfo$validat2 = (_this$getInfo2 = this.getInfo()).validationReject) == null ? void 0 : _this$getInfo$validat2.call(_this$getInfo2, error);\n throw error;\n }\n } finally {\n if (checkLatest()) {\n this.setMeta(prev => ({ ...prev,\n isValidating: false\n }));\n delete this.getInfo().validationPromise;\n }\n }\n } // Always return the latest validation promise to the caller\n\n\n return this.getInfo().validationPromise;\n };\n\n this.shouldValidate = (isAsync, cause) => {\n const {\n validateOn,\n validateAsyncOn\n } = this.options;\n const level = getValidationCauseLevel(cause); // Must meet *at least* the validation level to validate,\n // e.g. if validateOn is 'change' and validateCause is 'blur',\n // the field will still validate\n\n return Object.keys(validateCauseLevels).some(d => isAsync ? validateAsyncOn : validateOn === d && level >= validateCauseLevels[d]);\n };\n\n this.validate = async (cause, value) => {\n // If the field is pristine and validatePristine is false, do not validate\n if (!this.options.validatePristine && !this.state.meta.isTouched) return; // Attempt to sync validate first\n\n if (this.shouldValidate(false, cause)) {\n this.validateSync(value);\n } // If there is an error, return it, do not attempt async validation\n\n\n if (this.state.meta.error) {\n return this.state.meta.error;\n } // No error? Attempt async validation\n\n\n if (this.shouldValidate(true, cause)) {\n return this.validateAsync(value);\n } // If there is no sync error or async validation attempt, there is no error\n\n\n return undefined;\n };\n\n this.getChangeProps = (props = {}) => {\n return { ...props,\n value: this.state.value,\n onChange: value => {\n this.setValue(value);\n props.onChange == null ? void 0 : props.onChange(value);\n },\n onBlur: e => {\n this.setMeta(prev => ({ ...prev,\n isTouched: true\n }));\n this.validate('blur');\n props.onBlur == null ? void 0 : props.onBlur(e);\n }\n };\n };\n\n this.getInputProps = (props = {}) => {\n return { ...props,\n value: String(this.state.value),\n onChange: e => {\n this.setValue(e.target.value);\n props.onChange == null ? void 0 : props.onChange(e.target.value);\n },\n onBlur: this.getChangeProps(props).onBlur\n };\n };\n\n this.form = _opts.form;\n this.uid = uid++; // Support field prefixing from FieldScope\n\n let fieldPrefix = '';\n\n if (this.form.fieldName) {\n fieldPrefix = this.form.fieldName + \".\";\n }\n\n this.name = fieldPrefix + _opts.name;\n this.store = new Store({\n value: this.getValue(),\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n meta: (_this$getMeta = this.getMeta()) != null ? _this$getMeta : {\n isValidating: false,\n isTouched: false,\n ...this.options.defaultMeta\n }\n }, {\n onUpdate: next => {\n next.meta.touchedError = next.meta.isTouched ? next.meta.error : undefined; // Do not validate pristine fields\n\n const prevState = this.state;\n this.state = next;\n\n if (next.value !== prevState.value) {\n this.validate('change', next.value);\n }\n }\n });\n this.state = this.store.state;\n this.update(_opts);\n }\n\n}\nconst validateCauseLevels = {\n change: 0,\n blur: 1,\n submit: 2\n};\n\nfunction getValidationCauseLevel(cause) {\n return !cause ? 3 : validateCauseLevels[cause];\n}\n\nfunction normalizeError(rawError) {\n if (rawError) {\n if (typeof rawError !== 'string') {\n return 'Invalid Form Values';\n }\n\n return rawError;\n }\n\n return undefined;\n}\n\nexport { FieldApi, FormApi, functionalUpdate, getBy, setBy };\n//# sourceMappingURL=index.js.map\n","/**\n * react-store\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nexport * from '@tanstack/store';\n\nfunction useStore(store, selector = d => d) {\n const slice = useSyncExternalStoreWithSelector(store.subscribe, () => store.state, () => store.state, selector, shallow);\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow, useStore };\n//# sourceMappingURL=index.js.map\n","import type { FormApi } from '@tanstack/form-core'\nimport * as React from 'react'\n\nexport const formContext = React.createContext<FormApi<any> | null>(null)\n\nexport function useFormContext() {\n const formApi = React.useContext(formContext)\n\n if (!formApi) {\n throw new Error(`You are trying to use the form API outside of a form!`)\n }\n\n return formApi\n}\n","import * as React from 'react'\n//\nimport { useStore } from '@tanstack/react-store'\nimport type { DeepKeys, DeepValue, FieldOptions } from '@tanstack/form-core'\nimport { FieldApi } from '@tanstack/form-core'\nimport { useFormContext } from './formContext'\nimport type { FormFactory } from './createFormFactory'\n\ndeclare module '@tanstack/form-core' {\n // eslint-disable-next-line no-shadow\n interface FieldOptions<TData, TFormData> {\n formFactory?: FormFactory<TFormData>\n }\n}\n\nexport type UseField<TFormData> = <TField extends DeepKeys<TFormData>>(\n opts?: { name: TField } & FieldOptions<\n DeepValue<TFormData, TField>,\n TFormData\n >,\n) => FieldApi<DeepValue<TFormData, TField>, TFormData>\n\nexport function createUseField<TFormData>(): UseField<TFormData> {\n return (opts) => {\n return useField(opts as any)\n }\n}\n\nexport function useField<TData, TFormData>(\n opts: FieldOptions<TData, TFormData> & {\n // selector: (state: FieldApi<TData, TFormData>) => TSelected\n },\n): FieldApi<TData, TFormData> {\n // Get the form API either manually or from context\n const formApi = useFormContext()\n\n const [fieldApi] = React.useState<FieldApi<TData, TFormData>>(\n () => new FieldApi({ ...opts, form: formApi }),\n )\n\n // Keep options up to date as they are rendered\n fieldApi.update({ ...opts, form: formApi })\n\n useStore(fieldApi.store)\n\n // Instantiates field meta and removes it when unrendered\n React.useEffect(() => fieldApi.mount(), [fieldApi])\n\n return fieldApi\n}\n","import * as React from 'react'\nimport {\n functionalUpdate,\n type DeepKeys,\n type DeepValue,\n type FieldApi,\n type FieldOptions,\n} from '@tanstack/form-core'\nimport { useField } from './useField'\n\n//\n\nexport type FieldComponent<TFormData> = <TField extends DeepKeys<TFormData>>({\n children,\n ...fieldOptions\n}: {\n children: (fieldApi: FieldApi<DeepValue<TFormData, TField>, TFormData>) => any\n name: TField\n} & Omit<FieldOptions<DeepValue<TFormData, TField>, TFormData>, 'name'>) => any\n\nexport function createFieldComponent<TFormData>() {\n const ConnectedField: FieldComponent<TFormData> = (props) => (\n <Field {...(props as any)} />\n )\n return ConnectedField\n}\n\nexport function Field<TData, TFormData>({\n children,\n ...fieldOptions\n}: {\n children: (fieldApi: FieldApi<TData, TFormData>) => any\n} & FieldOptions<TData, TFormData>) {\n const fieldApi = useField(fieldOptions as any)\n return functionalUpdate(children, fieldApi as any)\n}\n","import type { FormState, FormOptions } from '@tanstack/form-core'\nimport { FormApi, functionalUpdate } from '@tanstack/form-core'\nimport type { NoInfer } from '@tanstack/react-store'\nimport { useStore } from '@tanstack/react-store'\nimport React from 'react'\nimport { createFieldComponent, type FieldComponent } from './Field'\nimport { createUseField, type UseField } from './useField'\nimport { formContext } from './formContext'\n\ndeclare module '@tanstack/form-core' {\n interface Register {\n FormSubmitEvent: React.FormEvent<HTMLFormElement>\n }\n\n // eslint-disable-next-line no-shadow\n interface FormApi<TFormData> {\n Form: FormComponent\n Field: FieldComponent<TFormData>\n useField: UseField<TFormData>\n useStore: <TSelected = NoInfer<FormState<TFormData>>>(\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected,\n ) => TSelected\n Subscribe: <TSelected = NoInfer<FormState<TFormData>>>(props: {\n selector?: (state: NoInfer<FormState<TFormData>>) => TSelected\n children:\n | ((state: NoInfer<TSelected>) => React.ReactNode)\n | React.ReactNode\n }) => any\n }\n}\n\nexport function useForm<TData>(opts?: FormOptions<TData>): FormApi<TData> {\n const [formApi] = React.useState(() => {\n // @ts-ignore\n const api = new FormApi<TData>(opts)\n\n api.Form = createFormComponent(api)\n api.Field = createFieldComponent<TData>()\n api.useField = createUseField<TData>()\n api.useStore = (\n // @ts-ignore\n selector,\n ) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useStore(api.store, selector as any) as any\n }\n api.Subscribe = (\n // @ts-ignore\n props,\n ) => {\n return functionalUpdate(\n props.children,\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useStore(api.store, props.selector as any),\n ) as any\n }\n\n return api\n })\n\n return formApi as any\n}\n\nexport type FormProps = React.HTMLProps<HTMLFormElement> & {\n children: React.ReactNode\n noFormElement?: boolean\n}\n\nexport type FormComponent = (props: FormProps) => any\n\nfunction createFormComponent(formApi: FormApi<any>) {\n const Form: FormComponent = ({ children, noFormElement, ...rest }) => {\n const isSubmitting = formApi.useStore((state) => state.isSubmitting)\n\n return (\n <formContext.Provider value={formApi}>\n {noFormElement ? (\n children\n ) : (\n <form\n onSubmit={formApi.handleSubmit}\n disabled={isSubmitting}\n {...rest}\n >\n {children}\n </form>\n )}\n </formContext.Provider>\n )\n }\n\n return Form\n}\n","import type { FormApi, FormOptions } from '@tanstack/form-core'\nimport { createUseField, type UseField } from './useField'\nimport { useForm } from './useForm'\nimport { createFieldComponent, type FieldComponent } from './Field'\n\nexport type FormFactory<TFormData> = {\n useForm: (opts?: FormOptions<TFormData>) => FormApi<TFormData>\n useField: UseField<TFormData>\n Field: FieldComponent<TFormData>\n}\n\nexport function createFormFactory<TFormData>(\n defaultOpts?: FormOptions<TFormData>,\n): FormFactory<TFormData> {\n return {\n useForm: (opts) => {\n return useForm<TFormData>({ ...defaultOpts, ...opts } as any) as any\n },\n useField: createUseField<TFormData>(),\n Field: createFieldComponent<TFormData>(),\n }\n}\n"],"names":["useSyncExternalStoreWithSelector","formContext","React","createContext","useFormContext","formApi","useContext","Error","createUseField","opts","useField","fieldApi","useState","FieldApi","form","update","useStore","store","useEffect","mount","createFieldComponent","ConnectedField","props","Field","children","fieldOptions","functionalUpdate","useForm","api","FormApi","Form","createFormComponent","selector","Subscribe","noFormElement","rest","isSubmitting","state","handleSubmit","createFormFactory","defaultOpts"],"mappings":"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"}