diff --git a/public/css/app.css b/public/css/app.css index 38d3ece..a1346d3 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -11878,6 +11878,39 @@ select { --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; } +.container { + width: 100%; +} +@media (min-width: 640px) { + + .container { + max-width: 640px; + } +} +@media (min-width: 768px) { + + .container { + max-width: 768px; + } +} +@media (min-width: 1024px) { + + .container { + max-width: 1024px; + } +} +@media (min-width: 1280px) { + + .container { + max-width: 1280px; + } +} +@media (min-width: 1536px) { + + .container { + max-width: 1536px; + } +} .fixed { position: fixed; } @@ -11902,6 +11935,9 @@ select { .z-50 { z-index: 50; } +.m-0 { + margin: 0px; +} .mx-auto { margin-left: auto; margin-right: auto; @@ -11954,6 +11990,12 @@ select { .mt-3 { margin-top: 0.75rem; } +.mb-3 { + margin-bottom: 0.75rem; +} +.mb-0 { + margin-bottom: 0px; +} .block { display: block; } @@ -12177,6 +12219,9 @@ select { .p-2 { padding: 0.5rem; } +.p-0 { + padding: 0px; +} .px-4 { padding-left: 1rem; padding-right: 1rem; @@ -12243,6 +12288,9 @@ select { .text-center { text-align: center; } +.align-baseline { + vertical-align: baseline; +} .font-sans { font-family: Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; } diff --git a/public/js/app.js b/public/js/app.js index bc60e16..d921160 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -3008,6 +3008,97 @@ const modalUnstyledClasses = (0,_generateUtilityClasses__WEBPACK_IMPORTED_MODULE /***/ }), +/***/ "./node_modules/@mui/base/NoSsr/NoSsr.js": +/*!***********************************************!*\ + !*** ./node_modules/@mui/base/NoSsr/NoSsr.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/useEnhancedEffect.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/exactProp.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + + +/** + * NoSsr purposely removes components from the subject of Server Side Rendering (SSR). + * + * This component can be useful in a variety of situations: + * - Escape hatch for broken dependencies not supporting SSR. + * - Improve the time-to-first paint on the client by only rendering above the fold. + * - Reduce the rendering time on the server. + * - Under too heavy server load, you can turn on service degradation. + */ + + + +function NoSsr(props) { + const { + children, + defer = false, + fallback = null + } = props; + const [mountedState, setMountedState] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false); + (0,_mui_utils__WEBPACK_IMPORTED_MODULE_2__["default"])(() => { + if (!defer) { + setMountedState(true); + } + }, [defer]); + react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => { + if (defer) { + setMountedState(true); + } + }, [defer]); // We need the Fragment here to force react-docgen to recognise NoSsr as a component. + + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, { + children: mountedState ? children : fallback + }); +} + + true ? NoSsr.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * You can wrap a node. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node), + + /** + * If `true`, the component will not only prevent server-side rendering. + * It will also defer the rendering of the children into a different screen frame. + * @default false + */ + defer: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool), + + /** + * The fallback content to display. + * @default null + */ + fallback: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node) +} : 0; + +if (true) { + // eslint-disable-next-line + NoSsr['propTypes' + ''] = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(NoSsr.propTypes); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NoSsr); + +/***/ }), + /***/ "./node_modules/@mui/base/Portal/Portal.js": /*!*************************************************!*\ !*** ./node_modules/@mui/base/Portal/Portal.js ***! @@ -3922,6 +4013,34 @@ exports["default"] = _default; /***/ }), +/***/ "./node_modules/@mui/icons-material/Mail.js": +/*!**************************************************!*\ + !*** ./node_modules/@mui/icons-material/Mail.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _createSvgIcon = _interopRequireDefault(__webpack_require__(/*! ./utils/createSvgIcon */ "./node_modules/@mui/icons-material/utils/createSvgIcon.js")); + +var _jsxRuntime = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + +var _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)("path", { + d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z" +}), 'Mail'); + +exports["default"] = _default; + +/***/ }), + /***/ "./node_modules/@mui/icons-material/MoreVert.js": /*!******************************************************!*\ !*** ./node_modules/@mui/icons-material/MoreVert.js ***! @@ -3950,6 +4069,34 @@ exports["default"] = _default; /***/ }), +/***/ "./node_modules/@mui/icons-material/MoveToInbox.js": +/*!*********************************************************!*\ + !*** ./node_modules/@mui/icons-material/MoveToInbox.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _createSvgIcon = _interopRequireDefault(__webpack_require__(/*! ./utils/createSvgIcon */ "./node_modules/@mui/icons-material/utils/createSvgIcon.js")); + +var _jsxRuntime = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + +var _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)("path", { + d: "M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19v10zm-3-5h-2V7h-4v3H8l4 4 4-4z" +}), 'MoveToInbox'); + +exports["default"] = _default; + +/***/ }), + /***/ "./node_modules/@mui/icons-material/esm/Delete.js": /*!********************************************************!*\ !*** ./node_modules/@mui/icons-material/esm/Delete.js ***! @@ -4648,6 +4795,37 @@ const Backdrop = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(func /***/ }), +/***/ "./node_modules/@mui/material/Box/Box.js": +/*!***********************************************!*\ + !*** ./node_modules/@mui/material/Box/Box.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/createBox.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./node_modules/@mui/base/generateUtilityClass/ClassNameGenerator.js"); +/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../styles */ "./node_modules/@mui/material/styles/createTheme.js"); + + + +const defaultTheme = (0,_styles__WEBPACK_IMPORTED_MODULE_0__["default"])(); +/** + * @ignore - do not document. + */ + +const Box = (0,_mui_system__WEBPACK_IMPORTED_MODULE_1__["default"])({ + defaultTheme, + defaultClassName: 'MuiBox-root', + generateClassName: _utils__WEBPACK_IMPORTED_MODULE_2__["default"].generate +}); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Box); + +/***/ }), + /***/ "./node_modules/@mui/material/Button/Button.js": /*!*****************************************************!*\ !*** ./node_modules/@mui/material/Button/Button.js ***! @@ -8791,6 +8969,398 @@ const dividerClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('Mu /***/ }), +/***/ "./node_modules/@mui/material/Drawer/Drawer.js": +/*!*****************************************************!*\ + !*** ./node_modules/@mui/material/Drawer/Drawer.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "isHorizontal": () => (/* binding */ isHorizontal), +/* harmony export */ "getAnchor": () => (/* binding */ getAnchor), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/integerPropType.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/composeClasses/composeClasses.js"); +/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Modal */ "./node_modules/@mui/material/Modal/Modal.js"); +/* harmony import */ var _Slide__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Slide */ "./node_modules/@mui/material/Slide/Slide.js"); +/* harmony import */ var _Paper__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Paper */ "./node_modules/@mui/material/Paper/Paper.js"); +/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); +/* harmony import */ var _styles_createTransitions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../styles/createTransitions */ "./node_modules/@mui/material/styles/createTransitions.js"); +/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); +/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _drawerClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./drawerClasses */ "./node_modules/@mui/material/Drawer/drawerClasses.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["BackdropProps"], + _excluded2 = ["anchor", "BackdropProps", "children", "className", "elevation", "hideBackdrop", "ModalProps", "onClose", "open", "PaperProps", "SlideProps", "TransitionComponent", "transitionDuration", "variant"]; + + + + + + + + + + + + + + + + +const overridesResolver = (props, styles) => { + const { + ownerState + } = props; + return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal]; +}; + +const useUtilityClasses = ownerState => { + const { + classes, + anchor, + variant + } = ownerState; + const slots = { + root: ['root'], + docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'], + modal: ['modal'], + paper: ['paper', `paperAnchor${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(anchor)}`] + }; + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_6__["default"])(slots, _drawerClasses__WEBPACK_IMPORTED_MODULE_7__.getDrawerUtilityClass, classes); +}; + +const DrawerRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])(_Modal__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: 'MuiDrawer', + slot: 'Root', + overridesResolver +})(({ + theme +}) => ({ + zIndex: theme.zIndex.drawer +})); +const DrawerDockedRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])('div', { + shouldForwardProp: _styles_styled__WEBPACK_IMPORTED_MODULE_8__.rootShouldForwardProp, + name: 'MuiDrawer', + slot: 'Docked', + skipVariantsResolver: false, + overridesResolver +})({ + flex: '0 0 auto' +}); +const DrawerPaper = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__["default"])(_Paper__WEBPACK_IMPORTED_MODULE_10__["default"], { + name: 'MuiDrawer', + slot: 'Paper', + overridesResolver: (props, styles) => { + const { + ownerState + } = props; + return [styles.paper, styles[`paperAnchor${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__["default"])(ownerState.anchor)}`]]; + } +})(({ + theme, + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + overflowY: 'auto', + display: 'flex', + flexDirection: 'column', + height: '100%', + flex: '1 0 auto', + zIndex: theme.zIndex.drawer, + // Add iOS momentum scrolling for iOS < 13.0 + WebkitOverflowScrolling: 'touch', + // temporary style + position: 'fixed', + top: 0, + // We disable the focus ring for mouse, touch and keyboard users. + // At some point, it would be better to keep it for keyboard users. + // :focus-ring CSS pseudo-class will help. + outline: 0 +}, ownerState.anchor === 'left' && { + left: 0 +}, ownerState.anchor === 'top' && { + top: 0, + left: 0, + right: 0, + height: 'auto', + maxHeight: '100%' +}, ownerState.anchor === 'right' && { + right: 0 +}, ownerState.anchor === 'bottom' && { + top: 'auto', + left: 0, + bottom: 0, + right: 0, + height: 'auto', + maxHeight: '100%' +}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && { + borderRight: `1px solid ${theme.palette.divider}` +}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && { + borderBottom: `1px solid ${theme.palette.divider}` +}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && { + borderLeft: `1px solid ${theme.palette.divider}` +}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && { + borderTop: `1px solid ${theme.palette.divider}` +})); +const oppositeDirection = { + left: 'right', + right: 'left', + top: 'down', + bottom: 'up' +}; +function isHorizontal(anchor) { + return ['left', 'right'].indexOf(anchor) !== -1; +} +function getAnchor(theme, anchor) { + return theme.direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor; +} +const defaultTransitionDuration = { + enter: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_11__.duration.enteringScreen, + exit: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_11__.duration.leavingScreen +}; +/** + * The props of the [Modal](/api/modal/) component are available + * when `variant="temporary"` is set. + */ + +const Drawer = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Drawer(inProps, ref) { + const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_12__["default"])({ + props: inProps, + name: 'MuiDrawer' + }); + + const { + anchor: anchorProp = 'left', + BackdropProps, + children, + className, + elevation = 16, + hideBackdrop = false, + ModalProps: { + BackdropProps: BackdropPropsProp + } = {}, + onClose, + open = false, + PaperProps = {}, + SlideProps, + // eslint-disable-next-line react/prop-types + TransitionComponent = _Slide__WEBPACK_IMPORTED_MODULE_13__["default"], + transitionDuration = defaultTransitionDuration, + variant = 'temporary' + } = props, + ModalProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props.ModalProps, _excluded), + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded2); + + const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_14__["default"])(); // Let's assume that the Drawer will always be rendered on user space. + // We use this state is order to skip the appear transition during the + // initial mount of the component. + + const mounted = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false); + react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { + mounted.current = true; + }, []); + const anchorInvariant = getAnchor(theme, anchorProp); + const anchor = anchorProp; + + const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { + anchor, + elevation, + open, + variant + }, other); + + const classes = useUtilityClasses(ownerState); + + const drawer = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(DrawerPaper, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + elevation: variant === 'temporary' ? elevation : 0, + square: true + }, PaperProps, { + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.paper, PaperProps.className), + ownerState: ownerState, + children: children + })); + + if (variant === 'permanent') { + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(DrawerDockedRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, classes.docked, className), + ownerState: ownerState, + ref: ref + }, other, { + children: drawer + })); + } + + const slidingDrawer = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + in: open, + direction: oppositeDirection[anchorInvariant], + timeout: transitionDuration, + appear: mounted.current + }, SlideProps, { + children: drawer + })); + + if (variant === 'persistent') { + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(DrawerDockedRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, classes.docked, className), + ownerState: ownerState, + ref: ref + }, other, { + children: slidingDrawer + })); + } // variant === temporary + + + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(DrawerRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + BackdropProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, BackdropProps, BackdropPropsProp, { + transitionDuration + }), + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, classes.modal, className), + open: open, + ownerState: ownerState, + onClose: onClose, + hideBackdrop: hideBackdrop, + ref: ref + }, other, ModalProps, { + children: slidingDrawer + })); +}); + true ? Drawer.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * Side from which the drawer will appear. + * @default 'left' + */ + anchor: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOf(['bottom', 'left', 'right', 'top']), + + /** + * @ignore + */ + BackdropProps: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), + + /** + * The content of the component. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().node), + + /** + * Override or extend the styles applied to the component. + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), + + /** + * @ignore + */ + className: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().string), + + /** + * The elevation of the drawer. + * @default 16 + */ + elevation: _mui_utils__WEBPACK_IMPORTED_MODULE_16__["default"], + + /** + * If `true`, the backdrop is not rendered. + * @default false + */ + hideBackdrop: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool), + + /** + * Props applied to the [`Modal`](/api/modal/) element. + * @default {} + */ + ModalProps: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), + + /** + * Callback fired when the component requests to be closed. + * + * @param {object} event The event source of the callback. + */ + onClose: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().func), + + /** + * If `true`, the component is shown. + * @default false + */ + open: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool), + + /** + * Props applied to the [`Paper`](/api/paper/) element. + * @default {} + */ + PaperProps: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), + + /** + * Props applied to the [`Slide`](/api/slide/) element. + */ + SlideProps: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), + + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_15___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_15___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_15___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object)]), + + /** + * The duration for the transition, in milliseconds. + * You may specify a single timeout for all transitions, or individually with an object. + * @default { enter: duration.enteringScreen, exit: duration.leavingScreen } + */ + transitionDuration: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), prop_types__WEBPACK_IMPORTED_MODULE_15___default().shape({ + appear: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + enter: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + exit: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number) + })]), + + /** + * The variant to use. + * @default 'temporary' + */ + variant: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOf(['permanent', 'persistent', 'temporary']) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Drawer); + +/***/ }), + +/***/ "./node_modules/@mui/material/Drawer/drawerClasses.js": +/*!************************************************************!*\ + !*** ./node_modules/@mui/material/Drawer/drawerClasses.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getDrawerUtilityClass": () => (/* binding */ getDrawerUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getDrawerUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiDrawer', slot); +} +const drawerClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (drawerClasses); + +/***/ }), + /***/ "./node_modules/@mui/material/Fade/Fade.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/Fade/Fade.js ***! @@ -13363,6 +13933,1050 @@ const listClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiLi /***/ }), +/***/ "./node_modules/@mui/material/ListItem/ListItem.js": +/*!*********************************************************!*\ + !*** ./node_modules/@mui/material/ListItem/ListItem.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "overridesResolver": () => (/* binding */ overridesResolver), +/* harmony export */ "ListItemRoot": () => (/* binding */ ListItemRoot), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/composeClasses/composeClasses.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/utils/isHostComponent.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/chainPropTypes.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/elementTypeAcceptingRef.js"); +/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/colorManipulator.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); +/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ButtonBase */ "./node_modules/@mui/material/ButtonBase/ButtonBase.js"); +/* harmony import */ var _utils_isMuiElement__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/isMuiElement */ "./node_modules/@mui/material/utils/isMuiElement.js"); +/* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); +/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); +/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); +/* harmony import */ var _listItemClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemClasses */ "./node_modules/@mui/material/ListItem/listItemClasses.js"); +/* harmony import */ var _ListItemButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../ListItemButton */ "./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js"); +/* harmony import */ var _ListItemSecondaryAction__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../ListItemSecondaryAction */ "./node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["className"], + _excluded2 = ["alignItems", "autoFocus", "button", "children", "className", "component", "components", "componentsProps", "ContainerComponent", "ContainerProps", "dense", "disabled", "disableGutters", "disablePadding", "divider", "focusVisibleClassName", "secondaryAction", "selected"]; + + + + + + + + + + + + + + + + + + +const overridesResolver = (props, styles) => { + const { + ownerState + } = props; + return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.button && styles.button, ownerState.hasSecondaryAction && styles.secondaryAction]; +}; + +const useUtilityClasses = ownerState => { + const { + alignItems, + button, + classes, + dense, + disabled, + disableGutters, + disablePadding, + divider, + hasSecondaryAction, + selected + } = ownerState; + const slots = { + root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', disabled && 'disabled', button && 'button', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction', selected && 'selected'], + container: ['container'] + }; + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemUtilityClass, classes); +}; + +const ListItemRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { + name: 'MuiListItem', + slot: 'Root', + overridesResolver +})(({ + theme, + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + display: 'flex', + justifyContent: 'flex-start', + alignItems: 'center', + position: 'relative', + textDecoration: 'none', + width: '100%', + boxSizing: 'border-box', + textAlign: 'left' +}, !ownerState.disablePadding && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + paddingTop: 8, + paddingBottom: 8 +}, ownerState.dense && { + paddingTop: 4, + paddingBottom: 4 +}, !ownerState.disableGutters && { + paddingLeft: 16, + paddingRight: 16 +}, !!ownerState.secondaryAction && { + // Add some space to avoid collision as `ListItemSecondaryAction` + // is absolutely positioned. + paddingRight: 48 +}), !!ownerState.secondaryAction && { + [`& > .${_ListItemButton__WEBPACK_IMPORTED_MODULE_8__["default"].root}`]: { + paddingRight: 48 + } +}, { + [`&.${_listItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible}`]: { + backgroundColor: theme.palette.action.focus + }, + [`&.${_listItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].selected}`]: { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity), + [`&.${_listItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible}`]: { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity) + } + }, + [`&.${_listItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].disabled}`]: { + opacity: theme.palette.action.disabledOpacity + } +}, ownerState.alignItems === 'flex-start' && { + alignItems: 'flex-start' +}, ownerState.divider && { + borderBottom: `1px solid ${theme.palette.divider}`, + backgroundClip: 'padding-box' +}, ownerState.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' + } + }, + [`&.${_listItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].selected}:hover`]: { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity) + } + } +}, ownerState.hasSecondaryAction && { + // Add some space to avoid collision as `ListItemSecondaryAction` + // is absolutely positioned. + paddingRight: 48 +})); +const ListItemContainer = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('li', { + name: 'MuiListItem', + slot: 'Container', + overridesResolver: (props, styles) => styles.container +})({ + position: 'relative' +}); +/** + * Uses an additional container component if `ListItemSecondaryAction` is the last child. + */ + +const ListItem = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItem(inProps, ref) { + const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__["default"])({ + props: inProps, + name: 'MuiListItem' + }); + + const { + alignItems = 'center', + autoFocus = false, + button = false, + children: childrenProp, + className, + component: componentProp, + components = {}, + componentsProps = {}, + ContainerComponent = 'li', + ContainerProps: { + className: ContainerClassName + } = {}, + dense = false, + disabled = false, + disableGutters = false, + disablePadding = false, + divider = false, + focusVisibleClassName, + secondaryAction, + selected = false + } = props, + ContainerProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props.ContainerProps, _excluded), + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded2); + + const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_11__["default"]); + const childContext = { + dense: dense || context.dense || false, + alignItems, + disableGutters + }; + const listItemRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); + (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_12__["default"])(() => { + if (autoFocus) { + if (listItemRef.current) { + listItemRef.current.focus(); + } else if (true) { + console.error('MUI: Unable to set focus to a ListItem whose component has not been rendered.'); + } + } + }, [autoFocus]); + const children = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(childrenProp); // v4 implementation, deprecated in v5, will be removed in v6 + + const hasSecondaryAction = children.length && (0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_13__["default"])(children[children.length - 1], ['ListItemSecondaryAction']); + + const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { + alignItems, + autoFocus, + button, + dense: childContext.dense, + disabled, + disableGutters, + disablePadding, + divider, + hasSecondaryAction, + selected + }); + + const classes = useUtilityClasses(ownerState); + const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_14__["default"])(listItemRef, ref); + const Root = components.Root || ListItemRoot; + const rootProps = componentsProps.root || {}; + + const componentProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, rootProps.className, className), + disabled + }, other); + + let Component = componentProp || 'li'; + + if (button) { + componentProps.component = componentProp || 'div'; + componentProps.focusVisibleClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(_listItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible, focusVisibleClassName); + Component = _ButtonBase__WEBPACK_IMPORTED_MODULE_15__["default"]; + } // v4 implementation, deprecated in v5, will be removed in v6 + + + 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 /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_List_ListContext__WEBPACK_IMPORTED_MODULE_11__["default"].Provider, { + value: childContext, + children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(ListItemContainer, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + as: ContainerComponent, + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.container, ContainerClassName), + ref: handleRef, + ownerState: ownerState + }, ContainerProps, { + children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(Root, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, rootProps, !(0,_mui_base__WEBPACK_IMPORTED_MODULE_16__["default"])(Root) && { + as: Component, + ownerState: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, ownerState, rootProps.ownerState) + }, componentProps, { + children: children + })), children.pop()] + })) + }); + } + + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_List_ListContext__WEBPACK_IMPORTED_MODULE_11__["default"].Provider, { + value: childContext, + children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(Root, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, rootProps, { + as: Component, + ref: handleRef, + ownerState: ownerState + }, !(0,_mui_base__WEBPACK_IMPORTED_MODULE_16__["default"])(Root) && { + ownerState: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, ownerState, rootProps.ownerState) + }, componentProps, { + children: [children, secondaryAction && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_ListItemSecondaryAction__WEBPACK_IMPORTED_MODULE_17__["default"], { + children: secondaryAction + })] + })) + }); +}); + true ? ListItem.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * Defines the `align-items` style property. + * @default 'center' + */ + alignItems: prop_types__WEBPACK_IMPORTED_MODULE_18___default().oneOf(['center', 'flex-start']), + + /** + * If `true`, the list item is focused during the first mount. + * Focus will also be triggered if the value changes from false to true. + * @default false + * @deprecated checkout [ListItemButton](/api/list-item-button/) instead + */ + autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * If `true`, the list item is a button (using `ButtonBase`). Props intended + * for `ButtonBase` can then be applied to `ListItem`. + * @default false + * @deprecated checkout [ListItemButton](/api/list-item-button/) instead + */ + button: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * The content of the component if a `ListItemSecondaryAction` is used it must + * be the last child. + */ + children: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_19__["default"])((prop_types__WEBPACK_IMPORTED_MODULE_18___default().node), props => { + const children = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(props.children); // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction) + + let secondaryActionIndex = -1; + + for (let i = children.length - 1; i >= 0; i -= 1) { + const child = children[i]; + + if ((0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_13__["default"])(child, ['ListItemSecondaryAction'])) { + secondaryActionIndex = i; + break; + } + } // is ListItemSecondaryAction the last child of ListItem + + + if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) { + return new Error('MUI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.'); + } + + return null; + }), + + /** + * Override or extend the styles applied to the component. + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().object), + + /** + * @ignore + */ + className: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().string), + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().elementType), + + /** + * The components used for each slot inside the InputBase. + * Either a string to use a HTML element or a component. + * @default {} + */ + components: prop_types__WEBPACK_IMPORTED_MODULE_18___default().shape({ + Root: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().elementType) + }), + + /** + * The props used for each slot inside the Input. + * @default {} + */ + componentsProps: prop_types__WEBPACK_IMPORTED_MODULE_18___default().shape({ + root: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().object) + }), + + /** + * The container component used when a `ListItemSecondaryAction` is the last child. + * @default 'li' + * @deprecated + */ + ContainerComponent: _mui_utils__WEBPACK_IMPORTED_MODULE_20__["default"], + + /** + * Props applied to the container component if used. + * @default {} + * @deprecated + */ + ContainerProps: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().object), + + /** + * If `true`, compact vertical padding designed for keyboard and mouse input is used. + * The prop defaults to the value inherited from the parent List component. + * @default false + */ + dense: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * If `true`, the component is disabled. + * @default false + * @deprecated checkout [ListItemButton](/api/list-item-button/) instead + */ + disabled: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * If `true`, the left and right padding is removed. + * @default false + */ + disableGutters: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * If `true`, all padding is removed. + * @default false + */ + disablePadding: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * If `true`, a 1px light border is added to the bottom of the list item. + * @default false + */ + divider: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * @ignore + */ + focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().string), + + /** + * The element to display at the end of ListItem. + */ + secondaryAction: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().node), + + /** + * Use to apply selected styling. + * @default false + * @deprecated checkout [ListItemButton](/api/list-item-button/) instead + */ + selected: (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool), + + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_18___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_18___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_18___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_18___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_18___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_18___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_18___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_18___default().object)]) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItem); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItem/listItemClasses.js": +/*!****************************************************************!*\ + !*** ./node_modules/@mui/material/ListItem/listItemClasses.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getListItemUtilityClass": () => (/* binding */ getListItemUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getListItemUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItem', slot); +} +const listItemClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemClasses); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getListItemButtonUtilityClass": () => (/* binding */ getListItemButtonUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getListItemButtonUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemButton', slot); +} +const listItemButtonClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemButtonClasses); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemIcon/ListItemIcon.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemIcon/ListItemIcon.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/composeClasses/composeClasses.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); +/* harmony import */ var _listItemIconClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemIconClasses */ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js"); +/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["className"]; + + + + + + + + + + +const useUtilityClasses = ownerState => { + const { + alignItems, + classes + } = ownerState; + const slots = { + root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart'] + }; + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemIconClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemIconUtilityClass, classes); +}; + +const ListItemIconRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { + name: 'MuiListItemIcon', + slot: 'Root', + overridesResolver: (props, styles) => { + const { + ownerState + } = props; + return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart]; + } +})(({ + theme, + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + minWidth: 56, + color: theme.palette.action.active, + flexShrink: 0, + display: 'inline-flex' +}, ownerState.alignItems === 'flex-start' && { + marginTop: 8 +})); +/** + * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`. + */ + +const ListItemIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemIcon(inProps, ref) { + const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ + props: inProps, + name: 'MuiListItemIcon' + }); + + const { + className + } = props, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); + + const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_9__["default"]); + + const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { + alignItems: context.alignItems + }); + + const classes = useUtilityClasses(ownerState); + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ListItemIconRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), + ownerState: ownerState, + ref: ref + }, other)); +}); + true ? ListItemIcon.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the component, normally `Icon`, `SvgIcon`, + * or a `@mui/icons-material` SVG icon element. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), + + /** + * Override or extend the styles applied to the component. + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), + + /** + * @ignore + */ + className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), + + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItemIcon); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js": +/*!************************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getListItemIconUtilityClass": () => (/* binding */ getListItemIconUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getListItemIconUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemIcon', slot); +} +const listItemIconClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemIcon', ['root', 'alignItemsFlexStart']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemIconClasses); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/composeClasses/composeClasses.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); +/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); +/* harmony import */ var _listItemSecondaryActionClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemSecondaryActionClasses */ "./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["className"]; + + + + + + + + + + +const useUtilityClasses = ownerState => { + const { + disableGutters, + classes + } = ownerState; + const slots = { + root: ['root', disableGutters && 'disableGutters'] + }; + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemSecondaryActionClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemSecondaryActionClassesUtilityClass, classes); +}; + +const ListItemSecondaryActionRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { + name: 'MuiListItemSecondaryAction', + slot: 'Root', + overridesResolver: (props, styles) => { + const { + ownerState + } = props; + return [styles.root, ownerState.disableGutters && styles.disableGutters]; + } +})(({ + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + position: 'absolute', + right: 16, + top: '50%', + transform: 'translateY(-50%)' +}, ownerState.disableGutters && { + right: 0 +})); +/** + * Must be used as the last child of ListItem to function properly. + */ + +const ListItemSecondaryAction = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemSecondaryAction(inProps, ref) { + const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ + props: inProps, + name: 'MuiListItemSecondaryAction' + }); + + const { + className + } = props, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); + + const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_9__["default"]); + + const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { + disableGutters: context.disableGutters + }); + + const classes = useUtilityClasses(ownerState); + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ListItemSecondaryActionRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), + ownerState: ownerState, + ref: ref + }, other)); +}); + true ? ListItemSecondaryAction.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * The content of the component, normally an `IconButton` or selection control. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), + + /** + * Override or extend the styles applied to the component. + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), + + /** + * @ignore + */ + className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), + + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]) +} : 0; +ListItemSecondaryAction.muiName = 'ListItemSecondaryAction'; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItemSecondaryAction); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getListItemSecondaryActionClassesUtilityClass": () => (/* binding */ getListItemSecondaryActionClassesUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getListItemSecondaryActionClassesUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemSecondaryAction', slot); +} +const listItemSecondaryActionClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemSecondaryAction', ['root', 'disableGutters']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemSecondaryActionClasses); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemText/ListItemText.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemText/ListItemText.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/composeClasses/composeClasses.js"); +/* harmony import */ var _Typography__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Typography */ "./node_modules/@mui/material/Typography/Typography.js"); +/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); +/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemTextClasses */ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["children", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"]; + + + + + + + + + + + + +const useUtilityClasses = ownerState => { + const { + classes, + inset, + primary, + secondary, + dense + } = ownerState; + const slots = { + root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'], + primary: ['primary'], + secondary: ['secondary'] + }; + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemTextUtilityClass, classes); +}; + +const ListItemTextRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { + name: 'MuiListItemText', + slot: 'Root', + overridesResolver: (props, styles) => { + const { + ownerState + } = props; + return [{ + [`& .${_listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__["default"].primary}`]: styles.primary + }, { + [`& .${_listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__["default"].secondary}`]: styles.secondary + }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense]; + } +})(({ + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + flex: '1 1 auto', + minWidth: 0, + marginTop: 4, + marginBottom: 4 +}, ownerState.primary && ownerState.secondary && { + marginTop: 6, + marginBottom: 6 +}, ownerState.inset && { + paddingLeft: 56 +})); +const ListItemText = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemText(inProps, ref) { + const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ + props: inProps, + name: 'MuiListItemText' + }); + + const { + children, + className, + disableTypography = false, + inset = false, + primary: primaryProp, + primaryTypographyProps, + secondary: secondaryProp, + secondaryTypographyProps + } = props, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); + + const { + dense + } = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_9__["default"]); + let primary = primaryProp != null ? primaryProp : children; + let secondary = secondaryProp; + + const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { + disableTypography, + inset, + primary: !!primary, + secondary: !!secondary, + dense + }); + + const classes = useUtilityClasses(ownerState); + + if (primary != null && primary.type !== _Typography__WEBPACK_IMPORTED_MODULE_10__["default"] && !disableTypography) { + primary = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_Typography__WEBPACK_IMPORTED_MODULE_10__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + variant: dense ? 'body2' : 'body1', + className: classes.primary, + component: "span", + display: "block" + }, primaryTypographyProps, { + children: primary + })); + } + + if (secondary != null && secondary.type !== _Typography__WEBPACK_IMPORTED_MODULE_10__["default"] && !disableTypography) { + secondary = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_Typography__WEBPACK_IMPORTED_MODULE_10__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + variant: "body2", + className: classes.secondary, + color: "text.secondary", + display: "block" + }, secondaryTypographyProps, { + children: secondary + })); + } + + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(ListItemTextRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), + ownerState: ownerState, + ref: ref + }, other, { + children: [primary, secondary] + })); +}); + true ? ListItemText.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * Alias for the `primary` prop. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node), + + /** + * Override or extend the styles applied to the component. + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), + + /** + * @ignore + */ + className: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string), + + /** + * If `true`, the children won't be wrapped by a Typography component. + * This can be useful to render an alternative Typography variant by wrapping + * the `children` (or `primary`) text, and optional `secondary` text + * with the Typography component. + * @default false + */ + disableTypography: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool), + + /** + * If `true`, the children are indented. + * This should be used if there is no left avatar or left icon. + * @default false + */ + inset: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool), + + /** + * The main content element. + */ + primary: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node), + + /** + * These props will be forwarded to the primary typography component + * (as long as disableTypography is not `true`). + */ + primaryTypographyProps: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), + + /** + * The secondary content element. + */ + secondary: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node), + + /** + * These props will be forwarded to the secondary typography component + * (as long as disableTypography is not `true`). + */ + secondaryTypographyProps: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), + + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object)]) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItemText); + +/***/ }), + +/***/ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js": +/*!************************************************************************!*\ + !*** ./node_modules/@mui/material/ListItemText/listItemTextClasses.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getListItemTextUtilityClass": () => (/* binding */ getListItemTextUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getListItemTextUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemText', slot); +} +const listItemTextClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemTextClasses); + +/***/ }), + /***/ "./node_modules/@mui/material/Menu/Menu.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/Menu/Menu.js ***! @@ -13709,6 +15323,337 @@ const menuClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiMe /***/ }), +/***/ "./node_modules/@mui/material/MenuItem/MenuItem.js": +/*!*********************************************************!*\ + !*** ./node_modules/@mui/material/MenuItem/MenuItem.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "overridesResolver": () => (/* binding */ overridesResolver), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/composeClasses/composeClasses.js"); +/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/colorManipulator.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); +/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); +/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../ButtonBase */ "./node_modules/@mui/material/ButtonBase/ButtonBase.js"); +/* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); +/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); +/* harmony import */ var _Divider__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Divider */ "./node_modules/@mui/material/Divider/dividerClasses.js"); +/* harmony import */ var _ListItemIcon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../ListItemIcon */ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js"); +/* harmony import */ var _ListItemText__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../ListItemText */ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js"); +/* harmony import */ var _menuItemClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./menuItemClasses */ "./node_modules/@mui/material/MenuItem/menuItemClasses.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex"]; + + + + + + + + + + + + + + + + +const overridesResolver = (props, styles) => { + const { + ownerState + } = props; + return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters]; +}; + +const useUtilityClasses = ownerState => { + const { + disabled, + dense, + divider, + disableGutters, + selected, + classes + } = ownerState; + const slots = { + root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected'] + }; + const composedClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _menuItemClasses__WEBPACK_IMPORTED_MODULE_6__.getMenuItemUtilityClass, classes); + return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, classes, composedClasses); +}; + +const MenuItemRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])(_ButtonBase__WEBPACK_IMPORTED_MODULE_8__["default"], { + shouldForwardProp: prop => (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__.rootShouldForwardProp)(prop) || prop === 'classes', + name: 'MuiMenuItem', + slot: 'Root', + overridesResolver +})(({ + theme, + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, theme.typography.body1, { + display: 'flex', + justifyContent: 'flex-start', + alignItems: 'center', + position: 'relative', + textDecoration: 'none', + minHeight: 48, + paddingTop: 6, + paddingBottom: 6, + boxSizing: 'border-box', + whiteSpace: 'nowrap' +}, !ownerState.disableGutters && { + paddingLeft: 16, + paddingRight: 16 +}, ownerState.divider && { + borderBottom: `1px solid ${theme.palette.divider}`, + backgroundClip: 'padding-box' +}, { + '&:hover': { + textDecoration: 'none', + backgroundColor: theme.palette.action.hover, + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: 'transparent' + } + }, + [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].selected}`]: { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity), + [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible}`]: { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity) + } + }, + [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].selected}:hover`]: { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity), + // Reset on touch devices, it doesn't add specificity + '@media (hover: none)': { + backgroundColor: (0,_mui_system__WEBPACK_IMPORTED_MODULE_9__.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity) + } + }, + [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].focusVisible}`]: { + backgroundColor: theme.palette.action.focus + }, + [`&.${_menuItemClasses__WEBPACK_IMPORTED_MODULE_6__["default"].disabled}`]: { + opacity: theme.palette.action.disabledOpacity + }, + [`& + .${_Divider__WEBPACK_IMPORTED_MODULE_10__["default"].root}`]: { + marginTop: theme.spacing(1), + marginBottom: theme.spacing(1) + }, + [`& + .${_Divider__WEBPACK_IMPORTED_MODULE_10__["default"].inset}`]: { + marginLeft: 52 + }, + [`& .${_ListItemText__WEBPACK_IMPORTED_MODULE_11__["default"].root}`]: { + marginTop: 0, + marginBottom: 0 + }, + [`& .${_ListItemText__WEBPACK_IMPORTED_MODULE_11__["default"].inset}`]: { + paddingLeft: 36 + }, + [`& .${_ListItemIcon__WEBPACK_IMPORTED_MODULE_12__["default"].root}`]: { + minWidth: 36 + } +}, !ownerState.dense && { + [theme.breakpoints.up('sm')]: { + minHeight: 'auto' + } +}, ownerState.dense && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + minHeight: 32, + // https://material.io/components/menus#specs > Dense + paddingTop: 4, + paddingBottom: 4 +}, theme.typography.body2, { + [`& .${_ListItemIcon__WEBPACK_IMPORTED_MODULE_12__["default"].root} svg`]: { + fontSize: '1.25rem' + } +}))); +const MenuItem = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function MenuItem(inProps, ref) { + const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_13__["default"])({ + props: inProps, + name: 'MuiMenuItem' + }); + + const { + autoFocus = false, + component = 'li', + dense = false, + divider = false, + disableGutters = false, + focusVisibleClassName, + role = 'menuitem', + tabIndex: tabIndexProp + } = props, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); + + const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_14__["default"]); + const childContext = { + dense: dense || context.dense || false, + disableGutters + }; + const menuItemRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); + (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_15__["default"])(() => { + if (autoFocus) { + if (menuItemRef.current) { + menuItemRef.current.focus(); + } else if (true) { + console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.'); + } + } + }, [autoFocus]); + + const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { + dense: childContext.dense, + divider, + disableGutters + }); + + const classes = useUtilityClasses(props); + const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_16__["default"])(menuItemRef, ref); + let tabIndex; + + if (!props.disabled) { + tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1; + } + + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_List_ListContext__WEBPACK_IMPORTED_MODULE_14__["default"].Provider, { + value: childContext, + children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(MenuItemRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + ref: handleRef, + role: role, + tabIndex: tabIndex, + component: component, + focusVisibleClassName: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.focusVisible, focusVisibleClassName) + }, other, { + ownerState: ownerState, + classes: classes + })) + }); +}); + true ? MenuItem.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * If `true`, the list item is focused during the first mount. + * Focus will also be triggered if the value changes from false to true. + * @default false + */ + autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), + + /** + * The content of the component. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().node), + + /** + * Override or extend the styles applied to the component. + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().elementType), + + /** + * If `true`, compact vertical padding designed for keyboard and mouse input is used. + * The prop defaults to the value inherited from the parent Menu component. + * @default false + */ + dense: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), + + /** + * @ignore + */ + disabled: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), + + /** + * If `true`, the left and right padding is removed. + * @default false + */ + disableGutters: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), + + /** + * If `true`, a 1px light border is added to the bottom of the menu item. + * @default false + */ + divider: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), + + /** + * This prop can help identify which element has keyboard focus. + * The class name will be applied when the element gains the focus through keyboard interaction. + * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo). + * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md). + * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components + * if needed. + */ + focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), + + /** + * @ignore + */ + role: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string), + + /** + * @ignore + */ + selected: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool), + + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_17___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object)]), + + /** + * @default 0 + */ + tabIndex: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().number) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MenuItem); + +/***/ }), + +/***/ "./node_modules/@mui/material/MenuItem/menuItemClasses.js": +/*!****************************************************************!*\ + !*** ./node_modules/@mui/material/MenuItem/menuItemClasses.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getMenuItemUtilityClass": () => (/* binding */ getMenuItemUtilityClass), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClass/generateUtilityClass.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/generateUtilityClasses/generateUtilityClasses.js"); + +function getMenuItemUtilityClass(slot) { + return (0,_mui_base__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiMenuItem', slot); +} +const menuItemClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (menuItemClasses); + +/***/ }), + /***/ "./node_modules/@mui/material/MenuList/MenuList.js": /*!*********************************************************!*\ !*** ./node_modules/@mui/material/MenuList/MenuList.js ***! @@ -17801,6 +19746,408 @@ const selectClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('Mui /***/ }), +/***/ "./node_modules/@mui/material/Slide/Slide.js": +/*!***************************************************!*\ + !*** ./node_modules/@mui/material/Slide/Slide.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setTranslateValue": () => (/* binding */ setTranslateValue), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-transition-group */ "./node_modules/react-transition-group/esm/Transition.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/elementAcceptingRef.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/chainPropTypes.js"); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/HTMLElementType.js"); +/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/debounce */ "./node_modules/@mui/material/utils/debounce.js"); +/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); +/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); +/* harmony import */ var _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/createTransitions */ "./node_modules/@mui/material/styles/createTransitions.js"); +/* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@mui/material/transitions/utils.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./node_modules/@mui/material/utils/ownerWindow.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["addEndListener", "appear", "children", "container", "direction", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"]; + + + + + + + + + + // Translate the node so it can't be seen on the screen. +// Later, we're going to translate the node back to its original location with `none`. + + + +function getTranslateValue(direction, node, resolvedContainer) { + const rect = node.getBoundingClientRect(); + const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect(); + const containerWindow = (0,_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(node); + let transform; + + if (node.fakeTransform) { + transform = node.fakeTransform; + } else { + const computedStyle = containerWindow.getComputedStyle(node); + transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform'); + } + + let offsetX = 0; + let offsetY = 0; + + if (transform && transform !== 'none' && typeof transform === 'string') { + const transformValues = transform.split('(')[1].split(')')[0].split(','); + offsetX = parseInt(transformValues[4], 10); + offsetY = parseInt(transformValues[5], 10); + } + + if (direction === 'left') { + if (containerRect) { + return `translateX(${containerRect.right + offsetX - rect.left}px)`; + } + + return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`; + } + + if (direction === 'right') { + if (containerRect) { + return `translateX(-${rect.right - containerRect.left - offsetX}px)`; + } + + return `translateX(-${rect.left + rect.width - offsetX}px)`; + } + + if (direction === 'up') { + if (containerRect) { + return `translateY(${containerRect.bottom + offsetY - rect.top}px)`; + } + + return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`; + } // direction === 'down' + + + if (containerRect) { + return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`; + } + + return `translateY(-${rect.top + rect.height - offsetY}px)`; +} + +function resolveContainer(containerPropProp) { + return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp; +} + +function setTranslateValue(direction, node, containerProp) { + const resolvedContainer = resolveContainer(containerProp); + const transform = getTranslateValue(direction, node, resolvedContainer); + + if (transform) { + node.style.webkitTransform = transform; + node.style.transform = transform; + } +} +const defaultEasing = { + enter: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__.easing.easeOut, + exit: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__.easing.sharp +}; +const defaultTimeout = { + enter: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__.duration.enteringScreen, + exit: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__.duration.leavingScreen +}; +/** + * The Slide transition is used by the [Drawer](/components/drawers/) component. + * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. + */ + +const Slide = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Slide(props, ref) { + const { + addEndListener, + appear = true, + children, + container: containerProp, + direction = 'down', + easing: easingProp = defaultEasing, + in: inProp, + onEnter, + onEntered, + onEntering, + onExit, + onExited, + onExiting, + style, + timeout = defaultTimeout, + // eslint-disable-next-line react/prop-types + TransitionComponent = react_transition_group__WEBPACK_IMPORTED_MODULE_6__["default"] + } = props, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded); + + const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_7__["default"])(); + const childrenRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); + const handleRefIntermediary = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__["default"])(children.ref, childrenRef); + const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__["default"])(handleRefIntermediary, ref); + + const normalizedTransitionCallback = callback => isAppearing => { + if (callback) { + // onEnterXxx and onExitXxx callbacks have a different arguments.length value. + if (isAppearing === undefined) { + callback(childrenRef.current); + } else { + callback(childrenRef.current, isAppearing); + } + } + }; + + const handleEnter = normalizedTransitionCallback((node, isAppearing) => { + setTranslateValue(direction, node, containerProp); + (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_9__.reflow)(node); + + if (onEnter) { + onEnter(node, isAppearing); + } + }); + const handleEntering = normalizedTransitionCallback((node, isAppearing) => { + const transitionProps = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_9__.getTransitionProps)({ + timeout, + style, + easing: easingProp + }, { + mode: 'enter' + }); + node.style.webkitTransition = theme.transitions.create('-webkit-transform', (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, transitionProps)); + node.style.transition = theme.transitions.create('transform', (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, transitionProps)); + node.style.webkitTransform = 'none'; + node.style.transform = 'none'; + + if (onEntering) { + onEntering(node, isAppearing); + } + }); + const handleEntered = normalizedTransitionCallback(onEntered); + const handleExiting = normalizedTransitionCallback(onExiting); + const handleExit = normalizedTransitionCallback(node => { + const transitionProps = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_9__.getTransitionProps)({ + timeout, + style, + easing: easingProp + }, { + mode: 'exit' + }); + node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps); + node.style.transition = theme.transitions.create('transform', transitionProps); + setTranslateValue(direction, node, containerProp); + + if (onExit) { + onExit(node); + } + }); + const handleExited = normalizedTransitionCallback(node => { + // No need for transitions when the component is hidden + node.style.webkitTransition = ''; + node.style.transition = ''; + + if (onExited) { + onExited(node); + } + }); + + const handleAddEndListener = next => { + if (addEndListener) { + // Old call signature before `react-transition-group` implemented `nodeRef` + addEndListener(childrenRef.current, next); + } + }; + + const updatePosition = react__WEBPACK_IMPORTED_MODULE_2__.useCallback(() => { + if (childrenRef.current) { + setTranslateValue(direction, childrenRef.current, containerProp); + } + }, [direction, containerProp]); + react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { + // Skip configuration where the position is screen size invariant. + if (inProp || direction === 'down' || direction === 'right') { + return undefined; + } + + const handleResize = (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_10__["default"])(() => { + if (childrenRef.current) { + setTranslateValue(direction, childrenRef.current, containerProp); + } + }); + const containerWindow = (0,_utils__WEBPACK_IMPORTED_MODULE_4__["default"])(childrenRef.current); + containerWindow.addEventListener('resize', handleResize); + return () => { + handleResize.clear(); + containerWindow.removeEventListener('resize', handleResize); + }; + }, [direction, inProp, containerProp]); + react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { + if (!inProp) { + // We need to update the position of the drawer when the direction change and + // when it's hidden. + updatePosition(); + } + }, [inProp, updatePosition]); + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + nodeRef: childrenRef, + onEnter: handleEnter, + onEntered: handleEntered, + onEntering: handleEntering, + onExit: handleExit, + onExited: handleExited, + onExiting: handleExiting, + addEndListener: handleAddEndListener, + appear: appear, + in: inProp, + timeout: timeout + }, other, { + children: (state, childProps) => { + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(children, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + ref: handleRef, + style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + visibility: state === 'exited' && !inProp ? 'hidden' : undefined + }, style, children.props.style) + }, childProps)); + } + })); +}); + true ? Slide.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * Add a custom transition end trigger. Called with the transitioning DOM + * node and a done callback. Allows for more fine grained transition end + * logic. Note: Timeouts are still used as a fallback if provided. + */ + addEndListener: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * Perform the enter transition when it first mounts if `in` is also `true`. + * Set this to `false` to disable this behavior. + * @default true + */ + appear: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool), + + /** + * A single child content element. + */ + children: _mui_utils__WEBPACK_IMPORTED_MODULE_12__["default"].isRequired, + + /** + * An HTML element, or a function that returns one. + * It's used to set the container the Slide is transitioning from. + */ + container: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_13__["default"])(prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([_mui_utils__WEBPACK_IMPORTED_MODULE_14__["default"], (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func)]), props => { + if (props.open) { + const resolvedContainer = resolveContainer(props.container); + + if (resolvedContainer && resolvedContainer.nodeType === 1) { + const box = resolvedContainer.getBoundingClientRect(); + + if ( true && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) { + return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n')); + } + } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) { + return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\n')); + } + } + + return null; + }), + + /** + * Direction the child node will enter from. + * @default 'down' + */ + direction: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOf(['down', 'left', 'right', 'up']), + + /** + * The transition timing function. + * You may specify a single easing or a object containing enter and exit values. + * @default { + * enter: easing.easeOut, + * exit: easing.sharp, + * } + */ + easing: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default().shape({ + enter: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string), + exit: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string) + }), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string)]), + + /** + * If `true`, the component will transition in. + */ + in: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool), + + /** + * @ignore + */ + onEnter: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * @ignore + */ + onEntered: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * @ignore + */ + onEntering: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * @ignore + */ + onExit: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * @ignore + */ + onExited: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * @ignore + */ + onExiting: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), + + /** + * @ignore + */ + style: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), + + /** + * The duration for the transition, in milliseconds. + * You may specify a single timeout for all transitions, or individually with an object. + * @default { + * enter: duration.enteringScreen, + * exit: duration.leavingScreen, + * } + */ + timeout: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_11___default().number), prop_types__WEBPACK_IMPORTED_MODULE_11___default().shape({ + appear: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().number), + enter: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().number), + exit: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().number) + })]) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Slide); + +/***/ }), + /***/ "./node_modules/@mui/material/Stack/Stack.js": /*!***************************************************!*\ !*** ./node_modules/@mui/material/Stack/Stack.js ***! @@ -18247,6 +20594,771 @@ const svgIconClasses = (0,_mui_base__WEBPACK_IMPORTED_MODULE_1__["default"])('Mu /***/ }), +/***/ "./node_modules/@mui/material/SwipeableDrawer/SwipeArea.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@mui/material/SwipeableDrawer/SwipeArea.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); +/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ "./node_modules/@mui/material/utils/capitalize.js"); +/* harmony import */ var _Drawer_Drawer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Drawer/Drawer */ "./node_modules/@mui/material/Drawer/Drawer.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["anchor", "classes", "className", "width", "style"]; + + + + + + + +const SwipeAreaRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_5__["default"])('div')(({ + theme, + ownerState +}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + position: 'fixed', + top: 0, + left: 0, + bottom: 0, + zIndex: theme.zIndex.drawer - 1 +}, ownerState.anchor === 'left' && { + right: 'auto' +}, ownerState.anchor === 'right' && { + left: 'auto', + right: 0 +}, ownerState.anchor === 'top' && { + bottom: 'auto', + right: 0 +}, ownerState.anchor === 'bottom' && { + top: 'auto', + bottom: 0, + right: 0 +})); +/** + * @ignore - internal component. + */ + +const SwipeArea = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function SwipeArea(props, ref) { + const { + anchor, + classes = {}, + className, + width, + style + } = props, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); + + const ownerState = props; + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(SwipeAreaRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])('PrivateSwipeArea-root', classes.root, classes[`anchor${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__["default"])(anchor)}`], className), + ref: ref, + style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ + [(0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_7__.isHorizontal)(anchor) ? 'width' : 'height']: width + }, style), + ownerState: ownerState + }, other)); +}); + true ? SwipeArea.propTypes = { + /** + * Side on which to attach the discovery area. + */ + anchor: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['left', 'top', 'right', 'bottom']).isRequired, + + /** + * @ignore + */ + classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), + + /** + * @ignore + */ + className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), + + /** + * @ignore + */ + style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object), + + /** + * The width of the left most (or right most) area in `px` where the + * drawer can be swiped open from. + */ + width: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number.isRequired) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SwipeArea); + +/***/ }), + +/***/ "./node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "reset": () => (/* binding */ reset), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/elementTypeAcceptingRef.js"); +/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js"); +/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/base/NoSsr/NoSsr.js"); +/* harmony import */ var _Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Drawer/Drawer */ "./node_modules/@mui/material/Drawer/Drawer.js"); +/* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@mui/material/utils/ownerDocument.js"); +/* harmony import */ var _utils_ownerWindow__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/ownerWindow */ "./node_modules/@mui/material/utils/ownerWindow.js"); +/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useEventCallback */ "./node_modules/@mui/material/utils/useEventCallback.js"); +/* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); +/* harmony import */ var _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/createTransitions */ "./node_modules/@mui/material/styles/createTransitions.js"); +/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/useTheme */ "./node_modules/@mui/material/styles/useTheme.js"); +/* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@mui/material/transitions/utils.js"); +/* harmony import */ var _SwipeArea__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./SwipeArea */ "./node_modules/@mui/material/SwipeableDrawer/SwipeArea.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["BackdropProps"], + _excluded2 = ["anchor", "disableBackdropTransition", "disableDiscovery", "disableSwipeToOpen", "hideBackdrop", "hysteresis", "minFlingVelocity", "ModalProps", "onClose", "onOpen", "open", "PaperProps", "SwipeAreaProps", "swipeAreaWidth", "transitionDuration", "variant"]; + + + + + + + + + + + + + + // This value is closed to what browsers are using internally to +// trigger a native scroll. + + + +const UNCERTAINTY_THRESHOLD = 3; // px +// This is the part of the drawer displayed on touch start. + +const DRAG_STARTED_SIGNAL = 20; // px +// We can only have one instance at the time claiming ownership for handling the swipe. +// Otherwise, the UX would be confusing. +// That's why we use a singleton here. + +let claimedSwipeInstance = null; // Exported for test purposes. + +function reset() { + claimedSwipeInstance = null; +} + +function calculateCurrentX(anchor, touches, doc) { + return anchor === 'right' ? doc.body.offsetWidth - touches[0].pageX : touches[0].pageX; +} + +function calculateCurrentY(anchor, touches, containerWindow) { + return anchor === 'bottom' ? containerWindow.innerHeight - touches[0].clientY : touches[0].clientY; +} + +function getMaxTranslate(horizontalSwipe, paperInstance) { + return horizontalSwipe ? paperInstance.clientWidth : paperInstance.clientHeight; +} + +function getTranslate(currentTranslate, startLocation, open, maxTranslate) { + return Math.min(Math.max(open ? startLocation - currentTranslate : maxTranslate + startLocation - currentTranslate, 0), maxTranslate); +} +/** + * @param {Element | null} element + * @param {Element} rootNode + */ + + +function getDomTreeShapes(element, rootNode) { + // Adapted from https://github.com/oliviertassinari/react-swipeable-views/blob/7666de1dba253b896911adf2790ce51467670856/packages/react-swipeable-views/src/SwipeableViews.js#L129 + const domTreeShapes = []; + + while (element && element !== rootNode.parentElement) { + const style = (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_4__["default"])(rootNode).getComputedStyle(element); + + if ( // Ignore the scroll children if the element is absolute positioned. + style.getPropertyValue('position') === 'absolute' || // Ignore the scroll children if the element has an overflowX hidden + style.getPropertyValue('overflow-x') === 'hidden') {// noop + } else if (element.clientWidth > 0 && element.scrollWidth > element.clientWidth || element.clientHeight > 0 && element.scrollHeight > element.clientHeight) { + // Ignore the nodes that have no width. + // Keep elements with a scroll + domTreeShapes.push(element); + } + + element = element.parentElement; + } + + return domTreeShapes; +} +/** + * @param {object} param0 + * @param {ReturnType} param0.domTreeShapes + */ + + +function computeHasNativeHandler({ + domTreeShapes, + start, + current, + anchor +}) { + // Adapted from https://github.com/oliviertassinari/react-swipeable-views/blob/7666de1dba253b896911adf2790ce51467670856/packages/react-swipeable-views/src/SwipeableViews.js#L175 + const axisProperties = { + scrollPosition: { + x: 'scrollLeft', + y: 'scrollTop' + }, + scrollLength: { + x: 'scrollWidth', + y: 'scrollHeight' + }, + clientLength: { + x: 'clientWidth', + y: 'clientHeight' + } + }; + return domTreeShapes.some(shape => { + // Determine if we are going backward or forward. + let goingForward = current >= start; + + if (anchor === 'top' || anchor === 'left') { + goingForward = !goingForward; + } + + const axis = anchor === 'left' || anchor === 'right' ? 'x' : 'y'; + const scrollPosition = Math.round(shape[axisProperties.scrollPosition[axis]]); + const areNotAtStart = scrollPosition > 0; + const areNotAtEnd = scrollPosition + shape[axisProperties.clientLength[axis]] < shape[axisProperties.scrollLength[axis]]; + + if (goingForward && areNotAtEnd || !goingForward && areNotAtStart) { + return true; + } + + return false; + }); +} + +const iOS = typeof navigator !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent); +const transitionDurationDefault = { + enter: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__.duration.enteringScreen, + exit: _styles_createTransitions__WEBPACK_IMPORTED_MODULE_5__.duration.leavingScreen +}; +const SwipeableDrawer = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function SwipeableDrawer(inProps, ref) { + const props = (0,_mui_system__WEBPACK_IMPORTED_MODULE_6__["default"])({ + name: 'MuiSwipeableDrawer', + props: inProps + }); + const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_7__["default"])(); + + const { + anchor = 'left', + disableBackdropTransition = false, + disableDiscovery = false, + disableSwipeToOpen = iOS, + hideBackdrop, + hysteresis = 0.52, + minFlingVelocity = 450, + ModalProps: { + BackdropProps + } = {}, + onClose, + onOpen, + open, + PaperProps = {}, + SwipeAreaProps, + swipeAreaWidth = 20, + transitionDuration = transitionDurationDefault, + variant = 'temporary' + } = props, + ModalPropsProp = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props.ModalProps, _excluded), + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, _excluded2); + + const [maybeSwiping, setMaybeSwiping] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false); + const swipeInstance = react__WEBPACK_IMPORTED_MODULE_2__.useRef({ + isSwiping: null + }); + const swipeAreaRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); + const backdropRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); + const paperRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); + const touchDetected = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false); // Ref for transition duration based on / to match swipe speed + + const calculatedDurationRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(); // Use a ref so the open value used is always up to date inside useCallback. + + (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_8__["default"])(() => { + calculatedDurationRef.current = null; + }, [open]); + const setPosition = react__WEBPACK_IMPORTED_MODULE_2__.useCallback((translate, options = {}) => { + const { + mode = null, + changeTransition = true + } = options; + const anchorRtl = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.getAnchor)(theme, anchor); + const rtlTranslateMultiplier = ['right', 'bottom'].indexOf(anchorRtl) !== -1 ? 1 : -1; + const horizontalSwipe = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.isHorizontal)(anchor); + const transform = horizontalSwipe ? `translate(${rtlTranslateMultiplier * translate}px, 0)` : `translate(0, ${rtlTranslateMultiplier * translate}px)`; + const drawerStyle = paperRef.current.style; + drawerStyle.webkitTransform = transform; + drawerStyle.transform = transform; + let transition = ''; + + if (mode) { + transition = theme.transitions.create('all', (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_10__.getTransitionProps)({ + easing: undefined, + style: undefined, + timeout: transitionDuration + }, { + mode + })); + } + + if (changeTransition) { + drawerStyle.webkitTransition = transition; + drawerStyle.transition = transition; + } + + if (!disableBackdropTransition && !hideBackdrop) { + const backdropStyle = backdropRef.current.style; + backdropStyle.opacity = 1 - translate / getMaxTranslate(horizontalSwipe, paperRef.current); + + if (changeTransition) { + backdropStyle.webkitTransition = transition; + backdropStyle.transition = transition; + } + } + }, [anchor, disableBackdropTransition, hideBackdrop, theme, transitionDuration]); + const handleBodyTouchEnd = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(nativeEvent => { + if (!touchDetected.current) { + return; + } + + claimedSwipeInstance = null; + touchDetected.current = false; + setMaybeSwiping(false); // The swipe wasn't started. + + if (!swipeInstance.current.isSwiping) { + swipeInstance.current.isSwiping = null; + return; + } + + swipeInstance.current.isSwiping = null; + const anchorRtl = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.getAnchor)(theme, anchor); + const horizontal = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.isHorizontal)(anchor); + let current; + + if (horizontal) { + current = calculateCurrentX(anchorRtl, nativeEvent.changedTouches, (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_12__["default"])(nativeEvent.currentTarget)); + } else { + current = calculateCurrentY(anchorRtl, nativeEvent.changedTouches, (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_4__["default"])(nativeEvent.currentTarget)); + } + + const startLocation = horizontal ? swipeInstance.current.startX : swipeInstance.current.startY; + const maxTranslate = getMaxTranslate(horizontal, paperRef.current); + const currentTranslate = getTranslate(current, startLocation, open, maxTranslate); + const translateRatio = currentTranslate / maxTranslate; + + if (Math.abs(swipeInstance.current.velocity) > minFlingVelocity) { + // Calculate transition duration to match swipe speed + calculatedDurationRef.current = Math.abs((maxTranslate - currentTranslate) / swipeInstance.current.velocity) * 1000; + } + + if (open) { + if (swipeInstance.current.velocity > minFlingVelocity || translateRatio > hysteresis) { + onClose(); + } else { + // Reset the position, the swipe was aborted. + setPosition(0, { + mode: 'exit' + }); + } + + return; + } + + if (swipeInstance.current.velocity < -minFlingVelocity || 1 - translateRatio > hysteresis) { + onOpen(); + } else { + // Reset the position, the swipe was aborted. + setPosition(getMaxTranslate(horizontal, paperRef.current), { + mode: 'enter' + }); + } + }); + const handleBodyTouchMove = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(nativeEvent => { + // the ref may be null when a parent component updates while swiping + if (!paperRef.current || !touchDetected.current) { + return; + } // We are not supposed to handle this touch move because the swipe was started in a scrollable container in the drawer + + + if (claimedSwipeInstance !== null && claimedSwipeInstance !== swipeInstance.current) { + return; + } + + const anchorRtl = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.getAnchor)(theme, anchor); + const horizontalSwipe = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.isHorizontal)(anchor); + const currentX = calculateCurrentX(anchorRtl, nativeEvent.touches, (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_12__["default"])(nativeEvent.currentTarget)); + const currentY = calculateCurrentY(anchorRtl, nativeEvent.touches, (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_4__["default"])(nativeEvent.currentTarget)); + + if (open && paperRef.current.contains(nativeEvent.target) && claimedSwipeInstance === null) { + const domTreeShapes = getDomTreeShapes(nativeEvent.target, paperRef.current); + const hasNativeHandler = computeHasNativeHandler({ + domTreeShapes, + start: horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY, + current: horizontalSwipe ? currentX : currentY, + anchor + }); + + if (hasNativeHandler) { + claimedSwipeInstance = true; + return; + } + + claimedSwipeInstance = swipeInstance.current; + } // We don't know yet. + + + if (swipeInstance.current.isSwiping == null) { + const dx = Math.abs(currentX - swipeInstance.current.startX); + const dy = Math.abs(currentY - swipeInstance.current.startY); + const definitelySwiping = horizontalSwipe ? dx > dy && dx > UNCERTAINTY_THRESHOLD : dy > dx && dy > UNCERTAINTY_THRESHOLD; + + if (definitelySwiping && nativeEvent.cancelable) { + nativeEvent.preventDefault(); + } + + if (definitelySwiping === true || (horizontalSwipe ? dy > UNCERTAINTY_THRESHOLD : dx > UNCERTAINTY_THRESHOLD)) { + swipeInstance.current.isSwiping = definitelySwiping; + + if (!definitelySwiping) { + handleBodyTouchEnd(nativeEvent); + return; + } // Shift the starting point. + + + swipeInstance.current.startX = currentX; + swipeInstance.current.startY = currentY; // Compensate for the part of the drawer displayed on touch start. + + if (!disableDiscovery && !open) { + if (horizontalSwipe) { + swipeInstance.current.startX -= DRAG_STARTED_SIGNAL; + } else { + swipeInstance.current.startY -= DRAG_STARTED_SIGNAL; + } + } + } + } + + if (!swipeInstance.current.isSwiping) { + return; + } + + const maxTranslate = getMaxTranslate(horizontalSwipe, paperRef.current); + let startLocation = horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY; + + if (open && !swipeInstance.current.paperHit) { + startLocation = Math.min(startLocation, maxTranslate); + } + + const translate = getTranslate(horizontalSwipe ? currentX : currentY, startLocation, open, maxTranslate); + + if (open) { + if (!swipeInstance.current.paperHit) { + const paperHit = horizontalSwipe ? currentX < maxTranslate : currentY < maxTranslate; + + if (paperHit) { + swipeInstance.current.paperHit = true; + swipeInstance.current.startX = currentX; + swipeInstance.current.startY = currentY; + } else { + return; + } + } else if (translate === 0) { + swipeInstance.current.startX = currentX; + swipeInstance.current.startY = currentY; + } + } + + if (swipeInstance.current.lastTranslate === null) { + swipeInstance.current.lastTranslate = translate; + swipeInstance.current.lastTime = performance.now() + 1; + } + + const velocity = (translate - swipeInstance.current.lastTranslate) / (performance.now() - swipeInstance.current.lastTime) * 1e3; // Low Pass filter. + + swipeInstance.current.velocity = swipeInstance.current.velocity * 0.4 + velocity * 0.6; + swipeInstance.current.lastTranslate = translate; + swipeInstance.current.lastTime = performance.now(); // We are swiping, let's prevent the scroll event on iOS. + + if (nativeEvent.cancelable) { + nativeEvent.preventDefault(); + } + + setPosition(translate); + }); + const handleBodyTouchStart = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_11__["default"])(nativeEvent => { + // We are not supposed to handle this touch move. + // Example of use case: ignore the event if there is a Slider. + if (nativeEvent.defaultPrevented) { + return; + } // We can only have one node at the time claiming ownership for handling the swipe. + + + if (nativeEvent.defaultMuiPrevented) { + return; + } // At least one element clogs the drawer interaction zone. + + + if (open && (hideBackdrop || !backdropRef.current.contains(nativeEvent.target)) && !paperRef.current.contains(nativeEvent.target)) { + return; + } + + const anchorRtl = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.getAnchor)(theme, anchor); + const horizontalSwipe = (0,_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__.isHorizontal)(anchor); + const currentX = calculateCurrentX(anchorRtl, nativeEvent.touches, (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_12__["default"])(nativeEvent.currentTarget)); + const currentY = calculateCurrentY(anchorRtl, nativeEvent.touches, (0,_utils_ownerWindow__WEBPACK_IMPORTED_MODULE_4__["default"])(nativeEvent.currentTarget)); + + if (!open) { + if (disableSwipeToOpen || nativeEvent.target !== swipeAreaRef.current) { + return; + } + + if (horizontalSwipe) { + if (currentX > swipeAreaWidth) { + return; + } + } else if (currentY > swipeAreaWidth) { + return; + } + } + + nativeEvent.defaultMuiPrevented = true; + claimedSwipeInstance = null; + swipeInstance.current.startX = currentX; + swipeInstance.current.startY = currentY; + setMaybeSwiping(true); + + if (!open && paperRef.current) { + // The ref may be null when a parent component updates while swiping. + setPosition(getMaxTranslate(horizontalSwipe, paperRef.current) + (disableDiscovery ? 15 : -DRAG_STARTED_SIGNAL), { + changeTransition: false + }); + } + + swipeInstance.current.velocity = 0; + swipeInstance.current.lastTime = null; + swipeInstance.current.lastTranslate = null; + swipeInstance.current.paperHit = false; + touchDetected.current = true; + }); + react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { + if (variant === 'temporary') { + const doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_12__["default"])(paperRef.current); + doc.addEventListener('touchstart', handleBodyTouchStart); // A blocking listener prevents Firefox's navbar to auto-hide on scroll. + // It only needs to prevent scrolling on the drawer's content when open. + // When closed, the overlay prevents scrolling. + + doc.addEventListener('touchmove', handleBodyTouchMove, { + passive: !open + }); + doc.addEventListener('touchend', handleBodyTouchEnd); + return () => { + doc.removeEventListener('touchstart', handleBodyTouchStart); + doc.removeEventListener('touchmove', handleBodyTouchMove, { + passive: !open + }); + doc.removeEventListener('touchend', handleBodyTouchEnd); + }; + } + + return undefined; + }, [variant, open, handleBodyTouchStart, handleBodyTouchMove, handleBodyTouchEnd]); + react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => () => { + // We need to release the lock. + if (claimedSwipeInstance === swipeInstance.current) { + claimedSwipeInstance = null; + } + }, []); + react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => { + if (!open) { + setMaybeSwiping(false); + } + }, [open]); + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { + children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_Drawer_Drawer__WEBPACK_IMPORTED_MODULE_9__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + open: variant === 'temporary' && maybeSwiping ? true : open, + variant: variant, + ModalProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + BackdropProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, BackdropProps, { + ref: backdropRef + }) + }, ModalPropsProp), + hideBackdrop: hideBackdrop, + PaperProps: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, PaperProps, { + style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + pointerEvents: variant === 'temporary' && !open ? 'none' : '' + }, PaperProps.style), + ref: paperRef + }), + anchor: anchor, + transitionDuration: calculatedDurationRef.current || transitionDuration, + onClose: onClose, + ref: ref + }, other)), !disableSwipeToOpen && variant === 'temporary' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_mui_base__WEBPACK_IMPORTED_MODULE_13__["default"], { + children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_SwipeArea__WEBPACK_IMPORTED_MODULE_14__["default"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + anchor: anchor, + ref: swipeAreaRef, + width: swipeAreaWidth + }, SwipeAreaProps)) + })] + }); +}); + true ? SwipeableDrawer.propTypes +/* remove-proptypes */ += { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * @ignore + */ + anchor: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOf(['bottom', 'left', 'right', 'top']), + + /** + * The content of the component. + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().node), + + /** + * Disable the backdrop transition. + * This can improve the FPS on low-end devices. + * @default false + */ + disableBackdropTransition: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool), + + /** + * If `true`, touching the screen near the edge of the drawer will not slide in the drawer a bit + * to promote accidental discovery of the swipe gesture. + * @default false + */ + disableDiscovery: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool), + + /** + * If `true`, swipe to open is disabled. This is useful in browsers where swiping triggers + * navigation actions. Swipe to open is disabled on iOS browsers by default. + * @default typeof navigator !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent) + */ + disableSwipeToOpen: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool), + + /** + * @ignore + */ + hideBackdrop: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool), + + /** + * Affects how far the drawer must be opened/closed to change its state. + * Specified as percent (0-1) of the width of the drawer + * @default 0.52 + */ + hysteresis: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + + /** + * Defines, from which (average) velocity on, the swipe is + * defined as complete although hysteresis isn't reached. + * Good threshold is between 250 - 1000 px/s + * @default 450 + */ + minFlingVelocity: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + + /** + * @ignore + */ + ModalProps: prop_types__WEBPACK_IMPORTED_MODULE_15___default().shape({ + BackdropProps: prop_types__WEBPACK_IMPORTED_MODULE_15___default().shape({ + component: _mui_utils__WEBPACK_IMPORTED_MODULE_16__["default"] + }) + }), + + /** + * Callback fired when the component requests to be closed. + * + * @param {object} event The event source of the callback. + */ + onClose: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().func.isRequired), + + /** + * Callback fired when the component requests to be opened. + * + * @param {object} event The event source of the callback. + */ + onOpen: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().func.isRequired), + + /** + * If `true`, the component is shown. + */ + open: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().bool.isRequired), + + /** + * @ignore + */ + PaperProps: prop_types__WEBPACK_IMPORTED_MODULE_15___default().shape({ + component: _mui_utils__WEBPACK_IMPORTED_MODULE_16__["default"], + style: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object) + }), + + /** + * The element is used to intercept the touch events on the edge. + */ + SwipeAreaProps: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().object), + + /** + * The width of the left most (or right most) area in `px` that + * the drawer can be swiped open from. + * @default 20 + */ + swipeAreaWidth: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + + /** + * The duration for the transition, in milliseconds. + * You may specify a single timeout for all transitions, or individually with an object. + * @default { enter: duration.enteringScreen, exit: duration.leavingScreen } + */ + transitionDuration: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), prop_types__WEBPACK_IMPORTED_MODULE_15___default().shape({ + appear: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + enter: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number), + exit: (prop_types__WEBPACK_IMPORTED_MODULE_15___default().number) + })]), + + /** + * @ignore + */ + variant: prop_types__WEBPACK_IMPORTED_MODULE_15___default().oneOf(['permanent', 'persistent', 'temporary']) +} : 0; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SwipeableDrawer); + +/***/ }), + /***/ "./node_modules/@mui/material/TextField/TextField.js": /*!***********************************************************!*\ !*** ./node_modules/@mui/material/TextField/TextField.js ***! @@ -21789,6 +24901,91 @@ function compose(...styles) { /***/ }), +/***/ "./node_modules/@mui/system/esm/createBox.js": +/*!***************************************************!*\ + !*** ./node_modules/@mui/system/esm/createBox.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ createBox) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); +/* harmony import */ var _mui_styled_engine__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/styled-engine */ "./node_modules/@mui/styled-engine/index.js"); +/* harmony import */ var _styleFunctionSx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styleFunctionSx */ "./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js"); +/* harmony import */ var _styleFunctionSx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./styleFunctionSx */ "./node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js"); +/* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useTheme */ "./node_modules/@mui/system/esm/useTheme.js"); +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); + + +const _excluded = ["className", "component"]; + + + + + + + +function createBox(options = {}) { + const { + defaultTheme, + defaultClassName = 'MuiBox-root', + generateClassName + } = options; + const BoxRoot = (0,_mui_styled_engine__WEBPACK_IMPORTED_MODULE_5__["default"])('div')(_styleFunctionSx__WEBPACK_IMPORTED_MODULE_6__["default"]); + const Box = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Box(inProps, ref) { + const theme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_7__["default"])(defaultTheme); + + const _extendSxProp = (0,_styleFunctionSx__WEBPACK_IMPORTED_MODULE_8__["default"])(inProps), + { + className, + component = 'div' + } = _extendSxProp, + other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(_extendSxProp, _excluded); + + return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(BoxRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + as: component, + ref: ref, + className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName), + theme: theme + }, other)); + }); + true ? Box.propTypes + /* remove-proptypes */ + = { + // ----------------------------- Warning -------------------------------- + // | These PropTypes are generated from the TypeScript type definitions | + // | To update them edit the d.ts file and run "yarn proptypes" | + // ---------------------------------------------------------------------- + + /** + * @ignore + */ + children: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().node), + + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().elementType), + + /** + * @ignore + */ + sx: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_9___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func)]) + } : 0; + return Box; +} + +/***/ }), + /***/ "./node_modules/@mui/system/esm/createStyled.js": /*!******************************************************!*\ !*** ./node_modules/@mui/system/esm/createStyled.js ***! @@ -33091,12 +36288,12 @@ function App() { var history = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_5__.useHistory)(); - var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_3__.useState(false), + var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_3__.useState(checkPassphrase()), _React$useState6 = _slicedToArray(_React$useState5, 2), user = _React$useState6[0], setUser = _React$useState6[1]; - var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_3__.useState(false), + var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_3__.useState(!checkPassphrase()), _React$useState8 = _slicedToArray(_React$useState7, 2), error = _React$useState8[0], isError = _React$useState8[1]; @@ -33114,6 +36311,7 @@ function App() { }; var signout = function signout(cb) { + sessionStorage.removeItem("key"); setUser(false); cb(); }; @@ -33157,7 +36355,7 @@ function App() { }, onClick: function onClick() { signout(function () { - return history.push("/"); + return history.push("/diary/public"); }); } }, "Fermer mon carnet \xE0 clef")) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement("p", null, "Votre carnet est ferm\xE9.", " ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_9__.Link, { @@ -33255,20 +36453,38 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js"); -/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); +/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js"); /* harmony import */ var _App__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App */ "./resources/js/components/pages/App.tsx"); +/* harmony import */ var _user_BasicMenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../user/BasicMenu */ "./resources/js/components/user/BasicMenu.tsx"); +/* harmony import */ var _user_MobileMenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../user/MobileMenu */ "./resources/js/components/user/MobileMenu.tsx"); + + var app = document.getElementById('app'); +var menu = document.getElementById("menu"); +var mobileMenu = document.getElementById("mobile-menu"); + +if (menu) { + react_dom__WEBPACK_IMPORTED_MODULE_1__.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_user_BasicMenu__WEBPACK_IMPORTED_MODULE_3__["default"], { + nickname: menu.getAttribute("data-user") + }), menu); +} + +if (mobileMenu) { + react_dom__WEBPACK_IMPORTED_MODULE_1__.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_user_MobileMenu__WEBPACK_IMPORTED_MODULE_4__["default"], { + nickname: mobileMenu.getAttribute("data-user") + }), mobileMenu); +} if (app) { react_dom__WEBPACK_IMPORTED_MODULE_1__.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(AppWrapper, null), app); } function AppWrapper() { - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_3__.BrowserRouter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_App__WEBPACK_IMPORTED_MODULE_2__["default"], null)); + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.BrowserRouter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_App__WEBPACK_IMPORTED_MODULE_2__["default"], null)); } /***/ }), @@ -33435,12 +36651,12 @@ function PageForm(_ref) { if (json.success) { HTMLForm.reset(); setListPages(function (previousList) { - return [].concat(_toConsumableArray(previousList), [{ + return [{ id: uuid, date: json.date, title: decryptedFormData.get("title"), content: decryptedFormData.get("text") - }]); + }].concat(_toConsumableArray(previousList)); }); } @@ -34000,6 +37216,82 @@ function Prompt(_ref) { /***/ }), +/***/ "./resources/js/components/user/BasicMenu.tsx": +/*!****************************************************!*\ + !*** ./resources/js/components/user/BasicMenu.tsx ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ BasicMenu) +/* harmony export */ }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var _mui_material_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/material/Button */ "./node_modules/@mui/material/Button/Button.js"); +/* harmony import */ var _mui_material_Menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material/Menu */ "./node_modules/@mui/material/Menu/Menu.js"); +/* harmony import */ var _mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material/MenuItem */ "./node_modules/@mui/material/MenuItem/MenuItem.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + + + + +function BasicMenu(_ref) { + var nickname = _ref.nickname; + + var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(null), + _React$useState2 = _slicedToArray(_React$useState, 2), + anchorEl = _React$useState2[0], + setAnchorEl = _React$useState2[1]; + + var open = Boolean(anchorEl); + + var handleClick = function handleClick(event) { + setAnchorEl(event.currentTarget); + }; + + var handleClose = function handleClose() { + setAnchorEl(null); + }; + + function logout() { + var logoutForm = document.getElementById("logout-form"); + logoutForm.submit(); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_Button__WEBPACK_IMPORTED_MODULE_1__["default"], { + id: "basic-button", + "aria-controls": open ? 'basic-menu' : undefined, + "aria-haspopup": "true", + "aria-expanded": open ? 'true' : undefined, + onClick: handleClick, + className: "flex items-center text-sm font-medium text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out" + }, nickname), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_Menu__WEBPACK_IMPORTED_MODULE_2__["default"], { + id: "basic-menu", + anchorEl: anchorEl, + open: open, + onClose: handleClose, + MenuListProps: { + 'aria-labelledby': 'basic-button' + } + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_MenuItem__WEBPACK_IMPORTED_MODULE_3__["default"], { + onClick: logout + }, "Logout"))); +} + +/***/ }), + /***/ "./resources/js/components/user/First.tsx": /*!************************************************!*\ !*** ./resources/js/components/user/First.tsx ***! @@ -34157,6 +37449,115 @@ function FirstPage() { /***/ }), +/***/ "./resources/js/components/user/MobileMenu.tsx": +/*!*****************************************************!*\ + !*** ./resources/js/components/user/MobileMenu.tsx ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ MobileMenu) +/* harmony export */ }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); +/* harmony import */ var _mui_material_Box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material/Box */ "./node_modules/@mui/material/Box/Box.js"); +/* harmony import */ var _mui_material_SwipeableDrawer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material/SwipeableDrawer */ "./node_modules/@mui/material/SwipeableDrawer/SwipeableDrawer.js"); +/* harmony import */ var _mui_material_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/material/Button */ "./node_modules/@mui/material/Button/Button.js"); +/* harmony import */ var _mui_material_List__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material/List */ "./node_modules/@mui/material/List/List.js"); +/* harmony import */ var _mui_material_Divider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/material/Divider */ "./node_modules/@mui/material/Divider/Divider.js"); +/* harmony import */ var _mui_material_ListItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material/ListItem */ "./node_modules/@mui/material/ListItem/ListItem.js"); +/* harmony import */ var _mui_material_ListItemIcon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material/ListItemIcon */ "./node_modules/@mui/material/ListItemIcon/ListItemIcon.js"); +/* harmony import */ var _mui_material_ListItemText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material/ListItemText */ "./node_modules/@mui/material/ListItemText/ListItemText.js"); +/* harmony import */ var _mui_icons_material_MoveToInbox__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/icons-material/MoveToInbox */ "./node_modules/@mui/icons-material/MoveToInbox.js"); +/* harmony import */ var _mui_icons_material_Mail__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material/Mail */ "./node_modules/@mui/icons-material/Mail.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + + + + + + + + + + + +function MobileMenu(_ref) { + var nickname = _ref.nickname; + + var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), + _React$useState2 = _slicedToArray(_React$useState, 2), + state = _React$useState2[0], + setState = _React$useState2[1]; + + var toggleDrawer = function toggleDrawer(open) { + return function (event) { + if (event && event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) { + return; + } + + setState(open); + }; + }; + + function logout() { + var logoutForm = document.getElementById("logout-form"); + logoutForm.submit(); + } + + return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_Button__WEBPACK_IMPORTED_MODULE_1__["default"], { + onClick: toggleDrawer(true) + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", { + className: "h-6 w-6", + stroke: "currentColor", + fill: "none", + viewBox: "0 0 24 24" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { + className: "inline-flex", + strokeLinecap: "round", + strokeLinejoin: "round", + strokeWidth: "2", + d: "M4 6h16M4 12h16M4 18h16" + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_SwipeableDrawer__WEBPACK_IMPORTED_MODULE_2__["default"], { + anchor: "right", + open: state, + onClose: toggleDrawer(false), + onOpen: toggleDrawer(true) + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_Box__WEBPACK_IMPORTED_MODULE_3__["default"], { + sx: { + width: 250 + }, + role: "presentation", + onClick: toggleDrawer(false), + onKeyDown: toggleDrawer(false) + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_List__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_ListItem__WEBPACK_IMPORTED_MODULE_5__["default"], { + button: true, + key: "user" + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_ListItemIcon__WEBPACK_IMPORTED_MODULE_6__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_icons_material_Mail__WEBPACK_IMPORTED_MODULE_7__["default"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_ListItemText__WEBPACK_IMPORTED_MODULE_8__["default"], { + primary: nickname + }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_Divider__WEBPACK_IMPORTED_MODULE_9__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_List__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_ListItem__WEBPACK_IMPORTED_MODULE_5__["default"], { + button: true, + key: "user.logout", + onClick: logout + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_ListItemIcon__WEBPACK_IMPORTED_MODULE_6__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_icons_material_MoveToInbox__WEBPACK_IMPORTED_MODULE_10__["default"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mui_material_ListItemText__WEBPACK_IMPORTED_MODULE_8__["default"], { + primary: "Logout" + })))))); +} + +/***/ }), + /***/ "./resources/js/bootstrap.js": /*!***********************************!*\ !*** ./resources/js/bootstrap.js ***! diff --git a/resources/js/app.js b/resources/js/app.js index 08dba8d..a5f91ab 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -1,7 +1,15 @@ +/** + * First we will load all of this project's JavaScript dependencies which + * includes React and other helpers. It's a great starting point while + * building robust, powerful web applications using React + Laravel. + */ + require('./bootstrap'); -import Alpine from 'alpinejs'; +/** + * Next, we will create a fresh React component instance and attach it to + * the page. Then, you may begin adding components to this application + * or customize the JavaScript scaffolding to fit your unique needs. + */ -window.Alpine = Alpine; - -Alpine.start(); +require('./components/Example'); diff --git a/resources/js/components/pages/App.tsx b/resources/js/components/pages/App.tsx index 530fd82..21a1875 100644 --- a/resources/js/components/pages/App.tsx +++ b/resources/js/components/pages/App.tsx @@ -42,8 +42,8 @@ function App() { const [listPages, setListPages] = React.useState(pages); const [passphrase, setPassphrase] = React.useState(sessionPassphrase); const history = useHistory(); - const [user, setUser] = React.useState(false); - const [error, isError] = React.useState(false); + const [user, setUser] = React.useState(checkPassphrase()); + const [error, isError] = React.useState(!checkPassphrase()); const signin = cb => { const isAuthenticated = checkPassphrase(); @@ -57,6 +57,7 @@ function App() { }; const signout = cb => { + sessionStorage.removeItem("key"); setUser(false); cb(); }; @@ -98,7 +99,7 @@ function App() {

Bienvenue !{" "} diff --git a/resources/js/components/pages/AppWrapper.tsx b/resources/js/components/pages/AppWrapper.tsx index cff399c..49142b9 100644 --- a/resources/js/components/pages/AppWrapper.tsx +++ b/resources/js/components/pages/AppWrapper.tsx @@ -2,8 +2,18 @@ import * as React from 'react'; import ReactDOM from 'react-dom'; import { BrowserRouter as Router} from "react-router-dom"; import App from "./App"; +import BasicMenu from "../user/BasicMenu"; +import MobileMenu from "../user/MobileMenu"; const app = document.getElementById('app'); +const menu = document.getElementById("menu"); +const mobileMenu = document.getElementById("mobile-menu"); +if (menu) { + ReactDOM.render(, menu); +} +if (mobileMenu) { + ReactDOM.render(, mobileMenu); +} if (app) { ReactDOM.render(, app); } diff --git a/resources/js/components/pages/Form.tsx b/resources/js/components/pages/Form.tsx index 0ad0a9a..dd02aac 100644 --- a/resources/js/components/pages/Form.tsx +++ b/resources/js/components/pages/Form.tsx @@ -42,13 +42,14 @@ export default function PageForm({setListPages, csrf, url, passphrase}) { if (json.success) { HTMLForm.reset(); setListPages(previousList => [ - ...previousList, { id: uuid, date: json.date, title: decryptedFormData.get("title"), content: decryptedFormData.get("text"), - }]); + }, + ...previousList + ]); } } diff --git a/resources/js/components/user/BasicMenu.tsx b/resources/js/components/user/BasicMenu.tsx new file mode 100644 index 0000000..f3368d5 --- /dev/null +++ b/resources/js/components/user/BasicMenu.tsx @@ -0,0 +1,47 @@ +import * as React from 'react'; +import Button from '@mui/material/Button'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; + +export default function BasicMenu({nickname}) { + const [anchorEl, setAnchorEl] = React.useState(null); + const open = Boolean(anchorEl); + const handleClick = (event: React.MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + + function logout() { + const logoutForm: HTMLFormElement = document.getElementById("logout-form") as HTMLFormElement; + logoutForm.submit(); + } + + return ( +

+ + + {/*My account*/} + Logout + +
+ ); +} diff --git a/resources/js/components/user/MobileMenu.tsx b/resources/js/components/user/MobileMenu.tsx new file mode 100644 index 0000000..af56adf --- /dev/null +++ b/resources/js/components/user/MobileMenu.tsx @@ -0,0 +1,76 @@ +import * as React from 'react'; +import Box from '@mui/material/Box'; +import SwipeableDrawer from '@mui/material/SwipeableDrawer'; +import Button from '@mui/material/Button'; +import List from '@mui/material/List'; +import Divider from '@mui/material/Divider'; +import ListItem from '@mui/material/ListItem'; +import ListItemIcon from '@mui/material/ListItemIcon'; +import ListItemText from '@mui/material/ListItemText'; +import InboxIcon from '@mui/icons-material/MoveToInbox'; +import MailIcon from '@mui/icons-material/Mail'; + +export default function MobileMenu({nickname}) { + const [state, setState] = React.useState(false); + + const toggleDrawer = + (open: boolean) => + (event: React.KeyboardEvent | React.MouseEvent) => { + if ( + event && + event.type === 'keydown' && + ((event as React.KeyboardEvent).key === 'Tab' || + (event as React.KeyboardEvent).key === 'Shift') + ) { + return; + } + + setState( open ); + }; + + function logout() { + const logoutForm: HTMLFormElement = document.getElementById("logout-form") as HTMLFormElement; + logoutForm.submit(); + } + + return ( +
+ + + + + + + + + + + + + + + + + + + + + + +
+ ); +} diff --git a/resources/views/layouts/navigation.blade.php b/resources/views/layouts/navigation.blade.php index 3355c7d..37cec3b 100644 --- a/resources/views/layouts/navigation.blade.php +++ b/resources/views/layouts/navigation.blade.php @@ -1,4 +1,4 @@ -