Repository URL to install this package:
|
Version:
2.7.3 ▾
|
import { ReactNode } from 'react';
import { SelectableState } from 'src/state/SelectionState';
import { EventHandlerArg } from 'typings/generic';
import { OptionType } from '../Option/typings';
export declare type SelectValue = string | number | boolean;
export declare type OnSelectChangeArgs = EventHandlerArg<OptionType, SelectableState>;
export interface OnSelectChange {
(args: OnSelectChangeArgs): void;
}
export interface RenderActiveItemProp {
(props: any, state: any): ReactNode;
}
export interface SelectRenderItemProps extends SelectProps {
onClick?: OnSelectChange;
}
export interface SelectRenderProp {
(props: SelectRenderItemProps, state: SelectableState, index?: number): ReactNode;
}
export interface SelectProps {
/**
* @todo @name list
*/
options?: Array<OptionType>;
list: Array<OptionType>;
/**
* @alias onDropDownStateChange
*/
onChange?: OnSelectChange;
onClickOutside?: OnSelectChange;
onBlur?: () => void;
onFocus?: () => void;
/**
* @todo @deprecated move colour outside into preset
*/
type?: string;
state?: SelectableState;
renderItem?: SelectRenderProp;
renderList?: SelectRenderProp;
renderActiveItem?: RenderActiveItemProp;
isDisabled?: boolean;
label?: string | number | ReactNode;
className?: string;
shouldBeAbsolute?: boolean;
dropDownAlignmentType?: string;
}