| import type { Dispatch, SetStateAction } from 'react' |
|
|
| export enum ValidatedStatus { |
| Success = 'success', |
| Error = 'error', |
| Exceed = 'exceed', |
| } |
|
|
| export type ValidatedStatusState = { |
| status?: ValidatedStatus |
| message?: string |
| } |
|
|
| export type Status = 'add' | 'fail' | 'success' |
|
|
| export type ValidateValue = Record<string, any> |
|
|
| export type ValidateCallback = { |
| before: (v?: ValidateValue) => boolean | undefined |
| run?: (v?: ValidateValue) => Promise<ValidatedStatusState> |
| } |
|
|
| export type Form = { |
| key: string |
| title: string |
| placeholder: string |
| value?: string |
| validate?: ValidateCallback |
| handleFocus?: (v: ValidateValue, dispatch: Dispatch<SetStateAction<ValidateValue>>) => void |
| } |
|
|
| export type KeyFrom = { |
| text: string |
| link: string |
| } |
|
|
| export type KeyValidatorProps = { |
| type: string |
| title: React.ReactNode |
| status: Status |
| forms: Form[] |
| keyFrom: KeyFrom |
| } |
|
|