@saas-ui/forms 3.0.0-alpha.9 → 3.0.0-next.0
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/CHANGELOG.md +85 -69
- package/dist/index.d.mts +117 -26
- package/dist/index.d.ts +117 -26
- package/dist/index.js +176 -113
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +141 -78
- package/dist/index.mjs.map +1 -1
- package/dist/yup/index.d.mts +4 -4
- package/dist/yup/index.d.ts +4 -4
- package/dist/yup/index.js +3 -3
- package/dist/yup/index.js.map +1 -1
- package/dist/yup/index.mjs.map +1 -1
- package/dist/zod/index.d.mts +2 -1
- package/dist/zod/index.d.ts +2 -1
- package/dist/zod/index.js +3 -3
- package/dist/zod/index.js.map +1 -1
- package/dist/zod/index.mjs.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
@@ -1,98 +1,114 @@
|
|
1
1
|
# @saas-ui/forms
|
2
2
|
|
3
|
-
## 3.0.0-
|
3
|
+
## 3.0.0-next.0
|
4
4
|
|
5
|
-
###
|
6
|
-
|
7
|
-
- Updated dependencies [f0f5ab0]
|
8
|
-
- @saas-ui/react@3.0.0-alpha.9
|
9
|
-
|
10
|
-
## 3.0.0-alpha.8
|
11
|
-
|
12
|
-
### Patch Changes
|
13
|
-
|
14
|
-
- Updated dependencies [64e680e]
|
15
|
-
- Updated dependencies [64e680e]
|
16
|
-
- @saas-ui/react@3.0.0-alpha.8
|
17
|
-
|
18
|
-
## 3.0.0-alpha.7
|
19
|
-
|
20
|
-
### Patch Changes
|
21
|
-
|
22
|
-
- Updated dependencies [8e760c5]
|
23
|
-
- @saas-ui/react@3.0.0-alpha.7
|
5
|
+
### Major Changes
|
24
6
|
|
25
|
-
|
7
|
+
- 78e70fb: New useForm hook that returns typed form components
|
8
|
+
- 550e5a6: Upgrade to Chakra v3
|
9
|
+
- b51aff9: BREAKING: getBaseField should now return props and Component
|
26
10
|
|
27
11
|
### Minor Changes
|
28
12
|
|
29
13
|
- 95c8652: Update to Chakra UI 3.2.1
|
14
|
+
- 6459de4: Removed src exports and files from packages
|
30
15
|
|
31
16
|
### Patch Changes
|
32
17
|
|
33
|
-
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
### Patch Changes
|
40
|
-
|
18
|
+
- 38082d4: Improved horizontal field styles
|
19
|
+
- b51aff9: Improved prop handling of base field
|
20
|
+
- cee2e9c: Removed chakra ui dependency of core package
|
21
|
+
- 56b0623: Update with upstream changes
|
22
|
+
- Updated dependencies [ba3b566]
|
41
23
|
- Updated dependencies [e9fec88]
|
24
|
+
- Updated dependencies [2285040]
|
25
|
+
- Updated dependencies [64e680e]
|
26
|
+
- Updated dependencies [53716c5]
|
27
|
+
- Updated dependencies [5115e8f]
|
28
|
+
- Updated dependencies [212a7e6]
|
29
|
+
- Updated dependencies [38082d4]
|
30
|
+
- Updated dependencies [8d8ffaa]
|
31
|
+
- Updated dependencies [c680574]
|
32
|
+
- Updated dependencies [c680574]
|
42
33
|
- Updated dependencies [f62c3d6]
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
34
|
+
- Updated dependencies [942e9a0]
|
35
|
+
- Updated dependencies [f85d493]
|
36
|
+
- Updated dependencies [8d8ffaa]
|
37
|
+
- Updated dependencies [a2ef175]
|
38
|
+
- Updated dependencies [eb02362]
|
39
|
+
- Updated dependencies [53716c5]
|
40
|
+
- Updated dependencies [205580d]
|
49
41
|
- Updated dependencies [7808a76]
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
-
|
42
|
+
- Updated dependencies [e7fe684]
|
43
|
+
- Updated dependencies [f85d493]
|
44
|
+
- Updated dependencies [c680574]
|
45
|
+
- Updated dependencies [c680574]
|
46
|
+
- Updated dependencies [b51aff9]
|
47
|
+
- Updated dependencies [212a7e6]
|
48
|
+
- Updated dependencies [550e5a6]
|
49
|
+
- Updated dependencies [ce8c247]
|
50
|
+
- Updated dependencies [19309d4]
|
51
|
+
- Updated dependencies [ce8c247]
|
52
|
+
- Updated dependencies [ce8c247]
|
53
|
+
- Updated dependencies [c680574]
|
54
|
+
- Updated dependencies [ba3b566]
|
55
|
+
- Updated dependencies [95c8652]
|
56
|
+
- Updated dependencies [6a8bf46]
|
57
|
+
- Updated dependencies [eb02362]
|
58
|
+
- Updated dependencies [ac2d80d]
|
59
|
+
- Updated dependencies [0067207]
|
60
|
+
- Updated dependencies [b51aff9]
|
57
61
|
- Updated dependencies [cee2e9c]
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
|
62
|
+
- Updated dependencies [205580d]
|
63
|
+
- Updated dependencies [ba3b566]
|
64
|
+
- Updated dependencies [8e760c5]
|
65
|
+
- Updated dependencies [56b0623]
|
66
|
+
- Updated dependencies [6a8bf46]
|
67
|
+
- Updated dependencies [15e093e]
|
68
|
+
- Updated dependencies [8d8ffaa]
|
69
|
+
- Updated dependencies [c680574]
|
70
|
+
- Updated dependencies [8ac704a]
|
71
|
+
- Updated dependencies [6f9f04d]
|
72
|
+
- Updated dependencies [eb02362]
|
69
73
|
- Updated dependencies [6459de4]
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
+
- Updated dependencies [56b0623]
|
75
|
+
- Updated dependencies [c51e12c]
|
76
|
+
- Updated dependencies [0067207]
|
77
|
+
- Updated dependencies [0f49a18]
|
78
|
+
- Updated dependencies [8d8ffaa]
|
79
|
+
- Updated dependencies [65fac53]
|
80
|
+
- Updated dependencies [61ce1b5]
|
81
|
+
- Updated dependencies [3a73bc8]
|
82
|
+
- Updated dependencies [9d47676]
|
83
|
+
- Updated dependencies [64e680e]
|
84
|
+
- Updated dependencies [2285040]
|
85
|
+
- Updated dependencies [ba3b566]
|
86
|
+
- Updated dependencies [8d8ffaa]
|
87
|
+
- Updated dependencies [f0f5ab0]
|
88
|
+
- Updated dependencies [19309d4]
|
89
|
+
- Updated dependencies [727b902]
|
90
|
+
- @saas-ui/react@3.0.0-next.0
|
91
|
+
- @saas-ui/core@3.0.0-next.0
|
74
92
|
|
75
|
-
|
93
|
+
## 2.11.0
|
76
94
|
|
77
|
-
|
95
|
+
### Minor Changes
|
78
96
|
|
79
|
-
|
97
|
+
- 091fd38: Exported additional types from `index.ts` to make them accessible for external use, improving type coverage and usability.
|
80
98
|
|
81
|
-
|
82
|
-
- @saas-ui/react@3.0.0-alpha.1
|
83
|
-
- @saas-ui/core@3.0.0-alpha.1
|
99
|
+
## 2.10.0
|
84
100
|
|
85
|
-
|
101
|
+
### Minor Changes
|
86
102
|
|
87
|
-
|
103
|
+
- eb53116: Added support for ZodEffects schema to Form
|
88
104
|
|
89
|
-
|
105
|
+
## 2.9.1
|
90
106
|
|
91
107
|
### Patch Changes
|
92
108
|
|
93
|
-
-
|
94
|
-
|
95
|
-
- @saas-ui/core@
|
109
|
+
- 862937a: Bump chakra version
|
110
|
+
- Updated dependencies [862937a]
|
111
|
+
- @saas-ui/core@2.8.1
|
96
112
|
|
97
113
|
## 2.9.0
|
98
114
|
|
package/dist/index.d.mts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
import * as React$1 from 'react';
|
2
2
|
import React__default, { ForwardRefRenderFunction, PropsWithoutRef } from 'react';
|
3
|
-
import {
|
3
|
+
import { SimpleGridProps, RecipeProps, InputProps, SystemStyleObject, TextareaProps, Field as Field$1, HTMLChakraProps, ButtonProps as ButtonProps$1 } from '@chakra-ui/react';
|
4
4
|
import { MaybeRenderProp } from '@saas-ui/core/utils';
|
5
5
|
import * as react_hook_form from 'react-hook-form';
|
6
|
-
import { FieldValues, FieldPath, UseFormReturn as UseFormReturn$
|
7
|
-
export { ArrayPath, BatchFieldArrayUpdate, BrowserNativeObject, ChangeHandler, Control, Controller, ControllerFieldState, ControllerProps, ControllerRenderProps, CriteriaMode, CustomElement, DeepMap, DeepPartial, DeepPartialSkipArrayKey, DeepRequired, DefaultValues, DelayCallback, EmptyObject, ErrorOption, EventType, ExtractObjects, FieldArray, FieldArrayMethodProps, FieldArrayPath, FieldArrayPathValue, FieldArrayWithId, Field as FieldDef, FieldElement, FieldError, FieldErrors, FieldErrorsImpl, FieldName, FieldNamesMarkedBoolean, FieldPath, FieldPathByValue, FieldPathValue, FieldPathValues, FieldRefs, FieldValue, FieldValues, FormProviderProps, FormState, FormStateProxy, FormStateSubjectRef, GetIsDirty, InternalFieldErrors, InternalFieldName, InternalNameSet, IsAny, IsFlatObject, KeepStateOptions, LiteralUnion, Message, Mode, MultipleFieldErrors, Names, NativeFieldValue, NestedValue, NonUndefined, Noop, Primitive, ReadFormState, Ref, RefCallBack, RegisterOptions, Resolver, ResolverError, ResolverOptions, ResolverResult, ResolverSuccess, SetFieldValue, SetValueConfig, Subjects, SubmitErrorHandler, SubmitHandler, TriggerConfig, UnpackNestedValue, UseControllerProps, UseControllerReturn, UseFieldArrayProps, UseFieldArrayReturn, UseFormClearErrors, UseFormGetValues, UseFormHandleSubmit,
|
6
|
+
import { FieldValues, FieldPath, UseFormReturn as UseFormReturn$2, UseFieldArrayReturn, UseFormProps as UseFormProps$1, WatchObserver, SubmitHandler, SubmitErrorHandler, ResolverOptions, ResolverResult, RegisterOptions, useForm as useForm$1, DefaultValues, FormProviderProps as FormProviderProps$1 } from 'react-hook-form';
|
7
|
+
export { ArrayPath, BatchFieldArrayUpdate, BrowserNativeObject, ChangeHandler, Control, Controller, ControllerFieldState, ControllerProps, ControllerRenderProps, CriteriaMode, CustomElement, DeepMap, DeepPartial, DeepPartialSkipArrayKey, DeepRequired, DefaultValues, DelayCallback, EmptyObject, ErrorOption, EventType, ExtractObjects, FieldArray, FieldArrayMethodProps, FieldArrayPath, FieldArrayPathValue, FieldArrayWithId, Field as FieldDef, FieldElement, FieldError, FieldErrors, FieldErrorsImpl, FieldName, FieldNamesMarkedBoolean, FieldPath, FieldPathByValue, FieldPathValue, FieldPathValues, FieldRefs, FieldValue, FieldValues, FormProviderProps, FormState, FormStateProxy, FormStateSubjectRef, GetIsDirty, InternalFieldErrors, InternalFieldName, InternalNameSet, IsAny, IsFlatObject, KeepStateOptions, LiteralUnion, Message, Mode, MultipleFieldErrors, Names, NativeFieldValue, NestedValue, NonUndefined, Noop, Primitive, ReadFormState, Ref, RefCallBack, RegisterOptions, Resolver, ResolverError, ResolverOptions, ResolverResult, ResolverSuccess, SetFieldValue, SetValueConfig, Subjects, SubmitErrorHandler, SubmitHandler, TriggerConfig, UnpackNestedValue, UseControllerProps, UseControllerReturn, UseFieldArrayProps, UseFieldArrayReturn, UseFormClearErrors, UseFormGetValues, UseFormHandleSubmit, UseFormRegister, UseFormRegisterReturn, UseFormReset, UseFormResetField, UseFormSetError, UseFormSetFocus, UseFormSetValue, UseFormStateProps, UseFormStateReturn, UseFormTrigger, UseFormUnregister, UseFormWatch, UseWatchProps, Validate, ValidateResult, ValidationMode, ValidationRule, ValidationValue, ValidationValueMessage, WatchInternal, WatchObserver, appendErrors, useController, useFieldArray, useFormState, useWatch } from 'react-hook-form';
|
8
8
|
import { CheckboxProps } from '@saas-ui/react/checkbox';
|
9
9
|
import { NumberInputProps } from '@saas-ui/react/number-input';
|
10
10
|
import { PasswordInputProps } from '@saas-ui/react/password-input';
|
@@ -13,19 +13,21 @@ import { RadioGroupProps } from '@saas-ui/react/radio';
|
|
13
13
|
import { Select } from '@saas-ui/react/select';
|
14
14
|
import { SwitchProps } from '@saas-ui/react/switch';
|
15
15
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
16
|
+
import { UseStepperReturn } from '@saas-ui/core';
|
16
17
|
import { ButtonProps } from '@saas-ui/react/button';
|
18
|
+
import { z } from 'zod';
|
17
19
|
|
18
20
|
interface FormLayoutOptions {
|
19
21
|
columns?: SimpleGridProps['columns'];
|
20
22
|
gap?: SimpleGridProps['gap'];
|
21
23
|
}
|
22
|
-
interface FormLayoutProps extends RecipeProps<'
|
24
|
+
interface FormLayoutProps extends RecipeProps<'suiFormLayout'>, SimpleGridProps {
|
23
25
|
}
|
24
26
|
/**
|
25
27
|
* Create consistent field spacing and positioning.
|
26
28
|
*
|
27
29
|
* Renders form items in a `SimpleGrid`
|
28
|
-
* @see https://chakra-ui.com/docs/
|
30
|
+
* @see https://chakra-ui.com/docs/components/simple-grid
|
29
31
|
*
|
30
32
|
* @see https://saas-ui.dev/docs/components/forms/form
|
31
33
|
*/
|
@@ -46,7 +48,10 @@ declare const TextareaField: React__default.FC<Omit<BaseFieldProps<react_hook_fo
|
|
46
48
|
interface SwitchFieldProps extends SwitchProps {
|
47
49
|
type: 'switch';
|
48
50
|
}
|
49
|
-
interface SelectFieldProps extends Omit<Select.RootProps<FieldOption>, 'collection'> {
|
51
|
+
interface SelectFieldProps<Multiple extends boolean = boolean> extends Omit<Select.RootProps<FieldOption>, 'collection' | 'value' | 'multiple' | 'onChange' | 'onValueChange'> {
|
52
|
+
multiple?: Multiple;
|
53
|
+
value?: Multiple extends true ? Array<string> : string;
|
54
|
+
onChange?: (value: Multiple extends true ? Array<string> : string) => void;
|
50
55
|
options: FieldOptions;
|
51
56
|
placeholder?: string;
|
52
57
|
triggerProps?: Select.TriggerProps;
|
@@ -80,7 +85,7 @@ declare const defaultFieldTypes: {
|
|
80
85
|
checkbox: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof CheckboxFieldProps> & CheckboxFieldProps>;
|
81
86
|
radio: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof RadioFieldProps> & RadioFieldProps>;
|
82
87
|
password: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof PasswordInputProps> & PasswordInputProps>;
|
83
|
-
select: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SelectFieldProps
|
88
|
+
select: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SelectFieldProps<boolean>> & SelectFieldProps<boolean>>;
|
84
89
|
switch: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SwitchFieldProps> & SwitchFieldProps>;
|
85
90
|
textarea: React__default.FC<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TextareaFieldProps> & TextareaFieldProps>;
|
86
91
|
};
|
@@ -92,8 +97,8 @@ interface DisplayIfProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
92
97
|
defaultValue?: unknown;
|
93
98
|
isDisabled?: boolean;
|
94
99
|
isExact?: boolean;
|
95
|
-
condition?: (value: unknown, context: UseFormReturn$
|
96
|
-
onToggle?: (conditionMatched: boolean, context: UseFormReturn$
|
100
|
+
condition?: (value: unknown, context: UseFormReturn$2<TFieldValues>) => boolean;
|
101
|
+
onToggle?: (conditionMatched: boolean, context: UseFormReturn$2<TFieldValues>) => void;
|
97
102
|
}
|
98
103
|
/**
|
99
104
|
* Conditionally render parts of a form.
|
@@ -101,7 +106,7 @@ interface DisplayIfProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
101
106
|
* @see Docs https://saas-ui.dev/docs/components/forms/form
|
102
107
|
*/
|
103
108
|
declare const DisplayIf: {
|
104
|
-
<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ children, name, defaultValue, isDisabled, isExact, condition, onToggle, }: DisplayIfProps<TFieldValues, TName>): React$1.ReactElement<
|
109
|
+
<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ children, name, defaultValue, isDisabled, isExact, condition, onToggle, }: DisplayIfProps<TFieldValues, TName>): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | null;
|
105
110
|
displayName: string;
|
106
111
|
};
|
107
112
|
|
@@ -212,7 +217,7 @@ declare const useArrayFieldAddButton: () => {
|
|
212
217
|
isDisabled: boolean;
|
213
218
|
};
|
214
219
|
|
215
|
-
interface FormRenderContext<TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TFieldTypes = FieldProps<TFieldValues>> extends UseFormReturn$
|
220
|
+
interface FormRenderContext<TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TFieldTypes = FieldProps<TFieldValues>> extends UseFormReturn$2<TFieldValues, TContext> {
|
216
221
|
Field: React__default.FC<TFieldTypes & React__default.RefAttributes<FocusableElement>>;
|
217
222
|
DisplayIf: React__default.FC<DisplayIfProps<TFieldValues>>;
|
218
223
|
ArrayField: React__default.FC<ArrayFieldProps<TFieldValues> & React__default.RefAttributes<UseArrayFieldReturn>>;
|
@@ -238,7 +243,7 @@ interface FormOptions<TSchema = unknown, TFieldValues extends FieldValues = Fiel
|
|
238
243
|
/**
|
239
244
|
* The Hook Form state ref.
|
240
245
|
*/
|
241
|
-
formRef?: React__default.Ref<UseFormReturn$
|
246
|
+
formRef?: React__default.Ref<UseFormReturn$2<TFieldValues, TContext>>;
|
242
247
|
/**
|
243
248
|
* The form children, can be a render prop or a ReactNode.
|
244
249
|
*/
|
@@ -252,7 +257,7 @@ interface FormOptions<TSchema = unknown, TFieldValues extends FieldValues = Fiel
|
|
252
257
|
*/
|
253
258
|
fields?: DefaultFieldOverrides;
|
254
259
|
}
|
255
|
-
interface FormProps<TSchema = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TExtraFieldProps extends object = object, TFieldTypes = FieldProps<TFieldValues, TExtraFieldProps>> extends UseFormProps<TFieldValues, TContext>, Omit<HTMLChakraProps<'form'>, 'children' | 'onChange' | 'onSubmit' | 'onError'>, FormOptions<TSchema, TFieldValues, TContext, TExtraFieldProps, TFieldTypes> {
|
260
|
+
interface FormProps$1<TSchema = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TExtraFieldProps extends object = object, TFieldTypes = FieldProps<TFieldValues, TExtraFieldProps>> extends UseFormProps$1<TFieldValues, TContext>, Omit<HTMLChakraProps<'form'>, 'children' | 'onChange' | 'onSubmit' | 'onError'>, FormOptions<TSchema, TFieldValues, TContext, TExtraFieldProps, TFieldTypes> {
|
256
261
|
}
|
257
262
|
/**
|
258
263
|
* The wrapper component provides context, state, and focus management.
|
@@ -260,12 +265,63 @@ interface FormProps<TSchema = unknown, TFieldValues extends FieldValues = FieldV
|
|
260
265
|
* @see Docs https://saas-ui.dev/docs/components/forms/form
|
261
266
|
*/
|
262
267
|
declare const Form$1: FormComponent;
|
263
|
-
type FormComponent = (<TSchema = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TExtraFieldProps extends object = object, TFieldTypes = FieldProps<TFieldValues>>(props: FormProps<TSchema, TFieldValues, TContext, TExtraFieldProps, TFieldTypes> & {
|
268
|
+
type FormComponent = (<TSchema = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TExtraFieldProps extends object = object, TFieldTypes = FieldProps<TFieldValues>>(props: FormProps$1<TSchema, TFieldValues, TContext, TExtraFieldProps, TFieldTypes> & {
|
264
269
|
ref?: React__default.ForwardedRef<HTMLFormElement>;
|
265
270
|
}) => React__default.ReactElement) & {
|
266
271
|
displayName?: string;
|
267
272
|
};
|
268
|
-
type GetResolver = <TFieldValues extends FieldValues, TContext extends object>(schema: unknown) => (values: TFieldValues, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>>;
|
273
|
+
type GetResolver = <TFieldValues extends FieldValues, TContext extends object>(schema: unknown) => (values: TFieldValues, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => ResolverResult<TFieldValues> | Promise<ResolverResult<TFieldValues>>;
|
274
|
+
|
275
|
+
type FormStepSubmitHandler<TFieldValues extends FieldValues = FieldValues> = (data: TFieldValues, stepper: UseStepperReturn) => Promise<void>;
|
276
|
+
type StepName<T extends {
|
277
|
+
[k: number]: {
|
278
|
+
readonly name: string;
|
279
|
+
};
|
280
|
+
}> = T[number]['name'];
|
281
|
+
interface StepFormRenderContext<TSteps extends StepsOptions<any> = StepsOptions<any>, TFieldValues extends FieldValues = FieldValues, TContext extends object = object, TFieldTypes = FieldProps<TFieldValues>> extends UseStepFormReturn<TFieldValues> {
|
282
|
+
Field: React$1.FC<TFieldTypes & React$1.RefAttributes<FocusableElement>>;
|
283
|
+
FormStep: React$1.FC<FormStepProps<StepName<TSteps>>>;
|
284
|
+
DisplayIf: React$1.FC<DisplayIfProps<TFieldValues>>;
|
285
|
+
ArrayField: React$1.FC<ArrayFieldProps<TFieldValues> & React$1.RefAttributes<UseArrayFieldReturn>>;
|
286
|
+
ObjectField: React$1.FC<ObjectFieldProps<TFieldValues>>;
|
287
|
+
}
|
288
|
+
interface UseStepFormReturn<TFieldValues extends FieldValues = FieldValues> extends UseStepperReturn {
|
289
|
+
getFormProps(): {
|
290
|
+
onSubmit: SubmitHandler<TFieldValues>;
|
291
|
+
schema?: any;
|
292
|
+
resolver?: any;
|
293
|
+
};
|
294
|
+
updateStep(step: any): void;
|
295
|
+
steps: Record<string, any>;
|
296
|
+
}
|
297
|
+
|
298
|
+
type StepsOptions<TSchema, TName extends string = string> = {
|
299
|
+
/**
|
300
|
+
* The step name
|
301
|
+
*/
|
302
|
+
name: TName;
|
303
|
+
/**
|
304
|
+
* Schema
|
305
|
+
*/
|
306
|
+
schema?: TSchema;
|
307
|
+
}[];
|
308
|
+
interface FormStepOptions<TName extends string = string> {
|
309
|
+
/**
|
310
|
+
* The step name
|
311
|
+
*/
|
312
|
+
name: TName;
|
313
|
+
/**
|
314
|
+
* Schema
|
315
|
+
*/
|
316
|
+
schema?: any;
|
317
|
+
/**
|
318
|
+
* Hook Form Resolver
|
319
|
+
*/
|
320
|
+
resolver?: any;
|
321
|
+
}
|
322
|
+
interface FormStepProps<TName extends string = string> extends FormStepOptions<TName>, Omit<HTMLChakraProps<'div'>, 'onSubmit'> {
|
323
|
+
onSubmit?: FormStepSubmitHandler;
|
324
|
+
}
|
269
325
|
|
270
326
|
interface SubmitButtonProps extends ButtonProps {
|
271
327
|
/**
|
@@ -336,8 +392,14 @@ interface BaseFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
336
392
|
children?: React.ReactNode;
|
337
393
|
}
|
338
394
|
type GetBaseField<TProps extends object = object> = () => {
|
339
|
-
|
340
|
-
|
395
|
+
/**
|
396
|
+
* Extra props to pass to the component
|
397
|
+
*/
|
398
|
+
props: Array<Extract<keyof TProps, string>>;
|
399
|
+
/**
|
400
|
+
* The component to render
|
401
|
+
*/
|
402
|
+
Component: React.FC<Omit<BaseFieldProps, 'name'> & {
|
341
403
|
name: string;
|
342
404
|
children: React.ReactNode;
|
343
405
|
} & TProps>;
|
@@ -368,12 +430,13 @@ type FieldOverrides<FieldDefs, TFieldValues extends FieldValues = FieldValues, T
|
|
368
430
|
type?: 'array';
|
369
431
|
} & Omit<ArrayFieldProps<TFieldValues>, 'name' | 'children'>);
|
370
432
|
};
|
371
|
-
type WithFields<TFormProps extends FormProps<any, any, any, any, any>, FieldDefs, ExtraOverrides = object> = TFormProps extends FormProps<infer _TSchema, infer TFieldValues, infer TContext, infer TExtraFieldProps> ? Omit<TFormProps, 'children' | 'fields'> & {
|
433
|
+
type WithFields<TFormProps extends FormProps$1<any, any, any, any, any>, FieldDefs, ExtraOverrides = object> = TFormProps extends FormProps$1<infer _TSchema, infer TFieldValues, infer TContext, infer TExtraFieldProps> ? Omit<TFormProps, 'children' | 'fields'> & {
|
372
434
|
children?: FormChildren<FieldDefs, TFieldValues, TContext, TExtraFieldProps>;
|
373
435
|
fields?: FieldOverrides<FieldDefs, TFieldValues> & {
|
374
436
|
submit?: SubmitButtonProps;
|
375
437
|
} & ExtraOverrides;
|
376
438
|
} : never;
|
439
|
+
type StepFormChildren<FieldDefs, TSteps extends StepsOptions<any> = StepsOptions<any>, TFieldValues extends FieldValues = FieldValues, TContext extends object = object> = MaybeRenderProp<StepFormRenderContext<TSteps, TFieldValues, TContext, MergeFieldProps<FieldDefs extends never ? DefaultFields : ShallowMerge<DefaultFields, FieldDefs>, TFieldValues>>>;
|
377
440
|
|
378
441
|
interface ArrayFieldButtonProps extends ButtonProps$1 {
|
379
442
|
}
|
@@ -483,7 +546,7 @@ interface CreateFormProps<FieldDefs, TGetBaseField extends GetBaseField = GetBas
|
|
483
546
|
fields?: FieldDefs extends Record<string, React__default.FC<any>> ? FieldDefs : never;
|
484
547
|
getBaseField?: TGetBaseField;
|
485
548
|
}
|
486
|
-
type FormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = object, ExtraOverrides = object> = (<TSchema = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object>(props: WithFields<FormProps<TSchema, TFieldValues, TContext, ExtraFieldProps>, FieldDefs, ExtraOverrides> & {
|
549
|
+
type FormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = object, ExtraOverrides = object> = (<TSchema = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object>(props: WithFields<FormProps$1<TSchema, TFieldValues, TContext, ExtraFieldProps>, FieldDefs, ExtraOverrides> & {
|
487
550
|
ref?: React__default.ForwardedRef<HTMLFormElement>;
|
488
551
|
} & ExtraProps) => React__default.ReactElement) & {
|
489
552
|
displayName?: string;
|
@@ -491,6 +554,30 @@ type FormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = o
|
|
491
554
|
};
|
492
555
|
declare function createForm<FieldDefs, TGetBaseField extends GetBaseField<any> = GetBaseField<any>>({ resolver, fieldResolver, fields, getBaseField, }?: CreateFormProps<FieldDefs, TGetBaseField>): FormType<FieldDefs, object, TGetBaseField extends GetBaseField<infer ExtraFieldProps extends object> ? ExtraFieldProps : object, object>;
|
493
556
|
|
557
|
+
interface UseFormProps<TFieldValues extends FieldValues, TContext extends object> extends UseFormProps$1<TFieldValues, TContext> {
|
558
|
+
}
|
559
|
+
interface UseFormReturn$1<TFieldValues extends FieldValues, TContext extends object> extends UseFormReturn$2<TFieldValues, TContext> {
|
560
|
+
Form: React.FC<Omit<FormProps<TFieldValues, TContext>, 'form'>>;
|
561
|
+
Field: React.FC<FieldProps<TFieldValues>>;
|
562
|
+
DisplayIf: React.FC<DisplayIfProps<TFieldValues>>;
|
563
|
+
ArrayField: React.FC<ArrayFieldProps<TFieldValues> & React.RefAttributes<UseArrayFieldReturn>>;
|
564
|
+
ObjectField: React.FC<ObjectFieldProps<TFieldValues>>;
|
565
|
+
}
|
566
|
+
declare function useForm<TFieldValues extends FieldValues, TContext extends object>(props?: UseFormProps<TFieldValues, TContext>): UseFormReturn$1<TFieldValues, TContext>;
|
567
|
+
interface FormProps<TFieldValues extends FieldValues = FieldValues, TContext extends object = object> extends HTMLChakraProps<'form'> {
|
568
|
+
children: React.ReactNode;
|
569
|
+
form: ReturnType<typeof useForm$1<TFieldValues, TContext>>;
|
570
|
+
onSubmit: (data: any) => void;
|
571
|
+
onError?: (errors: any) => void;
|
572
|
+
}
|
573
|
+
interface UseZodFormProps<TSchema extends z.AnyZodObject | z.ZodEffects<z.AnyZodObject> = z.AnyZodObject, TFieldValues extends InferObjectSchema<TSchema> = InferObjectSchema<TSchema>, TContext extends object = object> extends Omit<UseFormProps$1<TFieldValues, TContext>, 'defaultValues'> {
|
574
|
+
schema: TSchema;
|
575
|
+
defaultValues?: DefaultValues<InferObjectSchema<TSchema>> | AsyncDefaultValues<InferObjectSchema<TSchema>>;
|
576
|
+
}
|
577
|
+
declare function useZodForm<TSchema extends z.AnyZodObject | z.ZodEffects<z.AnyZodObject> = z.AnyZodObject, TFieldValues extends InferObjectSchema<TSchema> = InferObjectSchema<TSchema>, TContext extends object = object>(props: UseZodFormProps<TSchema, TFieldValues, TContext>): UseFormReturn$1<InferObjectSchema<TSchema>, TContext>;
|
578
|
+
type InferObjectSchema<T extends z.ZodTypeAny | z.ZodEffects<z.ZodTypeAny>> = T extends z.ZodEffects<infer TSchema> ? z.infer<TSchema> : z.infer<T>;
|
579
|
+
type AsyncDefaultValues<TFieldValues> = (payload?: unknown) => Promise<TFieldValues>;
|
580
|
+
|
494
581
|
interface DisplayFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> extends Omit<Field$1.RootProps, 'type' | 'onChange' | 'defaultValue'> {
|
495
582
|
name: TName | ArrayFieldPath<TName>;
|
496
583
|
label?: string;
|
@@ -529,9 +616,9 @@ interface FieldsProps<TSchema = any> {
|
|
529
616
|
}
|
530
617
|
declare const AutoFields: React$1.FC<FieldsProps>;
|
531
618
|
|
532
|
-
interface FieldsContextValue {
|
533
|
-
fields: Record<string, React__default.FC<
|
534
|
-
getBaseField?: GetBaseField<
|
619
|
+
interface FieldsContextValue<TFields = any, TBaseFieldProps extends object = object> {
|
620
|
+
fields: Record<string, React__default.FC<TFields>>;
|
621
|
+
getBaseField?: GetBaseField<TBaseFieldProps>;
|
535
622
|
}
|
536
623
|
declare const FieldsProvider: React__default.FC<{
|
537
624
|
value: FieldsContextValue;
|
@@ -578,20 +665,24 @@ interface WatchFieldProps<Value = unknown, TFieldValues extends FieldValues = Fi
|
|
578
665
|
isExact?: boolean;
|
579
666
|
children: (value: Value, form: UseFormReturn<TFieldValues, TContext>) => React.ReactElement | void;
|
580
667
|
}
|
581
|
-
declare const WatchField: <Value = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object>(props: WatchFieldProps<Value, TFieldValues, TContext>) => React$1.ReactElement<
|
668
|
+
declare const WatchField: <Value = unknown, TFieldValues extends FieldValues = FieldValues, TContext extends object = object>(props: WatchFieldProps<Value, TFieldValues, TContext>) => React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | null;
|
582
669
|
|
583
670
|
declare const useBaseField: (props: BaseFieldProps) => {
|
584
|
-
|
671
|
+
rootProps: Omit<BaseFieldProps<react_hook_form.FieldValues, string>, "name" | "label" | "hideLabel" | "help" | "rules" | "type" | "placeholder" | "children">;
|
585
672
|
error: any;
|
586
673
|
touched: any;
|
587
674
|
name: string;
|
588
675
|
label?: string | undefined;
|
589
676
|
hideLabel?: boolean | undefined;
|
590
677
|
help?: string | undefined;
|
678
|
+
rules?: Omit<react_hook_form.RegisterOptions<react_hook_form.FieldValues, string>, "disabled" | "setValueAs" | "valueAsNumber" | "valueAsDate"> | undefined;
|
679
|
+
type?: string | undefined;
|
680
|
+
placeholder?: string | undefined;
|
681
|
+
children?: React$1.ReactNode;
|
591
682
|
};
|
592
683
|
/**
|
593
684
|
* The default BaseField component
|
594
|
-
* Composes the Chakra UI
|
685
|
+
* Composes the Chakra UI Field component, with Label, HelperText and ErrorText.
|
595
686
|
*/
|
596
687
|
declare const BaseField: React$1.FC<BaseFieldProps>;
|
597
688
|
|
@@ -625,4 +716,4 @@ declare const createField: <TType = unknown, TProps extends object = object>(com
|
|
625
716
|
*/
|
626
717
|
declare const Form: FormType<unknown, object, any, object>;
|
627
718
|
|
628
|
-
export { ArrayField, ArrayFieldAddButton, type ArrayFieldButtonProps, ArrayFieldContainer, type ArrayFieldContainerProps, type ArrayFieldOptions, type ArrayFieldProps, ArrayFieldProvider, ArrayFieldRemoveButton, ArrayFieldRow, ArrayFieldRowContainer, ArrayFieldRowFields, type ArrayFieldRowFieldsProps, ArrayFieldRowProvider, ArrayFieldRows, type ArrayFieldRowsProps, AutoFields, BaseField, type BaseFieldProps, Form$1 as BaseForm, type CreateFieldOptions, type CreateFormProps, type DefaultFieldOverrides, type DefaultFields, DisplayField, type DisplayFieldProps, DisplayIf, type DisplayIfProps, Field, type FieldOptions, type FieldProps, type FieldResolver, type FieldRules, type FieldsProps, FieldsProvider, Form, type FormComponent, FormLayout, type FormLayoutProps, FormLegend, type FormProps, FormProvider, type FormRenderContext, type FormType, FormValue, type GetBaseField, type GetFieldResolver, InputField, type InputFieldProps, ObjectField, type ObjectFieldProps, type ObjectSchema, SubmitButton, type SubmitButtonProps, TextareaField, type TextareaFieldProps, type UseArrayFieldReturn, type UseArrayFieldRowProps, type UseArrayFieldRowReturn, WatchField, type WatchFieldProps, type WithFields, createField, createForm, defaultFieldTypes, objectFieldResolver, useArrayField, useArrayFieldAddButton, useArrayFieldContext, useArrayFieldRemoveButton, useArrayFieldRow, useArrayFieldRowContext, useBaseField, useField, useFormContext };
|
719
|
+
export { ArrayField, ArrayFieldAddButton, type ArrayFieldButtonProps, ArrayFieldContainer, type ArrayFieldContainerProps, type ArrayFieldOptions, type ArrayFieldPath, type ArrayFieldProps, ArrayFieldProvider, ArrayFieldRemoveButton, ArrayFieldRow, ArrayFieldRowContainer, ArrayFieldRowFields, type ArrayFieldRowFieldsProps, ArrayFieldRowProvider, ArrayFieldRows, type ArrayFieldRowsProps, AutoFields, BaseField, type BaseFieldProps, Form$1 as BaseForm, type CreateFieldOptions, type CreateFormProps, type DefaultFieldOverrides, type DefaultFields, DisplayField, type DisplayFieldProps, DisplayIf, type DisplayIfProps, Field, type FieldOption, type FieldOptions, type FieldOverrides, type FieldProps, type FieldResolver, type FieldRules, type FieldsProps, FieldsProvider, Form, type FormChildren, type FormComponent, FormLayout, type FormLayoutProps, FormLegend, type FormProps$1 as FormProps, FormProvider, type FormRenderContext, type FormType, FormValue, type GetBaseField, type GetFieldResolver, InputField, type InputFieldProps, type MergeFieldProps, ObjectField, type ObjectFieldProps, type ObjectSchema, type ShallowMerge, type StepFormChildren, SubmitButton, type SubmitButtonProps, TextareaField, type TextareaFieldProps, type UseArrayFieldReturn, type UseArrayFieldRowProps, type UseArrayFieldRowReturn, type UseFormProps, type UseFormReturn$1 as UseFormReturn, type UseZodFormProps, type ValueOf, WatchField, type WatchFieldProps, type WithFields, createField, createForm, defaultFieldTypes, objectFieldResolver, useArrayField, useArrayFieldAddButton, useArrayFieldContext, useArrayFieldRemoveButton, useArrayFieldRow, useArrayFieldRowContext, useBaseField, useField, useForm, useFormContext, useZodForm };
|