import * as React from 'react'; import { SxProps } from '@mui/system'; import { InternalStandardProps as StandardProps, Theme } from '..'; import { InputProps } from '../Input'; import { NativeSelectInputProps } from './NativeSelectInput'; import { NativeSelectClasses } from './nativeSelectClasses'; export interface NativeSelectProps extends StandardProps { /** * The option elements to populate the select with. * Can be some `` elements. */ children?: React.ReactNode; /** * Override or extend the styles applied to the component. * @default {} */ classes?: Partial; /** * The icon that displays the arrow. * @default ArrowDropDownIcon */ IconComponent?: React.ElementType; /** * An `Input` element; does not have to be a material-ui specific `Input`. * @default */ input?: React.ReactElement; /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attributes) applied to the `select` element. */ inputProps?: Partial; /** * Callback fired when a menu item is selected. * * @param {React.ChangeEvent} event The event source of the callback. * You can pull out the new value by accessing `event.target.value` (string). */ onChange?: NativeSelectInputProps['onChange']; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps; /** * The `input` value. The DOM API casts this to a string. */ value?: unknown; /** * The variant to use. */ variant?: 'standard' | 'outlined' | 'filled'; } /** * An alternative to `
` with a much smaller bundle size footprint. * * Demos: * * - [Select](https://mui.com/material-ui/react-select/) * * API: * * - [NativeSelect API](https://mui.com/material-ui/api/native-select/) * - inherits [Input API](https://mui.com/material-ui/api/input/) */ declare const NativeSelect: ((props: NativeSelectProps) => React.JSX.Element) & { muiName: string }; export default NativeSelect;