@tanstack/react-form 0.0.1 → 0.0.3
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/build/cjs/formContext.js.map +1 -1
- package/build/cjs/index.js +7 -0
- package/build/cjs/index.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +116 -110
- package/build/types/form-core/src/FieldApi.d.ts +9 -11
- package/build/types/form-core/src/FormApi.d.ts +7 -3
- package/build/types/index.d.ts +1 -0
- package/build/types/react-form/src/formContext.d.ts +2 -2
- package/build/types/react-form/src/index.d.ts +1 -0
- package/build/umd/index.development.js +167 -74
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +5 -4
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
- package/src/formContext.ts +2 -2
- package/src/index.ts +1 -0
|
@@ -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 _validate = /*#__PURE__*/_classPrivateFieldLooseKey(\"validate\");\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 this.options = {\n validateOn: 'change',\n validateAsyncOn: 'blur',\n validateAsyncDebounceMs: 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 Object.defineProperty(this, _validate, {\n writable: true,\n value: async isAsync => {\n if (!this.options.validate) {\n return;\n }\n\n 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 validationCount = (this.getInfo().validationCount || 0) + 1;\n this.getInfo().validationCount = validationCount;\n\n const checkLatest = () => validationCount === this.getInfo().validationCount;\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 try {\n const rawError = await this.options.validate(this.state.value, this);\n\n if (checkLatest()) {\n var _this$getInfo$validat, _this$getInfo;\n\n const error = (() => {\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\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\n return this.getInfo().validationPromise;\n }\n });\n\n this.validate = () => _classPrivateFieldLooseBase(this, _validate)[_validate](false);\n\n this.validateAsync = () => _classPrivateFieldLooseBase(this, _validate)[_validate](true);\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 const {\n validateOn\n } = this.options;\n\n if (validateOn === 'blur' || validateOn.split('-')[0] === 'blur') {\n this.validate();\n }\n\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 if (!this.options.validatePristine && !next.meta.isTouched) return; // If validateOn is set to a variation of change, run the validation\n\n if (this.options.validateOn === 'change' || this.options.validateOn.split('-')[0] === 'change') {\n try {\n this.validate();\n } catch (err) {\n console.error('An error occurred during validation', err);\n }\n }\n\n this.state = next;\n }\n });\n this.state = this.store.state;\n this.update(_opts);\n }\n\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 { FormApi } from '@tanstack/form-core'\nimport * as React from 'react'\n\nexport const formContext = React.createContext<FormApi<any>>(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"],"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 console.log('change');\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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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("use-sync-external-store/shim/with-selector"),require("react")):"function"==typeof define&&define.amd?define(["exports","use-sync-external-store/shim/with-selector","react"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ReactForm={},t.withSelector,t.React)}(this,(function(t,e,i){"use strict";function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var n=a(i),o=s(i);
|
|
11
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("use-sync-external-store/shim/with-selector"),require("react")):"function"==typeof define&&define.amd?define(["exports","use-sync-external-store/shim/with-selector","react"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ReactForm={},t.withSelector,t.React)}(this,(function(t,e,i){"use strict";function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var n=a(i),o=s(i);
|
|
12
12
|
/**
|
|
13
13
|
* store
|
|
14
14
|
*
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* LICENSE.md file in the root directory of this source tree.
|
|
19
19
|
*
|
|
20
20
|
* @license MIT
|
|
21
|
-
*/
|
|
21
|
+
*/
|
|
22
|
+
class l{listeners=new Set;batching=!1;queue=[];constructor(t,e){this.state=t,this.options=e}subscribe=t=>{this.listeners.add(t);const e=this.options?.onSubscribe?.(t,this);return()=>{this.listeners.delete(t),e?.()}};setState=t=>{const e=this.state;this.state=this.options?.updateFn?this.options.updateFn(e)(t):t(e),this.state!==e&&(this.options?.onUpdate?.(this.state,e),this.queue.push((()=>{this.listeners.forEach((t=>t(this.state,e)))})),this.#t())};#t=()=>{this.batching||(this.queue.forEach((t=>t())),this.queue=[])};batch=t=>{this.batching=!0,t(),this.batching=!1,this.#t()}}
|
|
22
23
|
/**
|
|
23
24
|
* form-core
|
|
24
25
|
*
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
* LICENSE.md file in the root directory of this source tree.
|
|
29
30
|
*
|
|
30
31
|
* @license MIT
|
|
31
|
-
*/function
|
|
32
|
+
*/function r(t,e){return"function"==typeof t?t(e):t}function u(t,e){if(!e)throw new Error("A path string is required to use getBy");return p(e).reduce(((t,e)=>{if(void 0!==t)return t[e]}),t)}function h(t,e,i){const s=p(e);return function t(e){if(!s.length)return r(i,e);const a=s.shift();if("string"==typeof a)return"object"==typeof e?{...e,[a]:t(e[a])}:{[a]:t()};if("number"==typeof a){if(Array.isArray(e)){const i=e.slice(0,a);return[...i.length?i:new Array(a),t(e[a]),...e.slice(a+1)]}return[...new Array(a),t()]}throw new Error("Uh oh!")}(t)}const d=/^(\d*)$/gm,c=/\.(\d*)\./gm,f=/^(\d*)\./gm,m=/\.(\d*$)/gm,v=/\.{2,}/gm;function p(t){return t.replace("[",".").replace("]","").replace(d,"__int__$1").replace(c,".__int__$1.").replace(f,"__int__$1.").replace(m,".__int__$1").replace(v,".").split(".").map((t=>0===t.indexOf("__int__")?parseInt(t.substring("__int__".length),10):t))}function g(t){return{values:{},fieldMeta:{},canSubmit:!0,isFieldsValid:!1,isFieldsValidating:!1,isFormValid:!1,isFormValidating:!1,isSubmitted:!1,isSubmitting:!1,isTouched:!1,isValid:!1,isValidating:!1,submissionAttempts:0,formValidationCount:0,...t}}class b{constructor(t){var e,i;this.options={},this.fieldInfo={},this.validationMeta={},this.update=t=>{this.store.batch((()=>{t.defaultState&&t.defaultState!==this.options.defaultState&&this.store.setState((e=>({...e,...t.defaultState}))),t.defaultValues!==this.options.defaultValues&&this.store.setState((e=>({...e,values:t.defaultValues})))})),this.options=t},this.reset=()=>this.store.setState((()=>g(this.options.defaultValues))),this.validateAllFields=async()=>{const t=[];return this.store.batch((()=>{Object.values(this.fieldInfo).forEach((e=>{Object.values(e.instances).forEach((e=>{e.state.meta.isTouched||(e.setMeta((t=>({...t,isTouched:!0}))),e.options.validate&&t.push(e.validate()))}))}))})),Promise.all(t)},this.validateForm=async()=>{const{validate:t}=this.options;if(!t)return;this.store.setState((t=>({...t,isValidating:!0,formValidationCount:t.formValidationCount+1})));const e=this.state.formValidationCount,i=()=>e===this.state.formValidationCount;this.validationMeta.validationPromise||(this.validationMeta.validationPromise=new Promise(((t,e)=>{this.validationMeta.validationResolve=t,this.validationMeta.validationReject=e})));return(async()=>{try{const a=await t(this.state.values,this);var e,s;if(i())this.store.setState((t=>({...t,isValidating:!1,error:a?"string"==typeof a?a:"Invalid Form Values":null}))),null==(e=(s=this.validationMeta).validationResolve)||e.call(s,a)}catch(t){var a,n;if(i())null==(a=(n=this.validationMeta).validationReject)||a.call(n,t)}finally{delete this.validationMeta.validationPromise}})(),this.validationMeta.validationPromise},this.handleSubmit=async t=>{if(t.preventDefault(),t.stopPropagation(),this.store.setState((t=>({...t,isSubmitted:!1,submissionAttempts:t.submissionAttempts+1}))),!this.state.canSubmit)return;this.store.setState((t=>({...t,isSubmitting:!0})));const e=()=>{this.store.setState((t=>({...t,isSubmitting:!1})))};var i,s,a,n;if(await this.validateAllFields(),!this.state.isFieldsValid)return e(),void(null==(i=(s=this.options).onInvalidSubmit)||i.call(s,this.state.values,this));if(await this.validateForm(),!this.state.isValid)return e(),void(null==(a=(n=this.options).onInvalidSubmit)||a.call(n,this.state.values,this));try{var o,l;await(null==(o=(l=this.options).onSubmit)?void 0:o.call(l,this.state.values,this)),this.store.batch((()=>{this.store.setState((t=>({...t,isSubmitted:!0}))),e()}))}catch(t){throw e(),t}},this.getFieldValue=t=>u(this.state.values,t),this.getFieldMeta=t=>this.state.fieldMeta[t],this.getFieldInfo=t=>{var e;return(e=this.fieldInfo)[t]||(e[t]={instances:{}})},this.setFieldMeta=(t,e)=>{this.store.setState((i=>({...i,fieldMeta:{...i.fieldMeta,[t]:r(e,i.fieldMeta[t])}})))},this.setFieldValue=(t,e,i)=>{var s;const a=null==(s=null==i?void 0:i.touch)||s;this.store.batch((()=>{this.store.setState((i=>({...i,values:h(i.values,t,e)}))),a&&this.setFieldMeta(t,(t=>({...t,isTouched:!0})))}))},this.pushFieldValue=(t,e,i)=>this.setFieldValue(t,(t=>[...Array.isArray(t)?t:[],e]),i),this.insertFieldValue=(t,e,i,s)=>{this.setFieldValue(t,(t=>t.map(((t,s)=>s===e?i:t))),s)},this.spliceFieldValue=(t,e,i)=>{this.setFieldValue(t,(t=>t.filter(((t,i)=>i!==e))),i)},this.swapFieldValues=(t,e,i)=>{this.setFieldValue(t,(t=>{const s=t[e],a=t[i];return h(h(t,[e],a),[i],s)}))},this.store=new l(g({...null==t?void 0:t.defaultState,values:null!=(e=null==t?void 0:t.defaultValues)?e:null==t||null==(i=t.defaultState)?void 0:i.values,isFormValid:!(null!=t&&t.validate)}),{onUpdate:t=>{const e=Object.values(t.fieldMeta),i=e.some((t=>null==t?void 0:t.isValidating)),s=!e.some((t=>null==t?void 0:t.error)),a=e.some((t=>null==t?void 0:t.isTouched)),n=i||t.isFormValidating,o=!t.formError,l=s&&o,r=0===t.submissionAttempts&&!a||!n&&!t.isSubmitting&&l;t={...t,isFieldsValidating:i,isFieldsValid:s,isFormValid:o,isValid:l,canSubmit:r,isTouched:a},this.store.state=t,this.state=t}}),this.state=this.store.state,this.update(t||{})}}var y=0;function V(t){return"__private_"+y+++"_"+t}function F(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}let S=0;var w=V("updateStore"),M=V("leaseValidateAsync");class O{constructor(t){var e;this.options={},this.mount=()=>{const t=this.getInfo();t.instances[this.uid]=this;const e=this.form.store.subscribe((()=>{F(this,w)[w]()}));return()=>{e(),delete t.instances[this.uid],Object.keys(t.instances).length||delete this.form.fieldInfo[this.name]}},Object.defineProperty(this,w,{writable:!0,value:()=>{this.store.batch((()=>{const t=this.getValue(),e=this.getMeta();t!==this.state.value&&this.store.setState((e=>({...e,value:t}))),e!==this.state.meta&&this.store.setState((t=>({...t,meta:e})))}))}}),this.update=t=>{var e,i,s,a;this.options={validatePristine:null!=(e=this.form.options.defaultValidatePristine)&&e,validateOn:null!=(i=this.form.options.defaultValidateOn)?i:"change",validateAsyncOn:null!=(s=this.form.options.defaultValidateAsyncOn)?s:"blur",validateAsyncDebounceMs:null!=(a=this.form.options.defaultValidateAsyncDebounceMs)?a:0,...t},void 0===this.state.value&&void 0!==this.options.defaultValue&&this.setValue(this.options.defaultValue),void 0===this.getMeta()&&this.setMeta(this.state.meta)},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(t,e)=>this.form.setFieldValue(this.name,t,e),this.getMeta=()=>this.form.getFieldMeta(this.name),this.setMeta=t=>this.form.setFieldMeta(this.name,t),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=t=>this.form.pushFieldValue(this.name,t),this.insertValue=(t,e)=>this.form.insertFieldValue(this.name,t,e),this.removeValue=t=>this.form.spliceFieldValue(this.name,t),this.swapValues=(t,e)=>this.form.swapFieldValues(this.name,t,e),this.getSubField=t=>new O({name:this.name+"."+t,form:this.form}),this.validateSync=async(t=this.state.value)=>{const{validate:e}=this.options;if(!e)return;const i=(this.getInfo().validationCount||0)+1;this.getInfo().validationCount=i;const s=j(e(t,this));this.state.meta.error!==s&&this.setMeta((t=>({...t,error:s}))),this.state.meta.error&&this.cancelValidateAsync()},Object.defineProperty(this,M,{writable:!0,value:()=>{const t=(this.getInfo().validationAsyncCount||0)+1;return this.getInfo().validationAsyncCount=t,t}}),this.cancelValidateAsync=()=>{F(this,M)[M](),this.setMeta((t=>({...t,isValidating:!1})))},this.validateAsync=async(t=this.state.value)=>{const{validateAsync:e,validateAsyncDebounceMs:i}=this.options;if(!e)return;!0!==this.state.meta.isValidating&&this.setMeta((t=>({...t,isValidating:!0})));const s=F(this,M)[M](),a=()=>s===this.getInfo().validationAsyncCount;if(this.getInfo().validationPromise||(this.getInfo().validationPromise=new Promise(((t,e)=>{this.getInfo().validationResolve=t,this.getInfo().validationReject=e}))),i>0&&await new Promise((t=>setTimeout(t,i))),a())try{const i=await e(t,this);if(a()){var n,o;const t=j(i);this.setMeta((e=>({...e,isValidating:!1,error:t}))),null==(n=(o=this.getInfo()).validationResolve)||n.call(o,t)}}catch(t){var l,r;if(a())throw null==(l=(r=this.getInfo()).validationReject)||l.call(r,t),t}finally{a()&&(this.setMeta((t=>({...t,isValidating:!1}))),delete this.getInfo().validationPromise)}return this.getInfo().validationPromise},this.shouldValidate=(t,e)=>{const{validateOn:i,validateAsyncOn:s}=this.options,a=function(t){return t?A[t]:3}(e);return Object.keys(A).some((e=>t?s:i===e&&a>=A[e]))},this.validate=async(t,e)=>{if(this.options.validatePristine||this.state.meta.isTouched)return this.shouldValidate(!1,t)&&this.validateSync(e),this.state.meta.error?this.state.meta.error:this.shouldValidate(!0,t)?this.validateAsync(e):void 0},this.getChangeProps=(t={})=>({...t,value:this.state.value,onChange:e=>{this.setValue(e),null==t.onChange||t.onChange(e)},onBlur:e=>{this.setMeta((t=>({...t,isTouched:!0}))),this.validate("blur"),null==t.onBlur||t.onBlur(e)}}),this.getInputProps=(t={})=>({...t,value:String(this.state.value),onChange:e=>{this.setValue(e.target.value),null==t.onChange||t.onChange(e.target.value)},onBlur:this.getChangeProps(t).onBlur}),this.form=t.form,this.uid=S++;let i="";this.form.fieldName&&(i=this.form.fieldName+"."),this.name=i+t.name,this.store=new l({value:this.getValue(),meta:null!=(e=this.getMeta())?e:{isValidating:!1,isTouched:!1,...this.options.defaultMeta}},{onUpdate:t=>{t.meta.touchedError=t.meta.isTouched?t.meta.error:void 0;const e=this.state;this.state=t,t.value!==e.value&&(console.log("change"),this.validate("change",t.value))}}),this.state=this.store.state,this.update(t)}}const A={change:0,blur:1,submit:2};function j(t){if(t)return"string"!=typeof t?"Invalid Form Values":t}function _(){return _=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t},_.apply(this,arguments)}
|
|
32
33
|
/**
|
|
33
34
|
* react-store
|
|
34
35
|
*
|
|
@@ -38,5 +39,5 @@
|
|
|
38
39
|
* LICENSE.md file in the root directory of this source tree.
|
|
39
40
|
*
|
|
40
41
|
* @license MIT
|
|
41
|
-
*/function
|
|
42
|
+
*/function P(t,i=(t=>t)){return e.useSyncExternalStoreWithSelector(t.subscribe,(()=>t.state),(()=>t.state),i,I)}function I(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return!1;const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!1;for(let s=0;s<i.length;s++)if(!Object.prototype.hasOwnProperty.call(e,i[s])||!Object.is(t[i[s]],e[i[s]]))return!1;return!0}const C=n.createContext(null);function E(t){return e=>T({...e,form:t})}function T(t){const e=function(t){const e=n.useContext(C);if(t)return t;if(!e)throw new Error("You are trying to use the form API outside of a form!");return e}(t.form),[i]=n.useState((()=>new O({...t,form:e})));return i.update({...t,form:e}),P(i.store),n.useEffect((()=>i.mount()),[i]),i}function R(t){return e=>n.createElement(x,_({},e,{form:t}))}function x({children:t,...e}){return r(t,T(e))}function B(t){return({children:e,noFormElement:i,...s})=>{const a=t.useStore((t=>t.isSubmitting));return o.default.createElement(C.Provider,{value:t},i?e:o.default.createElement("form",_({onSubmit:t.handleSubmit,disabled:a},s),t.options.debugForm?o.default.createElement("div",{style:{margin:"2rem 0"}},o.default.createElement("div",{style:{fontWeight:"bolder"}},"Form State"),o.default.createElement("pre",null,o.default.createElement("code",null,JSON.stringify(t,function(){const t=new Set;return(e,i)=>{if("object"==typeof i||Array.isArray(i)){if(t.has(i))return"(circular value)";t.add(i)}return"function"==typeof i?void 0:i}}(),2)))):null,e))}}t.Field=x,t.FieldApi=O,t.FormApi=b,t.createFieldComponent=R,t.createFormComponent=B,t.createUseField=E,t.functionalUpdate=r,t.getBy=u,t.getDefaultFormState=g,t.setBy=h,t.useField=T,t.useForm=function(t){const[e]=o.default.useState((()=>{const e=new b(t||{});return e.Form=B(e),e.Field=R(e),e.useField=E(e),e.useStore=t=>P(e.store,t),e.Subscribe=t=>r(t.children,P(e.store,t.selector)),e}));return e},Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
42
43
|
//# sourceMappingURL=index.production.js.map
|