UNPKG

react-widgets-up

Version:

An à la carte set of polished, extensible, and accessible inputs built for React

54 lines 2.28 kB
import * as React from 'react'; import { ListOptionProps } from './ListOption'; import { UserProvidedMessages } from './messages'; import { RenderProp, Value } from './types'; import { Accessors } from './Accessors'; export type GroupBy<TDataItem = unknown> = ((item: TDataItem) => unknown) | string; export interface ListHandle { scrollIntoView(): void; } export type RenderItemProp<TDataItem> = RenderProp<{ item: TDataItem; searchTerm?: string; index: number; text: string; value: unknown; disabled: boolean; }>; export type RenderGroupProp = RenderProp<{ group: any; }>; export type OptionComponentProp = React.ComponentType<ListOptionProps<any>>; export type ChangeHandler<TDataItem> = (dataItem: TDataItem | TDataItem[], metadata: { action?: 'insert' | 'remove'; dataItem?: TDataItem; lastValue: Value; originalEvent?: React.SyntheticEvent; }) => void; export interface ListProps<TDataItem> { data: readonly TDataItem[]; value?: readonly TDataItem[] | TDataItem; accessors: Accessors; focusedItem?: TDataItem; className?: string; multiple?: boolean; disabled?: boolean | readonly TDataItem[]; messages?: UserProvidedMessages; renderItem?: RenderItemProp<TDataItem>; renderGroup?: RenderGroupProp; searchTerm?: string; groupBy?: GroupBy<TDataItem>; optionComponent?: React.ElementType; onChange: ChangeHandler<TDataItem>; ref?: React.Ref<ListHandle>; elementRef?: React.RefObject<HTMLDivElement | null>; [key: string]: any; } export declare const useScrollFocusedIntoView: (element: HTMLElement | null, observeChanges?: boolean) => () => void; export declare function useHandleSelect<TDataItem>(multiple: boolean, dataItems: TDataItem[], onChange: ChangeHandler<TDataItem>): (dataItem: TDataItem, event: React.SyntheticEvent) => void; declare function List<TDataItem>({ multiple, data, value, onChange, accessors, className, messages, disabled, renderItem, renderGroup, searchTerm, groupBy, elementRef, optionComponent: Option, renderList, ref: outerRef, ...props }: ListProps<TDataItem>): any; declare namespace List { var displayName: string; } export default List; //# sourceMappingURL=List.d.ts.map