You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.tsx 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { createFormHook, createFormHookContexts } from '@tanstack/react-form'
  2. import TextField from './components/field/text'
  3. import NumberInputField from './components/field/number-input'
  4. import CheckboxField from './components/field/checkbox'
  5. import SelectField from './components/field/select'
  6. import CustomSelectField from './components/field/custom-select'
  7. import OptionsField from './components/field/options'
  8. import Actions from './components/form/actions'
  9. import InputTypeSelectField from './components/field/input-type-select'
  10. import FileTypesField from './components/field/file-types'
  11. import UploadMethodField from './components/field/upload-method'
  12. import NumberSliderField from './components/field/number-slider'
  13. import VariableOrConstantInputField from './components/field/variable-selector'
  14. import TextAreaField from './components/field/text-area'
  15. import FileUploaderField from './components/field/file-uploader'
  16. export const { fieldContext, useFieldContext, formContext, useFormContext }
  17. = createFormHookContexts()
  18. export const { useAppForm, withForm } = createFormHook({
  19. fieldComponents: {
  20. TextField,
  21. TextAreaField,
  22. NumberInputField,
  23. CheckboxField,
  24. SelectField,
  25. CustomSelectField,
  26. OptionsField,
  27. InputTypeSelectField,
  28. FileTypesField,
  29. UploadMethodField,
  30. NumberSliderField,
  31. VariableOrConstantInputField,
  32. FileUploaderField,
  33. },
  34. formComponents: {
  35. Actions,
  36. },
  37. fieldContext,
  38. formContext,
  39. })
  40. export type FormType = ReturnType<typeof useFormContext>