"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[6131],{
/***/ 59446:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* unused harmony export styles */
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87462);
/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45987);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);
/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86010);
/* harmony import */ var _InputBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15575);
/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1591);
var styles = function styles(theme) {
var light = theme.palette.type === 'light';
var bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
var backgroundColor = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.09)';
return {
/* Styles applied to the root element. */
root: {
position: 'relative',
backgroundColor: backgroundColor,
borderTopLeftRadius: theme.shape.borderRadius,
borderTopRightRadius: theme.shape.borderRadius,
transition: theme.transitions.create('background-color', {
duration: theme.transitions.duration.shorter,
easing: theme.transitions.easing.easeOut
}),
'&:hover': {
backgroundColor: light ? 'rgba(0, 0, 0, 0.13)' : 'rgba(255, 255, 255, 0.13)',
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: backgroundColor
}
},
'&$focused': {
backgroundColor: light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.09)'
},
'&$disabled': {
backgroundColor: light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)'
}
},
/* Styles applied to the root element if color secondary. */
colorSecondary: {
'&$underline:after': {
borderBottomColor: theme.palette.secondary.main
}
},
/* Styles applied to the root element if `disableUnderline={false}`. */
underline: {
'&:after': {
borderBottom: "2px solid ".concat(theme.palette.primary.main),
left: 0,
bottom: 0,
// Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
content: '""',
position: 'absolute',
right: 0,
transform: 'scaleX(0)',
transition: theme.transitions.create('transform', {
duration: theme.transitions.duration.shorter,
easing: theme.transitions.easing.easeOut
}),
pointerEvents: 'none' // Transparent to the hover style.
},
'&$focused:after': {
transform: 'scaleX(1)'
},
'&$error:after': {
borderBottomColor: theme.palette.error.main,
transform: 'scaleX(1)' // error is always underlined in red
},
'&:before': {
borderBottom: "1px solid ".concat(bottomLineColor),
left: 0,
bottom: 0,
// Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
content: '"\\00a0"',
position: 'absolute',
right: 0,
transition: theme.transitions.create('border-bottom-color', {
duration: theme.transitions.duration.shorter
}),
pointerEvents: 'none' // Transparent to the hover style.
},
'&:hover:before': {
borderBottom: "1px solid ".concat(theme.palette.text.primary)
},
'&$disabled:before': {
borderBottomStyle: 'dotted'
}
},
/* Pseudo-class applied to the root element if the component is focused. */
focused: {},
/* Pseudo-class applied to the root element if `disabled={true}`. */
disabled: {},
/* Styles applied to the root element if `startAdornment` is provided. */
adornedStart: {
paddingLeft: 12
},
/* Styles applied to the root element if `endAdornment` is provided. */
adornedEnd: {
paddingRight: 12
},
/* Pseudo-class applied to the root element if `error={true}`. */
error: {},
/* Styles applied to the `input` element if `margin="dense"`. */
marginDense: {},
/* Styles applied to the root element if `multiline={true}`. */
multiline: {
padding: '27px 12px 10px',
'&$marginDense': {
paddingTop: 23,
paddingBottom: 6
}
},
/* Styles applied to the `input` element. */
input: {
padding: '27px 12px 10px',
'&:-webkit-autofill': {
WebkitBoxShadow: theme.palette.type === 'light' ? null : '0 0 0 100px #266798 inset',
WebkitTextFillColor: theme.palette.type === 'light' ? null : '#fff',
caretColor: theme.palette.type === 'light' ? null : '#fff',
borderTopLeftRadius: 'inherit',
borderTopRightRadius: 'inherit'
}
},
/* Styles applied to the `input` element if `margin="dense"`. */
inputMarginDense: {
paddingTop: 23,
paddingBottom: 6
},
/* Styles applied to the `input` if in ``. */
inputHiddenLabel: {
paddingTop: 18,
paddingBottom: 19,
'&$inputMarginDense': {
paddingTop: 10,
paddingBottom: 11
}
},
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {
padding: 0
},
/* Styles applied to the `input` element if `startAdornment` is provided. */
inputAdornedStart: {
paddingLeft: 0
},
/* Styles applied to the `input` element if `endAdornment` is provided. */
inputAdornedEnd: {
paddingRight: 0
}
};
};
var FilledInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function FilledInput(props, ref) {
var disableUnderline = props.disableUnderline,
classes = props.classes,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
_props$inputComponent = props.inputComponent,
inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,
_props$multiline = props.multiline,
multiline = _props$multiline === void 0 ? false : _props$multiline,
_props$type = props.type,
type = _props$type === void 0 ? 'text' : _props$type,
other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(props, ["disableUnderline", "classes", "fullWidth", "inputComponent", "multiline", "type"]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_InputBase__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
classes: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({}, classes, {
root: (0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(classes.root, !disableUnderline && classes.underline),
underline: null
}),
fullWidth: fullWidth,
inputComponent: inputComponent,
multiline: multiline,
ref: ref,
type: type
}, other));
});
false ? 0 : void 0;
FilledInput.muiName = 'Input';
/* harmony default export */ __webpack_exports__["Z"] = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(styles, {
name: 'MuiFilledInput'
})(FilledInput));
/***/ }),
/***/ 15736:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Y": function() { return /* binding */ useFormControl; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);
/**
* @ignore - internal component.
*/
var FormControlContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext();
if (false) {}
function useFormControl() {
return react__WEBPACK_IMPORTED_MODULE_0__.useContext(FormControlContext);
}
/* harmony default export */ __webpack_exports__["Z"] = (FormControlContext);
/***/ }),
/***/ 89345:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Z": function() { return /* binding */ formControlState; }
/* harmony export */ });
function formControlState(_ref) {
var props = _ref.props,
states = _ref.states,
muiFormControl = _ref.muiFormControl;
return states.reduce(function (acc, state) {
acc[state] = props[state];
if (muiFormControl) {
if (typeof props[state] === 'undefined') {
acc[state] = muiFormControl[state];
}
}
return acc;
}, {});
}
/***/ }),
/***/ 22601:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "Z": function() { return /* binding */ useFormControl; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);
/* harmony import */ var _FormControlContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15736);
function useFormControl() {
return react__WEBPACK_IMPORTED_MODULE_0__.useContext(_FormControlContext__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z);
}
/***/ }),
/***/ 20170:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(87462);
/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(86854);
/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45987);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);
/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8662);
/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8920);
/* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5653);
/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17294);
function getScale(value) {
return "scale(".concat(value, ", ").concat(Math.pow(value, 2), ")");
}
var styles = {
entering: {
opacity: 1,
transform: getScale(1)
},
entered: {
opacity: 1,
transform: 'none'
}
};
/**
* The Grow transition is used by the [Tooltip](/components/tooltips/) and
* [Popover](/components/popover/) components.
* It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.
*/
var Grow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function Grow(props, ref) {
var children = props.children,
_props$disableStrictM = props.disableStrictModeCompat,
disableStrictModeCompat = _props$disableStrictM === void 0 ? false : _props$disableStrictM,
inProp = props.in,
onEnter = props.onEnter,
onEntered = props.onEntered,
onEntering = props.onEntering,
onExit = props.onExit,
onExited = props.onExited,
onExiting = props.onExiting,
style = props.style,
_props$timeout = props.timeout,
timeout = _props$timeout === void 0 ? 'auto' : _props$timeout,
_props$TransitionComp = props.TransitionComponent,
TransitionComponent = _props$TransitionComp === void 0 ? react_transition_group__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP : _props$TransitionComp,
other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(props, ["children", "disableStrictModeCompat", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"]);
var timer = react__WEBPACK_IMPORTED_MODULE_0__.useRef();
var autoTimeout = react__WEBPACK_IMPORTED_MODULE_0__.useRef();
var theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)();
var enableStrictModeCompat = theme.unstable_strictMode && !disableStrictModeCompat;
var nodeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
var foreignRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(children.ref, ref);
var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(enableStrictModeCompat ? nodeRef : undefined, foreignRef);
var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {
return function (nodeOrAppearing, maybeAppearing) {
if (callback) {
var _ref = enableStrictModeCompat ? [nodeRef.current, nodeOrAppearing] : [nodeOrAppearing, maybeAppearing],
_ref2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(_ref, 2),
node = _ref2[0],
isAppearing = _ref2[1]; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.
if (isAppearing === undefined) {
callback(node);
} else {
callback(node, isAppearing);
}
}
};
};
var handleEntering = normalizedTransitionCallback(onEntering);
var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {
(0,_transitions_utils__WEBPACK_IMPORTED_MODULE_6__/* .reflow */ .n)(node); // So the animation always start from the start.
var _getTransitionProps = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_6__/* .getTransitionProps */ .C)({
style: style,
timeout: timeout
}, {
mode: 'enter'
}),
transitionDuration = _getTransitionProps.duration,
delay = _getTransitionProps.delay;
var duration;
if (timeout === 'auto') {
duration = theme.transitions.getAutoHeightDuration(node.clientHeight);
autoTimeout.current = duration;
} else {
duration = transitionDuration;
}
node.style.transition = [theme.transitions.create('opacity', {
duration: duration,
delay: delay
}), theme.transitions.create('transform', {
duration: duration * 0.666,
delay: delay
})].join(',');
if (onEnter) {
onEnter(node, isAppearing);
}
});
var handleEntered = normalizedTransitionCallback(onEntered);
var handleExiting = normalizedTransitionCallback(onExiting);
var handleExit = normalizedTransitionCallback(function (node) {
var _getTransitionProps2 = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_6__/* .getTransitionProps */ .C)({
style: style,
timeout: timeout
}, {
mode: 'exit'
}),
transitionDuration = _getTransitionProps2.duration,
delay = _getTransitionProps2.delay;
var duration;
if (timeout === 'auto') {
duration = theme.transitions.getAutoHeightDuration(node.clientHeight);
autoTimeout.current = duration;
} else {
duration = transitionDuration;
}
node.style.transition = [theme.transitions.create('opacity', {
duration: duration,
delay: delay
}), theme.transitions.create('transform', {
duration: duration * 0.666,
delay: delay || duration * 0.333
})].join(',');
node.style.opacity = '0';
node.style.transform = getScale(0.75);
if (onExit) {
onExit(node);
}
});
var handleExited = normalizedTransitionCallback(onExited);
var addEndListener = function addEndListener(nodeOrNext, maybeNext) {
var next = enableStrictModeCompat ? nodeOrNext : maybeNext;
if (timeout === 'auto') {
timer.current = setTimeout(next, autoTimeout.current || 0);
}
};
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
return function () {
clearTimeout(timer.current);
};
}, []);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)({
appear: true,
in: inProp,
nodeRef: enableStrictModeCompat ? nodeRef : undefined,
onEnter: handleEnter,
onEntered: handleEntered,
onEntering: handleEntering,
onExit: handleExit,
onExited: handleExited,
onExiting: handleExiting,
addEndListener: addEndListener,
timeout: timeout === 'auto' ? null : timeout
}, other), function (state, childProps) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)({
style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)({
opacity: 0,
transform: getScale(0.75),
visibility: state === 'exited' && !inProp ? 'hidden' : undefined
}, styles[state], style, children.props.style),
ref: handleRef
}, childProps));
});
});
false ? 0 : void 0;
Grow.muiSupportAuto = true;
/* harmony default export */ __webpack_exports__["Z"] = (Grow);
/***/ }),
/***/ 15575:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ InputBase_InputBase; }
});
// UNUSED EXPORTS: styles
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js
var formatMuiErrorMessage = __webpack_require__(60288);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js
var clsx_m = __webpack_require__(86010);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/FormControl/formControlState.js
var formControlState = __webpack_require__(89345);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/FormControl/FormControlContext.js
var FormControlContext = __webpack_require__(15736);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/withStyles.js + 1 modules
var withStyles = __webpack_require__(1591);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/capitalize.js
var capitalize = __webpack_require__(93871);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/useForkRef.js
var useForkRef = __webpack_require__(17294);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/debounce.js
var debounce = __webpack_require__(79437);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/TextareaAutosize/TextareaAutosize.js
function getStyleValue(computedStyle, property) {
return parseInt(computedStyle[property], 10) || 0;
}
var useEnhancedEffect = typeof window !== 'undefined' ? react.useLayoutEffect : react.useEffect;
var styles = {
/* Styles applied to the shadow textarea element. */
shadow: {
// Visibility needed to hide the extra text area on iPads
visibility: 'hidden',
// Remove from the content flow
position: 'absolute',
// Ignore the scrollbar width
overflow: 'hidden',
height: 0,
top: 0,
left: 0,
// Create a new layer, increase the isolation of the computed values
transform: 'translateZ(0)'
}
};
var TextareaAutosize = /*#__PURE__*/react.forwardRef(function TextareaAutosize(props, ref) {
var onChange = props.onChange,
rows = props.rows,
rowsMax = props.rowsMax,
rowsMinProp = props.rowsMin,
maxRowsProp = props.maxRows,
_props$minRows = props.minRows,
minRowsProp = _props$minRows === void 0 ? 1 : _props$minRows,
style = props.style,
value = props.value,
other = (0,objectWithoutProperties/* default */.Z)(props, ["onChange", "rows", "rowsMax", "rowsMin", "maxRows", "minRows", "style", "value"]);
var maxRows = maxRowsProp || rowsMax;
var minRows = rows || rowsMinProp || minRowsProp;
var _React$useRef = react.useRef(value != null),
isControlled = _React$useRef.current;
var inputRef = react.useRef(null);
var handleRef = (0,useForkRef/* default */.Z)(ref, inputRef);
var shadowRef = react.useRef(null);
var renders = react.useRef(0);
var _React$useState = react.useState({}),
state = _React$useState[0],
setState = _React$useState[1];
var syncHeight = react.useCallback(function () {
var input = inputRef.current;
var computedStyle = window.getComputedStyle(input);
var inputShallow = shadowRef.current;
inputShallow.style.width = computedStyle.width;
inputShallow.value = input.value || props.placeholder || 'x';
if (inputShallow.value.slice(-1) === '\n') {
// Certain fonts which overflow the line height will cause the textarea
// to report a different scrollHeight depending on whether the last line
// is empty. Make it non-empty to avoid this issue.
inputShallow.value += ' ';
}
var boxSizing = computedStyle['box-sizing'];
var padding = getStyleValue(computedStyle, 'padding-bottom') + getStyleValue(computedStyle, 'padding-top');
var border = getStyleValue(computedStyle, 'border-bottom-width') + getStyleValue(computedStyle, 'border-top-width'); // The height of the inner content
var innerHeight = inputShallow.scrollHeight - padding; // Measure height of a textarea with a single row
inputShallow.value = 'x';
var singleRowHeight = inputShallow.scrollHeight - padding; // The height of the outer content
var outerHeight = innerHeight;
if (minRows) {
outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
}
if (maxRows) {
outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
}
outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style.
var outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0);
var overflow = Math.abs(outerHeight - innerHeight) <= 1;
setState(function (prevState) {
// Need a large enough difference to update the height.
// This prevents infinite rendering loop.
if (renders.current < 20 && (outerHeightStyle > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle) > 1 || prevState.overflow !== overflow)) {
renders.current += 1;
return {
overflow: overflow,
outerHeightStyle: outerHeightStyle
};
}
if (false) {}
return prevState;
});
}, [maxRows, minRows, props.placeholder]);
react.useEffect(function () {
var handleResize = (0,debounce/* default */.Z)(function () {
renders.current = 0;
syncHeight();
});
window.addEventListener('resize', handleResize);
return function () {
handleResize.clear();
window.removeEventListener('resize', handleResize);
};
}, [syncHeight]);
useEnhancedEffect(function () {
syncHeight();
});
react.useEffect(function () {
renders.current = 0;
}, [value]);
var handleChange = function handleChange(event) {
renders.current = 0;
if (!isControlled) {
syncHeight();
}
if (onChange) {
onChange(event);
}
};
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("textarea", (0,esm_extends/* default */.Z)({
value: value,
onChange: handleChange,
ref: handleRef // Apply the rows prop to get a "correct" first SSR paint
,
rows: minRows,
style: (0,esm_extends/* default */.Z)({
height: state.outerHeightStyle,
// Need a large enough difference to allow scrolling.
// This prevents infinite rendering loop.
overflow: state.overflow ? 'hidden' : null
}, style)
}, other)), /*#__PURE__*/react.createElement("textarea", {
"aria-hidden": true,
className: props.className,
readOnly: true,
ref: shadowRef,
tabIndex: -1,
style: (0,esm_extends/* default */.Z)({}, styles.shadow, style)
}));
});
false ? 0 : void 0;
/* harmony default export */ var TextareaAutosize_TextareaAutosize = (TextareaAutosize);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/InputBase/utils.js
var utils = __webpack_require__(36519);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/InputBase/InputBase.js
/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
var InputBase_styles = function styles(theme) {
var light = theme.palette.type === 'light';
var placeholder = {
color: 'currentColor',
opacity: light ? 0.42 : 0.5,
transition: theme.transitions.create('opacity', {
duration: theme.transitions.duration.shorter
})
};
var placeholderHidden = {
opacity: '0 !important'
};
var placeholderVisible = {
opacity: light ? 0.42 : 0.5
};
return {
'@global': {
'@keyframes mui-auto-fill': {},
'@keyframes mui-auto-fill-cancel': {}
},
/* Styles applied to the root element. */
root: (0,esm_extends/* default */.Z)({}, theme.typography.body1, {
color: theme.palette.text.primary,
lineHeight: '1.1876em',
// Reset (19px), match the native input line-height
boxSizing: 'border-box',
// Prevent padding issue with fullWidth.
position: 'relative',
cursor: 'text',
display: 'inline-flex',
alignItems: 'center',
'&$disabled': {
color: theme.palette.text.disabled,
cursor: 'default'
}
}),
/* Styles applied to the root element if the component is a descendant of `FormControl`. */
formControl: {},
/* Styles applied to the root element if the component is focused. */
focused: {},
/* Styles applied to the root element if `disabled={true}`. */
disabled: {},
/* Styles applied to the root element if `startAdornment` is provided. */
adornedStart: {},
/* Styles applied to the root element if `endAdornment` is provided. */
adornedEnd: {},
/* Pseudo-class applied to the root element if `error={true}`. */
error: {},
/* Styles applied to the `input` element if `margin="dense"`. */
marginDense: {},
/* Styles applied to the root element if `multiline={true}`. */
multiline: {
padding: "".concat(8 - 2, "px 0 ").concat(8 - 1, "px"),
'&$marginDense': {
paddingTop: 4 - 1
}
},
/* Styles applied to the root element if the color is secondary. */
colorSecondary: {},
/* Styles applied to the root element if `fullWidth={true}`. */
fullWidth: {
width: '100%'
},
/* Styles applied to the `input` element. */
input: {
font: 'inherit',
letterSpacing: 'inherit',
color: 'currentColor',
padding: "".concat(8 - 2, "px 0 ").concat(8 - 1, "px"),
border: 0,
boxSizing: 'content-box',
background: 'none',
height: '1.1876em',
// Reset (19px), match the native input line-height
margin: 0,
// Reset for Safari
WebkitTapHighlightColor: 'transparent',
display: 'block',
// Make the flex item shrink with Firefox
minWidth: 0,
width: '100%',
// Fix IE 11 width issue
animationName: 'mui-auto-fill-cancel',
animationDuration: '10ms',
'&::-webkit-input-placeholder': placeholder,
'&::-moz-placeholder': placeholder,
// Firefox 19+
'&:-ms-input-placeholder': placeholder,
// IE 11
'&::-ms-input-placeholder': placeholder,
// Edge
'&:focus': {
outline: 0
},
// Reset Firefox invalid required input style
'&:invalid': {
boxShadow: 'none'
},
'&::-webkit-search-decoration': {
// Remove the padding when type=search.
'-webkit-appearance': 'none'
},
// Show and hide the placeholder logic
'label[data-shrink=false] + $formControl &': {
'&::-webkit-input-placeholder': placeholderHidden,
'&::-moz-placeholder': placeholderHidden,
// Firefox 19+
'&:-ms-input-placeholder': placeholderHidden,
// IE 11
'&::-ms-input-placeholder': placeholderHidden,
// Edge
'&:focus::-webkit-input-placeholder': placeholderVisible,
'&:focus::-moz-placeholder': placeholderVisible,
// Firefox 19+
'&:focus:-ms-input-placeholder': placeholderVisible,
// IE 11
'&:focus::-ms-input-placeholder': placeholderVisible // Edge
},
'&$disabled': {
opacity: 1 // Reset iOS opacity
},
'&:-webkit-autofill': {
animationDuration: '5000s',
animationName: 'mui-auto-fill'
}
},
/* Styles applied to the `input` element if `margin="dense"`. */
inputMarginDense: {
paddingTop: 4 - 1
},
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {
height: 'auto',
resize: 'none',
padding: 0
},
/* Styles applied to the `input` element if `type="search"`. */
inputTypeSearch: {
// Improve type search style.
'-moz-appearance': 'textfield',
'-webkit-appearance': 'textfield'
},
/* Styles applied to the `input` element if `startAdornment` is provided. */
inputAdornedStart: {},
/* Styles applied to the `input` element if `endAdornment` is provided. */
inputAdornedEnd: {},
/* Styles applied to the `input` element if `hiddenLabel={true}`. */
inputHiddenLabel: {}
};
};
var InputBase_useEnhancedEffect = typeof window === 'undefined' ? react.useEffect : react.useLayoutEffect;
/**
* `InputBase` contains as few styles as possible.
* It aims to be a simple building block for creating an input.
* It contains a load of style reset and some state logic.
*/
var InputBase = /*#__PURE__*/react.forwardRef(function InputBase(props, ref) {
var ariaDescribedby = props['aria-describedby'],
autoComplete = props.autoComplete,
autoFocus = props.autoFocus,
classes = props.classes,
className = props.className,
color = props.color,
defaultValue = props.defaultValue,
disabled = props.disabled,
endAdornment = props.endAdornment,
error = props.error,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
id = props.id,
_props$inputComponent = props.inputComponent,
inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,
_props$inputProps = props.inputProps,
inputPropsProp = _props$inputProps === void 0 ? {} : _props$inputProps,
inputRefProp = props.inputRef,
margin = props.margin,
_props$multiline = props.multiline,
multiline = _props$multiline === void 0 ? false : _props$multiline,
name = props.name,
onBlur = props.onBlur,
onChange = props.onChange,
onClick = props.onClick,
onFocus = props.onFocus,
onKeyDown = props.onKeyDown,
onKeyUp = props.onKeyUp,
placeholder = props.placeholder,
readOnly = props.readOnly,
renderSuffix = props.renderSuffix,
rows = props.rows,
rowsMax = props.rowsMax,
rowsMin = props.rowsMin,
maxRows = props.maxRows,
minRows = props.minRows,
startAdornment = props.startAdornment,
_props$type = props.type,
type = _props$type === void 0 ? 'text' : _props$type,
valueProp = props.value,
other = (0,objectWithoutProperties/* default */.Z)(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"]);
var value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
var _React$useRef = react.useRef(value != null),
isControlled = _React$useRef.current;
var inputRef = react.useRef();
var handleInputRefWarning = react.useCallback(function (instance) {
if (false) {}
}, []);
var handleInputPropsRefProp = (0,useForkRef/* default */.Z)(inputPropsProp.ref, handleInputRefWarning);
var handleInputRefProp = (0,useForkRef/* default */.Z)(inputRefProp, handleInputPropsRefProp);
var handleInputRef = (0,useForkRef/* default */.Z)(inputRef, handleInputRefProp);
var _React$useState = react.useState(false),
focused = _React$useState[0],
setFocused = _React$useState[1];
var muiFormControl = (0,FormControlContext/* useFormControl */.Y)();
if (false) {}
var fcs = (0,formControlState/* default */.Z)({
props: props,
muiFormControl: muiFormControl,
states: ['color', 'disabled', 'error', 'hiddenLabel', 'margin', 'required', 'filled']
});
fcs.focused = muiFormControl ? muiFormControl.focused : focused; // The blur won't fire when the disabled state is set on a focused input.
// We need to book keep the focused state manually.
react.useEffect(function () {
if (!muiFormControl && disabled && focused) {
setFocused(false);
if (onBlur) {
onBlur();
}
}
}, [muiFormControl, disabled, focused, onBlur]);
var onFilled = muiFormControl && muiFormControl.onFilled;
var onEmpty = muiFormControl && muiFormControl.onEmpty;
var checkDirty = react.useCallback(function (obj) {
if ((0,utils/* isFilled */.vd)(obj)) {
if (onFilled) {
onFilled();
}
} else if (onEmpty) {
onEmpty();
}
}, [onFilled, onEmpty]);
InputBase_useEnhancedEffect(function () {
if (isControlled) {
checkDirty({
value: value
});
}
}, [value, checkDirty, isControlled]);
var handleFocus = function handleFocus(event) {
// Fix a bug with IE 11 where the focus/blur events are triggered
// while the input is disabled.
if (fcs.disabled) {
event.stopPropagation();
return;
}
if (onFocus) {
onFocus(event);
}
if (inputPropsProp.onFocus) {
inputPropsProp.onFocus(event);
}
if (muiFormControl && muiFormControl.onFocus) {
muiFormControl.onFocus(event);
} else {
setFocused(true);
}
};
var handleBlur = function handleBlur(event) {
if (onBlur) {
onBlur(event);
}
if (inputPropsProp.onBlur) {
inputPropsProp.onBlur(event);
}
if (muiFormControl && muiFormControl.onBlur) {
muiFormControl.onBlur(event);
} else {
setFocused(false);
}
};
var handleChange = function handleChange(event) {
if (!isControlled) {
var element = event.target || inputRef.current;
if (element == null) {
throw new Error( false ? 0 : (0,formatMuiErrorMessage/* default */.Z)(1));
}
checkDirty({
value: element.value
});
}
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
if (inputPropsProp.onChange) {
inputPropsProp.onChange.apply(inputPropsProp, [event].concat(args));
} // Perform in the willUpdate
if (onChange) {
onChange.apply(void 0, [event].concat(args));
}
}; // Check the input state on mount, in case it was filled by the user
// or auto filled by the browser before the hydration (for SSR).
react.useEffect(function () {
checkDirty(inputRef.current);
}, []); // eslint-disable-line react-hooks/exhaustive-deps
var handleClick = function handleClick(event) {
if (inputRef.current && event.currentTarget === event.target) {
inputRef.current.focus();
}
if (onClick) {
onClick(event);
}
};
var InputComponent = inputComponent;
var inputProps = (0,esm_extends/* default */.Z)({}, inputPropsProp, {
ref: handleInputRef
});
if (typeof InputComponent !== 'string') {
inputProps = (0,esm_extends/* default */.Z)({
// Rename ref to inputRef as we don't know the
// provided `inputComponent` structure.
inputRef: handleInputRef,
type: type
}, inputProps, {
ref: null
});
} else if (multiline) {
if (rows && !maxRows && !minRows && !rowsMax && !rowsMin) {
InputComponent = 'textarea';
} else {
inputProps = (0,esm_extends/* default */.Z)({
minRows: rows || minRows,
rowsMax: rowsMax,
maxRows: maxRows
}, inputProps);
InputComponent = TextareaAutosize_TextareaAutosize;
}
} else {
inputProps = (0,esm_extends/* default */.Z)({
type: type
}, inputProps);
}
var handleAutoFill = function handleAutoFill(event) {
// Provide a fake value as Chrome might not let you access it for security reasons.
checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {
value: 'x'
});
};
react.useEffect(function () {
if (muiFormControl) {
muiFormControl.setAdornedStart(Boolean(startAdornment));
}
}, [muiFormControl, startAdornment]);
return /*#__PURE__*/react.createElement("div", (0,esm_extends/* default */.Z)({
className: (0,clsx_m/* default */.Z)(classes.root, classes["color".concat((0,capitalize/* default */.Z)(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),
onClick: handleClick,
ref: ref
}, other), startAdornment, /*#__PURE__*/react.createElement(FormControlContext/* default.Provider */.Z.Provider, {
value: null
}, /*#__PURE__*/react.createElement(InputComponent, (0,esm_extends/* default */.Z)({
"aria-invalid": fcs.error,
"aria-describedby": ariaDescribedby,
autoComplete: autoComplete,
autoFocus: autoFocus,
defaultValue: defaultValue,
disabled: fcs.disabled,
id: id,
onAnimationStart: handleAutoFill,
name: name,
placeholder: placeholder,
readOnly: readOnly,
required: fcs.required,
rows: rows,
value: value,
onKeyDown: onKeyDown,
onKeyUp: onKeyUp
}, inputProps, {
className: (0,clsx_m/* default */.Z)(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),
onBlur: handleBlur,
onChange: handleChange,
onFocus: handleFocus
}))), endAdornment, renderSuffix ? renderSuffix((0,esm_extends/* default */.Z)({}, fcs, {
startAdornment: startAdornment
})) : null);
});
false ? 0 : void 0;
/* harmony default export */ var InputBase_InputBase = ((0,withStyles/* default */.Z)(InputBase_styles, {
name: 'MuiInputBase'
})(InputBase));
/***/ }),
/***/ 36519:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "B7": function() { return /* binding */ isAdornedStart; },
/* harmony export */ "vd": function() { return /* binding */ isFilled; }
/* harmony export */ });
/* unused harmony export hasValue */
// Supports determination of isControlled().
// Controlled input accepts its current value as a prop.
//
// @see https://facebook.github.io/react/docs/forms.html#controlled-components
// @param value
// @returns {boolean} true if string (including '') or number (including zero)
function hasValue(value) {
return value != null && !(Array.isArray(value) && value.length === 0);
} // Determine if field is empty or filled.
// Response determines if label is presented above field or as placeholder.
//
// @param obj
// @param SSR
// @returns {boolean} False when not present or empty string.
// True when any number or string with length.
function isFilled(obj) {
var SSR = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');
} // Determine if an Input is adorned on start.
// It's corresponding to the left with LTR.
//
// @param obj
// @returns {boolean} False when no adornments.
// True when adorned at the start.
function isAdornedStart(obj) {
return obj.startAdornment;
}
/***/ }),
/***/ 85161:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ InputLabel_InputLabel; }
});
// UNUSED EXPORTS: styles
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js
var clsx_m = __webpack_require__(86010);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/FormControl/formControlState.js
var formControlState = __webpack_require__(89345);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/FormControl/useFormControl.js
var useFormControl = __webpack_require__(22601);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/withStyles.js + 1 modules
var withStyles = __webpack_require__(1591);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/capitalize.js
var capitalize = __webpack_require__(93871);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/FormLabel/FormLabel.js
var styles = function styles(theme) {
return {
/* Styles applied to the root element. */
root: (0,esm_extends/* default */.Z)({
color: theme.palette.text.secondary
}, theme.typography.body1, {
lineHeight: 1,
padding: 0,
'&$focused': {
color: theme.palette.primary.main
},
'&$disabled': {
color: theme.palette.text.disabled
},
'&$error': {
color: theme.palette.error.main
}
}),
/* Styles applied to the root element if the color is secondary. */
colorSecondary: {
'&$focused': {
color: theme.palette.secondary.main
}
},
/* Pseudo-class applied to the root element if `focused={true}`. */
focused: {},
/* Pseudo-class applied to the root element if `disabled={true}`. */
disabled: {},
/* Pseudo-class applied to the root element if `error={true}`. */
error: {},
/* Pseudo-class applied to the root element if `filled={true}`. */
filled: {},
/* Pseudo-class applied to the root element if `required={true}`. */
required: {},
/* Styles applied to the asterisk element. */
asterisk: {
'&$error': {
color: theme.palette.error.main
}
}
};
};
var FormLabel = /*#__PURE__*/react.forwardRef(function FormLabel(props, ref) {
var children = props.children,
classes = props.classes,
className = props.className,
color = props.color,
_props$component = props.component,
Component = _props$component === void 0 ? 'label' : _props$component,
disabled = props.disabled,
error = props.error,
filled = props.filled,
focused = props.focused,
required = props.required,
other = (0,objectWithoutProperties/* default */.Z)(props, ["children", "classes", "className", "color", "component", "disabled", "error", "filled", "focused", "required"]);
var muiFormControl = (0,useFormControl/* default */.Z)();
var fcs = (0,formControlState/* default */.Z)({
props: props,
muiFormControl: muiFormControl,
states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']
});
return /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({
className: (0,clsx_m/* default */.Z)(classes.root, classes["color".concat((0,capitalize/* default */.Z)(fcs.color || 'primary'))], className, fcs.disabled && classes.disabled, fcs.error && classes.error, fcs.filled && classes.filled, fcs.focused && classes.focused, fcs.required && classes.required),
ref: ref
}, other), children, fcs.required && /*#__PURE__*/react.createElement("span", {
"aria-hidden": true,
className: (0,clsx_m/* default */.Z)(classes.asterisk, fcs.error && classes.error)
}, "\u2009", '*'));
});
false ? 0 : void 0;
/* harmony default export */ var FormLabel_FormLabel = ((0,withStyles/* default */.Z)(styles, {
name: 'MuiFormLabel'
})(FormLabel));
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/InputLabel/InputLabel.js
var InputLabel_styles = function styles(theme) {
return {
/* Styles applied to the root element. */
root: {
display: 'block',
transformOrigin: 'top left'
},
/* Pseudo-class applied to the root element if `focused={true}`. */
focused: {},
/* Pseudo-class applied to the root element if `disabled={true}`. */
disabled: {},
/* Pseudo-class applied to the root element if `error={true}`. */
error: {},
/* Pseudo-class applied to the root element if `required={true}`. */
required: {},
/* Pseudo-class applied to the asterisk element. */
asterisk: {},
/* Styles applied to the root element if the component is a descendant of `FormControl`. */
formControl: {
position: 'absolute',
left: 0,
top: 0,
// slight alteration to spec spacing to match visual spec result
transform: 'translate(0, 24px) scale(1)'
},
/* Styles applied to the root element if `margin="dense"`. */
marginDense: {
// Compensation for the `Input.inputDense` style.
transform: 'translate(0, 21px) scale(1)'
},
/* Styles applied to the `input` element if `shrink={true}`. */
shrink: {
transform: 'translate(0, 1.5px) scale(0.75)',
transformOrigin: 'top left'
},
/* Styles applied to the `input` element if `disableAnimation={false}`. */
animated: {
transition: theme.transitions.create(['color', 'transform'], {
duration: theme.transitions.duration.shorter,
easing: theme.transitions.easing.easeOut
})
},
/* Styles applied to the root element if `variant="filled"`. */
filled: {
// Chrome's autofill feature gives the input field a yellow background.
// Since the input field is behind the label in the HTML tree,
// the input field is drawn last and hides the label with an opaque background color.
// zIndex: 1 will raise the label above opaque background-colors of input.
zIndex: 1,
pointerEvents: 'none',
transform: 'translate(12px, 20px) scale(1)',
'&$marginDense': {
transform: 'translate(12px, 17px) scale(1)'
},
'&$shrink': {
transform: 'translate(12px, 10px) scale(0.75)',
'&$marginDense': {
transform: 'translate(12px, 7px) scale(0.75)'
}
}
},
/* Styles applied to the root element if `variant="outlined"`. */
outlined: {
// see comment above on filled.zIndex
zIndex: 1,
pointerEvents: 'none',
transform: 'translate(14px, 20px) scale(1)',
'&$marginDense': {
transform: 'translate(14px, 12px) scale(1)'
},
'&$shrink': {
transform: 'translate(14px, -6px) scale(0.75)'
}
}
};
};
var InputLabel = /*#__PURE__*/react.forwardRef(function InputLabel(props, ref) {
var classes = props.classes,
className = props.className,
_props$disableAnimati = props.disableAnimation,
disableAnimation = _props$disableAnimati === void 0 ? false : _props$disableAnimati,
margin = props.margin,
shrinkProp = props.shrink,
variant = props.variant,
other = (0,objectWithoutProperties/* default */.Z)(props, ["classes", "className", "disableAnimation", "margin", "shrink", "variant"]);
var muiFormControl = (0,useFormControl/* default */.Z)();
var shrink = shrinkProp;
if (typeof shrink === 'undefined' && muiFormControl) {
shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;
}
var fcs = (0,formControlState/* default */.Z)({
props: props,
muiFormControl: muiFormControl,
states: ['margin', 'variant']
});
return /*#__PURE__*/react.createElement(FormLabel_FormLabel, (0,esm_extends/* default */.Z)({
"data-shrink": shrink,
className: (0,clsx_m/* default */.Z)(classes.root, className, muiFormControl && classes.formControl, !disableAnimation && classes.animated, shrink && classes.shrink, fcs.margin === 'dense' && classes.marginDense, {
'filled': classes.filled,
'outlined': classes.outlined
}[fcs.variant]),
classes: {
focused: classes.focused,
disabled: classes.disabled,
error: classes.error,
required: classes.required,
asterisk: classes.asterisk
},
ref: ref
}, other));
});
false ? 0 : void 0;
/* harmony default export */ var InputLabel_InputLabel = ((0,withStyles/* default */.Z)(InputLabel_styles, {
name: 'MuiInputLabel'
})(InputLabel));
/***/ }),
/***/ 38799:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* unused harmony export styles */
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87462);
/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45987);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);
/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86010);
/* harmony import */ var _InputBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15575);
/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1591);
var styles = function styles(theme) {
var light = theme.palette.type === 'light';
var bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
return {
/* Styles applied to the root element. */
root: {
position: 'relative'
},
/* Styles applied to the root element if the component is a descendant of `FormControl`. */
formControl: {
'label + &': {
marginTop: 16
}
},
/* Styles applied to the root element if the component is focused. */
focused: {},
/* Styles applied to the root element if `disabled={true}`. */
disabled: {},
/* Styles applied to the root element if color secondary. */
colorSecondary: {
'&$underline:after': {
borderBottomColor: theme.palette.secondary.main
}
},
/* Styles applied to the root element if `disableUnderline={false}`. */
underline: {
'&:after': {
borderBottom: "2px solid ".concat(theme.palette.primary.main),
left: 0,
bottom: 0,
// Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
content: '""',
position: 'absolute',
right: 0,
transform: 'scaleX(0)',
transition: theme.transitions.create('transform', {
duration: theme.transitions.duration.shorter,
easing: theme.transitions.easing.easeOut
}),
pointerEvents: 'none' // Transparent to the hover style.
},
'&$focused:after': {
transform: 'scaleX(1)'
},
'&$error:after': {
borderBottomColor: theme.palette.error.main,
transform: 'scaleX(1)' // error is always underlined in red
},
'&:before': {
borderBottom: "1px solid ".concat(bottomLineColor),
left: 0,
bottom: 0,
// Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
content: '"\\00a0"',
position: 'absolute',
right: 0,
transition: theme.transitions.create('border-bottom-color', {
duration: theme.transitions.duration.shorter
}),
pointerEvents: 'none' // Transparent to the hover style.
},
'&:hover:not($disabled):before': {
borderBottom: "2px solid ".concat(theme.palette.text.primary),
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
borderBottom: "1px solid ".concat(bottomLineColor)
}
},
'&$disabled:before': {
borderBottomStyle: 'dotted'
}
},
/* Pseudo-class applied to the root element if `error={true}`. */
error: {},
/* Styles applied to the `input` element if `margin="dense"`. */
marginDense: {},
/* Styles applied to the root element if `multiline={true}`. */
multiline: {},
/* Styles applied to the root element if `fullWidth={true}`. */
fullWidth: {},
/* Styles applied to the `input` element. */
input: {},
/* Styles applied to the `input` element if `margin="dense"`. */
inputMarginDense: {},
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {},
/* Styles applied to the `input` element if `type="search"`. */
inputTypeSearch: {}
};
};
var Input = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function Input(props, ref) {
var disableUnderline = props.disableUnderline,
classes = props.classes,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
_props$inputComponent = props.inputComponent,
inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,
_props$multiline = props.multiline,
multiline = _props$multiline === void 0 ? false : _props$multiline,
_props$type = props.type,
type = _props$type === void 0 ? 'text' : _props$type,
other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(props, ["disableUnderline", "classes", "fullWidth", "inputComponent", "multiline", "type"]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_InputBase__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
classes: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({}, classes, {
root: (0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(classes.root, !disableUnderline && classes.underline),
underline: null
}),
fullWidth: fullWidth,
inputComponent: inputComponent,
multiline: multiline,
ref: ref,
type: type
}, other));
});
false ? 0 : void 0;
Input.muiName = 'Input';
/* harmony default export */ __webpack_exports__["Z"] = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(styles, {
name: 'MuiInput'
})(Input));
/***/ }),
/***/ 24794:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ Menu_Menu; }
});
// UNUSED EXPORTS: styles
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/react-is/index.js
var react_is = __webpack_require__(59864);
// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js
var clsx_m = __webpack_require__(86010);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/withStyles.js + 1 modules
var withStyles = __webpack_require__(1591);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/Popover/Popover.js
var Popover = __webpack_require__(52387);
// EXTERNAL MODULE: ./node_modules/react-dom/index.js
var react_dom = __webpack_require__(73935);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/ownerDocument.js
var ownerDocument = __webpack_require__(30626);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/List/List.js
var List = __webpack_require__(62822);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/getScrollbarSize.js
var getScrollbarSize = __webpack_require__(75840);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/useForkRef.js
var useForkRef = __webpack_require__(17294);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/MenuList/MenuList.js
function nextItem(list, item, disableListWrap) {
if (list === item) {
return list.firstChild;
}
if (item && item.nextElementSibling) {
return item.nextElementSibling;
}
return disableListWrap ? null : list.firstChild;
}
function previousItem(list, item, disableListWrap) {
if (list === item) {
return disableListWrap ? list.firstChild : list.lastChild;
}
if (item && item.previousElementSibling) {
return item.previousElementSibling;
}
return disableListWrap ? null : list.lastChild;
}
function textCriteriaMatches(nextFocus, textCriteria) {
if (textCriteria === undefined) {
return true;
}
var text = nextFocus.innerText;
if (text === undefined) {
// jsdom doesn't support innerText
text = nextFocus.textContent;
}
text = text.trim().toLowerCase();
if (text.length === 0) {
return false;
}
if (textCriteria.repeating) {
return text[0] === textCriteria.keys[0];
}
return text.indexOf(textCriteria.keys.join('')) === 0;
}
function moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {
var wrappedOnce = false;
var nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);
while (nextFocus) {
// Prevent infinite loop.
if (nextFocus === list.firstChild) {
if (wrappedOnce) {
return;
}
wrappedOnce = true;
} // Same logic as useAutocomplete.js
var nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';
if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {
// Move to the next element.
nextFocus = traversalFunction(list, nextFocus, disableListWrap);
} else {
nextFocus.focus();
return;
}
}
}
var useEnhancedEffect = typeof window === 'undefined' ? react.useEffect : react.useLayoutEffect;
/**
* A permanently displayed menu following https://www.w3.org/TR/wai-aria-practices/#menubutton.
* It's exposed to help customization of the [`Menu`](/api/menu/) component. If you
* use it separately you need to move focus into the component manually. Once
* the focus is placed inside the component it is fully keyboard accessible.
*/
var MenuList = /*#__PURE__*/react.forwardRef(function MenuList(props, ref) {
var actions = props.actions,
_props$autoFocus = props.autoFocus,
autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
_props$autoFocusItem = props.autoFocusItem,
autoFocusItem = _props$autoFocusItem === void 0 ? false : _props$autoFocusItem,
children = props.children,
className = props.className,
_props$disabledItemsF = props.disabledItemsFocusable,
disabledItemsFocusable = _props$disabledItemsF === void 0 ? false : _props$disabledItemsF,
_props$disableListWra = props.disableListWrap,
disableListWrap = _props$disableListWra === void 0 ? false : _props$disableListWra,
onKeyDown = props.onKeyDown,
_props$variant = props.variant,
variant = _props$variant === void 0 ? 'selectedMenu' : _props$variant,
other = (0,objectWithoutProperties/* default */.Z)(props, ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"]);
var listRef = react.useRef(null);
var textCriteriaRef = react.useRef({
keys: [],
repeating: true,
previousKeyMatched: true,
lastTime: null
});
useEnhancedEffect(function () {
if (autoFocus) {
listRef.current.focus();
}
}, [autoFocus]);
react.useImperativeHandle(actions, function () {
return {
adjustStyleForScrollbar: function adjustStyleForScrollbar(containerElement, theme) {
// Let's ignore that piece of logic if users are already overriding the width
// of the menu.
var noExplicitWidth = !listRef.current.style.width;
if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {
var scrollbarSize = "".concat((0,getScrollbarSize/* default */.Z)(true), "px");
listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
listRef.current.style.width = "calc(100% + ".concat(scrollbarSize, ")");
}
return listRef.current;
}
};
}, []);
var handleKeyDown = function handleKeyDown(event) {
var list = listRef.current;
var key = event.key;
/**
* @type {Element} - will always be defined since we are in a keydown handler
* attached to an element. A keydown event is either dispatched to the activeElement
* or document.body or document.documentElement. Only the first case will
* trigger this specific handler.
*/
var currentFocus = (0,ownerDocument/* default */.Z)(list).activeElement;
if (key === 'ArrowDown') {
// Prevent scroll of the page
event.preventDefault();
moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);
} else if (key === 'ArrowUp') {
event.preventDefault();
moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);
} else if (key === 'Home') {
event.preventDefault();
moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);
} else if (key === 'End') {
event.preventDefault();
moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);
} else if (key.length === 1) {
var criteria = textCriteriaRef.current;
var lowerKey = key.toLowerCase();
var currTime = performance.now();
if (criteria.keys.length > 0) {
// Reset
if (currTime - criteria.lastTime > 500) {
criteria.keys = [];
criteria.repeating = true;
criteria.previousKeyMatched = true;
} else if (criteria.repeating && lowerKey !== criteria.keys[0]) {
criteria.repeating = false;
}
}
criteria.lastTime = currTime;
criteria.keys.push(lowerKey);
var keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);
if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {
event.preventDefault();
} else {
criteria.previousKeyMatched = false;
}
}
if (onKeyDown) {
onKeyDown(event);
}
};
var handleOwnRef = react.useCallback(function (instance) {
// #StrictMode ready
listRef.current = react_dom.findDOMNode(instance);
}, []);
var handleRef = (0,useForkRef/* default */.Z)(handleOwnRef, ref);
/**
* the index of the item should receive focus
* in a `variant="selectedMenu"` it's the first `selected` item
* otherwise it's the very first item.
*/
var activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead
// to check if there is a `selected` item. We're looking for the last `selected`
// item and use the first valid item as a fallback
react.Children.forEach(children, function (child, index) {
if (! /*#__PURE__*/react.isValidElement(child)) {
return;
}
if (false) {}
if (!child.props.disabled) {
if (variant === 'selectedMenu' && child.props.selected) {
activeItemIndex = index;
} else if (activeItemIndex === -1) {
activeItemIndex = index;
}
}
});
var items = react.Children.map(children, function (child, index) {
if (index === activeItemIndex) {
var newChildProps = {};
if (autoFocusItem) {
newChildProps.autoFocus = true;
}
if (child.props.tabIndex === undefined && variant === 'selectedMenu') {
newChildProps.tabIndex = 0;
}
return /*#__PURE__*/react.cloneElement(child, newChildProps);
}
return child;
});
return /*#__PURE__*/react.createElement(List/* default */.Z, (0,esm_extends/* default */.Z)({
role: "menu",
ref: handleRef,
className: className,
onKeyDown: handleKeyDown,
tabIndex: autoFocus ? 0 : -1
}, other), items);
});
false ? 0 : void 0;
/* harmony default export */ var MenuList_MenuList = (MenuList);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/setRef.js
var setRef = __webpack_require__(34236);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/useTheme.js
var useTheme = __webpack_require__(8920);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/Menu/Menu.js
var RTL_ORIGIN = {
vertical: 'top',
horizontal: 'right'
};
var LTR_ORIGIN = {
vertical: 'top',
horizontal: 'left'
};
var styles = {
/* Styles applied to the `Paper` component. */
paper: {
// specZ: The maximum height of a simple menu should be one or more rows less than the view
// height. This ensures a tapable area outside of the simple menu with which to dismiss
// the menu.
maxHeight: 'calc(100% - 96px)',
// Add iOS momentum scrolling.
WebkitOverflowScrolling: 'touch'
},
/* Styles applied to the `List` component via `MenuList`. */
list: {
// We disable the focus ring for mouse, touch and keyboard users.
outline: 0
}
};
var Menu = /*#__PURE__*/react.forwardRef(function Menu(props, ref) {
var _props$autoFocus = props.autoFocus,
autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,
children = props.children,
classes = props.classes,
_props$disableAutoFoc = props.disableAutoFocusItem,
disableAutoFocusItem = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,
_props$MenuListProps = props.MenuListProps,
MenuListProps = _props$MenuListProps === void 0 ? {} : _props$MenuListProps,
onClose = props.onClose,
onEnteringProp = props.onEntering,
open = props.open,
_props$PaperProps = props.PaperProps,
PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,
PopoverClasses = props.PopoverClasses,
_props$transitionDura = props.transitionDuration,
transitionDuration = _props$transitionDura === void 0 ? 'auto' : _props$transitionDura,
_props$TransitionProp = props.TransitionProps;
_props$TransitionProp = _props$TransitionProp === void 0 ? {} : _props$TransitionProp;
var onEntering = _props$TransitionProp.onEntering,
TransitionProps = (0,objectWithoutProperties/* default */.Z)(_props$TransitionProp, ["onEntering"]),
_props$variant = props.variant,
variant = _props$variant === void 0 ? 'selectedMenu' : _props$variant,
other = (0,objectWithoutProperties/* default */.Z)(props, ["autoFocus", "children", "classes", "disableAutoFocusItem", "MenuListProps", "onClose", "onEntering", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant"]);
var theme = (0,useTheme/* default */.Z)();
var autoFocusItem = autoFocus && !disableAutoFocusItem && open;
var menuListActionsRef = react.useRef(null);
var contentAnchorRef = react.useRef(null);
var getContentAnchorEl = function getContentAnchorEl() {
return contentAnchorRef.current;
};
var handleEntering = function handleEntering(element, isAppearing) {
if (menuListActionsRef.current) {
menuListActionsRef.current.adjustStyleForScrollbar(element, theme);
}
if (onEnteringProp) {
onEnteringProp(element, isAppearing);
}
if (onEntering) {
onEntering(element, isAppearing);
}
};
var handleListKeyDown = function handleListKeyDown(event) {
if (event.key === 'Tab') {
event.preventDefault();
if (onClose) {
onClose(event, 'tabKeyDown');
}
}
};
/**
* the index of the item should receive focus
* in a `variant="selectedMenu"` it's the first `selected` item
* otherwise it's the very first item.
*/
var activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead
// to check if there is a `selected` item. We're looking for the last `selected`
// item and use the first valid item as a fallback
react.Children.map(children, function (child, index) {
if (! /*#__PURE__*/react.isValidElement(child)) {
return;
}
if (false) {}
if (!child.props.disabled) {
if (variant !== "menu" && child.props.selected) {
activeItemIndex = index;
} else if (activeItemIndex === -1) {
activeItemIndex = index;
}
}
});
var items = react.Children.map(children, function (child, index) {
if (index === activeItemIndex) {
return /*#__PURE__*/react.cloneElement(child, {
ref: function ref(instance) {
// #StrictMode ready
contentAnchorRef.current = react_dom.findDOMNode(instance);
(0,setRef/* default */.Z)(child.ref, instance);
}
});
}
return child;
});
return /*#__PURE__*/react.createElement(Popover/* default */.ZP, (0,esm_extends/* default */.Z)({
getContentAnchorEl: getContentAnchorEl,
classes: PopoverClasses,
onClose: onClose,
TransitionProps: (0,esm_extends/* default */.Z)({
onEntering: handleEntering
}, TransitionProps),
anchorOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN,
transformOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN,
PaperProps: (0,esm_extends/* default */.Z)({}, PaperProps, {
classes: (0,esm_extends/* default */.Z)({}, PaperProps.classes, {
root: classes.paper
})
}),
open: open,
ref: ref,
transitionDuration: transitionDuration
}, other), /*#__PURE__*/react.createElement(MenuList_MenuList, (0,esm_extends/* default */.Z)({
onKeyDown: handleListKeyDown,
actions: menuListActionsRef,
autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),
autoFocusItem: autoFocusItem,
variant: variant
}, MenuListProps, {
className: (0,clsx_m/* default */.Z)(classes.list, MenuListProps.className)
}), items));
});
false ? 0 : void 0;
/* harmony default export */ var Menu_Menu = ((0,withStyles/* default */.Z)(styles, {
name: 'MuiMenu'
})(Menu));
/***/ }),
/***/ 74061:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ OutlinedInput_OutlinedInput; }
});
// UNUSED EXPORTS: styles
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js
var clsx_m = __webpack_require__(86010);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/InputBase/InputBase.js + 1 modules
var InputBase = __webpack_require__(15575);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4942);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/withStyles.js + 1 modules
var withStyles = __webpack_require__(1591);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/useTheme.js
var useTheme = __webpack_require__(8920);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/capitalize.js
var capitalize = __webpack_require__(93871);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/OutlinedInput/NotchedOutline.js
var styles = function styles(theme) {
return {
/* Styles applied to the root element. */
root: {
position: 'absolute',
bottom: 0,
right: 0,
top: -5,
left: 0,
margin: 0,
padding: '0 8px',
pointerEvents: 'none',
borderRadius: 'inherit',
borderStyle: 'solid',
borderWidth: 1,
overflow: 'hidden'
},
/* Styles applied to the legend element when `labelWidth` is provided. */
legend: {
textAlign: 'left',
padding: 0,
lineHeight: '11px',
// sync with `height` in `legend` styles
transition: theme.transitions.create('width', {
duration: 150,
easing: theme.transitions.easing.easeOut
})
},
/* Styles applied to the legend element. */
legendLabelled: {
display: 'block',
width: 'auto',
textAlign: 'left',
padding: 0,
height: 11,
// sync with `lineHeight` in `legend` styles
fontSize: '0.75em',
visibility: 'hidden',
maxWidth: 0.01,
transition: theme.transitions.create('max-width', {
duration: 50,
easing: theme.transitions.easing.easeOut
}),
'& > span': {
paddingLeft: 5,
paddingRight: 5,
display: 'inline-block'
}
},
/* Styles applied to the legend element is notched. */
legendNotched: {
maxWidth: 1000,
transition: theme.transitions.create('max-width', {
duration: 100,
easing: theme.transitions.easing.easeOut,
delay: 50
})
}
};
};
/**
* @ignore - internal component.
*/
var NotchedOutline = /*#__PURE__*/react.forwardRef(function NotchedOutline(props, ref) {
var children = props.children,
classes = props.classes,
className = props.className,
label = props.label,
labelWidthProp = props.labelWidth,
notched = props.notched,
style = props.style,
other = (0,objectWithoutProperties/* default */.Z)(props, ["children", "classes", "className", "label", "labelWidth", "notched", "style"]);
var theme = (0,useTheme/* default */.Z)();
var align = theme.direction === 'rtl' ? 'right' : 'left';
if (label !== undefined) {
return /*#__PURE__*/react.createElement("fieldset", (0,esm_extends/* default */.Z)({
"aria-hidden": true,
className: (0,clsx_m/* default */.Z)(classes.root, className),
ref: ref,
style: style
}, other), /*#__PURE__*/react.createElement("legend", {
className: (0,clsx_m/* default */.Z)(classes.legendLabelled, notched && classes.legendNotched)
}, label ? /*#__PURE__*/react.createElement("span", null, label) : /*#__PURE__*/react.createElement("span", {
dangerouslySetInnerHTML: {
__html: ''
}
})));
}
var labelWidth = labelWidthProp > 0 ? labelWidthProp * 0.75 + 8 : 0.01;
return /*#__PURE__*/react.createElement("fieldset", (0,esm_extends/* default */.Z)({
"aria-hidden": true,
style: (0,esm_extends/* default */.Z)((0,defineProperty/* default */.Z)({}, "padding".concat((0,capitalize/* default */.Z)(align)), 8), style),
className: (0,clsx_m/* default */.Z)(classes.root, className),
ref: ref
}, other), /*#__PURE__*/react.createElement("legend", {
className: classes.legend,
style: {
// IE 11: fieldset with legend does not render
// a border radius. This maintains consistency
// by always having a legend rendered
width: notched ? labelWidth : 0.01
}
}, /*#__PURE__*/react.createElement("span", {
dangerouslySetInnerHTML: {
__html: ''
}
})));
});
false ? 0 : void 0;
/* harmony default export */ var OutlinedInput_NotchedOutline = ((0,withStyles/* default */.Z)(styles, {
name: 'PrivateNotchedOutline'
})(NotchedOutline));
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/OutlinedInput/OutlinedInput.js
var OutlinedInput_styles = function styles(theme) {
var borderColor = theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
return {
/* Styles applied to the root element. */
root: {
position: 'relative',
borderRadius: theme.shape.borderRadius,
'&:hover $notchedOutline': {
borderColor: theme.palette.text.primary
},
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
'&:hover $notchedOutline': {
borderColor: borderColor
}
},
'&$focused $notchedOutline': {
borderColor: theme.palette.primary.main,
borderWidth: 2
},
'&$error $notchedOutline': {
borderColor: theme.palette.error.main
},
'&$disabled $notchedOutline': {
borderColor: theme.palette.action.disabled
}
},
/* Styles applied to the root element if the color is secondary. */
colorSecondary: {
'&$focused $notchedOutline': {
borderColor: theme.palette.secondary.main
}
},
/* Styles applied to the root element if the component is focused. */
focused: {},
/* Styles applied to the root element if `disabled={true}`. */
disabled: {},
/* Styles applied to the root element if `startAdornment` is provided. */
adornedStart: {
paddingLeft: 14
},
/* Styles applied to the root element if `endAdornment` is provided. */
adornedEnd: {
paddingRight: 14
},
/* Pseudo-class applied to the root element if `error={true}`. */
error: {},
/* Styles applied to the `input` element if `margin="dense"`. */
marginDense: {},
/* Styles applied to the root element if `multiline={true}`. */
multiline: {
padding: '18.5px 14px',
'&$marginDense': {
paddingTop: 10.5,
paddingBottom: 10.5
}
},
/* Styles applied to the `NotchedOutline` element. */
notchedOutline: {
borderColor: borderColor
},
/* Styles applied to the `input` element. */
input: {
padding: '18.5px 14px',
'&:-webkit-autofill': {
WebkitBoxShadow: theme.palette.type === 'light' ? null : '0 0 0 100px #266798 inset',
WebkitTextFillColor: theme.palette.type === 'light' ? null : '#fff',
caretColor: theme.palette.type === 'light' ? null : '#fff',
borderRadius: 'inherit'
}
},
/* Styles applied to the `input` element if `margin="dense"`. */
inputMarginDense: {
paddingTop: 10.5,
paddingBottom: 10.5
},
/* Styles applied to the `input` element if `multiline={true}`. */
inputMultiline: {
padding: 0
},
/* Styles applied to the `input` element if `startAdornment` is provided. */
inputAdornedStart: {
paddingLeft: 0
},
/* Styles applied to the `input` element if `endAdornment` is provided. */
inputAdornedEnd: {
paddingRight: 0
}
};
};
var OutlinedInput = /*#__PURE__*/react.forwardRef(function OutlinedInput(props, ref) {
var classes = props.classes,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
_props$inputComponent = props.inputComponent,
inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,
label = props.label,
_props$labelWidth = props.labelWidth,
labelWidth = _props$labelWidth === void 0 ? 0 : _props$labelWidth,
_props$multiline = props.multiline,
multiline = _props$multiline === void 0 ? false : _props$multiline,
notched = props.notched,
_props$type = props.type,
type = _props$type === void 0 ? 'text' : _props$type,
other = (0,objectWithoutProperties/* default */.Z)(props, ["classes", "fullWidth", "inputComponent", "label", "labelWidth", "multiline", "notched", "type"]);
return /*#__PURE__*/react.createElement(InputBase/* default */.Z, (0,esm_extends/* default */.Z)({
renderSuffix: function renderSuffix(state) {
return /*#__PURE__*/react.createElement(OutlinedInput_NotchedOutline, {
className: classes.notchedOutline,
label: label,
labelWidth: labelWidth,
notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)
});
},
classes: (0,esm_extends/* default */.Z)({}, classes, {
root: (0,clsx_m/* default */.Z)(classes.root, classes.underline),
notchedOutline: null
}),
fullWidth: fullWidth,
inputComponent: inputComponent,
multiline: multiline,
ref: ref,
type: type
}, other));
});
false ? 0 : void 0;
OutlinedInput.muiName = 'Input';
/* harmony default export */ var OutlinedInput_OutlinedInput = ((0,withStyles/* default */.Z)(OutlinedInput_styles, {
name: 'MuiOutlinedInput'
})(OutlinedInput));
/***/ }),
/***/ 52387:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* unused harmony exports getOffsetTop, getOffsetLeft, styles */
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(87462);
/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45987);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73935);
/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(79437);
/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(86010);
/* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30626);
/* harmony import */ var _utils_ownerWindow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80713);
/* harmony import */ var _utils_createChainedFunction__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(42959);
/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1591);
/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5566);
/* harmony import */ var _Grow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20170);
/* harmony import */ var _Paper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(79895);
function getOffsetTop(rect, vertical) {
var offset = 0;
if (typeof vertical === 'number') {
offset = vertical;
} else if (vertical === 'center') {
offset = rect.height / 2;
} else if (vertical === 'bottom') {
offset = rect.height;
}
return offset;
}
function getOffsetLeft(rect, horizontal) {
var offset = 0;
if (typeof horizontal === 'number') {
offset = horizontal;
} else if (horizontal === 'center') {
offset = rect.width / 2;
} else if (horizontal === 'right') {
offset = rect.width;
}
return offset;
}
function getTransformOriginValue(transformOrigin) {
return [transformOrigin.horizontal, transformOrigin.vertical].map(function (n) {
return typeof n === 'number' ? "".concat(n, "px") : n;
}).join(' ');
} // Sum the scrollTop between two elements.
function getScrollParent(parent, child) {
var element = child;
var scrollTop = 0;
while (element && element !== parent) {
element = element.parentElement;
scrollTop += element.scrollTop;
}
return scrollTop;
}
function getAnchorEl(anchorEl) {
return typeof anchorEl === 'function' ? anchorEl() : anchorEl;
}
var styles = {
/* Styles applied to the root element. */
root: {},
/* Styles applied to the `Paper` component. */
paper: {
position: 'absolute',
overflowY: 'auto',
overflowX: 'hidden',
// So we see the popover when it's empty.
// It's most likely on issue on userland.
minWidth: 16,
minHeight: 16,
maxWidth: 'calc(100% - 32px)',
maxHeight: 'calc(100% - 32px)',
// We disable the focus ring for mouse, touch and keyboard users.
outline: 0
}
};
var Popover = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function Popover(props, ref) {
var action = props.action,
anchorEl = props.anchorEl,
_props$anchorOrigin = props.anchorOrigin,
anchorOrigin = _props$anchorOrigin === void 0 ? {
vertical: 'top',
horizontal: 'left'
} : _props$anchorOrigin,
anchorPosition = props.anchorPosition,
_props$anchorReferenc = props.anchorReference,
anchorReference = _props$anchorReferenc === void 0 ? 'anchorEl' : _props$anchorReferenc,
children = props.children,
classes = props.classes,
className = props.className,
containerProp = props.container,
_props$elevation = props.elevation,
elevation = _props$elevation === void 0 ? 8 : _props$elevation,
getContentAnchorEl = props.getContentAnchorEl,
_props$marginThreshol = props.marginThreshold,
marginThreshold = _props$marginThreshol === void 0 ? 16 : _props$marginThreshol,
onEnter = props.onEnter,
onEntered = props.onEntered,
onEntering = props.onEntering,
onExit = props.onExit,
onExited = props.onExited,
onExiting = props.onExiting,
open = props.open,
_props$PaperProps = props.PaperProps,
PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,
_props$transformOrigi = props.transformOrigin,
transformOrigin = _props$transformOrigi === void 0 ? {
vertical: 'top',
horizontal: 'left'
} : _props$transformOrigi,
_props$TransitionComp = props.TransitionComponent,
TransitionComponent = _props$TransitionComp === void 0 ? _Grow__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z : _props$TransitionComp,
_props$transitionDura = props.transitionDuration,
transitionDurationProp = _props$transitionDura === void 0 ? 'auto' : _props$transitionDura,
_props$TransitionProp = props.TransitionProps,
TransitionProps = _props$TransitionProp === void 0 ? {} : _props$TransitionProp,
other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(props, ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "classes", "className", "container", "elevation", "getContentAnchorEl", "marginThreshold", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "open", "PaperProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"]);
var paperRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(); // Returns the top/left offset of the position
// to attach to on the anchor element (or body if none is provided)
var getAnchorOffset = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (contentAnchorOffset) {
if (anchorReference === 'anchorPosition') {
if (false) {}
return anchorPosition;
}
var resolvedAnchorEl = getAnchorEl(anchorEl); // If an anchor element wasn't provided, just use the parent body element of this Popover
var anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(paperRef.current).body;
var anchorRect = anchorElement.getBoundingClientRect();
if (false) { var box; }
var anchorVertical = contentAnchorOffset === 0 ? anchorOrigin.vertical : 'center';
return {
top: anchorRect.top + getOffsetTop(anchorRect, anchorVertical),
left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)
};
}, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]); // Returns the vertical offset of inner content to anchor the transform on if provided
var getContentAnchorOffset = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (element) {
var contentAnchorOffset = 0;
if (getContentAnchorEl && anchorReference === 'anchorEl') {
var contentAnchorEl = getContentAnchorEl(element);
if (contentAnchorEl && element.contains(contentAnchorEl)) {
var scrollTop = getScrollParent(element, contentAnchorEl);
contentAnchorOffset = contentAnchorEl.offsetTop + contentAnchorEl.clientHeight / 2 - scrollTop || 0;
} // != the default value
if (false) {}
}
return contentAnchorOffset;
}, [anchorOrigin.vertical, anchorReference, getContentAnchorEl]); // Return the base transform origin using the element
// and taking the content anchor offset into account if in use
var getTransformOrigin = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (elemRect) {
var contentAnchorOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
return {
vertical: getOffsetTop(elemRect, transformOrigin.vertical) + contentAnchorOffset,
horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)
};
}, [transformOrigin.horizontal, transformOrigin.vertical]);
var getPositioningStyle = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (element) {
// Check if the parent has requested anchoring on an inner content node
var contentAnchorOffset = getContentAnchorOffset(element);
var elemRect = {
width: element.offsetWidth,
height: element.offsetHeight
}; // Get the transform origin point on the element itself
var elemTransformOrigin = getTransformOrigin(elemRect, contentAnchorOffset);
if (anchorReference === 'none') {
return {
top: null,
left: null,
transformOrigin: getTransformOriginValue(elemTransformOrigin)
};
} // Get the offset of of the anchoring element
var anchorOffset = getAnchorOffset(contentAnchorOffset); // Calculate element positioning
var top = anchorOffset.top - elemTransformOrigin.vertical;
var left = anchorOffset.left - elemTransformOrigin.horizontal;
var bottom = top + elemRect.height;
var right = left + elemRect.width; // Use the parent window of the anchorEl if provided
var containerWindow = (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(getAnchorEl(anchorEl)); // Window thresholds taking required margin into account
var heightThreshold = containerWindow.innerHeight - marginThreshold;
var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting
if (top < marginThreshold) {
var diff = top - marginThreshold;
top -= diff;
elemTransformOrigin.vertical += diff;
} else if (bottom > heightThreshold) {
var _diff = bottom - heightThreshold;
top -= _diff;
elemTransformOrigin.vertical += _diff;
}
if (false) {} // Check if the horizontal axis needs shifting
if (left < marginThreshold) {
var _diff2 = left - marginThreshold;
left -= _diff2;
elemTransformOrigin.horizontal += _diff2;
} else if (right > widthThreshold) {
var _diff3 = right - widthThreshold;
left -= _diff3;
elemTransformOrigin.horizontal += _diff3;
}
return {
top: "".concat(Math.round(top), "px"),
left: "".concat(Math.round(left), "px"),
transformOrigin: getTransformOriginValue(elemTransformOrigin)
};
}, [anchorEl, anchorReference, getAnchorOffset, getContentAnchorOffset, getTransformOrigin, marginThreshold]);
var setPositioningStyles = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {
var element = paperRef.current;
if (!element) {
return;
}
var positioning = getPositioningStyle(element);
if (positioning.top !== null) {
element.style.top = positioning.top;
}
if (positioning.left !== null) {
element.style.left = positioning.left;
}
element.style.transformOrigin = positioning.transformOrigin;
}, [getPositioningStyle]);
var handleEntering = function handleEntering(element, isAppearing) {
if (onEntering) {
onEntering(element, isAppearing);
}
setPositioningStyles();
};
var handlePaperRef = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (instance) {
// #StrictMode ready
paperRef.current = react_dom__WEBPACK_IMPORTED_MODULE_1__.findDOMNode(instance);
}, []);
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
if (open) {
setPositioningStyles();
}
});
react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(action, function () {
return open ? {
updatePosition: function updatePosition() {
setPositioningStyles();
}
} : null;
}, [open, setPositioningStyles]);
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
if (!open) {
return undefined;
}
var handleResize = (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(function () {
setPositioningStyles();
});
window.addEventListener('resize', handleResize);
return function () {
handleResize.clear();
window.removeEventListener('resize', handleResize);
};
}, [open, setPositioningStyles]);
var transitionDuration = transitionDurationProp;
if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {
transitionDuration = undefined;
} // If the container prop is provided, use that
// If the anchorEl prop is provided, use its parent body element as the container
// If neither are provided let the Modal take care of choosing the container
var container = containerProp || (anchorEl ? (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(getAnchorEl(anchorEl)).body : undefined);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Modal__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)({
container: container,
open: open,
ref: ref,
BackdropProps: {
invisible: true
},
className: (0,clsx__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)(classes.root, className)
}, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)({
appear: true,
in: open,
onEnter: onEnter,
onEntered: onEntered,
onExit: onExit,
onExited: onExited,
onExiting: onExiting,
timeout: transitionDuration
}, TransitionProps, {
onEntering: (0,_utils_createChainedFunction__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)(handleEntering, TransitionProps.onEntering)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Paper__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)({
elevation: elevation,
ref: handlePaperRef
}, PaperProps, {
className: (0,clsx__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)(classes.paper, PaperProps.className)
}), children)));
});
false ? 0 : void 0;
/* harmony default export */ __webpack_exports__["ZP"] = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z)(styles, {
name: 'MuiPopover'
})(Popover));
/***/ }),
/***/ 94924:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ Select_Select; }
});
// UNUSED EXPORTS: styles
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js
var mergeClasses = __webpack_require__(65835);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
var slicedToArray = __webpack_require__(86854);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(71002);
// EXTERNAL MODULE: ./node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js
var formatMuiErrorMessage = __webpack_require__(60288);
// EXTERNAL MODULE: ./node_modules/react-is/index.js
var react_is = __webpack_require__(59864);
// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js
var clsx_m = __webpack_require__(86010);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/ownerDocument.js
var ownerDocument = __webpack_require__(30626);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/capitalize.js
var capitalize = __webpack_require__(93871);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/Menu/Menu.js + 1 modules
var Menu = __webpack_require__(24794);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/InputBase/utils.js
var utils = __webpack_require__(36519);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/useForkRef.js
var useForkRef = __webpack_require__(17294);
// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/useControlled.js
var useControlled = __webpack_require__(22775);
;// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/Select/SelectInput.js
function areEqualValues(a, b) {
if ((0,esm_typeof/* default */.Z)(b) === 'object' && b !== null) {
return a === b;
}
return String(a) === String(b);
}
function isEmpty(display) {
return display == null || typeof display === 'string' && !display.trim();
}
/**
* @ignore - internal component.
*/
var SelectInput = /*#__PURE__*/react.forwardRef(function SelectInput(props, ref) {
var ariaLabel = props['aria-label'],
autoFocus = props.autoFocus,
autoWidth = props.autoWidth,
children = props.children,
classes = props.classes,
className = props.className,
defaultValue = props.defaultValue,
disabled = props.disabled,
displayEmpty = props.displayEmpty,
IconComponent = props.IconComponent,
inputRefProp = props.inputRef,
labelId = props.labelId,
_props$MenuProps = props.MenuProps,
MenuProps = _props$MenuProps === void 0 ? {} : _props$MenuProps,
multiple = props.multiple,
name = props.name,
onBlur = props.onBlur,
onChange = props.onChange,
onClose = props.onClose,
onFocus = props.onFocus,
onOpen = props.onOpen,
openProp = props.open,
readOnly = props.readOnly,
renderValue = props.renderValue,
_props$SelectDisplayP = props.SelectDisplayProps,
SelectDisplayProps = _props$SelectDisplayP === void 0 ? {} : _props$SelectDisplayP,
tabIndexProp = props.tabIndex,
type = props.type,
valueProp = props.value,
_props$variant = props.variant,
variant = _props$variant === void 0 ? 'standard' : _props$variant,
other = (0,objectWithoutProperties/* default */.Z)(props, ["aria-label", "autoFocus", "autoWidth", "children", "classes", "className", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"]);
var _useControlled = (0,useControlled/* default */.Z)({
controlled: valueProp,
default: defaultValue,
name: 'Select'
}),
_useControlled2 = (0,slicedToArray/* default */.Z)(_useControlled, 2),
value = _useControlled2[0],
setValue = _useControlled2[1];
var inputRef = react.useRef(null);
var _React$useState = react.useState(null),
displayNode = _React$useState[0],
setDisplayNode = _React$useState[1];
var _React$useRef = react.useRef(openProp != null),
isOpenControlled = _React$useRef.current;
var _React$useState2 = react.useState(),
menuMinWidthState = _React$useState2[0],
setMenuMinWidthState = _React$useState2[1];
var _React$useState3 = react.useState(false),
openState = _React$useState3[0],
setOpenState = _React$useState3[1];
var handleRef = (0,useForkRef/* default */.Z)(ref, inputRefProp);
react.useImperativeHandle(handleRef, function () {
return {
focus: function focus() {
displayNode.focus();
},
node: inputRef.current,
value: value
};
}, [displayNode, value]);
react.useEffect(function () {
if (autoFocus && displayNode) {
displayNode.focus();
}
}, [autoFocus, displayNode]);
react.useEffect(function () {
if (displayNode) {
var label = (0,ownerDocument/* default */.Z)(displayNode).getElementById(labelId);
if (label) {
var handler = function handler() {
if (getSelection().isCollapsed) {
displayNode.focus();
}
};
label.addEventListener('click', handler);
return function () {
label.removeEventListener('click', handler);
};
}
}
return undefined;
}, [labelId, displayNode]);
var update = function update(open, event) {
if (open) {
if (onOpen) {
onOpen(event);
}
} else if (onClose) {
onClose(event);
}
if (!isOpenControlled) {
setMenuMinWidthState(autoWidth ? null : displayNode.clientWidth);
setOpenState(open);
}
};
var handleMouseDown = function handleMouseDown(event) {
// Ignore everything but left-click
if (event.button !== 0) {
return;
} // Hijack the default focus behavior.
event.preventDefault();
displayNode.focus();
update(true, event);
};
var handleClose = function handleClose(event) {
update(false, event);
};
var childrenArray = react.Children.toArray(children); // Support autofill.
var handleChange = function handleChange(event) {
var index = childrenArray.map(function (child) {
return child.props.value;
}).indexOf(event.target.value);
if (index === -1) {
return;
}
var child = childrenArray[index];
setValue(child.props.value);
if (onChange) {
onChange(event, child);
}
};
var handleItemClick = function handleItemClick(child) {
return function (event) {
if (!multiple) {
update(false, event);
}
var newValue;
if (multiple) {
newValue = Array.isArray(value) ? value.slice() : [];
var itemIndex = value.indexOf(child.props.value);
if (itemIndex === -1) {
newValue.push(child.props.value);
} else {
newValue.splice(itemIndex, 1);
}
} else {
newValue = child.props.value;
}
if (child.props.onClick) {
child.props.onClick(event);
}
if (value === newValue) {
return;
}
setValue(newValue);
if (onChange) {
event.persist(); // Preact support, target is read only property on a native event.
Object.defineProperty(event, 'target', {
writable: true,
value: {
value: newValue,
name: name
}
});
onChange(event, child);
}
};
};
var handleKeyDown = function handleKeyDown(event) {
if (!readOnly) {
var validKeys = [' ', 'ArrowUp', 'ArrowDown', // The native select doesn't respond to enter on MacOS, but it's recommended by
// https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html
'Enter'];
if (validKeys.indexOf(event.key) !== -1) {
event.preventDefault();
update(true, event);
}
}
};
var open = displayNode !== null && (isOpenControlled ? openProp : openState);
var handleBlur = function handleBlur(event) {
// if open event.stopImmediatePropagation
if (!open && onBlur) {
event.persist(); // Preact support, target is read only property on a native event.
Object.defineProperty(event, 'target', {
writable: true,
value: {
value: value,
name: name
}
});
onBlur(event);
}
};
delete other['aria-invalid'];
var display;
var displaySingle;
var displayMultiple = [];
var computeDisplay = false;
var foundMatch = false; // No need to display any value if the field is empty.
if ((0,utils/* isFilled */.vd)({
value: value
}) || displayEmpty) {
if (renderValue) {
display = renderValue(value);
} else {
computeDisplay = true;
}
}
var items = childrenArray.map(function (child) {
if (! /*#__PURE__*/react.isValidElement(child)) {
return null;
}
if (false) {}
var selected;
if (multiple) {
if (!Array.isArray(value)) {
throw new Error( false ? 0 : (0,formatMuiErrorMessage/* default */.Z)(2));
}
selected = value.some(function (v) {
return areEqualValues(v, child.props.value);
});
if (selected && computeDisplay) {
displayMultiple.push(child.props.children);
}
} else {
selected = areEqualValues(value, child.props.value);
if (selected && computeDisplay) {
displaySingle = child.props.children;
}
}
if (selected) {
foundMatch = true;
}
return /*#__PURE__*/react.cloneElement(child, {
'aria-selected': selected ? 'true' : undefined,
onClick: handleItemClick(child),
onKeyUp: function onKeyUp(event) {
if (event.key === ' ') {
// otherwise our MenuItems dispatches a click event
// it's not behavior of the native