UNPKG

@etsoo/materialui

Version:

TypeScript Material-UI Implementation

77 lines (76 loc) 1.83 kB
import { DataTypes, IdDefaultType, LabelDefaultType, ListType } from "@etsoo/shared"; import { FormControlProps } from "@mui/material/FormControl"; import React from "react"; /** * OptionGroupFlag methods ref */ export interface OptionGroupFlagRef { /** * Disable specific items with their ids * @param ids Ids */ disable(ids: number[]): void; } /** * OptionGroupFlag props */ export type OptionGroupFlagProps<T extends object, D extends DataTypes.Keys<T, number>, L extends DataTypes.Keys<T, string>> = Omit<FormControlProps, "defaultValue"> & { /** * Default value */ defaultValue?: T[D] & number; /** * Get option label function */ getOptionLabel?: (option: T) => string; /** * Id field */ idField?: D; /** * Label */ label?: string; /** * Label field */ labelField?: L; /** * Methods */ mRef?: React.Ref<OptionGroupFlagRef>; /** * Field name */ name: string; /** * On value change handler */ onValueChange?: (value?: T[D] & number) => void; /** * Array of options. */ options: ReadonlyArray<T>; /** * Is the field read only? */ readOnly?: boolean; /** * Display group of elements in a compact row */ row?: boolean; /** * Item size */ itemSize?: "small" | "medium"; /** * Helper text */ helperText?: React.ReactNode; }; /** * OptionGroupFlag * @param props Props * @returns Component */ export declare function OptionGroupFlag<T extends object = ListType, D extends DataTypes.Keys<T, number> = IdDefaultType<T, number>, L extends DataTypes.Keys<T, string> = LabelDefaultType<T>>(props: OptionGroupFlagProps<T, D, L>): import("react/jsx-runtime").JSX.Element;