@saas-ui/forms 3.0.0-next.5 → 3.0.0-next.50
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/LICENSE +21 -0
- package/dist/index.d.mts +62 -86
- package/dist/index.d.ts +62 -86
- package/dist/index.js +62 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -41
- package/dist/index.mjs.map +1 -1
- package/package.json +29 -45
- package/CHANGELOG.md +0 -1729
- package/dist/yup/index.d.mts +0 -38
- package/dist/yup/index.d.ts +0 -38
- package/dist/yup/index.js +0 -127
- package/dist/yup/index.js.map +0 -1
- package/dist/yup/index.mjs +0 -98
- package/dist/yup/index.mjs.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Eelco Wiersma
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.d.mts
CHANGED
|
@@ -4,7 +4,7 @@ import { SimpleGridProps, RecipeProps, InputProps, SystemStyleObject, TextareaPr
|
|
|
4
4
|
import { MaybeRenderProp } from '@saas-ui/core/utils';
|
|
5
5
|
import * as react_hook_form from 'react-hook-form';
|
|
6
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,
|
|
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, 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,8 +13,9 @@ import { RadioGroup } from '@saas-ui/react/radio-group';
|
|
|
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';
|
|
17
16
|
import { ButtonProps } from '@saas-ui/react/button';
|
|
17
|
+
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
18
|
+
export { StandardSchemaV1 } from '@standard-schema/spec';
|
|
18
19
|
import { z } from 'zod';
|
|
19
20
|
|
|
20
21
|
interface FormLayoutOptions {
|
|
@@ -38,13 +39,13 @@ interface InputFieldProps extends InputProps {
|
|
|
38
39
|
startElement?: React__default.ReactNode;
|
|
39
40
|
endElement?: React__default.ReactNode;
|
|
40
41
|
}
|
|
41
|
-
declare const InputField: React__default.
|
|
42
|
+
declare const InputField: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
42
43
|
interface NumberInputFieldProps extends NumberInputProps {
|
|
43
44
|
type: 'number';
|
|
44
45
|
}
|
|
45
46
|
interface TextareaFieldProps extends TextareaProps {
|
|
46
47
|
}
|
|
47
|
-
declare const TextareaField: React__default.
|
|
48
|
+
declare const TextareaField: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TextareaFieldProps> & TextareaFieldProps & React__default.RefAttributes<HTMLTextAreaElement>>;
|
|
48
49
|
interface SwitchFieldProps extends SwitchProps {
|
|
49
50
|
type: 'switch';
|
|
50
51
|
}
|
|
@@ -57,9 +58,10 @@ interface SelectFieldProps<Multiple extends boolean = boolean> extends Omit<Sele
|
|
|
57
58
|
triggerProps?: Select.TriggerProps;
|
|
58
59
|
contentProps?: Select.ContentProps;
|
|
59
60
|
}
|
|
60
|
-
interface CheckboxFieldProps extends CheckboxProps {
|
|
61
|
+
interface CheckboxFieldProps extends Omit<CheckboxProps, 'value'> {
|
|
61
62
|
type: 'checkbox';
|
|
62
63
|
label?: string;
|
|
64
|
+
value?: boolean;
|
|
63
65
|
}
|
|
64
66
|
interface RadioFieldProps extends RadioGroup.RootProps {
|
|
65
67
|
type: 'radio';
|
|
@@ -75,19 +77,19 @@ interface PinFieldProps extends Omit<PinInputProps, 'type' | 'value' | 'onChange
|
|
|
75
77
|
onChange?: (value: string) => void;
|
|
76
78
|
}
|
|
77
79
|
declare const defaultFieldTypes: {
|
|
78
|
-
text: React__default.
|
|
79
|
-
email: React__default.
|
|
80
|
-
url: React__default.
|
|
81
|
-
phone: React__default.
|
|
82
|
-
time: React__default.
|
|
83
|
-
number: React__default.
|
|
84
|
-
pin: React__default.
|
|
85
|
-
checkbox: React__default.
|
|
86
|
-
radio: React__default.
|
|
87
|
-
password: React__default.
|
|
88
|
-
select: React__default.
|
|
89
|
-
switch: React__default.
|
|
90
|
-
textarea: React__default.
|
|
80
|
+
text: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
81
|
+
email: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
82
|
+
url: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
83
|
+
phone: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
84
|
+
time: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
85
|
+
number: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof NumberInputFieldProps> & NumberInputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
86
|
+
pin: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof PinFieldProps> & PinFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
87
|
+
checkbox: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof CheckboxFieldProps> & CheckboxFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
88
|
+
radio: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof RadioFieldProps> & RadioFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
89
|
+
password: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof PasswordInputProps> & PasswordInputProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
90
|
+
select: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SelectFieldProps<boolean>> & SelectFieldProps<boolean> & React__default.RefAttributes<HTMLDivElement>>;
|
|
91
|
+
switch: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SwitchFieldProps> & SwitchFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
92
|
+
textarea: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TextareaFieldProps> & TextareaFieldProps & React__default.RefAttributes<HTMLTextAreaElement>>;
|
|
91
93
|
};
|
|
92
94
|
type DefaultFields = typeof defaultFieldTypes;
|
|
93
95
|
|
|
@@ -272,57 +274,6 @@ type FormComponent = (<TSchema = unknown, TFieldValues extends FieldValues = Fie
|
|
|
272
274
|
};
|
|
273
275
|
type GetResolver = <TFieldValues extends FieldValues, TContext extends object>(schema: unknown) => (values: TFieldValues, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => ResolverResult<TFieldValues> | Promise<ResolverResult<TFieldValues>>;
|
|
274
276
|
|
|
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
|
-
}
|
|
325
|
-
|
|
326
277
|
interface SubmitButtonProps extends ButtonProps {
|
|
327
278
|
/**
|
|
328
279
|
* Disable the submit button if the form is untouched.
|
|
@@ -386,6 +337,26 @@ interface BaseFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
|
386
337
|
* The input placeholder
|
|
387
338
|
*/
|
|
388
339
|
placeholder?: string;
|
|
340
|
+
/**
|
|
341
|
+
* Whether the field is invalid
|
|
342
|
+
*/
|
|
343
|
+
invalid?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Whether the field is required
|
|
346
|
+
*/
|
|
347
|
+
required?: boolean;
|
|
348
|
+
/**
|
|
349
|
+
* Whether the field is disabled
|
|
350
|
+
*/
|
|
351
|
+
disabled?: boolean;
|
|
352
|
+
/**
|
|
353
|
+
* Whether the field is read-only
|
|
354
|
+
*/
|
|
355
|
+
readOnly?: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* Orientation of the field
|
|
358
|
+
*/
|
|
359
|
+
orientation?: 'horizontal' | 'vertical';
|
|
389
360
|
/**
|
|
390
361
|
* React children
|
|
391
362
|
*/
|
|
@@ -436,7 +407,6 @@ type WithFields<TFormProps extends FormProps$1<any, any, any, any, any>, FieldDe
|
|
|
436
407
|
submit?: SubmitButtonProps;
|
|
437
408
|
} & ExtraOverrides;
|
|
438
409
|
} : 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>>>;
|
|
440
410
|
|
|
441
411
|
interface ArrayFieldButtonProps extends ButtonProps$1 {
|
|
442
412
|
}
|
|
@@ -554,28 +524,33 @@ type FormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = o
|
|
|
554
524
|
};
|
|
555
525
|
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>;
|
|
556
526
|
|
|
557
|
-
interface UseFormProps<TFieldValues extends FieldValues, TContext
|
|
527
|
+
interface UseFormProps<TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues> extends UseFormProps$1<TFieldValues, TContext, TTransformedValues> {
|
|
528
|
+
schema?: StandardSchemaV1<TFieldValues, TTransformedValues>;
|
|
529
|
+
onSubmit: SubmitHandler<TTransformedValues>;
|
|
530
|
+
onInvalid?: SubmitErrorHandler<FieldValues>;
|
|
558
531
|
}
|
|
559
|
-
interface UseFormReturn$1<TFieldValues extends FieldValues, TContext
|
|
532
|
+
interface UseFormReturn$1<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> extends UseFormReturn$2<TFieldValues, TContext, TTransformedValues> {
|
|
533
|
+
submit: (e: React.FormEvent<HTMLFormElement>) => Promise<void>;
|
|
560
534
|
Form: React.FC<Omit<FormProps<TFieldValues, TContext>, 'form'>>;
|
|
561
|
-
Field: React.FC<FieldProps<TFieldValues
|
|
535
|
+
Field: React.FC<FieldProps<TFieldValues>> & {
|
|
536
|
+
ref?: React.Ref<FocusableElement>;
|
|
537
|
+
};
|
|
562
538
|
DisplayIf: React.FC<DisplayIfProps<TFieldValues>>;
|
|
563
539
|
ArrayField: React.FC<ArrayFieldProps<TFieldValues> & React.RefAttributes<UseArrayFieldReturn>>;
|
|
564
540
|
ObjectField: React.FC<ObjectFieldProps<TFieldValues>>;
|
|
565
541
|
}
|
|
566
|
-
declare function useForm<TFieldValues extends FieldValues, TContext
|
|
567
|
-
interface FormProps<TFieldValues extends FieldValues = FieldValues, TContext
|
|
542
|
+
declare function useForm<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: UseFormProps<TFieldValues, TContext, TTransformedValues>): UseFormReturn$1<TFieldValues, TContext, TTransformedValues>;
|
|
543
|
+
interface FormProps<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> extends HTMLChakraProps<'form'> {
|
|
568
544
|
children: React.ReactNode;
|
|
569
|
-
form: ReturnType<typeof useForm$1<TFieldValues, TContext>>;
|
|
570
|
-
onSubmit: (data: any) => void;
|
|
571
|
-
onError?: (errors: any) => void;
|
|
545
|
+
form: ReturnType<typeof useForm$1<TFieldValues, TContext, TTransformedValues>>;
|
|
572
546
|
}
|
|
573
|
-
interface UseZodFormProps<TSchema extends z.
|
|
547
|
+
interface UseZodFormProps<TSchema extends z.ZodObject<any>, TFieldValues extends InferObjectSchema<TSchema> = InferObjectSchema<TSchema>, TContext extends object = object> extends Omit<UseFormProps$1<TFieldValues, TContext>, 'defaultValues'> {
|
|
574
548
|
schema: TSchema;
|
|
575
|
-
|
|
549
|
+
onSubmit: SubmitHandler<TFieldValues>;
|
|
550
|
+
onInvalid?: SubmitErrorHandler<FieldValues>;
|
|
551
|
+
defaultValues?: DefaultValues<TFieldValues> | AsyncDefaultValues<TFieldValues>;
|
|
576
552
|
}
|
|
577
|
-
|
|
578
|
-
type InferObjectSchema<T extends z.ZodTypeAny | z.ZodEffects<z.ZodTypeAny>> = T extends z.ZodEffects<infer TSchema> ? z.infer<TSchema> : z.infer<T>;
|
|
553
|
+
type InferObjectSchema<T extends z.ZodTypeAny> = z.infer<T>;
|
|
579
554
|
type AsyncDefaultValues<TFieldValues> = (payload?: unknown) => Promise<TFieldValues>;
|
|
580
555
|
|
|
581
556
|
interface DisplayFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> extends Omit<Field$1.RootProps, 'type' | 'onChange' | 'defaultValue'> {
|
|
@@ -649,11 +624,12 @@ declare const useFormContext: <TFieldValues extends FieldValues = FieldValues, T
|
|
|
649
624
|
formState: react_hook_form.FormState<TFieldValues>;
|
|
650
625
|
resetField: react_hook_form.UseFormResetField<TFieldValues>;
|
|
651
626
|
reset: react_hook_form.UseFormReset<TFieldValues>;
|
|
652
|
-
handleSubmit: react_hook_form.UseFormHandleSubmit<TFieldValues,
|
|
627
|
+
handleSubmit: react_hook_form.UseFormHandleSubmit<TFieldValues, TFieldValues>;
|
|
653
628
|
unregister: react_hook_form.UseFormUnregister<TFieldValues>;
|
|
654
|
-
control: react_hook_form.Control<TFieldValues, TContext>;
|
|
629
|
+
control: react_hook_form.Control<TFieldValues, TContext, TFieldValues>;
|
|
655
630
|
register: react_hook_form.UseFormRegister<TFieldValues>;
|
|
656
631
|
setFocus: react_hook_form.UseFormSetFocus<TFieldValues>;
|
|
632
|
+
subscribe: react_hook_form.UseFormSubscribe<TFieldValues>;
|
|
657
633
|
};
|
|
658
634
|
type UseFormReturn<TFieldValues extends FieldValues = FieldValues, TContext = any, TSchema = any> = ReturnType<typeof useFormContext<TFieldValues, TContext, TSchema>>;
|
|
659
635
|
declare const FormProvider: <TFieldValues extends FieldValues = FieldValues, TContext = any, TSchema = any>(props: FormProviderProps<TFieldValues, TContext, TSchema>) => react_jsx_runtime.JSX.Element;
|
|
@@ -707,7 +683,7 @@ interface ControlProps {
|
|
|
707
683
|
* @param options.isControlled Set this to true if this is a controlled field.
|
|
708
684
|
* @param options.hideLabel Hide the field label, for example for the checkbox field.
|
|
709
685
|
*/
|
|
710
|
-
declare const createField: <TType = unknown, TProps extends object = object>(component: ForwardRefRenderFunction<TType, PropsWithoutRef<TProps & ControlProps>>, options?: CreateFieldOptions) => React__default.
|
|
686
|
+
declare const createField: <TType = unknown, TProps extends object = object>(component: ForwardRefRenderFunction<TType, PropsWithoutRef<TProps & ControlProps>>, options?: CreateFieldOptions) => React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TProps> & TProps & React__default.RefAttributes<TType>>;
|
|
711
687
|
|
|
712
688
|
/**
|
|
713
689
|
* Form component.
|
|
@@ -716,4 +692,4 @@ declare const createField: <TType = unknown, TProps extends object = object>(com
|
|
|
716
692
|
*/
|
|
717
693
|
declare const Form: FormType<unknown, object, any, object>;
|
|
718
694
|
|
|
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,
|
|
695
|
+
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, 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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { SimpleGridProps, RecipeProps, InputProps, SystemStyleObject, TextareaPr
|
|
|
4
4
|
import { MaybeRenderProp } from '@saas-ui/core/utils';
|
|
5
5
|
import * as react_hook_form from 'react-hook-form';
|
|
6
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,
|
|
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, 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,8 +13,9 @@ import { RadioGroup } from '@saas-ui/react/radio-group';
|
|
|
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';
|
|
17
16
|
import { ButtonProps } from '@saas-ui/react/button';
|
|
17
|
+
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
18
|
+
export { StandardSchemaV1 } from '@standard-schema/spec';
|
|
18
19
|
import { z } from 'zod';
|
|
19
20
|
|
|
20
21
|
interface FormLayoutOptions {
|
|
@@ -38,13 +39,13 @@ interface InputFieldProps extends InputProps {
|
|
|
38
39
|
startElement?: React__default.ReactNode;
|
|
39
40
|
endElement?: React__default.ReactNode;
|
|
40
41
|
}
|
|
41
|
-
declare const InputField: React__default.
|
|
42
|
+
declare const InputField: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
42
43
|
interface NumberInputFieldProps extends NumberInputProps {
|
|
43
44
|
type: 'number';
|
|
44
45
|
}
|
|
45
46
|
interface TextareaFieldProps extends TextareaProps {
|
|
46
47
|
}
|
|
47
|
-
declare const TextareaField: React__default.
|
|
48
|
+
declare const TextareaField: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TextareaFieldProps> & TextareaFieldProps & React__default.RefAttributes<HTMLTextAreaElement>>;
|
|
48
49
|
interface SwitchFieldProps extends SwitchProps {
|
|
49
50
|
type: 'switch';
|
|
50
51
|
}
|
|
@@ -57,9 +58,10 @@ interface SelectFieldProps<Multiple extends boolean = boolean> extends Omit<Sele
|
|
|
57
58
|
triggerProps?: Select.TriggerProps;
|
|
58
59
|
contentProps?: Select.ContentProps;
|
|
59
60
|
}
|
|
60
|
-
interface CheckboxFieldProps extends CheckboxProps {
|
|
61
|
+
interface CheckboxFieldProps extends Omit<CheckboxProps, 'value'> {
|
|
61
62
|
type: 'checkbox';
|
|
62
63
|
label?: string;
|
|
64
|
+
value?: boolean;
|
|
63
65
|
}
|
|
64
66
|
interface RadioFieldProps extends RadioGroup.RootProps {
|
|
65
67
|
type: 'radio';
|
|
@@ -75,19 +77,19 @@ interface PinFieldProps extends Omit<PinInputProps, 'type' | 'value' | 'onChange
|
|
|
75
77
|
onChange?: (value: string) => void;
|
|
76
78
|
}
|
|
77
79
|
declare const defaultFieldTypes: {
|
|
78
|
-
text: React__default.
|
|
79
|
-
email: React__default.
|
|
80
|
-
url: React__default.
|
|
81
|
-
phone: React__default.
|
|
82
|
-
time: React__default.
|
|
83
|
-
number: React__default.
|
|
84
|
-
pin: React__default.
|
|
85
|
-
checkbox: React__default.
|
|
86
|
-
radio: React__default.
|
|
87
|
-
password: React__default.
|
|
88
|
-
select: React__default.
|
|
89
|
-
switch: React__default.
|
|
90
|
-
textarea: React__default.
|
|
80
|
+
text: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
81
|
+
email: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
82
|
+
url: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
83
|
+
phone: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
84
|
+
time: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof InputFieldProps> & InputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
85
|
+
number: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof NumberInputFieldProps> & NumberInputFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
86
|
+
pin: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof PinFieldProps> & PinFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
87
|
+
checkbox: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof CheckboxFieldProps> & CheckboxFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
88
|
+
radio: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof RadioFieldProps> & RadioFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
89
|
+
password: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof PasswordInputProps> & PasswordInputProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
90
|
+
select: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SelectFieldProps<boolean>> & SelectFieldProps<boolean> & React__default.RefAttributes<HTMLDivElement>>;
|
|
91
|
+
switch: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof SwitchFieldProps> & SwitchFieldProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
92
|
+
textarea: React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TextareaFieldProps> & TextareaFieldProps & React__default.RefAttributes<HTMLTextAreaElement>>;
|
|
91
93
|
};
|
|
92
94
|
type DefaultFields = typeof defaultFieldTypes;
|
|
93
95
|
|
|
@@ -272,57 +274,6 @@ type FormComponent = (<TSchema = unknown, TFieldValues extends FieldValues = Fie
|
|
|
272
274
|
};
|
|
273
275
|
type GetResolver = <TFieldValues extends FieldValues, TContext extends object>(schema: unknown) => (values: TFieldValues, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => ResolverResult<TFieldValues> | Promise<ResolverResult<TFieldValues>>;
|
|
274
276
|
|
|
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
|
-
}
|
|
325
|
-
|
|
326
277
|
interface SubmitButtonProps extends ButtonProps {
|
|
327
278
|
/**
|
|
328
279
|
* Disable the submit button if the form is untouched.
|
|
@@ -386,6 +337,26 @@ interface BaseFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
|
386
337
|
* The input placeholder
|
|
387
338
|
*/
|
|
388
339
|
placeholder?: string;
|
|
340
|
+
/**
|
|
341
|
+
* Whether the field is invalid
|
|
342
|
+
*/
|
|
343
|
+
invalid?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Whether the field is required
|
|
346
|
+
*/
|
|
347
|
+
required?: boolean;
|
|
348
|
+
/**
|
|
349
|
+
* Whether the field is disabled
|
|
350
|
+
*/
|
|
351
|
+
disabled?: boolean;
|
|
352
|
+
/**
|
|
353
|
+
* Whether the field is read-only
|
|
354
|
+
*/
|
|
355
|
+
readOnly?: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* Orientation of the field
|
|
358
|
+
*/
|
|
359
|
+
orientation?: 'horizontal' | 'vertical';
|
|
389
360
|
/**
|
|
390
361
|
* React children
|
|
391
362
|
*/
|
|
@@ -436,7 +407,6 @@ type WithFields<TFormProps extends FormProps$1<any, any, any, any, any>, FieldDe
|
|
|
436
407
|
submit?: SubmitButtonProps;
|
|
437
408
|
} & ExtraOverrides;
|
|
438
409
|
} : 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>>>;
|
|
440
410
|
|
|
441
411
|
interface ArrayFieldButtonProps extends ButtonProps$1 {
|
|
442
412
|
}
|
|
@@ -554,28 +524,33 @@ type FormType<FieldDefs, ExtraProps = object, ExtraFieldProps extends object = o
|
|
|
554
524
|
};
|
|
555
525
|
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>;
|
|
556
526
|
|
|
557
|
-
interface UseFormProps<TFieldValues extends FieldValues, TContext
|
|
527
|
+
interface UseFormProps<TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues> extends UseFormProps$1<TFieldValues, TContext, TTransformedValues> {
|
|
528
|
+
schema?: StandardSchemaV1<TFieldValues, TTransformedValues>;
|
|
529
|
+
onSubmit: SubmitHandler<TTransformedValues>;
|
|
530
|
+
onInvalid?: SubmitErrorHandler<FieldValues>;
|
|
558
531
|
}
|
|
559
|
-
interface UseFormReturn$1<TFieldValues extends FieldValues, TContext
|
|
532
|
+
interface UseFormReturn$1<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> extends UseFormReturn$2<TFieldValues, TContext, TTransformedValues> {
|
|
533
|
+
submit: (e: React.FormEvent<HTMLFormElement>) => Promise<void>;
|
|
560
534
|
Form: React.FC<Omit<FormProps<TFieldValues, TContext>, 'form'>>;
|
|
561
|
-
Field: React.FC<FieldProps<TFieldValues
|
|
535
|
+
Field: React.FC<FieldProps<TFieldValues>> & {
|
|
536
|
+
ref?: React.Ref<FocusableElement>;
|
|
537
|
+
};
|
|
562
538
|
DisplayIf: React.FC<DisplayIfProps<TFieldValues>>;
|
|
563
539
|
ArrayField: React.FC<ArrayFieldProps<TFieldValues> & React.RefAttributes<UseArrayFieldReturn>>;
|
|
564
540
|
ObjectField: React.FC<ObjectFieldProps<TFieldValues>>;
|
|
565
541
|
}
|
|
566
|
-
declare function useForm<TFieldValues extends FieldValues, TContext
|
|
567
|
-
interface FormProps<TFieldValues extends FieldValues = FieldValues, TContext
|
|
542
|
+
declare function useForm<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: UseFormProps<TFieldValues, TContext, TTransformedValues>): UseFormReturn$1<TFieldValues, TContext, TTransformedValues>;
|
|
543
|
+
interface FormProps<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues> extends HTMLChakraProps<'form'> {
|
|
568
544
|
children: React.ReactNode;
|
|
569
|
-
form: ReturnType<typeof useForm$1<TFieldValues, TContext>>;
|
|
570
|
-
onSubmit: (data: any) => void;
|
|
571
|
-
onError?: (errors: any) => void;
|
|
545
|
+
form: ReturnType<typeof useForm$1<TFieldValues, TContext, TTransformedValues>>;
|
|
572
546
|
}
|
|
573
|
-
interface UseZodFormProps<TSchema extends z.
|
|
547
|
+
interface UseZodFormProps<TSchema extends z.ZodObject<any>, TFieldValues extends InferObjectSchema<TSchema> = InferObjectSchema<TSchema>, TContext extends object = object> extends Omit<UseFormProps$1<TFieldValues, TContext>, 'defaultValues'> {
|
|
574
548
|
schema: TSchema;
|
|
575
|
-
|
|
549
|
+
onSubmit: SubmitHandler<TFieldValues>;
|
|
550
|
+
onInvalid?: SubmitErrorHandler<FieldValues>;
|
|
551
|
+
defaultValues?: DefaultValues<TFieldValues> | AsyncDefaultValues<TFieldValues>;
|
|
576
552
|
}
|
|
577
|
-
|
|
578
|
-
type InferObjectSchema<T extends z.ZodTypeAny | z.ZodEffects<z.ZodTypeAny>> = T extends z.ZodEffects<infer TSchema> ? z.infer<TSchema> : z.infer<T>;
|
|
553
|
+
type InferObjectSchema<T extends z.ZodTypeAny> = z.infer<T>;
|
|
579
554
|
type AsyncDefaultValues<TFieldValues> = (payload?: unknown) => Promise<TFieldValues>;
|
|
580
555
|
|
|
581
556
|
interface DisplayFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> extends Omit<Field$1.RootProps, 'type' | 'onChange' | 'defaultValue'> {
|
|
@@ -649,11 +624,12 @@ declare const useFormContext: <TFieldValues extends FieldValues = FieldValues, T
|
|
|
649
624
|
formState: react_hook_form.FormState<TFieldValues>;
|
|
650
625
|
resetField: react_hook_form.UseFormResetField<TFieldValues>;
|
|
651
626
|
reset: react_hook_form.UseFormReset<TFieldValues>;
|
|
652
|
-
handleSubmit: react_hook_form.UseFormHandleSubmit<TFieldValues,
|
|
627
|
+
handleSubmit: react_hook_form.UseFormHandleSubmit<TFieldValues, TFieldValues>;
|
|
653
628
|
unregister: react_hook_form.UseFormUnregister<TFieldValues>;
|
|
654
|
-
control: react_hook_form.Control<TFieldValues, TContext>;
|
|
629
|
+
control: react_hook_form.Control<TFieldValues, TContext, TFieldValues>;
|
|
655
630
|
register: react_hook_form.UseFormRegister<TFieldValues>;
|
|
656
631
|
setFocus: react_hook_form.UseFormSetFocus<TFieldValues>;
|
|
632
|
+
subscribe: react_hook_form.UseFormSubscribe<TFieldValues>;
|
|
657
633
|
};
|
|
658
634
|
type UseFormReturn<TFieldValues extends FieldValues = FieldValues, TContext = any, TSchema = any> = ReturnType<typeof useFormContext<TFieldValues, TContext, TSchema>>;
|
|
659
635
|
declare const FormProvider: <TFieldValues extends FieldValues = FieldValues, TContext = any, TSchema = any>(props: FormProviderProps<TFieldValues, TContext, TSchema>) => react_jsx_runtime.JSX.Element;
|
|
@@ -707,7 +683,7 @@ interface ControlProps {
|
|
|
707
683
|
* @param options.isControlled Set this to true if this is a controlled field.
|
|
708
684
|
* @param options.hideLabel Hide the field label, for example for the checkbox field.
|
|
709
685
|
*/
|
|
710
|
-
declare const createField: <TType = unknown, TProps extends object = object>(component: ForwardRefRenderFunction<TType, PropsWithoutRef<TProps & ControlProps>>, options?: CreateFieldOptions) => React__default.
|
|
686
|
+
declare const createField: <TType = unknown, TProps extends object = object>(component: ForwardRefRenderFunction<TType, PropsWithoutRef<TProps & ControlProps>>, options?: CreateFieldOptions) => React__default.ForwardRefExoticComponent<Omit<BaseFieldProps<react_hook_form.FieldValues, string>, keyof TProps> & TProps & React__default.RefAttributes<TType>>;
|
|
711
687
|
|
|
712
688
|
/**
|
|
713
689
|
* Form component.
|
|
@@ -716,4 +692,4 @@ declare const createField: <TType = unknown, TProps extends object = object>(com
|
|
|
716
692
|
*/
|
|
717
693
|
declare const Form: FormType<unknown, object, any, object>;
|
|
718
694
|
|
|
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,
|
|
695
|
+
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, 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 };
|