@stnew/forms
v1.0.3
Published
Inputs for common use cases with built-in validation
Downloads
1
Keywords
Readme
@stnew/forms
Modular form components with some pre-configured form inputs for common use-cases.
npm install @stnew/forms
FormInput
A controlled component that composes an input element with a wrapper element and an optional and extendable indicator component. The indicator component is meant to provide visual indication of valid/invalid states.
import { FormInput } from '@stnew/forms';
Controlled Props | Type | Desc
-------------------- | ----------- | -------------------------------------------
type | string
| type of the input field
value | string
| current value of the input field
invalid | boolean
| should be true if the current value is invalid
validated | boolean
| should be true if the current value is valid
General Props | Type | Desc
-------------------- | ----------- | -------------------------------------------
id | string
| id of the input element
name | string
| name of the input element
className | string
| class of the input element
required | boolean
| toggle to make the input field required
autoFocus | boolean
| toggle to make the input field focused by default
placeholder | string
| placeholder text for the input field
customInputIndicator | ReactNode
| Element to be nested in the existing indicator div
element
disableIndicator | boolean
| if true
, the indicator div
element will not be rendered
onChange | function
| onChange callback function
onFocus | function
| onFocus callback function
onBlur | function
| onBlur callback function
ValidatedInput
Component that wraps FormInput and handles validation and state management.
import { ValidatedInput } from '@stnew/forms';
Props | Type | Desc
-------------------- | ----------- | -------------------------------------------
onValid | function
| callback for when the input's value is valid
onInvalid | function
| callback for when the input's value is invalid
onEmpty | function
| callback for when the input's value is empty
validator | function
| function that takes in the value of the input and returns true if valid, false otherwise
type | string
| type of the input element
input | object
| object will all attributes listed under 'General Props' for FormInput
Others
The package also includes some extentions of ValidatedInput that have built-in validation functions for common use cases. Each of these are the same, but with different validation functions.
- EmailInput
- ZipCodeInput
import { EmailInput, ZipCodeInput } from '@stnew/forms';
Props | Type | Desc
-------------------- | ----------- | -------------------------------------------
onValid | function
| callback for when the input's value is valid
onInvalid | function
| callback for when the input's value is invalid
onEmpty | function
| callback for when the input's value is empty
- also includes all props listed under 'General Props' for FormInput