{"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      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\", \"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 && !rowsMax && !rowsMin) {\n      InputComponent = 'textarea';\n    } else {\n      inputProps = _extends({\n        rows: rows,\n        rowsMax: rowsMax\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   * 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 when multiline option is set to true.\n   */\n  rowsMax: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n  /**\n   * Minimum number of rows to display when multiline option is set to true.\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":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/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","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","func","oneOfType","number"],"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      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\", \"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 && !rowsMax && !rowsMin) {\n      InputComponent = 'textarea';\n    } else {\n      inputProps = _extends({\n        rows: rows,\n        rowsMax: rowsMax\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   * 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 when multiline option is set to true.\n   */\n  rowsMax: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n  /**\n   * Minimum number of rows to display when multiline option is set to true.\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"}