@iwsio/forms
Advanced tools
Comparing version 4.1.0 to 4.2.0
import { InputHTMLAttributes } from 'react'; | ||
import { UpdatedFieldsOnChangeEvent, ValidationProps } from './types'; | ||
import { FieldChangeEventHandler, ValidationProps } from './types'; | ||
export type InputProps = ValidationProps & InputHTMLAttributes<HTMLInputElement>; | ||
export type InputFieldProps = Omit<InputProps, 'DefaultValue' | 'onChange'> & { | ||
onChange?: FieldChangeEventHandler; | ||
}; | ||
export declare const Input: import("react").ForwardRefExoticComponent<ValidationProps & InputHTMLAttributes<HTMLInputElement> & import("react").RefAttributes<HTMLInputElement>>; | ||
export type FieldOnChange = { | ||
onChange?: (e: UpdatedFieldsOnChangeEvent) => void; | ||
}; | ||
export type InputFieldProps = Omit<InputProps, 'DefaultValue' | 'onChange'> & FieldOnChange; | ||
export declare const InputField: import("react").ForwardRefExoticComponent<Omit<InputProps, "onChange" | "DefaultValue"> & FieldOnChange & import("react").RefAttributes<HTMLInputElement>>; | ||
export declare const InputField: import("react").ForwardRefExoticComponent<Omit<InputProps, "onChange" | "DefaultValue"> & { | ||
onChange?: FieldChangeEventHandler; | ||
} & import("react").RefAttributes<HTMLInputElement>>; |
@@ -1,7 +0,10 @@ | ||
import { SelectHTMLAttributes, PropsWithChildren } from 'react'; | ||
import { ValidationProps } from './types'; | ||
import { PropsWithChildren, SelectHTMLAttributes } from 'react'; | ||
import { FieldChangeEventHandler, ValidationProps } from './types'; | ||
export type SelectProps = PropsWithChildren & ValidationProps & SelectHTMLAttributes<HTMLSelectElement>; | ||
export type SelectFieldProps = Omit<SelectProps, 'DefaultValue' | 'onChange'> & { | ||
onChange?: FieldChangeEventHandler; | ||
}; | ||
export declare const Select: import("react").ForwardRefExoticComponent<{ | ||
children?: import("react").ReactNode; | ||
} & ValidationProps & SelectHTMLAttributes<HTMLSelectElement> & import("react").RefAttributes<HTMLSelectElement>>; | ||
export declare const SelectField: import("react").ForwardRefExoticComponent<Omit<SelectProps, "DefaultValue"> & import("react").RefAttributes<HTMLSelectElement>>; | ||
export declare const SelectField: import("react").ForwardRefExoticComponent<Omit<SelectFieldProps, "DefaultValue"> & import("react").RefAttributes<HTMLSelectElement>>; |
@@ -17,4 +17,4 @@ "use strict"; | ||
const react_1 = require("react"); | ||
const useFieldManager_1 = require("./useFieldManager"); | ||
const useForwardRef_1 = require("./useForwardRef"); | ||
const useFieldManager_1 = require("./useFieldManager"); | ||
exports.Select = (0, react_1.forwardRef)((_a, ref) => { | ||
@@ -60,5 +60,5 @@ var { onFieldError, onInvalid, fieldError, name, onChange, value, children } = _a, other = __rest(_a, ["onFieldError", "onInvalid", "fieldError", "name", "onChange", "value", "children"]); | ||
const handleOnChange = (e) => { | ||
managerOnChange(e); | ||
const result = managerOnChange(e); | ||
if (onChange != null) | ||
onChange(e); | ||
onChange(result); | ||
}; | ||
@@ -65,0 +65,0 @@ const handleFieldError = (key, validity, message) => { |
import { TextareaHTMLAttributes } from 'react'; | ||
import { ValidationProps } from './types'; | ||
import { FieldChangeEventHandler, ValidationProps } from './types'; | ||
export type TextAreaProps = ValidationProps & TextareaHTMLAttributes<HTMLTextAreaElement>; | ||
export type TextAreaFieldProps = Omit<TextAreaProps, 'DefaultValue' | 'onChange'> & { | ||
onChange?: FieldChangeEventHandler; | ||
}; | ||
export declare const TextArea: import("react").ForwardRefExoticComponent<ValidationProps & TextareaHTMLAttributes<HTMLTextAreaElement> & import("react").RefAttributes<HTMLTextAreaElement>>; | ||
export declare const TextAreaField: import("react").ForwardRefExoticComponent<Omit<TextAreaProps, "DefaultValue"> & import("react").RefAttributes<HTMLTextAreaElement>>; | ||
export declare const TextAreaField: import("react").ForwardRefExoticComponent<Omit<TextAreaFieldProps, "DefaultValue"> & import("react").RefAttributes<HTMLTextAreaElement>>; |
@@ -59,5 +59,5 @@ "use strict"; | ||
const handleOnChange = (e) => { | ||
managerOnChange(e); | ||
const result = managerOnChange(e); | ||
if (onChange != null) | ||
onChange(e); | ||
onChange(result); | ||
}; | ||
@@ -64,0 +64,0 @@ const handleFieldError = (key, validity, message) => { |
@@ -11,3 +11,3 @@ import { ChangeEvent, Dispatch, SetStateAction } from 'react'; | ||
export type FieldValues = Record<string, string>; | ||
export type UpdatedFieldsOnChangeEvent = { | ||
export type FieldChangeResult<Element extends HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement> = { | ||
/** | ||
@@ -20,4 +20,6 @@ * The updated field values after the change event. | ||
*/ | ||
target: EventTarget & (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement); | ||
target: EventTarget & Element; | ||
}; | ||
export type FieldChangeEventHandler = <Element extends HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>(e: FieldChangeResult<Element>) => void; | ||
export type FieldStateChangeEventHandler = <Element extends HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>(e: ChangeEvent<Element>) => FieldChangeResult<Element>; | ||
export type UseFieldStateResult = { | ||
@@ -73,3 +75,3 @@ /** | ||
*/ | ||
handleChange: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => UpdatedFieldsOnChangeEvent; | ||
handleChange: FieldStateChangeEventHandler; | ||
/** | ||
@@ -80,3 +82,3 @@ * @deprecated Please use handleChange | ||
*/ | ||
onChange: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => UpdatedFieldsOnChangeEvent; | ||
onChange: FieldStateChangeEventHandler; | ||
/** | ||
@@ -83,0 +85,0 @@ * Use this to change the default values after initialization. |
@@ -5,4 +5,4 @@ "use strict"; | ||
const react_1 = require("react"); | ||
const defaults_1 = require("./defaults"); | ||
const omitBy_1 = require("./omitBy"); | ||
const defaults_1 = require("./defaults"); | ||
const useErrorMapping_1 = require("./useErrorMapping"); | ||
@@ -9,0 +9,0 @@ const validityState_1 = require("./validityState"); |
{ | ||
"name": "@iwsio/forms", | ||
"version": "4.1.0", | ||
"version": "4.2.0", | ||
"description": "Simple library with useful React forms components and browser validation.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
61249
988