baseui-final-form
Version:
Adapter between `react-final-form` and `baseui`.
47 lines (42 loc) • 1.18 kB
Flow
// @flow
import * as React from 'react';
import {type FieldRenderProps as ReactFinalFormFieldRenderProps} from 'react-final-form';
import type {OptionT as BaseOptionT, ValueT} from 'baseui/select';
import type {FieldValidator} from 'final-form';
export type OptionT = BaseOptionT;
export type ReactSelectOption = {
label: string,
value: string,
disabled?: boolean,
};
export type FieldRenderPropsMeta = {
active?: boolean,
data?: Object,
dirty?: boolean,
dirtySinceLastSubmit?: boolean,
error?: any,
initial?: any,
invalid?: boolean,
length?: number,
modified?: boolean,
pristine?: boolean,
submitError?: any,
submitFailed?: boolean,
submitSucceeded?: boolean,
submitting?: boolean,
touched?: boolean,
valid?: boolean,
visited?: boolean,
};
export type FieldRenderProps = {
formControlProps?: *,
inputProps?: *,
meta: FieldRenderPropsMeta,
caption: ?(React.Node | ((props: {}) => React.Node)),
onChange: (SyntheticInputEvent<*> | any) => void,
label: ?(React.Node | ((props: {}) => React.Node)),
disabled?: boolean,
help?: string,
options?: ValueT,
validate?: FieldValidator,
} & ReactFinalFormFieldRenderProps;