{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport formControlState from '../FormControl/formControlState';\nimport FormControlContext, { useFormControl } from '../FormControl/FormControlContext';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport TextareaAutosize from '../TextareaAutosize';\nimport { isFilled } from './utils';\nexport var styles = function styles(theme) {\n var light = theme.palette.type === 'light';\n var placeholder = {\n color: 'currentColor',\n opacity: light ? 0.42 : 0.5,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n };\n var placeholderHidden = {\n opacity: '0 !important'\n };\n var placeholderVisible = {\n opacity: light ? 0.42 : 0.5\n };\n return {\n '@global': {\n '@keyframes mui-auto-fill': {},\n '@keyframes mui-auto-fill-cancel': {}\n },\n\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body1, {\n color: theme.palette.text.primary,\n lineHeight: '1.1876em',\n // Reset (19px), match the native input line-height\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n '&$disabled': {\n color: theme.palette.text.disabled,\n cursor: 'default'\n }\n }),\n\n /* Styles applied to the root element if the component is a descendant of `FormControl`. */\n formControl: {},\n\n /* Styles applied to the root element if the component is focused. */\n focused: {},\n\n /* Styles applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `startAdornment` is provided. */\n adornedStart: {},\n\n /* Styles applied to the root element if `endAdornment` is provided. */\n adornedEnd: {},\n\n /* Pseudo-class applied to the root element if `error={true}`. */\n error: {},\n\n /* Styles applied to the `input` element if `margin=\"dense\"`. */\n marginDense: {},\n\n /* Styles applied to the root element if `multiline={true}`. */\n multiline: {\n padding: \"\".concat(8 - 2, \"px 0 \").concat(8 - 1, \"px\"),\n '&$marginDense': {\n paddingTop: 4 - 1\n }\n },\n\n /* Styles applied to the root element if the color is secondary. */\n colorSecondary: {},\n\n /* Styles applied to the root element if `fullWidth={true}`. */\n fullWidth: {\n width: '100%'\n },\n\n /* Styles applied to the `input` element. */\n input: {\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: \"\".concat(8 - 2, \"px 0 \").concat(8 - 1, \"px\"),\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.1876em',\n // Reset (19px), match the native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n // Fix IE 11 width issue\n animationName: 'mui-auto-fill-cancel',\n animationDuration: '10ms',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholder,\n // IE 11\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n '-webkit-appearance': 'none'\n },\n // Show and hide the placeholder logic\n 'label[data-shrink=false] + $formControl &': {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholderHidden,\n // IE 11\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus:-ms-input-placeholder': placeholderVisible,\n // IE 11\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n\n },\n '&$disabled': {\n opacity: 1 // Reset iOS opacity\n\n },\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: 'mui-auto-fill'\n }\n },\n\n /* Styles applied to the `input` element if `margin=\"dense\"`. */\n inputMarginDense: {\n paddingTop: 4 - 1\n },\n\n /* Styles applied to the `input` element if `multiline={true}`. */\n inputMultiline: {\n height: 'auto',\n resize: 'none',\n padding: 0\n },\n\n /* Styles applied to the `input` element if `type=\"search\"`. */\n inputTypeSearch: {\n // Improve type search style.\n '-moz-appearance': 'textfield',\n '-webkit-appearance': 'textfield'\n },\n\n /* Styles applied to the `input` element if `startAdornment` is provided. */\n inputAdornedStart: {},\n\n /* Styles applied to the `input` element if `endAdornment` is provided. */\n inputAdornedEnd: {},\n\n /* Styles applied to the `input` element if `hiddenLabel={true}`. */\n inputHiddenLabel: {}\n };\n};\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\n\nvar InputBase = /*#__PURE__*/React.forwardRef(function InputBase(props, ref) {\n var ariaDescribedby = props['aria-describedby'],\n autoComplete = props.autoComplete,\n autoFocus = props.autoFocus,\n classes = props.classes,\n className = props.className,\n color = props.color,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n endAdornment = props.endAdornment,\n error = props.error,\n _props$fullWidth = props.fullWidth,\n fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,\n id = props.id,\n _props$inputComponent = props.inputComponent,\n inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,\n _props$inputProps = props.inputProps,\n inputPropsProp = _props$inputProps === void 0 ? {} : _props$inputProps,\n inputRefProp = props.inputRef,\n margin = props.margin,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n placeholder = props.placeholder,\n readOnly = props.readOnly,\n renderSuffix = props.renderSuffix,\n rows = props.rows,\n rowsMax = props.rowsMax,\n rowsMin = props.rowsMin,\n maxRows = props.maxRows,\n minRows = props.minRows,\n startAdornment = props.startAdornment,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n valueProp = props.value,\n other = _objectWithoutProperties(props, [\"aria-describedby\", \"autoComplete\", \"autoFocus\", \"classes\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"endAdornment\", \"error\", \"fullWidth\", \"id\", \"inputComponent\", \"inputProps\", \"inputRef\", \"margin\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"placeholder\", \"readOnly\", \"renderSuffix\", \"rows\", \"rowsMax\", \"rowsMin\", \"maxRows\", \"minRows\", \"startAdornment\", \"type\", \"value\"]);\n\n var value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n\n var _React$useRef = React.useRef(value != null),\n isControlled = _React$useRef.current;\n\n var inputRef = React.useRef();\n var handleInputRefWarning = React.useCallback(function (instance) {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['Material-UI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `inputRef` prop.', 'Make sure the `inputRef` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n var handleInputPropsRefProp = useForkRef(inputPropsProp.ref, handleInputRefWarning);\n var handleInputRefProp = useForkRef(inputRefProp, handleInputPropsRefProp);\n var handleInputRef = useForkRef(inputRef, handleInputRefProp);\n\n var _React$useState = React.useState(false),\n focused = _React$useState[0],\n setFocused = _React$useState[1];\n\n var muiFormControl = useFormControl();\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(function () {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n\n return undefined;\n }, [muiFormControl]);\n }\n\n var fcs = formControlState({\n props: props,\n muiFormControl: muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'margin', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused; // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n\n React.useEffect(function () {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n var onFilled = muiFormControl && muiFormControl.onFilled;\n var onEmpty = muiFormControl && muiFormControl.onEmpty;\n var checkDirty = React.useCallback(function (obj) {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(function () {\n if (isControlled) {\n checkDirty({\n value: value\n });\n }\n }, [value, checkDirty, isControlled]);\n\n var handleFocus = function handleFocus(event) {\n // Fix a bug with IE 11 where the focus/blur events are triggered\n // while the input is disabled.\n if (fcs.disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onFocus) {\n onFocus(event);\n }\n\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n var element = event.target || inputRef.current;\n\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Expected valid input target. Did you use a custom `inputComponent` and forget to forward refs? See https://material-ui.com/r/input-component-ref-interface for more info.\" : _formatMuiErrorMessage(1));\n }\n\n checkDirty({\n value: element.value\n });\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange.apply(inputPropsProp, [event].concat(args));\n } // Perform in the willUpdate\n\n\n if (onChange) {\n onChange.apply(void 0, [event].concat(args));\n }\n }; // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n\n\n React.useEffect(function () {\n checkDirty(inputRef.current);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n var handleClick = function handleClick(event) {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var InputComponent = inputComponent;\n\n var inputProps = _extends({}, inputPropsProp, {\n ref: handleInputRef\n });\n\n if (typeof InputComponent !== 'string') {\n inputProps = _extends({\n // Rename ref to inputRef as we don't know the\n // provided `inputComponent` structure.\n inputRef: handleInputRef,\n type: type\n }, inputProps, {\n ref: null\n });\n } else if (multiline) {\n if (rows && !maxRows && !minRows && !rowsMax && !rowsMin) {\n InputComponent = 'textarea';\n } else {\n inputProps = _extends({\n minRows: rows || minRows,\n rowsMax: rowsMax,\n maxRows: maxRows\n }, inputProps);\n InputComponent = TextareaAutosize;\n }\n } else {\n inputProps = _extends({\n type: type\n }, inputProps);\n }\n\n var handleAutoFill = function handleAutoFill(event) {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {\n value: 'x'\n });\n };\n\n React.useEffect(function () {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes[\"color\".concat(capitalize(fcs.color || 'primary'))], className, fcs.disabled && classes.disabled, fcs.error && classes.error, fullWidth && classes.fullWidth, fcs.focused && classes.focused, muiFormControl && classes.formControl, multiline && classes.multiline, startAdornment && classes.adornedStart, endAdornment && classes.adornedEnd, fcs.margin === 'dense' && classes.marginDense),\n onClick: handleClick,\n ref: ref\n }, other), startAdornment, /*#__PURE__*/React.createElement(FormControlContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(InputComponent, _extends({\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n }, inputProps, {\n className: clsx(classes.input, inputPropsProp.className, fcs.disabled && classes.disabled, multiline && classes.inputMultiline, fcs.hiddenLabel && classes.inputHiddenLabel, startAdornment && classes.inputAdornedStart, endAdornment && classes.inputAdornedEnd, type === 'search' && classes.inputTypeSearch, fcs.margin === 'dense' && classes.inputMarginDense),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n }))), endAdornment, renderSuffix ? renderSuffix(_extends({}, fcs, {\n startAdornment: startAdornment\n })) : null);\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['primary', 'secondary']),\n\n /**\n * The default `input` element value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n\n /**\n * If `true`, the `input` element will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n\n /**\n * If `true`, the input will indicate an error. This is normally obtained via context from\n * FormControl.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the input will take up the full width of its container.\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n */\n inputComponent: PropTypes.elementType,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * If `true`, a textarea element will be rendered.\n */\n multiline: PropTypes.bool,\n\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n\n /**\n * Callback fired when the input is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n\n /**\n * The short hint displayed in the input before the user enters a value.\n */\n placeholder: PropTypes.string,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Maximum number of rows to display.\n * @deprecated Use `maxRows` instead.\n */\n rowsMax: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display.\n * @deprecated Use `minRows` instead.\n */\n rowsMin: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes.string,\n\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiInputBase'\n})(InputBase);","map":{"version":3,"sources":["/app/node_modules/@material-ui/core/esm/InputBase/InputBase.js"],"names":["_objectWithoutProperties","_extends","formatMuiErrorMessage","_formatMuiErrorMessage","React","PropTypes","clsx","refType","formControlState","FormControlContext","useFormControl","withStyles","capitalize","useForkRef","TextareaAutosize","isFilled","styles","theme","light","palette","type","placeholder","color","opacity","transition","transitions","create","duration","shorter","placeholderHidden","placeholderVisible","root","typography","body1","text","primary","lineHeight","boxSizing","position","cursor","display","alignItems","disabled","formControl","focused","adornedStart","adornedEnd","error","marginDense","multiline","padding","concat","paddingTop","colorSecondary","fullWidth","width","input","font","letterSpacing","border","background","height","margin","WebkitTapHighlightColor","minWidth","animationName","animationDuration","outline","boxShadow","inputMarginDense","inputMultiline","resize","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel","useEnhancedEffect","window","useEffect","useLayoutEffect","InputBase","forwardRef","props","ref","ariaDescribedby","autoComplete","autoFocus","classes","className","defaultValue","endAdornment","_props$fullWidth","id","_props$inputComponent","inputComponent","_props$inputProps","inputProps","inputPropsProp","inputRefProp","inputRef","_props$multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","readOnly","renderSuffix","rows","rowsMax","rowsMin","maxRows","minRows","startAdornment","_props$type","valueProp","value","other","_React$useRef","useRef","isControlled","current","handleInputRefWarning","useCallback","instance","process","env","NODE_ENV","nodeName","focus","console","join","handleInputPropsRefProp","handleInputRefProp","handleInputRef","_React$useState","useState","setFocused","muiFormControl","registerEffect","undefined","fcs","states","onFilled","onEmpty","checkDirty","obj","handleFocus","event","stopPropagation","handleBlur","handleChange","element","target","Error","_len","arguments","length","args","Array","_key","apply","handleClick","currentTarget","InputComponent","handleAutoFill","setAdornedStart","Boolean","createElement","Provider","onAnimationStart","required","hiddenLabel","propTypes","string","bool","object","oneOf","any","node","elementType","oneOfType","number","func"],"mappings":"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","sourcesContent":["import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n\n/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport formControlState from '../FormControl/formControlState';\nimport FormControlContext, { useFormControl } from '../FormControl/FormControlContext';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport TextareaAutosize from '../TextareaAutosize';\nimport { isFilled } from './utils';\nexport var styles = function styles(theme) {\n var light = theme.palette.type === 'light';\n var placeholder = {\n color: 'currentColor',\n opacity: light ? 0.42 : 0.5,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n };\n var placeholderHidden = {\n opacity: '0 !important'\n };\n var placeholderVisible = {\n opacity: light ? 0.42 : 0.5\n };\n return {\n '@global': {\n '@keyframes mui-auto-fill': {},\n '@keyframes mui-auto-fill-cancel': {}\n },\n\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body1, {\n color: theme.palette.text.primary,\n lineHeight: '1.1876em',\n // Reset (19px), match the native input line-height\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n '&$disabled': {\n color: theme.palette.text.disabled,\n cursor: 'default'\n }\n }),\n\n /* Styles applied to the root element if the component is a descendant of `FormControl`. */\n formControl: {},\n\n /* Styles applied to the root element if the component is focused. */\n focused: {},\n\n /* Styles applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `startAdornment` is provided. */\n adornedStart: {},\n\n /* Styles applied to the root element if `endAdornment` is provided. */\n adornedEnd: {},\n\n /* Pseudo-class applied to the root element if `error={true}`. */\n error: {},\n\n /* Styles applied to the `input` element if `margin=\"dense\"`. */\n marginDense: {},\n\n /* Styles applied to the root element if `multiline={true}`. */\n multiline: {\n padding: \"\".concat(8 - 2, \"px 0 \").concat(8 - 1, \"px\"),\n '&$marginDense': {\n paddingTop: 4 - 1\n }\n },\n\n /* Styles applied to the root element if the color is secondary. */\n colorSecondary: {},\n\n /* Styles applied to the root element if `fullWidth={true}`. */\n fullWidth: {\n width: '100%'\n },\n\n /* Styles applied to the `input` element. */\n input: {\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: \"\".concat(8 - 2, \"px 0 \").concat(8 - 1, \"px\"),\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.1876em',\n // Reset (19px), match the native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n // Fix IE 11 width issue\n animationName: 'mui-auto-fill-cancel',\n animationDuration: '10ms',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholder,\n // IE 11\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n '-webkit-appearance': 'none'\n },\n // Show and hide the placeholder logic\n 'label[data-shrink=false] + $formControl &': {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholderHidden,\n // IE 11\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus:-ms-input-placeholder': placeholderVisible,\n // IE 11\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n\n },\n '&$disabled': {\n opacity: 1 // Reset iOS opacity\n\n },\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: 'mui-auto-fill'\n }\n },\n\n /* Styles applied to the `input` element if `margin=\"dense\"`. */\n inputMarginDense: {\n paddingTop: 4 - 1\n },\n\n /* Styles applied to the `input` element if `multiline={true}`. */\n inputMultiline: {\n height: 'auto',\n resize: 'none',\n padding: 0\n },\n\n /* Styles applied to the `input` element if `type=\"search\"`. */\n inputTypeSearch: {\n // Improve type search style.\n '-moz-appearance': 'textfield',\n '-webkit-appearance': 'textfield'\n },\n\n /* Styles applied to the `input` element if `startAdornment` is provided. */\n inputAdornedStart: {},\n\n /* Styles applied to the `input` element if `endAdornment` is provided. */\n inputAdornedEnd: {},\n\n /* Styles applied to the `input` element if `hiddenLabel={true}`. */\n inputHiddenLabel: {}\n };\n};\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\n\nvar InputBase = /*#__PURE__*/React.forwardRef(function InputBase(props, ref) {\n var ariaDescribedby = props['aria-describedby'],\n autoComplete = props.autoComplete,\n autoFocus = props.autoFocus,\n classes = props.classes,\n className = props.className,\n color = props.color,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n endAdornment = props.endAdornment,\n error = props.error,\n _props$fullWidth = props.fullWidth,\n fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,\n id = props.id,\n _props$inputComponent = props.inputComponent,\n inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,\n _props$inputProps = props.inputProps,\n inputPropsProp = _props$inputProps === void 0 ? {} : _props$inputProps,\n inputRefProp = props.inputRef,\n margin = props.margin,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n placeholder = props.placeholder,\n readOnly = props.readOnly,\n renderSuffix = props.renderSuffix,\n rows = props.rows,\n rowsMax = props.rowsMax,\n rowsMin = props.rowsMin,\n maxRows = props.maxRows,\n minRows = props.minRows,\n startAdornment = props.startAdornment,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n valueProp = props.value,\n other = _objectWithoutProperties(props, [\"aria-describedby\", \"autoComplete\", \"autoFocus\", \"classes\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"endAdornment\", \"error\", \"fullWidth\", \"id\", \"inputComponent\", \"inputProps\", \"inputRef\", \"margin\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"placeholder\", \"readOnly\", \"renderSuffix\", \"rows\", \"rowsMax\", \"rowsMin\", \"maxRows\", \"minRows\", \"startAdornment\", \"type\", \"value\"]);\n\n var value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n\n var _React$useRef = React.useRef(value != null),\n isControlled = _React$useRef.current;\n\n var inputRef = React.useRef();\n var handleInputRefWarning = React.useCallback(function (instance) {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['Material-UI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `inputRef` prop.', 'Make sure the `inputRef` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n var handleInputPropsRefProp = useForkRef(inputPropsProp.ref, handleInputRefWarning);\n var handleInputRefProp = useForkRef(inputRefProp, handleInputPropsRefProp);\n var handleInputRef = useForkRef(inputRef, handleInputRefProp);\n\n var _React$useState = React.useState(false),\n focused = _React$useState[0],\n setFocused = _React$useState[1];\n\n var muiFormControl = useFormControl();\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(function () {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n\n return undefined;\n }, [muiFormControl]);\n }\n\n var fcs = formControlState({\n props: props,\n muiFormControl: muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'margin', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused; // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n\n React.useEffect(function () {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n var onFilled = muiFormControl && muiFormControl.onFilled;\n var onEmpty = muiFormControl && muiFormControl.onEmpty;\n var checkDirty = React.useCallback(function (obj) {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(function () {\n if (isControlled) {\n checkDirty({\n value: value\n });\n }\n }, [value, checkDirty, isControlled]);\n\n var handleFocus = function handleFocus(event) {\n // Fix a bug with IE 11 where the focus/blur events are triggered\n // while the input is disabled.\n if (fcs.disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onFocus) {\n onFocus(event);\n }\n\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n var element = event.target || inputRef.current;\n\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Expected valid input target. Did you use a custom `inputComponent` and forget to forward refs? See https://material-ui.com/r/input-component-ref-interface for more info.\" : _formatMuiErrorMessage(1));\n }\n\n checkDirty({\n value: element.value\n });\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange.apply(inputPropsProp, [event].concat(args));\n } // Perform in the willUpdate\n\n\n if (onChange) {\n onChange.apply(void 0, [event].concat(args));\n }\n }; // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n\n\n React.useEffect(function () {\n checkDirty(inputRef.current);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n var handleClick = function handleClick(event) {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var InputComponent = inputComponent;\n\n var inputProps = _extends({}, inputPropsProp, {\n ref: handleInputRef\n });\n\n if (typeof InputComponent !== 'string') {\n inputProps = _extends({\n // Rename ref to inputRef as we don't know the\n // provided `inputComponent` structure.\n inputRef: handleInputRef,\n type: type\n }, inputProps, {\n ref: null\n });\n } else if (multiline) {\n if (rows && !maxRows && !minRows && !rowsMax && !rowsMin) {\n InputComponent = 'textarea';\n } else {\n inputProps = _extends({\n minRows: rows || minRows,\n rowsMax: rowsMax,\n maxRows: maxRows\n }, inputProps);\n InputComponent = TextareaAutosize;\n }\n } else {\n inputProps = _extends({\n type: type\n }, inputProps);\n }\n\n var handleAutoFill = function handleAutoFill(event) {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {\n value: 'x'\n });\n };\n\n React.useEffect(function () {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes[\"color\".concat(capitalize(fcs.color || 'primary'))], className, fcs.disabled && classes.disabled, fcs.error && classes.error, fullWidth && classes.fullWidth, fcs.focused && classes.focused, muiFormControl && classes.formControl, multiline && classes.multiline, startAdornment && classes.adornedStart, endAdornment && classes.adornedEnd, fcs.margin === 'dense' && classes.marginDense),\n onClick: handleClick,\n ref: ref\n }, other), startAdornment, /*#__PURE__*/React.createElement(FormControlContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(InputComponent, _extends({\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n }, inputProps, {\n className: clsx(classes.input, inputPropsProp.className, fcs.disabled && classes.disabled, multiline && classes.inputMultiline, fcs.hiddenLabel && classes.inputHiddenLabel, startAdornment && classes.inputAdornedStart, endAdornment && classes.inputAdornedEnd, type === 'search' && classes.inputTypeSearch, fcs.margin === 'dense' && classes.inputMarginDense),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n }))), endAdornment, renderSuffix ? renderSuffix(_extends({}, fcs, {\n startAdornment: startAdornment\n })) : null);\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['primary', 'secondary']),\n\n /**\n * The default `input` element value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n\n /**\n * If `true`, the `input` element will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n\n /**\n * If `true`, the input will indicate an error. This is normally obtained via context from\n * FormControl.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the input will take up the full width of its container.\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n */\n inputComponent: PropTypes.elementType,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * If `true`, a textarea element will be rendered.\n */\n multiline: PropTypes.bool,\n\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n\n /**\n * Callback fired when the input is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n\n /**\n * The short hint displayed in the input before the user enters a value.\n */\n placeholder: PropTypes.string,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Maximum number of rows to display.\n * @deprecated Use `maxRows` instead.\n */\n rowsMax: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display.\n * @deprecated Use `minRows` instead.\n */\n rowsMin: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes.string,\n\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiInputBase'\n})(InputBase);"]},"metadata":{},"sourceType":"module"}