UNPKG

@csegames/camelot-unchained

Version:

Camelot Unchained Client Library

47 lines (46 loc) 1.55 kB
/// <reference types="react" /> import * as React from 'react'; import { StyleDeclaration } from 'aphrodite'; import { InputProps } from '..'; export interface MultiSelectStyle extends StyleDeclaration { container: React.CSSProperties; input: React.CSSProperties; list: React.CSSProperties; listItem: React.CSSProperties; selectedItem: React.CSSProperties; selected: React.CSSProperties; removeSelected: React.CSSProperties; highlightItem: React.CSSProperties; selectedItemList: React.CSSProperties; } export declare const defaultMultiSelectStyle: MultiSelectStyle; export interface MultiSelectProps { items: any[]; selectedItems: any[]; filter: (text: string, item: any) => boolean; renderListItem: (item: any, renderData: any) => JSX.Element; renderSelectedItem: (item: any, renderData: any) => JSX.Element; itemComparison: <T>(a: T, b: T) => boolean; renderData?: any; styles?: Partial<MultiSelectStyle>; inputProps?: Partial<InputProps>; } export interface MultiSelectState { items: any[]; filteredItems: any[]; selectedItems: any[]; filterText: string; keyboardIndex: number; } export declare class MultiSelect extends React.Component<MultiSelectProps, MultiSelectState> { private inputRef; constructor(props: MultiSelectProps); selectedItems: () => any[]; render(): JSX.Element; private onInputChanged; private onKeyDown; private applyFilter; private selectItem; private unselectItem; } export default MultiSelect;