@inertiajs/react 2.3.16 → 3.0.0-beta.1

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.
@@ -1,13 +1,11 @@
1
- import { ErrorValue, FormDataErrors, FormDataKeys, FormDataType, FormDataValues, Method, Progress, UrlMethodPair, UseFormSubmitArguments, UseFormSubmitOptions, UseFormTransformCallback, UseFormWithPrecognitionArguments } from '@inertiajs/core';
2
- import { NamedInputEvent, PrecognitionPath, ValidationConfig, Validator } from 'laravel-precognition';
3
- export type SetDataByObject<TForm> = (data: Partial<TForm>) => void;
4
- export type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void;
5
- export type SetDataByKeyValuePair<TForm> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void;
6
- export type SetDataAction<TForm extends Record<any, any>> = SetDataByObject<TForm> & SetDataByMethod<TForm> & SetDataByKeyValuePair<TForm>;
1
+ import { ErrorValue, FormDataErrors, FormDataKeys, FormDataType, FormDataValues, Method, OptimisticCallback, Progress, UrlMethodPair, UseFormSubmitArguments, UseFormSubmitOptions, UseFormTransformCallback, UseFormWithPrecognitionArguments } from '@inertiajs/core';
2
+ import type { NamedInputEvent, PrecognitionPath, ValidationConfig, Validator } from 'laravel-precognition';
3
+ import { SetDataAction, SetDataByKeyValuePair, SetDataByMethod, SetDataByObject } from './useFormState';
4
+ export { SetDataAction, SetDataByKeyValuePair, SetDataByMethod, SetDataByObject };
7
5
  type PrecognitionValidationConfig<TKeys> = ValidationConfig & {
8
6
  only?: TKeys[] | Iterable<TKeys> | ArrayLike<TKeys>;
9
7
  };
10
- export interface InertiaFormProps<TForm extends object> {
8
+ export interface InertiaFormProps<TForm extends Record<string, any>> {
11
9
  data: TForm;
12
10
  isDirty: boolean;
13
11
  errors: FormDataErrors<TForm>;
@@ -32,15 +30,16 @@ export interface InertiaFormProps<TForm extends object> {
32
30
  };
33
31
  submit: (...args: UseFormSubmitArguments) => void;
34
32
  get: (url: string, options?: UseFormSubmitOptions) => void;
35
- patch: (url: string, options?: UseFormSubmitOptions) => void;
36
33
  post: (url: string, options?: UseFormSubmitOptions) => void;
37
34
  put: (url: string, options?: UseFormSubmitOptions) => void;
35
+ patch: (url: string, options?: UseFormSubmitOptions) => void;
38
36
  delete: (url: string, options?: UseFormSubmitOptions) => void;
39
37
  cancel: () => void;
40
38
  dontRemember: <K extends FormDataKeys<TForm>>(...fields: K[]) => InertiaFormProps<TForm>;
39
+ optimistic: <TProps>(callback: OptimisticCallback<TProps>) => InertiaFormProps<TForm>;
41
40
  withPrecognition: (...args: UseFormWithPrecognitionArguments) => InertiaPrecognitiveFormProps<TForm>;
42
41
  }
43
- export interface InertiaFormValidationProps<TForm extends object> {
42
+ export interface InertiaFormValidationProps<TForm extends Record<string, any>> {
44
43
  invalid: <K extends FormDataKeys<TForm>>(field: K) => boolean;
45
44
  setValidationTimeout: (duration: number) => InertiaPrecognitiveFormProps<TForm>;
46
45
  touch: <K extends FormDataKeys<TForm>>(field: K | NamedInputEvent | Array<K>, ...fields: K[]) => InertiaPrecognitiveFormProps<TForm>;
@@ -55,11 +54,10 @@ export interface InertiaFormValidationProps<TForm extends object> {
55
54
  setErrors: (errors: FormDataErrors<TForm>) => InertiaPrecognitiveFormProps<TForm>;
56
55
  forgetError: <K extends FormDataKeys<TForm> | NamedInputEvent>(field: K) => InertiaPrecognitiveFormProps<TForm>;
57
56
  }
58
- export type InertiaForm<TForm extends object> = InertiaFormProps<TForm>;
59
- export type InertiaPrecognitiveFormProps<TForm extends object> = InertiaFormProps<TForm> & InertiaFormValidationProps<TForm>;
57
+ export type InertiaForm<TForm extends Record<string, any>> = InertiaFormProps<TForm>;
58
+ export type InertiaPrecognitiveFormProps<TForm extends Record<string, any>> = InertiaFormProps<TForm> & InertiaFormValidationProps<TForm>;
60
59
  export default function useForm<TForm extends FormDataType<TForm>>(method: Method | (() => Method), url: string | (() => string), data: TForm | (() => TForm)): InertiaPrecognitiveFormProps<TForm>;
61
60
  export default function useForm<TForm extends FormDataType<TForm>>(urlMethodPair: UrlMethodPair | (() => UrlMethodPair), data: TForm | (() => TForm)): InertiaPrecognitiveFormProps<TForm>;
62
61
  export default function useForm<TForm extends FormDataType<TForm>>(rememberKey: string, data: TForm | (() => TForm)): InertiaFormProps<TForm>;
63
62
  export default function useForm<TForm extends FormDataType<TForm>>(data: TForm | (() => TForm)): InertiaFormProps<TForm>;
64
63
  export default function useForm<TForm extends FormDataType<TForm>>(): InertiaFormProps<TForm>;
65
- export {};
@@ -0,0 +1,79 @@
1
+ import { ErrorValue, FormDataErrors, FormDataKeys, FormDataValues, Progress, UrlMethodPair, UseFormTransformCallback, UseFormWithPrecognitionArguments } from '@inertiajs/core';
2
+ import { NamedInputEvent, ValidationConfig, Validator } from 'laravel-precognition';
3
+ export type SetDataByObject<TForm> = (data: Partial<TForm>) => void;
4
+ export type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void;
5
+ export type SetDataByKeyValuePair<TForm> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void;
6
+ export type SetDataAction<TForm extends Record<any, any>> = SetDataByObject<TForm> & SetDataByMethod<TForm> & SetDataByKeyValuePair<TForm>;
7
+ type PrecognitionValidationConfig<TKeys> = ValidationConfig & {
8
+ only?: TKeys[] | Iterable<TKeys> | ArrayLike<TKeys>;
9
+ };
10
+ export interface FormStateProps<TForm extends object> {
11
+ data: TForm;
12
+ isDirty: boolean;
13
+ errors: FormDataErrors<TForm>;
14
+ hasErrors: boolean;
15
+ processing: boolean;
16
+ progress: Progress | null;
17
+ wasSuccessful: boolean;
18
+ recentlySuccessful: boolean;
19
+ setData: SetDataAction<TForm>;
20
+ transform: (callback: UseFormTransformCallback<TForm>) => void;
21
+ setDefaults: {
22
+ (): void;
23
+ <T extends FormDataKeys<TForm>>(field: T, value: FormDataValues<TForm, T>): void;
24
+ (fields: Partial<TForm>): void;
25
+ };
26
+ reset: <K extends FormDataKeys<TForm>>(...fields: K[]) => void;
27
+ clearErrors: <K extends FormDataKeys<TForm>>(...fields: K[]) => void;
28
+ resetAndClearErrors: <K extends FormDataKeys<TForm>>(...fields: K[]) => void;
29
+ setError: {
30
+ <K extends FormDataKeys<TForm>>(field: K, value: ErrorValue): void;
31
+ (errors: FormDataErrors<TForm>): void;
32
+ };
33
+ withPrecognition: (...args: UseFormWithPrecognitionArguments) => FormStateWithPrecognition<TForm>;
34
+ }
35
+ export interface FormStateValidationProps<TForm extends object> {
36
+ invalid: <K extends FormDataKeys<TForm>>(field: K) => boolean;
37
+ setValidationTimeout: (duration: number) => FormStateWithPrecognition<TForm>;
38
+ touch: <K extends FormDataKeys<TForm>>(field: K | NamedInputEvent | Array<K>, ...fields: K[]) => FormStateWithPrecognition<TForm>;
39
+ touched: <K extends FormDataKeys<TForm>>(field?: K) => boolean;
40
+ valid: <K extends FormDataKeys<TForm>>(field: K) => boolean;
41
+ validate: <K extends FormDataKeys<TForm>>(field?: K | NamedInputEvent | PrecognitionValidationConfig<K>, config?: PrecognitionValidationConfig<K>) => FormStateWithPrecognition<TForm>;
42
+ validateFiles: () => FormStateWithPrecognition<TForm>;
43
+ validating: boolean;
44
+ validator: () => Validator;
45
+ withAllErrors: () => FormStateWithPrecognition<TForm>;
46
+ withoutFileValidation: () => FormStateWithPrecognition<TForm>;
47
+ setErrors: (errors: FormDataErrors<TForm>) => FormStateWithPrecognition<TForm>;
48
+ forgetError: <K extends FormDataKeys<TForm> | NamedInputEvent>(field: K) => FormStateWithPrecognition<TForm>;
49
+ }
50
+ export type FormState<TForm extends object> = FormStateProps<TForm>;
51
+ export type FormStateWithPrecognition<TForm extends object> = FormStateProps<TForm> & FormStateValidationProps<TForm>;
52
+ export interface UseFormStateOptions<TForm extends object> {
53
+ data: TForm | (() => TForm);
54
+ precognitionEndpoint?: (() => UrlMethodPair) | null;
55
+ useDataState?: () => [TForm, React.Dispatch<React.SetStateAction<TForm>>];
56
+ useErrorsState?: () => [FormDataErrors<TForm>, React.Dispatch<React.SetStateAction<FormDataErrors<TForm>>>];
57
+ }
58
+ export interface UseFormStateReturn<TForm extends object> {
59
+ form: FormState<TForm>;
60
+ setDefaultsState: React.Dispatch<React.SetStateAction<TForm>>;
61
+ transformRef: React.MutableRefObject<UseFormTransformCallback<TForm>>;
62
+ precognitionEndpointRef: React.MutableRefObject<(() => UrlMethodPair) | null>;
63
+ dataRef: React.MutableRefObject<TForm>;
64
+ isMounted: React.MutableRefObject<boolean>;
65
+ setProcessing: React.Dispatch<React.SetStateAction<boolean>>;
66
+ setProgress: React.Dispatch<React.SetStateAction<Progress | null>>;
67
+ markAsSuccessful: () => void;
68
+ clearErrors: (...fields: string[]) => void;
69
+ setError: (fieldOrFields: FormDataKeys<TForm> | FormDataErrors<TForm>, maybeValue?: ErrorValue) => void;
70
+ defaultsCalledInOnSuccessRef: React.MutableRefObject<boolean>;
71
+ resetBeforeSubmit: () => void;
72
+ finishProcessing: () => void;
73
+ withAllErrors: {
74
+ enabled: () => boolean;
75
+ enable: () => void;
76
+ };
77
+ }
78
+ export default function useFormState<TForm extends object>(options: UseFormStateOptions<TForm>): UseFormStateReturn<TForm>;
79
+ export {};
@@ -0,0 +1,65 @@
1
+ import { ErrorValue, FormDataErrors, FormDataKeys, FormDataType, FormDataValues, Method, Progress, UrlMethodPair, UseFormTransformCallback, UseFormWithPrecognitionArguments, UseHttpSubmitArguments, UseHttpSubmitOptions } from '@inertiajs/core';
2
+ import { NamedInputEvent, ValidationConfig, Validator } from 'laravel-precognition';
3
+ import { SetDataAction } from './useFormState';
4
+ type PrecognitionValidationConfig<TKeys> = ValidationConfig & {
5
+ only?: TKeys[] | Iterable<TKeys> | ArrayLike<TKeys>;
6
+ };
7
+ export interface UseHttpProps<TForm extends object, TResponse = unknown> {
8
+ data: TForm;
9
+ isDirty: boolean;
10
+ errors: FormDataErrors<TForm>;
11
+ hasErrors: boolean;
12
+ processing: boolean;
13
+ progress: Progress | null;
14
+ wasSuccessful: boolean;
15
+ recentlySuccessful: boolean;
16
+ response: TResponse | null;
17
+ setData: SetDataAction<TForm>;
18
+ transform: (callback: UseFormTransformCallback<TForm>) => void;
19
+ setDefaults: {
20
+ (): void;
21
+ <T extends FormDataKeys<TForm>>(field: T, value: FormDataValues<TForm, T>): void;
22
+ (fields: Partial<TForm>): void;
23
+ };
24
+ reset: <K extends FormDataKeys<TForm>>(...fields: K[]) => void;
25
+ clearErrors: <K extends FormDataKeys<TForm>>(...fields: K[]) => void;
26
+ resetAndClearErrors: <K extends FormDataKeys<TForm>>(...fields: K[]) => void;
27
+ setError: {
28
+ <K extends FormDataKeys<TForm>>(field: K, value: ErrorValue): void;
29
+ (errors: FormDataErrors<TForm>): void;
30
+ };
31
+ submit: (...args: UseHttpSubmitArguments<TResponse, TForm>) => Promise<TResponse>;
32
+ get: (url: string, options?: UseHttpSubmitOptions<TResponse, TForm>) => Promise<TResponse>;
33
+ post: (url: string, options?: UseHttpSubmitOptions<TResponse, TForm>) => Promise<TResponse>;
34
+ put: (url: string, options?: UseHttpSubmitOptions<TResponse, TForm>) => Promise<TResponse>;
35
+ patch: (url: string, options?: UseHttpSubmitOptions<TResponse, TForm>) => Promise<TResponse>;
36
+ delete: (url: string, options?: UseHttpSubmitOptions<TResponse, TForm>) => Promise<TResponse>;
37
+ cancel: () => void;
38
+ dontRemember: <K extends FormDataKeys<TForm>>(...fields: K[]) => UseHttpProps<TForm, TResponse>;
39
+ optimistic: (callback: (currentData: TForm) => Partial<TForm>) => UseHttpProps<TForm, TResponse>;
40
+ withAllErrors: () => UseHttpProps<TForm, TResponse>;
41
+ withPrecognition: (...args: UseFormWithPrecognitionArguments) => UseHttpPrecognitiveProps<TForm, TResponse>;
42
+ }
43
+ export interface UseHttpValidationProps<TForm extends object, TResponse = unknown> {
44
+ invalid: <K extends FormDataKeys<TForm>>(field: K) => boolean;
45
+ setValidationTimeout: (duration: number) => UseHttpPrecognitiveProps<TForm, TResponse>;
46
+ touch: <K extends FormDataKeys<TForm>>(field: K | NamedInputEvent | Array<K>, ...fields: K[]) => UseHttpPrecognitiveProps<TForm, TResponse>;
47
+ touched: <K extends FormDataKeys<TForm>>(field?: K) => boolean;
48
+ valid: <K extends FormDataKeys<TForm>>(field: K) => boolean;
49
+ validate: <K extends FormDataKeys<TForm>>(field?: K | NamedInputEvent | PrecognitionValidationConfig<K>, config?: PrecognitionValidationConfig<K>) => UseHttpPrecognitiveProps<TForm, TResponse>;
50
+ validateFiles: () => UseHttpPrecognitiveProps<TForm, TResponse>;
51
+ validating: boolean;
52
+ validator: () => Validator;
53
+ withAllErrors: () => UseHttpPrecognitiveProps<TForm, TResponse>;
54
+ withoutFileValidation: () => UseHttpPrecognitiveProps<TForm, TResponse>;
55
+ setErrors: (errors: FormDataErrors<TForm>) => UseHttpPrecognitiveProps<TForm, TResponse>;
56
+ forgetError: <K extends FormDataKeys<TForm> | NamedInputEvent>(field: K) => UseHttpPrecognitiveProps<TForm, TResponse>;
57
+ }
58
+ export type UseHttp<TForm extends object, TResponse = unknown> = UseHttpProps<TForm, TResponse>;
59
+ export type UseHttpPrecognitiveProps<TForm extends object, TResponse = unknown> = UseHttpProps<TForm, TResponse> & UseHttpValidationProps<TForm, TResponse>;
60
+ export default function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(method: Method | (() => Method), url: string | (() => string), data: TForm | (() => TForm)): UseHttpPrecognitiveProps<TForm, TResponse>;
61
+ export default function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(urlMethodPair: UrlMethodPair | (() => UrlMethodPair), data: TForm | (() => TForm)): UseHttpPrecognitiveProps<TForm, TResponse>;
62
+ export default function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(rememberKey: string, data: TForm | (() => TForm)): UseHttp<TForm, TResponse>;
63
+ export default function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(data: TForm | (() => TForm)): UseHttp<TForm, TResponse>;
64
+ export default function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(): UseHttp<TForm, TResponse>;
65
+ export {};