| 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 | |
| } | |