2025-04-16 14:16:32 +08:00
|
|
|
import { createFormHook, createFormHookContexts } from '@tanstack/react-form'
|
2025-04-17 13:33:33 +08:00
|
|
|
import TextField from './components/field/text'
|
|
|
|
import NumberInputField from './components/field/number-input'
|
|
|
|
import CheckboxField from './components/field/checkbox'
|
|
|
|
import SelectField from './components/field/select'
|
2025-04-23 22:16:19 +08:00
|
|
|
import CustomSelectField from './components/field/custom-select'
|
2025-04-18 11:32:23 +08:00
|
|
|
import OptionsField from './components/field/options'
|
2025-04-25 18:13:52 +08:00
|
|
|
import Actions from './components/form/actions'
|
2025-04-26 22:43:51 +08:00
|
|
|
import InputTypeSelectField from './components/field/input-type-select'
|
|
|
|
import FileTypesField from './components/field/file-types'
|
|
|
|
import UploadMethodField from './components/field/upload-method'
|
|
|
|
import NumberSliderField from './components/field/number-slider'
|
2025-05-08 18:29:49 +08:00
|
|
|
import VariableOrConstantInputField from './components/field/variable-selector'
|
2025-04-25 18:13:52 +08:00
|
|
|
|
2025-04-16 14:16:32 +08:00
|
|
|
export const { fieldContext, useFieldContext, formContext, useFormContext }
|
|
|
|
= createFormHookContexts()
|
|
|
|
|
|
|
|
export const { useAppForm, withForm } = createFormHook({
|
|
|
|
fieldComponents: {
|
|
|
|
TextField,
|
2025-04-17 13:33:33 +08:00
|
|
|
NumberInputField,
|
2025-04-16 14:16:32 +08:00
|
|
|
CheckboxField,
|
|
|
|
SelectField,
|
2025-04-23 22:16:19 +08:00
|
|
|
CustomSelectField,
|
2025-04-18 11:32:23 +08:00
|
|
|
OptionsField,
|
2025-04-26 22:43:51 +08:00
|
|
|
InputTypeSelectField,
|
|
|
|
FileTypesField,
|
|
|
|
UploadMethodField,
|
|
|
|
NumberSliderField,
|
2025-05-08 18:29:49 +08:00
|
|
|
VariableOrConstantInputField,
|
2025-04-16 14:16:32 +08:00
|
|
|
},
|
|
|
|
formComponents: {
|
2025-04-25 18:13:52 +08:00
|
|
|
Actions,
|
2025-04-16 14:16:32 +08:00
|
|
|
},
|
|
|
|
fieldContext,
|
|
|
|
formContext,
|
|
|
|
})
|
2025-04-27 15:29:11 +08:00
|
|
|
|
|
|
|
export type FormType = ReturnType<typeof useFormContext>
|