UNPKG

@etsoo/materialui

Version:

TypeScript Material-UI Implementation

69 lines (68 loc) 1.56 kB
import React from "react"; import { DataTypes, IdDefaultType, LabelDefaultType, ListType } from "@etsoo/shared"; /** * Item list properties */ export interface ItemListProps<T extends object, D extends DataTypes.Keys<T>, L extends DataTypes.Keys<T, string>> { /** * Button label */ buttonLabel?: React.ReactNode; /** * Style class name */ className?: string; /** * Keep click for all items */ keepClick?: boolean; /** * Id field name */ idField?: D; /** * Label field name or callback */ labelField?: L | ((item: T) => string); /** * Minimum width */ minWidth?: number | string; /** * Button icon */ icon?: React.ReactNode; /** * Button color */ color?: "inherit" | "primary" | "secondary"; /** * Close event */ onClose?(item: T | undefined, changed: boolean): void; /** * Current selected id */ selectedValue?: T[D]; /** * Button size */ size?: "small" | "medium" | "large"; /** * Title */ title?: string; /** * Items */ items: T[]; /** * Button variant */ variant?: "text" | "outlined" | "contained"; } /** * Item list component * @param props Properties */ export declare function ItemList<T extends object = ListType, D extends DataTypes.Keys<T> = IdDefaultType<T>, L extends DataTypes.Keys<T, string> = LabelDefaultType<T>>(props: ItemListProps<T, D, L>): import("react/jsx-runtime").JSX.Element;