'use client'; import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; import * as React from 'react'; import clsx from 'clsx'; import PropTypes from 'prop-types'; import composeClasses from '@mui/utils/composeClasses'; import NativeSelectInput from './NativeSelectInput'; import formControlState from '../FormControl/formControlState'; import useFormControl from '../FormControl/useFormControl'; import ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown'; import Input from '../Input'; import useThemeProps from '../styles/useThemeProps'; import { getNativeSelectUtilityClasses } from './nativeSelectClasses'; import { jsx as _jsx } from "react/jsx-runtime"; var useUtilityClasses = function useUtilityClasses(ownerState) { var classes = ownerState.classes; var slots = { root: ['root'] }; return composeClasses(slots, getNativeSelectUtilityClasses, classes); }; var defaultInput = /*#__PURE__*/_jsx(Input, {}); /** * An alternative to ` */ input: PropTypes.element, /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attributes) applied to the `select` element. */ inputProps: PropTypes.object, /** * 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: PropTypes.func, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]), /** * The `input` value. The DOM API casts this to a string. */ value: PropTypes.any, /** * The variant to use. */ variant: PropTypes.oneOf(['filled', 'outlined', 'standard']) } : void 0; NativeSelect.muiName = 'Select'; export default NativeSelect;