UNPKG

@grafana/ui

Version:

Grafana Components Library

71 lines (70 loc) 2.29 kB
import React, { PureComponent } from 'react'; import { PopperContent } from '../Tooltip/PopperController'; export interface SelectOptionItem<T> { label?: string; value?: T; imgUrl?: string; description?: string; [key: string]: any; } export interface CommonProps<T> { defaultValue?: any; getOptionLabel?: (item: SelectOptionItem<T>) => string; getOptionValue?: (item: SelectOptionItem<T>) => string; onChange: (item: SelectOptionItem<T>) => {} | void; placeholder?: string; width?: number; value?: SelectOptionItem<T>; className?: string; isDisabled?: boolean; isSearchable?: boolean; isClearable?: boolean; autoFocus?: boolean; openMenuOnFocus?: boolean; onBlur?: () => void; maxMenuHeight?: number; isLoading?: boolean; noOptionsMessage?: () => string; isMulti?: boolean; backspaceRemovesValue?: boolean; isOpen?: boolean; components?: any; tooltipContent?: PopperContent<any>; onOpenMenu?: () => void; onCloseMenu?: () => void; tabSelectsValue?: boolean; } export interface SelectProps<T> extends CommonProps<T> { options: Array<SelectOptionItem<T>>; } interface AsyncProps<T> extends CommonProps<T> { defaultOptions: boolean; loadOptions: (query: string) => Promise<Array<SelectOptionItem<T>>>; loadingMessage?: () => string; } export declare const MenuList: (props: any) => JSX.Element; export declare class Select<T> extends PureComponent<SelectProps<T>> { static defaultProps: Partial<SelectProps<any>>; render(): JSX.Element; } export declare class AsyncSelect<T> extends PureComponent<AsyncProps<T>> { static defaultProps: Partial<AsyncProps<any>>; render(): JSX.Element; } export interface TooltipWrapperProps { children: (onOpenMenu: () => void, onCloseMenu: () => void) => React.ReactNode; onOpenMenu?: () => void; onCloseMenu?: () => void; isOpen?: boolean; tooltipContent?: PopperContent<any>; } export interface TooltipWrapperState { isOpenInternal: boolean; } export declare class WrapInTooltip extends PureComponent<TooltipWrapperProps, TooltipWrapperState> { state: TooltipWrapperState; onOpenMenu: () => void; onCloseMenu: () => void; render(): JSX.Element; } export default Select;