Repository URL to install this package:
|
Version:
2.7.3 ▾
|
import { ReactNode, ReactText } from 'react';
import { SelectableItem } from 'src/state/SelectionState';
export declare type OptionLabelValueType = '' | string | number | boolean | ReactText;
/**
* @todo keep consistent in event handlers
* - so important to avoid issues like we had with toggle
*/
export interface OptionClick {
(value: OptionLabelValueType): void;
}
export interface OptionTypeCore {
label?: OptionLabelValueType;
value: OptionLabelValueType;
identifier?: string;
onClick?: OptionClick;
}
export declare type OptionType = OptionTypeCore & SelectableItem;
interface OptionRenderProp {
(props: OptionProps, state: any): ReactNode;
}
export interface OptionProps extends OptionType {
index?: number;
value: string;
identifier?: string;
label?: string;
/**
* @todo @name @deprecated use label only
*/
text?: string;
/**
* @todo @deprecated move colour out
*/
image?: string;
/**
* @todo @deprecated @invalid @name isDisabled
*/
disabled?: boolean;
className?: string;
isSelected?: boolean;
isDisabled?: boolean;
children?: ReactNode;
renderText?: OptionRenderProp;
renderBeforeText?: OptionRenderProp;
renderAfterText?: OptionRenderProp;
}
export declare type OptionState = OptionProps;
export {};