(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
/***/ "0068bf09220afb391b31":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isMuiElement;
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
function isMuiElement(element, muiNames) {
return _react.default.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;
}
/***/ }),
/***/ "0114010b9b875c515f81":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = exports.DELAY_RIPPLE = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("4066f70afce832cd4922"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _reactTransitionGroup = __webpack_require__("f6432484014eb025791a");
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var _Ripple = _interopRequireDefault(__webpack_require__("d3e71eaacf4277ead17b"));
var DURATION = 550;
var DELAY_RIPPLE = 80;
exports.DELAY_RIPPLE = DELAY_RIPPLE;
var styles = function styles(theme) {
return {
/* Styles applied to the root element. */
root: {
overflow: 'hidden',
pointerEvents: 'none',
position: 'absolute',
zIndex: 0,
top: 0,
right: 0,
bottom: 0,
left: 0,
borderRadius: 'inherit'
},
/* Styles applied to the internal `Ripple` components `ripple` class. */
ripple: {
opacity: 0,
position: 'absolute'
},
/* Styles applied to the internal `Ripple` components `rippleVisible` class. */
rippleVisible: {
opacity: 0.3,
transform: 'scale(1)',
animation: "$enter ".concat(DURATION, "ms ").concat(theme.transitions.easing.easeInOut)
},
/* Styles applied to the internal `Ripple` components `ripplePulsate` class. */
ripplePulsate: {
animationDuration: "".concat(theme.transitions.duration.shorter, "ms")
},
/* Styles applied to the internal `Ripple` components `child` class. */
child: {
opacity: 1,
display: 'block',
width: '100%',
height: '100%',
borderRadius: '50%',
backgroundColor: 'currentColor'
},
/* Styles applied to the internal `Ripple` components `childLeaving` class. */
childLeaving: {
opacity: 0,
animation: "$exit ".concat(DURATION, "ms ").concat(theme.transitions.easing.easeInOut)
},
/* Styles applied to the internal `Ripple` components `childPulsate` class. */
childPulsate: {
position: 'absolute',
left: 0,
top: 0,
animation: "$pulsate 2500ms ".concat(theme.transitions.easing.easeInOut, " 200ms infinite")
},
'@keyframes enter': {
'0%': {
transform: 'scale(0)',
opacity: 0.1
},
'100%': {
transform: 'scale(1)',
opacity: 0.3
}
},
'@keyframes exit': {
'0%': {
opacity: 1
},
'100%': {
opacity: 0
}
},
'@keyframes pulsate': {
'0%': {
transform: 'scale(1)'
},
'50%': {
transform: 'scale(0.92)'
},
'100%': {
transform: 'scale(1)'
}
}
};
};
/**
* @ignore - internal component.
*
* TODO v5: Make private
*/
exports.styles = styles;
var TouchRipple = _react.default.forwardRef(function TouchRipple(props, ref) {
var _props$center = props.center,
centerProp = _props$center === void 0 ? false : _props$center,
classes = props.classes,
className = props.className,
other = (0, _objectWithoutProperties2.default)(props, ["center", "classes", "className"]);
var _React$useState = _react.default.useState([]),
ripples = _React$useState[0],
setRipples = _React$useState[1];
var nextKey = _react.default.useRef(0);
var rippleCallback = _react.default.useRef(null);
_react.default.useEffect(function () {
if (rippleCallback.current) {
rippleCallback.current();
rippleCallback.current = null;
}
}, [ripples]); // Used to filter out mouse emulated events on mobile.
var ignoringMouseDown = _react.default.useRef(false); // We use a timer in order to only show the ripples for touch "click" like events.
// We don't want to display the ripple for touch scroll events.
var startTimer = _react.default.useRef(null); // This is the hook called once the previous timeout is ready.
var startTimerCommit = _react.default.useRef(null);
var container = _react.default.useRef(null);
_react.default.useEffect(function () {
return function () {
clearTimeout(startTimer.current);
};
}, []);
var startCommit = _react.default.useCallback(function (params) {
var pulsate = params.pulsate,
rippleX = params.rippleX,
rippleY = params.rippleY,
rippleSize = params.rippleSize,
cb = params.cb;
setRipples(function (oldRipples) {
return [].concat((0, _toConsumableArray2.default)(oldRipples), [_react.default.createElement(_Ripple.default, {
key: nextKey.current,
classes: classes,
timeout: DURATION,
pulsate: pulsate,
rippleX: rippleX,
rippleY: rippleY,
rippleSize: rippleSize
})]);
});
nextKey.current += 1;
rippleCallback.current = cb;
}, [classes]);
var start = _react.default.useCallback(function () {
var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var cb = arguments.length > 2 ? arguments[2] : undefined;
var _options$pulsate = options.pulsate,
pulsate = _options$pulsate === void 0 ? false : _options$pulsate,
_options$center = options.center,
center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,
_options$fakeElement = options.fakeElement,
fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;
if (event.type === 'mousedown' && ignoringMouseDown.current) {
ignoringMouseDown.current = false;
return;
}
if (event.type === 'touchstart') {
ignoringMouseDown.current = true;
}
var element = fakeElement ? null : container.current;
var rect = element ? element.getBoundingClientRect() : {
width: 0,
height: 0,
left: 0,
top: 0
}; // Get the size of the ripple
var rippleX;
var rippleY;
var rippleSize;
if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {
rippleX = Math.round(rect.width / 2);
rippleY = Math.round(rect.height / 2);
} else {
var clientX = event.clientX ? event.clientX : event.touches[0].clientX;
var clientY = event.clientY ? event.clientY : event.touches[0].clientY;
rippleX = Math.round(clientX - rect.left);
rippleY = Math.round(clientY - rect.top);
}
if (center) {
rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.
if (rippleSize % 2 === 0) {
rippleSize += 1;
}
} else {
var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;
var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;
rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));
} // Touche devices
if (event.touches) {
// check that this isn't another touchstart due to multitouch
// otherwise we will only clear a single timer when unmounting while two
// are running
if (startTimerCommit.current === null) {
// Prepare the ripple effect.
startTimerCommit.current = function () {
startCommit({
pulsate: pulsate,
rippleX: rippleX,
rippleY: rippleY,
rippleSize: rippleSize,
cb: cb
});
}; // Delay the execution of the ripple effect.
startTimer.current = setTimeout(function () {
if (startTimerCommit.current) {
startTimerCommit.current();
startTimerCommit.current = null;
}
}, DELAY_RIPPLE); // We have to make a tradeoff with this value.
}
} else {
startCommit({
pulsate: pulsate,
rippleX: rippleX,
rippleY: rippleY,
rippleSize: rippleSize,
cb: cb
});
}
}, [centerProp, startCommit]);
var pulsate = _react.default.useCallback(function () {
start({}, {
pulsate: true
});
}, [start]);
var stop = _react.default.useCallback(function (event, cb) {
clearTimeout(startTimer.current); // The touch interaction occurs too quickly.
// We still want to show ripple effect.
if (event.type === 'touchend' && startTimerCommit.current) {
event.persist();
startTimerCommit.current();
startTimerCommit.current = null;
startTimer.current = setTimeout(function () {
stop(event, cb);
});
return;
}
startTimerCommit.current = null;
setRipples(function (oldRipples) {
if (oldRipples.length > 0) {
return oldRipples.slice(1);
}
return oldRipples;
});
rippleCallback.current = cb;
}, []);
_react.default.useImperativeHandle(ref, function () {
return {
pulsate: pulsate,
start: start,
stop: stop
};
}, [pulsate, start, stop]);
return _react.default.createElement("span", (0, _extends2.default)({
className: (0, _clsx.default)(classes.root, className),
ref: container
}, other), _react.default.createElement(_reactTransitionGroup.TransitionGroup, {
component: null,
exit: true
}, ripples));
});
false ? undefined : void 0;
var _default = (0, _withStyles.default)(styles, {
flip: false,
name: 'MuiTouchRipple'
})(_react.default.memo(TouchRipple));
exports.default = _default;
/***/ }),
/***/ "027d58d0dc256238f0e9":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _formControlState = _interopRequireDefault(__webpack_require__("0de865fcfbe1b1717636"));
var _useFormControl = _interopRequireDefault(__webpack_require__("44ccae1a9926fa6d5603"));
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var _FormLabel = _interopRequireDefault(__webpack_require__("c37835866a3298466125"));
var 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)'
}
}
};
};
exports.styles = styles;
var InputLabel = _react.default.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, _objectWithoutProperties2.default)(props, ["classes", "className", "disableAnimation", "margin", "shrink", "variant"]);
var muiFormControl = (0, _useFormControl.default)();
var shrink = shrinkProp;
if (typeof shrink === 'undefined' && muiFormControl) {
shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;
}
var fcs = (0, _formControlState.default)({
props: props,
muiFormControl: muiFormControl,
states: ['margin', 'variant']
});
return _react.default.createElement(_FormLabel.default, (0, _extends2.default)({
"data-shrink": shrink,
className: (0, _clsx.default)(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 ? undefined : void 0;
var _default = (0, _withStyles.default)(styles, {
name: 'MuiInputLabel'
})(InputLabel);
exports.default = _default;
/***/ }),
/***/ "03027ef652f840147476":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var red = {
50: '#ffebee',
100: '#ffcdd2',
200: '#ef9a9a',
300: '#e57373',
400: '#ef5350',
500: '#f44336',
600: '#e53935',
700: '#d32f2f',
800: '#c62828',
900: '#b71c1c',
A100: '#ff8a80',
A200: '#ff5252',
A400: '#ff1744',
A700: '#d50000'
};
var _default = red;
exports.default = _default;
/***/ }),
/***/ "0476819c9d32aa9f902c":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _styled.default;
}
});
var _styled = _interopRequireDefault(__webpack_require__("b85937ffb86256bf71ae"));
/***/ }),
/***/ "0484f76ebc2522c5a7bb":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _Input = _interopRequireDefault(__webpack_require__("bc75856162e63311fb97"));
var _FilledInput = _interopRequireDefault(__webpack_require__("ac62a15cd010b81a48c3"));
var _OutlinedInput = _interopRequireDefault(__webpack_require__("d6ee9608d4696651c3fb"));
var _InputLabel = _interopRequireDefault(__webpack_require__("c09d19c0d058d138126d"));
var _FormControl = _interopRequireDefault(__webpack_require__("16c7abd7abc407b9f247"));
var _FormHelperText = _interopRequireDefault(__webpack_require__("ce1e49cdf0acd22acb13"));
var _Select = _interopRequireDefault(__webpack_require__("ae9596d86622312bdbac"));
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var variantComponent = {
standard: _Input.default,
filled: _FilledInput.default,
outlined: _OutlinedInput.default
};
var styles = {
/* Styles applied to the root element. */
root: {}
};
/**
* The `TextField` is a convenience wrapper for the most common cases (80%).
* It cannot be all things to all people, otherwise the API would grow out of control.
*
* ## Advanced Configuration
*
* It's important to understand that the text field is a simple abstraction
* on top of the following components:
*
* - [FormControl](/api/form-control/)
* - [InputLabel](/api/input-label/)
* - [FilledInput](/api/filled-input/)
* - [OutlinedInput](/api/outlined-input/)
* - [Input](/api/input/)
* - [FormHelperText](/api/form-helper-text/)
*
* If you wish to alter the props applied to the `input` element, you can do so as follows:
*
* ```jsx
* const inputProps = {
* step: 300,
* };
*
* return ;
* ```
*
* For advanced cases, please look at the source of TextField by clicking on the
* "Edit this page" button above. Consider either:
*
* - using the upper case props for passing values directly to the components
* - using the underlying components directly as shown in the demos
*/
exports.styles = styles;
var TextField = _react.default.forwardRef(function TextField(props, ref) {
var autoComplete = props.autoComplete,
_props$autoFocus = props.autoFocus,
autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
children = props.children,
classes = props.classes,
className = props.className,
_props$color = props.color,
color = _props$color === void 0 ? 'primary' : _props$color,
defaultValue = props.defaultValue,
_props$disabled = props.disabled,
disabled = _props$disabled === void 0 ? false : _props$disabled,
_props$error = props.error,
error = _props$error === void 0 ? false : _props$error,
FormHelperTextProps = props.FormHelperTextProps,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
helperText = props.helperText,
hiddenLabel = props.hiddenLabel,
id = props.id,
InputLabelProps = props.InputLabelProps,
inputProps = props.inputProps,
InputProps = props.InputProps,
inputRef = props.inputRef,
label = props.label,
_props$multiline = props.multiline,
multiline = _props$multiline === void 0 ? false : _props$multiline,
name = props.name,
onBlur = props.onBlur,
onChange = props.onChange,
onFocus = props.onFocus,
placeholder = props.placeholder,
_props$required = props.required,
required = _props$required === void 0 ? false : _props$required,
rows = props.rows,
rowsMax = props.rowsMax,
_props$select = props.select,
select = _props$select === void 0 ? false : _props$select,
SelectProps = props.SelectProps,
type = props.type,
value = props.value,
_props$variant = props.variant,
variant = _props$variant === void 0 ? 'standard' : _props$variant,
other = (0, _objectWithoutProperties2.default)(props, ["autoComplete", "autoFocus", "children", "classes", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "hiddenLabel", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "rowsMax", "select", "SelectProps", "type", "value", "variant"]);
if (false) {}
var InputMore = {};
if (variant === 'outlined') {
if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {
InputMore.notched = InputLabelProps.shrink;
}
InputMore.label = label ? _react.default.createElement(_react.default.Fragment, null, label, required && "\xA0*") : label;
}
if (select) {
// unset defaults from textbox inputs
if (!SelectProps || !SelectProps.native) {
InputMore.id = undefined;
}
InputMore['aria-describedby'] = undefined;
}
var helperTextId = helperText && id ? "".concat(id, "-helper-text") : undefined;
var inputLabelId = label && id ? "".concat(id, "-label") : undefined;
var InputComponent = variantComponent[variant];
var InputElement = _react.default.createElement(InputComponent, (0, _extends2.default)({
"aria-describedby": helperTextId,
autoComplete: autoComplete,
autoFocus: autoFocus,
defaultValue: defaultValue,
fullWidth: fullWidth,
multiline: multiline,
name: name,
rows: rows,
rowsMax: rowsMax,
type: type,
value: value,
id: id,
inputRef: inputRef,
onBlur: onBlur,
onChange: onChange,
onFocus: onFocus,
placeholder: placeholder,
inputProps: inputProps
}, InputMore, InputProps));
return _react.default.createElement(_FormControl.default, (0, _extends2.default)({
className: (0, _clsx.default)(classes.root, className),
disabled: disabled,
error: error,
fullWidth: fullWidth,
hiddenLabel: hiddenLabel,
ref: ref,
required: required,
color: color,
variant: variant
}, other), label && _react.default.createElement(_InputLabel.default, (0, _extends2.default)({
htmlFor: id,
id: inputLabelId
}, InputLabelProps), label), select ? _react.default.createElement(_Select.default, (0, _extends2.default)({
"aria-describedby": helperTextId,
id: id,
labelId: inputLabelId,
value: value,
input: InputElement
}, SelectProps), children) : InputElement, helperText && _react.default.createElement(_FormHelperText.default, (0, _extends2.default)({
id: helperTextId
}, FormHelperTextProps), helperText));
});
false ? undefined : void 0;
var _default = (0, _withStyles.default)(styles, {
name: 'MuiTextField'
})(TextField);
exports.default = _default;
/***/ }),
/***/ "061af1b7b244921b4bd1":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _createStyles.default;
}
});
var _createStyles = _interopRequireDefault(__webpack_require__("106c604f76fa35615d26"));
/***/ }),
/***/ "06d6dcad64c3b4d17cbd":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withThemeCreator = withThemeCreator;
exports.default = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _hoistNonReactStatics = _interopRequireDefault(__webpack_require__("5ef9de3df8d92ea0e41c"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _useTheme = _interopRequireDefault(__webpack_require__("a88faa63ed1e3783fb36"));
function withThemeCreator() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var defaultTheme = options.defaultTheme;
var withTheme = function withTheme(Component) {
if (false) {}
var WithTheme = _react.default.forwardRef(function WithTheme(props, ref) {
var innerRef = props.innerRef,
other = (0, _objectWithoutProperties2.default)(props, ["innerRef"]);
var theme = (0, _useTheme.default)() || defaultTheme;
return _react.default.createElement(Component, (0, _extends2.default)({
theme: theme,
ref: innerRef || ref
}, other));
});
false ? undefined : void 0;
if (false) {}
(0, _hoistNonReactStatics.default)(WithTheme, Component);
if (false) {}
return WithTheme;
};
return withTheme;
} // Provide the theme object as a prop to the input component.
// It's an alternative API to useTheme().
// We encourage the usage of useTheme() where possible.
var withTheme = withThemeCreator();
var _default = withTheme;
exports.default = _default;
/***/ }),
/***/ "07429f9bc90ad7583383":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireWildcard = __webpack_require__("16ed5e814ccb32d55f28");
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _formControlState = _interopRequireDefault(__webpack_require__("0de865fcfbe1b1717636"));
var _FormControlContext = _interopRequireWildcard(__webpack_require__("121a3c984833740a8917"));
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var _capitalize = _interopRequireDefault(__webpack_require__("38aa57f85178b29f4f0a"));
var _useForkRef = _interopRequireDefault(__webpack_require__("361c9bc3ee5a7f8fe1c2"));
var _TextareaAutosize = _interopRequireDefault(__webpack_require__("80a8740cd24879bc06f2"));
var _utils2 = __webpack_require__("c59676f8302cf5b5893c");
/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
var 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': {
from: {}
},
'@keyframes mui-auto-fill-cancel': {
from: {}
}
},
/* Styles applied to the root element. */
root: (0, _extends2.default)({}, theme.typography.body1, {
color: theme.palette.text.primary,
lineHeight: '1.1875em',
// 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',
color: 'currentColor',
padding: "".concat(8 - 2, "px 0 ").concat(8 - 1, "px"),
border: 0,
boxSizing: 'content-box',
background: 'none',
height: '1.1875em',
// 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',
'&::-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: {}
};
};
exports.styles = styles;
var useEnhancedEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.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 = _react.default.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,
startAdornment = props.startAdornment,
_props$type = props.type,
type = _props$type === void 0 ? 'text' : _props$type,
valueProp = props.value,
other = (0, _objectWithoutProperties2.default)(props, ["aria-describedby", "autoComplete", "autoFocus", "classes", "className", "color", "defaultValue", "disabled", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "rowsMax", "rowsMin", "startAdornment", "type", "value"]);
var value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
var _React$useRef = _react.default.useRef(value != null),
isControlled = _React$useRef.current;
var inputRef = _react.default.useRef();
var handleInputRefWarning = _react.default.useCallback(function (instance) {
if (false) {}
}, []);
var handleInputPropsRefProp = (0, _useForkRef.default)(inputPropsProp.ref, handleInputRefWarning);
var handleInputRefProp = (0, _useForkRef.default)(inputRefProp, handleInputPropsRefProp);
var handleInputRef = (0, _useForkRef.default)(inputRef, handleInputRefProp);
var _React$useState = _react.default.useState(false),
focused = _React$useState[0],
setFocused = _React$useState[1];
var muiFormControl = (0, _FormControlContext.useFormControl)();
if (false) {}
var fcs = (0, _formControlState.default)({
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.default.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.default.useCallback(function (obj) {
if ((0, _utils2.isFilled)(obj)) {
if (onFilled) {
onFilled();
}
} else if (onEmpty) {
onEmpty();
}
}, [onFilled, onEmpty]);
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 TypeError('Material-UI: Expected valid input target. ' + 'Did you use a custom `inputComponent` and forget to forward refs? ' + 'See https://material-ui.com/r/input-component-ref-interface for more info.');
}
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.default.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, _extends2.default)({}, inputPropsProp, {
ref: handleInputRef
});
if (typeof InputComponent !== 'string') {
inputProps = (0, _extends2.default)({
// 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 && !rowsMax && !rowsMin) {
InputComponent = 'textarea';
} else {
inputProps = (0, _extends2.default)({
rows: rows,
rowsMax: rowsMax
}, inputProps);
InputComponent = _TextareaAutosize.default;
}
} else {
inputProps = (0, _extends2.default)({
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.default.useEffect(function () {
if (muiFormControl) {
muiFormControl.setAdornedStart(Boolean(startAdornment));
}
}, [muiFormControl, startAdornment]);
return _react.default.createElement("div", (0, _extends2.default)({
className: (0, _clsx.default)(classes.root, classes["color".concat((0, _capitalize.default)(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, _react.default.createElement(_FormControlContext.default.Provider, {
value: null
}, _react.default.createElement(InputComponent, (0, _extends2.default)({
"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.default)(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, _extends2.default)({}, fcs, {
startAdornment: startAdornment
})) : null);
});
false ? undefined : void 0;
var _default = (0, _withStyles.default)(styles, {
name: 'MuiInputBase'
})(InputBase);
exports.default = _default;
/***/ }),
/***/ "08f2af5e9820e68c8001":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var _ListContext = _interopRequireDefault(__webpack_require__("1441b50f6ea8f6ca8fb6"));
var styles = {
/* Styles applied to the root element. */
root: {
listStyle: 'none',
margin: 0,
padding: 0,
position: 'relative'
},
/* Styles applied to the root element if `disablePadding={false}`. */
padding: {
paddingTop: 8,
paddingBottom: 8
},
/* Styles applied to the root element if dense. */
dense: {},
/* Styles applied to the root element if a `subheader` is provided. */
subheader: {
paddingTop: 0
}
};
exports.styles = styles;
var List = _react.default.forwardRef(function List(props, ref) {
var children = props.children,
classes = props.classes,
className = props.className,
_props$component = props.component,
Component = _props$component === void 0 ? 'ul' : _props$component,
_props$dense = props.dense,
dense = _props$dense === void 0 ? false : _props$dense,
_props$disablePadding = props.disablePadding,
disablePadding = _props$disablePadding === void 0 ? false : _props$disablePadding,
subheader = props.subheader,
other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "component", "dense", "disablePadding", "subheader"]);
var context = _react.default.useMemo(function () {
return {
dense: dense
};
}, [dense]);
return _react.default.createElement(_ListContext.default.Provider, {
value: context
}, _react.default.createElement(Component, (0, _extends2.default)({
className: (0, _clsx.default)(classes.root, className, dense && classes.dense, !disablePadding && classes.padding, subheader && classes.subheader),
ref: ref
}, other), subheader, children));
});
false ? undefined : void 0;
var _default = (0, _withStyles.default)(styles, {
name: 'MuiList'
})(List);
exports.default = _default;
/***/ }),
/***/ "0c0d2058aca788396b15":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _NativeSelectInput = _interopRequireDefault(__webpack_require__("170f8a5425c2f7ddf832"));
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var _formControlState = _interopRequireDefault(__webpack_require__("0de865fcfbe1b1717636"));
var _useFormControl = _interopRequireDefault(__webpack_require__("44ccae1a9926fa6d5603"));
var _ArrowDropDown = _interopRequireDefault(__webpack_require__("8542a7b5dc20c8aa7bdf"));
var _Input = _interopRequireDefault(__webpack_require__("bc75856162e63311fb97"));
var styles = function styles(theme) {
return {
/* Styles applied to the select component `root` class. */
root: {},
/* Styles applied to the select component `select` class. */
select: {
'-moz-appearance': 'none',
// Reset
'-webkit-appearance': 'none',
// Reset
// When interacting quickly, the text can end up selected.
// Native select can't be selected either.
userSelect: 'none',
borderRadius: 0,
// Reset
minWidth: 16,
// So it doesn't collapse.
cursor: 'pointer',
'&:focus': {
// Show that it's not an text input
backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)',
borderRadius: 0 // Reset Chrome style
},
// Remove IE 11 arrow
'&::-ms-expand': {
display: 'none'
},
'&$disabled': {
cursor: 'default'
},
'&[multiple]': {
height: 'auto'
},
'&:not([multiple]) option, &:not([multiple]) optgroup': {
backgroundColor: theme.palette.background.paper
},
'&&': {
paddingRight: 24
}
},
/* Styles applied to the select component if `variant="filled"`. */
filled: {
'&&': {
paddingRight: 32
}
},
/* Styles applied to the select component if `variant="outlined"`. */
outlined: {
borderRadius: theme.shape.borderRadius,
'&&': {
paddingRight: 32
}
},
/* Styles applied to the select component `selectMenu` class. */
selectMenu: {
height: 'auto',
// Reset
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
overflow: 'hidden'
},
/* Pseudo-class applied to the select component `disabled` class. */
disabled: {},
/* Styles applied to the icon component. */
icon: {
// We use a position absolute over a flexbox in order to forward the pointer events
// to the input and to support wrapping tags..
position: 'absolute',
right: 0,
top: 'calc(50% - 12px)',
// Center vertically
color: theme.palette.action.active,
pointerEvents: 'none' // Don't block pointer events on the select under the icon.
},
/* Styles applied to the icon component if the popup is open. */
iconOpen: {
transform: 'rotate(180deg)'
},
/* Styles applied to the icon component if `variant="filled"`. */
iconFilled: {
right: 7
},
/* Styles applied to the icon component if `variant="outlined"`. */
iconOutlined: {
right: 7
}
};
};
exports.styles = styles;
var defaultInput = _react.default.createElement(_Input.default, null);
/**
* An alternative to `` with a much smaller bundle size footprint.
*/
var NativeSelect = _react.default.forwardRef(function NativeSelect(props, ref) {
var children = props.children,
classes = props.classes,
_props$IconComponent = props.IconComponent,
IconComponent = _props$IconComponent === void 0 ? _ArrowDropDown.default : _props$IconComponent,
_props$input = props.input,
input = _props$input === void 0 ? defaultInput : _props$input,
inputProps = props.inputProps,
variant = props.variant,
other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "IconComponent", "input", "inputProps", "variant"]);
var muiFormControl = (0, _useFormControl.default)();
var fcs = (0, _formControlState.default)({
props: props,
muiFormControl: muiFormControl,
states: ['variant']
});
return _react.default.cloneElement(input, (0, _extends2.default)({
// Most of the logic is implemented in `NativeSelectInput`.
// The `Select` component is a simple API wrapper to expose something better to play with.
inputComponent: _NativeSelectInput.default,
inputProps: (0, _extends2.default)({
children: children,
classes: classes,
IconComponent: IconComponent,
variant: fcs.variant,
type: undefined
}, inputProps, {}, input ? input.props.inputProps : {}),
ref: ref
}, other));
});
false ? undefined : void 0;
NativeSelect.muiName = 'Select';
var _default = (0, _withStyles.default)(styles, {
name: 'MuiNativeSelect'
})(NativeSelect);
exports.default = _default;
/***/ }),
/***/ "0ca1fb9ee0d5c0da0db0":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.increment = increment;
/* eslint-disable import/prefer-default-export */
// Global index counter to preserve source order.
// We create the style sheet during at the creation of the component,
// children are handled after the parents, so the order of style elements would be parent->child.
// It is a problem though when a parent passes a className
// which needs to override any child's styles.
// StyleSheet of the child has a higher specificity, because of the source order.
// So our solution is to render sheets them in the reverse order child->sheet, so
// that parent has a higher specificity.
var indexCounter = -1e9;
function increment() {
indexCounter += 1;
if (false) {}
return indexCounter;
}
/***/ }),
/***/ "0cea34cee15dbfc11496":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _ServerStyleSheets.default;
}
});
var _ServerStyleSheets = _interopRequireDefault(__webpack_require__("7f3f583cf16b8a3ce048"));
/***/ }),
/***/ "0de865fcfbe1b1717636":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = formControlState;
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;
}, {});
}
/***/ }),
/***/ "106c604f76fa35615d26":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createStyles;
function createStyles(styles) {
return styles;
}
/***/ }),
/***/ "121a3c984833740a8917":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useFormControl = useFormControl;
exports.default = void 0;
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
/**
* @ignore - internal component.
*/
var FormControlContext = _react.default.createContext();
if (false) {}
function useFormControl() {
return _react.default.useContext(FormControlContext);
}
var _default = FormControlContext;
exports.default = _default;
/***/ }),
/***/ "1231c8dbfe54b0845df9":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _SvgIcon.default;
}
});
var _SvgIcon = _interopRequireDefault(__webpack_require__("e9c1e81864512968b56d"));
/***/ }),
/***/ "12454d07c2320b4477fc":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
var _interopRequireWildcard = __webpack_require__("16ed5e814ccb32d55f28");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var PropTypes = _interopRequireWildcard(__webpack_require__("8a2d1b95e05b6a321e74"));
var _chainPropTypes = _interopRequireDefault(__webpack_require__("22a5a597c83082a3c416"));
function isClassComponent(elementType) {
// elementType.prototype?.isReactComponent
var _elementType$prototyp = elementType.prototype,
prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;
return Boolean(prototype.isReactComponent);
}
function elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {
var propValue = props[propName];
var safePropName = propFullName || propName;
if (propValue == null) {
return null;
}
var warningHint;
/**
* Blacklisting instead of whitelisting
*
* Blacklisting will miss some components, such as React.Fragment. Those will at least
* trigger a warning in React.
* We can't whitelist because there is no safe way to detect React.forwardRef
* or class components. "Safe" means there's no public API.
*
*/
if (typeof propValue === 'function' && !isClassComponent(propValue)) {
warningHint = 'Did you accidentally provide a plain function component instead?';
}
if (warningHint !== undefined) {
return new Error("Invalid ".concat(location, " `").concat(safePropName, "` supplied to `").concat(componentName, "`. ") + "Expected an element type that can hold a ref. ".concat(warningHint, " ") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');
}
return null;
}
var _default = (0, _chainPropTypes.default)(PropTypes.elementType, elementTypeAcceptingRef);
exports.default = _default;
/***/ }),
/***/ "12a46ec7eb26b13c5b01":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createTypography;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
function round(value) {
return Math.round(value * 1e5) / 1e5;
}
var caseAllCaps = {
textTransform: 'uppercase'
};
var defaultFontFamily = '"Roboto", "Helvetica", "Arial", sans-serif';
/**
* @see @link{https://material.io/design/typography/the-type-system.html}
* @see @link{https://material.io/design/typography/understanding-typography.html}
*/
function createTypography(palette, typography) {
var _ref = typeof typography === 'function' ? typography(palette) : typography,
_ref$fontFamily = _ref.fontFamily,
fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,
_ref$fontSize = _ref.fontSize,
fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,
_ref$fontWeightLight = _ref.fontWeightLight,
fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,
_ref$fontWeightRegula = _ref.fontWeightRegular,
fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,
_ref$fontWeightMedium = _ref.fontWeightMedium,
fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,
_ref$fontWeightBold = _ref.fontWeightBold,
fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,
_ref$htmlFontSize = _ref.htmlFontSize,
htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,
allVariants = _ref.allVariants,
pxToRem2 = _ref.pxToRem,
other = (0, _objectWithoutProperties2.default)(_ref, ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"]);
if (false) {}
var coef = fontSize / 14;
var pxToRem = pxToRem2 || function (size) {
return "".concat(size / htmlFontSize * coef, "rem");
};
var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {
return (0, _extends2.default)({
fontFamily: fontFamily,
fontWeight: fontWeight,
fontSize: pxToRem(size),
// Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
lineHeight: lineHeight
}, fontFamily === defaultFontFamily ? {
letterSpacing: "".concat(round(letterSpacing / size), "em")
} : {}, {}, casing, {}, allVariants);
};
var variants = {
h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),
h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),
h3: buildVariant(fontWeightRegular, 48, 1.167, 0),
h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),
h5: buildVariant(fontWeightRegular, 24, 1.334, 0),
h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),
subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),
subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),
body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),
body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),
button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),
caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),
overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)
};
return (0, _utils.deepmerge)((0, _extends2.default)({
htmlFontSize: htmlFontSize,
pxToRem: pxToRem,
round: round,
// TODO v5: remove
fontFamily: fontFamily,
fontSize: fontSize,
fontWeightLight: fontWeightLight,
fontWeightRegular: fontWeightRegular,
fontWeightMedium: fontWeightMedium,
fontWeightBold: fontWeightBold
}, variants), other, {
clone: false // No need to clone deep
});
}
/***/ }),
/***/ "13b03f392810bddb2443":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ariaHidden = ariaHidden;
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__("19e15e7ca84589004246"));
var _createClass2 = _interopRequireDefault(__webpack_require__("66f6f74ce0dacb46302a"));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("4066f70afce832cd4922"));
var _getScrollbarSize = _interopRequireDefault(__webpack_require__("605d32ce0ccf9585df4c"));
var _ownerDocument = _interopRequireDefault(__webpack_require__("a32b8ee20071dd4abf50"));
var _ownerWindow = _interopRequireDefault(__webpack_require__("5faeb2327922649ec0cf"));
// Is a vertical scrollbar displayed?
function isOverflowing(container) {
var doc = (0, _ownerDocument.default)(container);
if (doc.body === container) {
return (0, _ownerWindow.default)(doc).innerWidth > doc.documentElement.clientWidth;
}
return container.scrollHeight > container.clientHeight;
}
function ariaHidden(node, show) {
if (show) {
node.setAttribute('aria-hidden', 'true');
} else {
node.removeAttribute('aria-hidden');
}
}
function getPaddingRight(node) {
return parseInt(window.getComputedStyle(node)['padding-right'], 10) || 0;
}
function ariaHiddenSiblings(container, mountNode, currentNode) {
var nodesToExclude = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
var show = arguments.length > 4 ? arguments[4] : undefined;
var blacklist = [mountNode, currentNode].concat((0, _toConsumableArray2.default)(nodesToExclude));
var blacklistTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE'];
[].forEach.call(container.children, function (node) {
if (node.nodeType === 1 && blacklist.indexOf(node) === -1 && blacklistTagNames.indexOf(node.tagName) === -1) {
ariaHidden(node, show);
}
});
}
function findIndexOf(containerInfo, callback) {
var idx = -1;
containerInfo.some(function (item, index) {
if (callback(item)) {
idx = index;
return true;
}
return false;
});
return idx;
}
function handleContainer(containerInfo, props) {
var restoreStyle = [];
var restorePaddings = [];
var container = containerInfo.container;
var fixedNodes;
if (!props.disableScrollLock) {
if (isOverflowing(container)) {
// Compute the size before applying overflow hidden to avoid any scroll jumps.
var scrollbarSize = (0, _getScrollbarSize.default)();
restoreStyle.push({
value: container.style.paddingRight,
key: 'padding-right',
el: container
}); // Use computed style, here to get the real padding to add our scrollbar width.
container.style['padding-right'] = "".concat(getPaddingRight(container) + scrollbarSize, "px"); // .mui-fixed is a global helper.
fixedNodes = (0, _ownerDocument.default)(container).querySelectorAll('.mui-fixed');
[].forEach.call(fixedNodes, function (node) {
restorePaddings.push(node.style.paddingRight);
node.style.paddingRight = "".concat(getPaddingRight(node) + scrollbarSize, "px");
});
} // Improve Gatsby support
// https://css-tricks.com/snippets/css/force-vertical-scrollbar/
var parent = container.parentElement;
var scrollContainer = parent.nodeName === 'HTML' && window.getComputedStyle(parent)['overflow-y'] === 'scroll' ? parent : container; // Block the scroll even if no scrollbar is visible to account for mobile keyboard
// screensize shrink.
restoreStyle.push({
value: scrollContainer.style.overflow,
key: 'overflow',
el: scrollContainer
});
scrollContainer.style.overflow = 'hidden';
}
var restore = function restore() {
if (fixedNodes) {
[].forEach.call(fixedNodes, function (node, i) {
if (restorePaddings[i]) {
node.style.paddingRight = restorePaddings[i];
} else {
node.style.removeProperty('padding-right');
}
});
}
restoreStyle.forEach(function (_ref) {
var value = _ref.value,
el = _ref.el,
key = _ref.key;
if (value) {
el.style.setProperty(key, value);
} else {
el.style.removeProperty(key);
}
});
};
return restore;
}
function getHiddenSiblings(container) {
var hiddenSiblings = [];
[].forEach.call(container.children, function (node) {
if (node.getAttribute && node.getAttribute('aria-hidden') === 'true') {
hiddenSiblings.push(node);
}
});
return hiddenSiblings;
}
/**
* @ignore - do not document.
*
* Proper state management for containers and the modals in those containers.
* Simplified, but inspired by react-overlay's ModalManager class.
* Used by the Modal to ensure proper styling of containers.
*/
var ModalManager =
/*#__PURE__*/
function () {
function ModalManager() {
(0, _classCallCheck2.default)(this, ModalManager);
// this.modals[modalIndex] = modal
this.modals = []; // this.containers[containerIndex] = {
// modals: [],
// container,
// restore: null,
// }
this.containers = [];
}
(0, _createClass2.default)(ModalManager, [{
key: "add",
value: function add(modal, container) {
var modalIndex = this.modals.indexOf(modal);
if (modalIndex !== -1) {
return modalIndex;
}
modalIndex = this.modals.length;
this.modals.push(modal); // If the modal we are adding is already in the DOM.
if (modal.modalRef) {
ariaHidden(modal.modalRef, false);
}
var hiddenSiblingNodes = getHiddenSiblings(container);
ariaHiddenSiblings(container, modal.mountNode, modal.modalRef, hiddenSiblingNodes, true);
var containerIndex = findIndexOf(this.containers, function (item) {
return item.container === container;
});
if (containerIndex !== -1) {
this.containers[containerIndex].modals.push(modal);
return modalIndex;
}
this.containers.push({
modals: [modal],
container: container,
restore: null,
hiddenSiblingNodes: hiddenSiblingNodes
});
return modalIndex;
}
}, {
key: "mount",
value: function mount(modal, props) {
var containerIndex = findIndexOf(this.containers, function (item) {
return item.modals.indexOf(modal) !== -1;
});
var containerInfo = this.containers[containerIndex];
if (!containerInfo.restore) {
containerInfo.restore = handleContainer(containerInfo, props);
}
}
}, {
key: "remove",
value: function remove(modal) {
var modalIndex = this.modals.indexOf(modal);
if (modalIndex === -1) {
return modalIndex;
}
var containerIndex = findIndexOf(this.containers, function (item) {
return item.modals.indexOf(modal) !== -1;
});
var containerInfo = this.containers[containerIndex];
containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);
this.modals.splice(modalIndex, 1); // If that was the last modal in a container, clean up the container.
if (containerInfo.modals.length === 0) {
// The modal might be closed before it had the chance to be mounted in the DOM.
if (containerInfo.restore) {
containerInfo.restore();
}
if (modal.modalRef) {
// In case the modal wasn't in the DOM yet.
ariaHidden(modal.modalRef, true);
}
ariaHiddenSiblings(containerInfo.container, modal.mountNode, modal.modalRef, containerInfo.hiddenSiblingNodes, false);
this.containers.splice(containerIndex, 1);
} else {
// Otherwise make sure the next top modal is visible to a screen reader.
var nextTop = containerInfo.modals[containerInfo.modals.length - 1]; // as soon as a modal is adding its modalRef is undefined. it can't set
// aria-hidden because the dom element doesn't exist either
// when modal was unmounted before modalRef gets null
if (nextTop.modalRef) {
ariaHidden(nextTop.modalRef, false);
}
}
return modalIndex;
}
}, {
key: "isTopModal",
value: function isTopModal(modal) {
return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;
}
}]);
return ModalManager;
}();
exports.default = ModalManager;
/***/ }),
/***/ "1441b50f6ea8f6ca8fb6":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
/**
* @ignore - internal component.
*/
var ListContext = _react.default.createContext({});
if (false) {}
var _default = ListContext;
exports.default = _default;
/***/ }),
/***/ "1501b78eacc6eb866690":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createPalette;
exports.dark = exports.light = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _common = _interopRequireDefault(__webpack_require__("cdaa4c2a48bc196b9ee3"));
var _grey = _interopRequireDefault(__webpack_require__("a3af7774b3efc3be1523"));
var _indigo = _interopRequireDefault(__webpack_require__("6a1ee81a5a3ce53ccfdc"));
var _pink = _interopRequireDefault(__webpack_require__("5d5132055e0156eab4de"));
var _red = _interopRequireDefault(__webpack_require__("03027ef652f840147476"));
var _orange = _interopRequireDefault(__webpack_require__("e4449fa5d9288ba0b50e"));
var _blue = _interopRequireDefault(__webpack_require__("26e95055143f95aa9ed4"));
var _green = _interopRequireDefault(__webpack_require__("c043cc14cfc50e8a9a6c"));
var _colorManipulator = __webpack_require__("b0c37be7de20d933b466");
var light = {
// The colors used to style the text.
text: {
// The most important text.
primary: 'rgba(0, 0, 0, 0.87)',
// Secondary text.
secondary: 'rgba(0, 0, 0, 0.54)',
// Disabled text have even lower visual prominence.
disabled: 'rgba(0, 0, 0, 0.38)',
// Text hints.
hint: 'rgba(0, 0, 0, 0.38)'
},
// The color used to divide different elements.
divider: 'rgba(0, 0, 0, 0.12)',
// The background colors used to style the surfaces.
// Consistency between these values is important.
background: {
paper: _common.default.white,
default: _grey.default[50]
},
// The colors used to style the action elements.
action: {
// The color of an active action like an icon button.
active: 'rgba(0, 0, 0, 0.54)',
// The color of an hovered action.
hover: 'rgba(0, 0, 0, 0.04)',
hoverOpacity: 0.04,
// The color of a selected action.
selected: 'rgba(0, 0, 0, 0.08)',
selectedOpacity: 0.08,
// The color of a disabled action.
disabled: 'rgba(0, 0, 0, 0.26)',
// The background color of a disabled action.
disabledBackground: 'rgba(0, 0, 0, 0.12)',
disabledOpacity: 0.38,
focus: 'rgba(0, 0, 0, 0.12)',
focusOpacity: 0.12,
activatedOpaciy: 0.12
}
};
exports.light = light;
var dark = {
text: {
primary: _common.default.white,
secondary: 'rgba(255, 255, 255, 0.7)',
disabled: 'rgba(255, 255, 255, 0.5)',
hint: 'rgba(255, 255, 255, 0.5)',
icon: 'rgba(255, 255, 255, 0.5)'
},
divider: 'rgba(255, 255, 255, 0.12)',
background: {
paper: _grey.default[800],
default: '#303030'
},
action: {
active: _common.default.white,
hover: 'rgba(255, 255, 255, 0.08)',
hoverOpacity: 0.08,
selected: 'rgba(255, 255, 255, 0.16)',
selectedOpacity: 0.16,
disabled: 'rgba(255, 255, 255, 0.3)',
disabledBackground: 'rgba(255, 255, 255, 0.12)',
disabledOpacity: 0.38,
focus: 'rgba(255, 255, 255, 0.12)',
focusOpacity: 0.12,
activatedOpaciy: 0.24
}
};
exports.dark = dark;
function addLightOrDark(intent, direction, shade, tonalOffset) {
if (!intent[direction]) {
if (intent.hasOwnProperty(shade)) {
intent[direction] = intent[shade];
} else if (direction === 'light') {
intent.light = (0, _colorManipulator.lighten)(intent.main, tonalOffset);
} else if (direction === 'dark') {
intent.dark = (0, _colorManipulator.darken)(intent.main, tonalOffset * 1.5);
}
}
}
function createPalette(palette) {
var _palette$primary = palette.primary,
primary = _palette$primary === void 0 ? {
light: _indigo.default[300],
main: _indigo.default[500],
dark: _indigo.default[700]
} : _palette$primary,
_palette$secondary = palette.secondary,
secondary = _palette$secondary === void 0 ? {
light: _pink.default.A200,
main: _pink.default.A400,
dark: _pink.default.A700
} : _palette$secondary,
_palette$error = palette.error,
error = _palette$error === void 0 ? {
light: _red.default[300],
main: _red.default[500],
dark: _red.default[700]
} : _palette$error,
_palette$warning = palette.warning,
warning = _palette$warning === void 0 ? {
light: _orange.default[300],
main: _orange.default[500],
dark: _orange.default[700]
} : _palette$warning,
_palette$info = palette.info,
info = _palette$info === void 0 ? {
light: _blue.default[300],
main: _blue.default[500],
dark: _blue.default[700]
} : _palette$info,
_palette$success = palette.success,
success = _palette$success === void 0 ? {
light: _green.default[300],
main: _green.default[500],
dark: _green.default[700]
} : _palette$success,
_palette$type = palette.type,
type = _palette$type === void 0 ? 'light' : _palette$type,
_palette$contrastThre = palette.contrastThreshold,
contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,
_palette$tonalOffset = palette.tonalOffset,
tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,
other = (0, _objectWithoutProperties2.default)(palette, ["primary", "secondary", "error", "warning", "info", "success", "type", "contrastThreshold", "tonalOffset"]); // Use the same logic as
// Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59
// and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54
function getContrastText(background) {
if (!background) {
throw new TypeError("Material-UI: missing background argument in getContrastText(".concat(background, ")."));
}
var contrastText = (0, _colorManipulator.getContrastRatio)(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;
if (false) { var contrast; }
return contrastText;
}
function augmentColor(color) {
var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;
color = (0, _extends2.default)({}, color);
if (!color.main && color[mainShade]) {
color.main = color[mainShade];
}
if (false) {}
addLightOrDark(color, 'light', lightShade, tonalOffset);
addLightOrDark(color, 'dark', darkShade, tonalOffset);
if (!color.contrastText) {
color.contrastText = getContrastText(color.main);
}
return color;
}
var types = {
dark: dark,
light: light
};
if (false) {}
var paletteOutput = (0, _utils.deepmerge)((0, _extends2.default)({
// A collection of common colors.
common: _common.default,
// The palette type, can be light or dark.
type: type,
// The colors used to represent primary interface elements for a user.
primary: augmentColor(primary),
// The colors used to represent secondary interface elements for a user.
secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),
// The colors used to represent interface elements that the user should be made aware of.
error: augmentColor(error),
// The colors used to represent potentially dangerous actions or important messages.
warning: augmentColor(warning),
// The colors used to present information to the user that is neutral and not necessarily important.
info: augmentColor(info),
// The colors used to indicate the successful completion of an action that user triggered.
success: augmentColor(success),
// The grey colors.
grey: _grey.default,
// Used by `getContrastText()` to maximize the contrast between
// the background and the text.
contrastThreshold: contrastThreshold,
// Takes a background color and returns the text color that maximizes the contrast.
getContrastText: getContrastText,
// Generate a rich color object.
augmentColor: augmentColor,
// Used by the functions below to shift a color's luminance by approximately
// two indexes within its tonal palette.
// E.g., shift from Red 500 to Red 300 or Red 700.
tonalOffset: tonalOffset
}, types[type]), other);
return paletteOutput;
}
/***/ }),
/***/ "166c1b9ca7f50bbbd13e":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = responsiveFontSizes;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _convertCssLength = _interopRequireDefault(__webpack_require__("2525d40c90df08f48730"));
var _cssUtils = __webpack_require__("709a940f34988717886d");
function isUnitless(value) {
return String(parseFloat(value)).length === String(value).length;
}
function responsiveFontSizes(themeInput) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var _options$breakpoints = options.breakpoints,
breakpoints = _options$breakpoints === void 0 ? ['sm', 'md', 'lg'] : _options$breakpoints,
_options$disableAlign = options.disableAlign,
disableAlign = _options$disableAlign === void 0 ? false : _options$disableAlign,
_options$factor = options.factor,
factor = _options$factor === void 0 ? 2 : _options$factor,
_options$variants = options.variants,
variants = _options$variants === void 0 ? ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline'] : _options$variants;
var theme = (0, _extends2.default)({}, themeInput);
theme.typography = (0, _extends2.default)({}, theme.typography);
var typography = theme.typography; // Convert between css lengths e.g. em->px or px->rem
// Set the baseFontSize for your project. Defaults to 16px (also the browser default).
var convert = (0, _convertCssLength.default)(typography.htmlFontSize);
var breakpointValues = breakpoints.map(function (x) {
return theme.breakpoints.values[x];
});
variants.forEach(function (variant) {
var style = typography[variant];
var remFontSize = parseFloat(convert(style.fontSize, 'rem'));
if (remFontSize <= 1) {
return;
}
var maxFontSize = remFontSize;
var minFontSize = 1 + (maxFontSize - 1) / factor;
var lineHeight = style.lineHeight;
if (!isUnitless(lineHeight) && !disableAlign) {
throw new Error(["Material-UI: unsupported non-unitless line height with grid alignment.", 'Use unitless line heights instead.'].join('\n'));
}
if (!isUnitless(lineHeight)) {
// make it unitless
lineHeight = parseFloat(convert(lineHeight, 'rem')) / parseFloat(remFontSize);
}
var transform = null;
if (!disableAlign) {
transform = function transform(value) {
return (0, _cssUtils.alignProperty)({
size: value,
grid: (0, _cssUtils.fontGrid)({
pixels: 4,
lineHeight: lineHeight,
htmlFontSize: typography.htmlFontSize
})
});
};
}
typography[variant] = (0, _extends2.default)({}, style, {}, (0, _cssUtils.responsiveProperty)({
cssProperty: 'fontSize',
min: minFontSize,
max: maxFontSize,
unit: 'rem',
breakpoints: breakpointValues,
transform: transform
}));
});
return theme;
}
/***/ }),
/***/ "16c7abd7abc407b9f247":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _FormControl.default;
}
});
Object.defineProperty(exports, "useFormControl", {
enumerable: true,
get: function get() {
return _useFormControl.default;
}
});
var _FormControl = _interopRequireDefault(__webpack_require__("5c720cd105dcba4cc3e8"));
var _useFormControl = _interopRequireDefault(__webpack_require__("44ccae1a9926fa6d5603"));
/***/ }),
/***/ "170f8a5425c2f7ddf832":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _capitalize = _interopRequireDefault(__webpack_require__("38aa57f85178b29f4f0a"));
/**
* @ignore - internal component.
*/
var NativeSelectInput = _react.default.forwardRef(function NativeSelectInput(props, ref) {
var classes = props.classes,
className = props.className,
disabled = props.disabled,
IconComponent = props.IconComponent,
inputRef = props.inputRef,
_props$variant = props.variant,
variant = _props$variant === void 0 ? 'standard' : _props$variant,
other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "disabled", "IconComponent", "inputRef", "variant"]);
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("select", (0, _extends2.default)({
className: (0, _clsx.default)(classes.root, // TODO v5: merge root and select
classes.select, classes[variant], className, disabled && classes.disabled),
disabled: disabled,
ref: inputRef || ref
}, other)), props.multiple ? null : _react.default.createElement(IconComponent, {
className: (0, _clsx.default)(classes.icon, classes["icon".concat((0, _capitalize.default)(variant))])
}));
});
false ? undefined : void 0;
var _default = NativeSelectInput;
exports.default = _default;
/***/ }),
/***/ "183d140ac76d84a5e53f":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _withStyles.default;
}
});
var _withStyles = _interopRequireDefault(__webpack_require__("7be41aee592a5223505e"));
/***/ }),
/***/ "18749d5a0d88b7236d77":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createMixins;
var _defineProperty2 = _interopRequireDefault(__webpack_require__("279f1c7ef5f95c5d63e2"));
var _extends3 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
function createMixins(breakpoints, spacing, mixins) {
var _toolbar;
return (0, _extends3.default)({
gutters: function gutters() {
var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
// To deprecate in v4.1
// warning(
// false,
// [
// 'Material-UI: theme.mixins.gutters() is deprecated.',
// 'You can use the source of the mixin directly:',
// `
// paddingLeft: theme.spacing(2),
// paddingRight: theme.spacing(2),
// [theme.breakpoints.up('sm')]: {
// paddingLeft: theme.spacing(3),
// paddingRight: theme.spacing(3),
// },
// `,
// ].join('\n'),
// );
return (0, _extends3.default)({
paddingLeft: spacing(2),
paddingRight: spacing(2)
}, styles, (0, _defineProperty2.default)({}, breakpoints.up('sm'), (0, _extends3.default)({
paddingLeft: spacing(3),
paddingRight: spacing(3)
}, styles[breakpoints.up('sm')])));
},
toolbar: (_toolbar = {
minHeight: 56
}, (0, _defineProperty2.default)(_toolbar, "".concat(breakpoints.up('xs'), " and (orientation: landscape)"), {
minHeight: 48
}), (0, _defineProperty2.default)(_toolbar, breakpoints.up('sm'), {
minHeight: 64
}), _toolbar)
}, mixins);
}
/***/ }),
/***/ "19e4c2258d981bc66067":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = unsupportedProp;
function unsupportedProp(props, propName, componentName, location, propFullName) {
if (true) {
return null;
}
var propFullNameSafe = propFullName || propName;
if (typeof props[propName] !== 'undefined') {
return new Error("The prop `".concat(propFullNameSafe, "` is not supported. Please remove it."));
}
return null;
}
/***/ }),
/***/ "1b2e5830320188c78c7b":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _jssPreset.default;
}
});
var _jssPreset = _interopRequireDefault(__webpack_require__("d455e8fa4a4176b90466"));
/***/ }),
/***/ "1e44128bb56f0182afcd":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getFunctionName = getFunctionName;
exports.default = getDisplayName;
var _typeof2 = _interopRequireDefault(__webpack_require__("7ae52036d1906f8c617e"));
var _reactIs = __webpack_require__("0efece4c8cb91e128a85");
// Simplified polyfill for IE 11 support
// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3
var fnNameMatchRegex = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;
function getFunctionName(fn) {
var match = "".concat(fn).match(fnNameMatchRegex);
var name = match && match[1];
return name || '';
}
/**
* @param {function} Component
* @param {string} fallback
* @returns {string | undefined}
*/
function getFunctionComponentName(Component) {
var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
return Component.displayName || Component.name || getFunctionName(Component) || fallback;
}
function getWrappedName(outerType, innerType, wrapperName) {
var functionName = getFunctionComponentName(innerType);
return outerType.displayName || (functionName !== '' ? "".concat(wrapperName, "(").concat(functionName, ")") : wrapperName);
}
/**
* cherry-pick from
* https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js
* originally forked from recompose/getDisplayName with added IE 11 support
*
* @param {React.ReactType} Component
* @returns {string | undefined}
*/
function getDisplayName(Component) {
if (Component == null) {
return undefined;
}
if (typeof Component === 'string') {
return Component;
}
if (typeof Component === 'function') {
return getFunctionComponentName(Component, 'Component');
}
if ((0, _typeof2.default)(Component) === 'object') {
switch (Component.$$typeof) {
case _reactIs.ForwardRef:
return getWrappedName(Component, Component.render, 'ForwardRef');
default:
return undefined;
}
}
return undefined;
}
/***/ }),
/***/ "1fcb8f6d8f8292281b75":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _Popover.default;
}
});
var _Popover = _interopRequireDefault(__webpack_require__("ca03680d95cf1851a8ad"));
/***/ }),
/***/ "226929f9e2a75121cca7":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = setRef;
// TODO v5: make it private
function setRef(ref, value) {
if (typeof ref === 'function') {
ref(value);
} else if (ref) {
ref.current = value;
}
}
/***/ }),
/***/ "22a5a597c83082a3c416":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = chainPropTypes;
function chainPropTypes(propType1, propType2) {
if (true) {
return function () {
return null;
};
}
return function validate() {
return propType1.apply(void 0, arguments) || propType2.apply(void 0, arguments);
};
}
/***/ }),
/***/ "2410d92baadc767287ce":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createBreakpoints;
exports.keys = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
// Sorted ASC by size. That's important.
// It can't be configured as it's used statically for propTypes.
var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.
exports.keys = keys;
function createBreakpoints(breakpoints) {
var _breakpoints$values = breakpoints.values,
values = _breakpoints$values === void 0 ? {
xs: 0,
sm: 600,
md: 960,
lg: 1280,
xl: 1920
} : _breakpoints$values,
_breakpoints$unit = breakpoints.unit,
unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,
_breakpoints$step = breakpoints.step,
step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,
other = (0, _objectWithoutProperties2.default)(breakpoints, ["values", "unit", "step"]);
function up(key) {
var value = typeof values[key] === 'number' ? values[key] : key;
return "@media (min-width:".concat(value).concat(unit, ")");
}
function down(key) {
var endIndex = keys.indexOf(key) + 1;
var upperbound = values[keys[endIndex]];
if (endIndex === keys.length) {
// xl down applies to all sizes
return up('xs');
}
var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;
return "@media (max-width:".concat(value - step / 100).concat(unit, ")");
}
function between(start, end) {
var endIndex = keys.indexOf(end);
if (endIndex === keys.length - 1) {
return up(start);
}
return "@media (min-width:".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, ") and ") + "(max-width:".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, ")");
}
function only(key) {
return between(key, key);
}
function width(key) {
return values[key];
}
return (0, _extends2.default)({
keys: keys,
values: values,
up: up,
down: down,
between: between,
only: only,
width: width
}, other);
}
/***/ }),
/***/ "25b286cb615995c8ebbc":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _debounce = _interopRequireDefault(__webpack_require__("e4296644b5fb015cc87a"));
var _useForkRef = _interopRequireDefault(__webpack_require__("361c9bc3ee5a7f8fe1c2"));
function getStyleValue(computedStyle, property) {
return parseInt(computedStyle[property], 10) || 0;
}
var useEnhancedEffect = typeof window !== 'undefined' ? _react.default.useLayoutEffect : _react.default.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 = _react.default.forwardRef(function TextareaAutosize(props, ref) {
var onChange = props.onChange,
rows = props.rows,
rowsMax = props.rowsMax,
_props$rowsMin = props.rowsMin,
rowsMinProp = _props$rowsMin === void 0 ? 1 : _props$rowsMin,
style = props.style,
value = props.value,
other = (0, _objectWithoutProperties2.default)(props, ["onChange", "rows", "rowsMax", "rowsMin", "style", "value"]);
var rowsMin = rows || rowsMinProp;
var _React$useRef = _react.default.useRef(value != null),
isControlled = _React$useRef.current;
var inputRef = _react.default.useRef(null);
var handleRef = (0, _useForkRef.default)(ref, inputRef);
var shadowRef = _react.default.useRef(null);
var _React$useState = _react.default.useState({}),
state = _React$useState[0],
setState = _React$useState[1];
var syncHeight = _react.default.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';
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 (rowsMin) {
outerHeight = Math.max(Number(rowsMin) * singleRowHeight, outerHeight);
}
if (rowsMax) {
outerHeight = Math.min(Number(rowsMax) * 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 different to update the height.
// This prevents infinite rendering loop.
if (outerHeightStyle > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle) > 1 || prevState.overflow !== overflow) {
return {
overflow: overflow,
outerHeightStyle: outerHeightStyle
};
}
return prevState;
});
}, [rowsMax, rowsMin, props.placeholder]);
_react.default.useEffect(function () {
var handleResize = (0, _debounce.default)(function () {
syncHeight();
});
window.addEventListener('resize', handleResize);
return function () {
handleResize.clear();
window.removeEventListener('resize', handleResize);
};
}, [syncHeight]);
useEnhancedEffect(function () {
syncHeight();
});
var handleChange = function handleChange(event) {
if (!isControlled) {
syncHeight();
}
if (onChange) {
onChange(event);
}
};
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("textarea", (0, _extends2.default)({
value: value,
onChange: handleChange,
ref: handleRef // Apply the rows prop to get a "correct" first SSR paint
,
rows: rowsMin,
style: (0, _extends2.default)({
height: state.outerHeightStyle,
// Need a large enough different to allow scrolling.
// This prevents infinite rendering loop.
overflow: state.overflow ? 'hidden' : null
}, style)
}, other)), _react.default.createElement("textarea", {
"aria-hidden": true,
className: props.className,
readOnly: true,
ref: shadowRef,
tabIndex: -1,
style: (0, _extends2.default)({}, styles.shadow, {}, style)
}));
});
false ? undefined : void 0;
var _default = TextareaAutosize;
exports.default = _default;
/***/ }),
/***/ "26e95055143f95aa9ed4":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var blue = {
50: '#e3f2fd',
100: '#bbdefb',
200: '#90caf9',
300: '#64b5f6',
400: '#42a5f5',
500: '#2196f3',
600: '#1e88e5',
700: '#1976d2',
800: '#1565c0',
900: '#0d47a1',
A100: '#82b1ff',
A200: '#448aff',
A400: '#2979ff',
A700: '#2962ff'
};
var _default = blue;
exports.default = _default;
/***/ }),
/***/ "29b9376563f090590d1b":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _createMuiTheme = _interopRequireDefault(__webpack_require__("8e459db1282c9fc54fa9"));
var defaultTheme = (0, _createMuiTheme.default)();
var _default = defaultTheme;
exports.default = _default;
/***/ }),
/***/ "2f9c2e5d0e97921d44dd":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.styles = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _withStyles = _interopRequireDefault(__webpack_require__("4a683f0a5e64e66a8eb9"));
var _ButtonBase = _interopRequireDefault(__webpack_require__("38c74ad8064946ab7d67"));
var _isMuiElement = _interopRequireDefault(__webpack_require__("0068bf09220afb391b31"));
var _useForkRef = _interopRequireDefault(__webpack_require__("361c9bc3ee5a7f8fe1c2"));
var _ListContext = _interopRequireDefault(__webpack_require__("1441b50f6ea8f6ca8fb6"));
var _reactDom = _interopRequireDefault(__webpack_require__("63f14ac74ce296f77f4d"));
var styles = function styles(theme) {
return {
/* Styles applied to the (normally root) `component` element. May be wrapped by a `container`. */
root: {
display: 'flex',
justifyContent: 'flex-start',
alignItems: 'center',
position: 'relative',
textDecoration: 'none',
width: '100%',
boxSizing: 'border-box',
textAlign: 'left',
paddingTop: 8,
paddingBottom: 8,
'&$focusVisible': {
backgroundColor: theme.palette.action.selected
},
'&$selected, &$selected:hover': {
backgroundColor: theme.palette.action.selected
},
'&$disabled': {
opacity: 0.5
}
},
/* Styles applied to the `container` element if `children` includes `ListItemSecondaryAction`. */
container: {
position: 'relative'
},
/* Pseudo-class applied to the `component`'s `focusVisibleClassName` prop if `button={true}`. */
focusVisible: {},
/* Styles applied to the `component` element if dense. */
dense: {
paddingTop: 4,
paddingBottom: 4
},
/* Styles applied to the `component` element if `alignItems="flex-start"`. */
alignItemsFlexStart: {
alignItems: 'flex-start'
},
/* Pseudo-class applied to the inner `component` element if `disabled={true}`. */
disabled: {},
/* Styles applied to the inner `component` element if `divider={true}`. */
divider: {
borderBottom: "1px solid ".concat(theme.palette.divider),
backgroundClip: 'padding-box'
},
/* Styles applied to the inner `component` element if `disableGutters={false}`. */
gutters: {
paddingLeft: 16,
paddingRight: 16
},
/* Styles applied to the inner `component` element if `button={true}`. */
button: {
transition: theme.transitions.create('background-color', {
duration: theme.transitions.duration.shortest
}),
'&:hover': {
textDecoration: 'none',
backgroundColor: theme.palette.action.hover,
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: 'transparent'
}
}
},
/* Styles applied to the `component` element if `children` includes `ListItemSecondaryAction`. */
secondaryAction: {
// Add some space to avoid collision as `ListItemSecondaryAction`
// is absolutely positioned.
paddingRight: 48
},
/* Pseudo-class applied to the root element if `selected={true}`. */
selected: {}
};
};
exports.styles = styles;
var useEnhancedEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;
/**
* Uses an additional container component if `ListItemSecondaryAction` is the last child.
*/
var ListItem = _react.default.forwardRef(function ListItem(props, ref) {
var _props$alignItems = props.alignItems,
alignItems = _props$alignItems === void 0 ? 'center' : _props$alignItems,
_props$autoFocus = props.autoFocus,
autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
_props$button = props.button,
button = _props$button === void 0 ? false : _props$button,
childrenProp = props.children,
classes = props.classes,
className = props.className,
componentProp = props.component,
_props$ContainerCompo = props.ContainerComponent,
ContainerComponent = _props$ContainerCompo === void 0 ? 'li' : _props$ContainerCompo,
_props$ContainerProps = props.ContainerProps;
_props$ContainerProps = _props$ContainerProps === void 0 ? {} : _props$ContainerProps;
var ContainerClassName = _props$ContainerProps.className,
ContainerProps = (0, _objectWithoutProperties2.default)(_props$ContainerProps, ["className"]),
_props$dense = props.dense,
dense = _props$dense === void 0 ? false : _props$dense,
_props$disabled = props.disabled,
disabled = _props$disabled === void 0 ? false : _props$disabled,
_props$disableGutters = props.disableGutters,
disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters,
_props$divider = props.divider,
divider = _props$divider === void 0 ? false : _props$divider,
focusVisibleClassName = props.focusVisibleClassName,
_props$selected = props.selected,
selected = _props$selected === void 0 ? false : _props$selected,
other = (0, _objectWithoutProperties2.default)(props, ["alignItems", "autoFocus", "button", "children", "classes", "className", "component", "ContainerComponent", "ContainerProps", "dense", "disabled", "disableGutters", "divider", "focusVisibleClassName", "selected"]);
var context = _react.default.useContext(_ListContext.default);
var childContext = {
dense: dense || context.dense || false,
alignItems: alignItems
};
var listItemRef = _react.default.useRef(null);
useEnhancedEffect(function () {
if (autoFocus) {
if (listItemRef.current) {
listItemRef.current.focus();
} else if (false) {}
}
}, [autoFocus]);
var children = _react.default.Children.toArray(childrenProp);
var hasSecondaryAction = children.length && (0, _isMuiElement.default)(children[children.length - 1], ['ListItemSecondaryAction']);
var handleOwnRef = _react.default.useCallback(function (instance) {
// #StrictMode ready
listItemRef.current = _reactDom.default.findDOMNode(instance);
}, []);
var handleRef = (0, _useForkRef.default)(handleOwnRef, ref);
var componentProps = (0, _extends2.default)({
className: (0, _clsx.default)(classes.root, className, childContext.dense && classes.dense, !disableGutters && classes.gutters, divider && classes.divider, disabled && classes.disabled, button && classes.button, alignItems !== "center" && classes.alignItemsFlexStart, hasSecondaryAction && classes.secondaryAction, selected && classes.selected),
disabled: disabled
}, other);
var Component = componentProp || 'li';
if (button) {
componentProps.component = componentProp || 'div';
componentProps.focusVisibleClassName = (0, _clsx.default)(classes.focusVisible, focusVisibleClassName);
Component = _ButtonBase.default;
}
if (hasSecondaryAction) {
// Use div by default.
Component = !componentProps.component && !componentProp ? 'div' : Component; // Avoid nesting of li > li.
if (ContainerComponent === 'li') {
if (Component === 'li') {
Component = 'div';
} else if (componentProps.component === 'li') {
componentProps.component = 'div';
}
}
return _react.default.createElement(_ListContext.default.Provider, {
value: childContext
}, _react.default.createElement(ContainerComponent, (0, _extends2.default)({
className: (0, _clsx.default)(classes.container, ContainerClassName),
ref: handleRef
}, ContainerProps), _react.default.createElement(Component, componentProps, children), children.pop()));
}
return _react.default.createElement(_ListContext.default.Provider, {
value: childContext
}, _react.default.createElement(Component, (0, _extends2.default)({
ref: handleRef
}, componentProps), children));
});
false ? undefined : void 0;
var _default = (0, _withStyles.default)(styles, {
name: 'MuiListItem'
})(ListItem);
exports.default = _default;
/***/ }),
/***/ "320b6181e0882f0f8e64":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _createGenerateClassName.default;
}
});
var _createGenerateClassName = _interopRequireDefault(__webpack_require__("c99743853a4c440faeef"));
/***/ }),
/***/ "336ba7c43074f11a4c8c":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireWildcard = __webpack_require__("16ed5e814ccb32d55f28");
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {};
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _StylesProvider.default;
}
});
var _StylesProvider = _interopRequireWildcard(__webpack_require__("fe74ccbb3ddd7dd95f69"));
Object.keys(_StylesProvider).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _StylesProvider[key];
}
});
});
/***/ }),
/***/ "336be1f03a45da13ce56":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _List.default;
}
});
var _List = _interopRequireDefault(__webpack_require__("08f2af5e9820e68c8001"));
/***/ }),
/***/ "33e89d6ae1122d0cb240":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _typeof2 = _interopRequireDefault(__webpack_require__("7ae52036d1906f8c617e"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _noopTheme = _interopRequireDefault(__webpack_require__("5cfe6cba4dbda49f0f04"));
function getStylesCreator(stylesOrCreator) {
var themingEnabled = typeof stylesOrCreator === 'function';
if (false) {}
return {
create: function create(theme, name) {
var styles;
try {
styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;
} catch (err) {
if (false) {}
throw err;
}
if (!name || !theme.overrides || !theme.overrides[name]) {
return styles;
}
var overrides = theme.overrides[name];
var stylesWithOverrides = (0, _extends2.default)({}, styles);
Object.keys(overrides).forEach(function (key) {
if (false) {}
stylesWithOverrides[key] = (0, _utils.deepmerge)(stylesWithOverrides[key], overrides[key]);
});
return stylesWithOverrides;
},
options: {}
};
}
var _default = getStylesCreator;
exports.default = _default;
/***/ }),
/***/ "34df3909c3d65433840b":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var ThemeContext = _react.default.createContext(null);
if (false) {}
var _default = ThemeContext;
exports.default = _default;
/***/ }),
/***/ "361c9bc3ee5a7f8fe1c2":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useForkRef;
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _setRef = _interopRequireDefault(__webpack_require__("226929f9e2a75121cca7"));
function useForkRef(refA, refB) {
/**
* This will create a new function if the ref props change and are defined.
* This means react will call the old forkRef with `null` and the new forkRef
* with the ref. Cleanup naturally emerges from this behavior
*/
return _react.default.useMemo(function () {
if (refA == null && refB == null) {
return null;
}
return function (refValue) {
(0, _setRef.default)(refA, refValue);
(0, _setRef.default)(refB, refValue);
};
}, [refA, refB]);
}
/***/ }),
/***/ "38aa57f85178b29f4f0a":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = capitalize;
// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.
//
// A strict capitalization should uppercase the first letter of each word a the sentence.
// We only handle the first word.
function capitalize(string) {
if (false) {}
return string.charAt(0).toUpperCase() + string.slice(1);
}
/***/ }),
/***/ "38c74ad8064946ab7d67":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _ButtonBase.default;
}
});
var _ButtonBase = _interopRequireDefault(__webpack_require__("9252fda5af500740d3fc"));
/***/ }),
/***/ "3bb70a6ceb41270e25b3":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/* eslint-disable */
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var _default = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
exports.default = _default;
/***/ }),
/***/ "3e619cabb8b0256c1c30":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireDefault = __webpack_require__("8e6d34d5e2b1c9c449c0");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__("2c62cf50f9b98ad5e2af"));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("4066f70afce832cd4922"));
var _slicedToArray2 = _interopRequireDefault(__webpack_require__("5e4c0b3f13f7c1958b37"));
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__("51d481168de86b8d3518"));
var _typeof2 = _interopRequireDefault(__webpack_require__("7ae52036d1906f8c617e"));
var _react = _interopRequireDefault(__webpack_require__("8af190b70a6bc55c6f1b"));
var _reactIs = __webpack_require__("0efece4c8cb91e128a85");
var _propTypes = _interopRequireDefault(__webpack_require__("8a2d1b95e05b6a321e74"));
var _clsx = _interopRequireDefault(__webpack_require__("988b7bbe4d0c07f69a17"));
var _capitalize = _interopRequireDefault(__webpack_require__("38aa57f85178b29f4f0a"));
var _utils = __webpack_require__("a7a2257d9717fa4d7223");
var _Menu = _interopRequireDefault(__webpack_require__("cc3af686e70f8ec84e20"));
var _utils2 = __webpack_require__("c59676f8302cf5b5893c");
var _useForkRef = _interopRequireDefault(__webpack_require__("361c9bc3ee5a7f8fe1c2"));
var _useControlled3 = _interopRequireDefault(__webpack_require__("fd30693d14431557a60f"));
function areEqualValues(a, b) {
if ((0, _typeof2.default)(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 = _react.default.forwardRef(function SelectInput(props, ref) {
var 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,
required = props.required,
_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, _objectWithoutProperties2.default)(props, ["autoFocus", "autoWidth", "children", "classes", "className", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "required", "SelectDisplayProps", "tabIndex", "type", "value", "variant"]);
var _useControlled = (0, _useControlled3.default)({
controlled: valueProp,
default: defaultValue,
name: 'SelectInput'
}),
_useControlled2 = (0, _slicedToArray2.default)(_useControlled, 2),
value = _useControlled2[0],
setValue = _useControlled2[1];
var inputRef = _react.default.useRef(null);
var _React$useState = _react.default.useState(null),
displayNode = _React$useState[0],
setDisplayNode = _React$useState[1];
var _React$useRef = _react.default.useRef(openProp != null),
isOpenControlled = _React$useRef.current;
var _React$useState2 = _react.default.useState(),
menuMinWidthState = _React$useState2[0],
setMenuMinWidthState = _React$useState2[1];
var _React$useState3 = _react.default.useState(false),
openState = _React$useState3[0],
setOpenState = _React$useState3[1];
var handleRef = (0, _useForkRef.default)(ref, inputRefProp);
_react.default.useImperativeHandle(handleRef, function () {
return {
focus: function focus() {
displayNode.focus();
},
node: inputRef.current,
value: value
};
}, [displayNode, value]);
_react.default.useEffect(function () {
if (autoFocus && displayNode) {
displayNode.focus();
}
}, [autoFocus, 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 handleItemClick = function handleItemClick(child) {
return function (event) {
if (!multiple) {
update(false, event);
}
var newValue;
if (multiple) {
newValue = Array.isArray(value) ? (0, _toConsumableArray2.default)(value) : [];
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;
}
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, _utils2.isFilled)({
value: value
}) || displayEmpty) {
if (renderValue) {
display = renderValue(value);
} else {
computeDisplay = true;
}
}
var items = _react.default.Children.map(children, function (child) {
if (!_react.default.isValidElement(child)) {
return null;
}
if (false) {}
var selected;
if (multiple) {
if (!Array.isArray(value)) {
throw new Error('Material-UI: the `value` prop must be an array ' + 'when using the `Select` component with `multiple`.');
}
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 _react.default.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