Comparing version 3.0.6 to 3.0.7
@@ -1,7 +0,7 @@ | ||
import React from 'react'; | ||
declare type GenericObject = Record<string, any>; | ||
/// <reference types="react" /> | ||
export declare type GenericObject = Record<string, any>; | ||
export declare type GenericFormType = GenericObject; | ||
declare type FieldValue = string | boolean | number | GenericObject | Date | null | undefined; | ||
declare type FormValues = Record<string, FieldValue>; | ||
declare type ErrorValues = Record<string, string | null | undefined>; | ||
export declare type FieldValue = string | boolean | number | GenericObject | Date | null | undefined; | ||
export declare type FormValues = Record<string, FieldValue>; | ||
export declare type ErrorValues = Record<string, string | null | undefined>; | ||
export declare type FormSubmitPayload<T extends FormValues> = { | ||
@@ -20,3 +20,3 @@ valid: boolean; | ||
}; | ||
declare type PayloadField = { | ||
export declare type PayloadField = { | ||
field: string; | ||
@@ -45,2 +45,53 @@ value?: FieldValue; | ||
}; | ||
export declare type State<T extends FormValues> = { | ||
errors: ErrorValues; | ||
values: T; | ||
validations: Record<string, (ValidationFunction | null)[]>; | ||
dirty: Record<string, boolean | undefined>; | ||
forcedErrors: ErrorValues; | ||
valid: boolean; | ||
}; | ||
export declare type UpdateAction<T extends FormValues> = { | ||
type: 'UPDATE'; | ||
payload: PayloadField | Array<PayloadField>; | ||
onChange?: (payload: FormChangePayload<T>) => any; | ||
}; | ||
export declare type AddFieldAction<T extends FormValues> = { | ||
type: 'ADD'; | ||
payload: { | ||
field: string; | ||
validation?: Validation; | ||
}; | ||
onChange?: (payload: FormChangePayload<T>) => any; | ||
}; | ||
export declare type RemoveFieldAction<T extends FormValues> = { | ||
type: 'REMOVE'; | ||
payload: { | ||
field: string; | ||
}; | ||
onChange?: (payload: FormChangePayload<T>) => any; | ||
}; | ||
export declare type SetDirty<T extends FormValues> = { | ||
type: 'SET_DIRTY'; | ||
payload: { | ||
field: string; | ||
}; | ||
onChange?: (payload: FormChangePayload<T>) => any; | ||
}; | ||
export declare type SetError<T extends FormValues> = { | ||
type: 'SET_ERROR'; | ||
payload: { | ||
field: string; | ||
message?: string; | ||
}; | ||
onChange?: (payload: FormChangePayload<T>) => any; | ||
}; | ||
export declare type ClearAction<T extends FormValues> = { | ||
type: 'CLEAR'; | ||
payload: { | ||
initialValues: T; | ||
}; | ||
onChange?: (payload: FormChangePayload<T>) => any; | ||
}; | ||
export declare type Action<T extends FormValues> = UpdateAction<T> | AddFieldAction<T> | RemoveFieldAction<T> | ClearAction<T> | SetDirty<T> | SetError<T>; | ||
export declare function useForm(): FormContextType; | ||
@@ -72,4 +123,4 @@ export declare type DefaultErrorMessages = { | ||
export declare function useField<T extends FieldValue>(props: FieldProps): FieldPayload<T>; | ||
declare type Child = JSX.Element | string | null | undefined; | ||
declare type Children = Child[] | Child; | ||
export declare type Child = JSX.Element | string | null | undefined; | ||
export declare type Children = Child[] | Child; | ||
export declare type FormProps<T extends FormValues> = { | ||
@@ -83,6 +134,2 @@ onSubmit?: (payload: FormSubmitPayload<T>, mode?: string) => any; | ||
export declare function GenericForm(props: FormProps<GenericFormType>): JSX.Element; | ||
declare type SetDifference<A, B> = A extends B ? never : A; | ||
declare type SetComplement<A, A1 extends A> = SetDifference<A, A1>; | ||
declare type Subtract<T extends T1, T1 extends object> = Pick<T, SetComplement<keyof T, keyof T1>>; | ||
export declare function turnIntoField<ComponentProps extends FieldPayload<string>>(Component: React.ComponentType<ComponentProps>, defaultErrorMessages?: DefaultErrorMessages): React.FC<Subtract<ComponentProps, FieldPayload<string>> & FieldProps>; | ||
export default Form; |
@@ -22,3 +22,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.turnIntoField = exports.GenericForm = exports.Form = exports.useField = exports.EMAIL_VALIDATION = exports.EMAIL_REGEX = exports.useForm = void 0; | ||
exports.GenericForm = exports.Form = exports.useField = exports.EMAIL_VALIDATION = exports.EMAIL_REGEX = exports.useForm = void 0; | ||
const react_1 = __importStar(require("react")); | ||
@@ -311,9 +311,2 @@ const FormContext = (0, react_1.createContext)({ | ||
exports.GenericForm = GenericForm; | ||
function turnIntoField(Component, defaultErrorMessages) { | ||
return (props) => { | ||
const fieldProps = useField(Object.assign(Object.assign({}, props), { defaultErrorMessages })); | ||
return react_1.default.createElement(Component, Object.assign({}, props, fieldProps)); | ||
}; | ||
} | ||
exports.turnIntoField = turnIntoField; | ||
exports.default = Form; |
{ | ||
"name": "formact", | ||
"version": "3.0.6", | ||
"version": "3.0.7", | ||
"description": "Context for React form components with validation", | ||
@@ -5,0 +5,0 @@ "scripts": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
16232
442