import { CssBaseline_default, body, html } from "./chunk-XJXS7YZH.js"; import { ArrowDropDown_default, Backdrop_default, ButtonBase_default, ButtonGroupButtonContext_default, ButtonGroupContext_default, Button_default, Chip_default, DialogActions_default, DialogContent_default, DialogContext_default, Dialog_default, Fade_default, FilledInput_default, FocusTrap_default, FormControl_default, FormHelperText_default, FormLabelRoot, FormLabel_default, Grow_default, IconButton_default, InputAdornment_default, InputBase_default, InputLabel_default, Input_default, ListContext_default, ListItemButton_default, ListItemSecondaryAction_default, ListItem_default, List_default, MenuList_default, Menu_default, ModalManager, Modal_default, NativeSelectInput_default, OutlinedInput_default, Paper_default, PopoverPaper, PopoverRoot, Popover_default, Popper_default, Portal_default, Select_default, TextField_default, TextareaAutosize_default, Transition_default, Typography_default, backdropClasses_default, buttonBaseClasses_default, buttonClasses_default, chipClasses_default, dialogActionsClasses_default, dialogClasses_default, dialogContentClasses_default, dialogTitleClasses_default, filledInputClasses_default, formControlClasses_default, formControlState, formHelperTextClasses_default, formLabelClasses_default, getBackdropUtilityClass, getButtonBaseUtilityClass, getButtonUtilityClass, getChipUtilityClass, getDialogActionsUtilityClass, getDialogContentUtilityClass, getDialogTitleUtilityClass, getDialogUtilityClass, getFilledInputUtilityClass, getFormControlUtilityClasses, getFormHelperTextUtilityClasses, getFormLabelUtilityClasses, getIconButtonUtilityClass, getInputAdornmentUtilityClass, getInputBaseUtilityClass, getInputLabelUtilityClasses, getInputUtilityClass, getListItemButtonUtilityClass, getListItemSecondaryActionClassesUtilityClass, getListItemUtilityClass, getListUtilityClass, getMenuUtilityClass, getModalUtilityClass, getNativeSelectUtilityClasses, getOffsetLeft, getOffsetTop, getOutlinedInputUtilityClass, getPaperUtilityClass, getPopoverUtilityClass, getPopperUtilityClass, getSelectUtilityClasses, getTextFieldUtilityClass, getTouchRippleUtilityClass, getTransitionProps, getTypographyUtilityClass, iconButtonClasses_default, inputAdornmentClasses_default, inputBaseClasses_default, inputClasses_default, inputLabelClasses_default, listClasses_default, listItemButtonClasses_default, listItemClasses_default, listItemSecondaryActionClasses_default, menuClasses_default, modalClasses_default, nativeSelectClasses_default, outlinedInputClasses_default, paperClasses_default, popoverClasses_default, reflow, selectClasses_default, textFieldClasses_default, touchRippleClasses_default, typographyClasses_default, useFormControl } from "./chunk-G2RL7QGH.js"; import "./chunk-UTSM4JAU.js"; import { SvgIcon_default, capitalize_default, createChainedFunction_default, createSvgIcon, debounce_default, deprecatedPropType_default, getSvgIconUtilityClass, isMuiElement_default, ownerDocument_default, ownerWindow_default, requirePropFactory_default, setRef_default, svgIconClasses_default, unstable_ClassNameGenerator, unsupportedProp_default, useControlled_default, useEnhancedEffect_default as useEnhancedEffect_default2, useEventCallback_default as useEventCallback_default2, useForkRef_default, useId_default, useIsFocusVisible_default } from "./chunk-AAWXJNXX.js"; import { GlobalStyles_default } from "./chunk-7JY22UOD.js"; import { useDefaultProps } from "./chunk-GV7LUFD3.js"; import { CssVarsProvider, ThemeProvider, adaptV4Theme, createMuiStrictModeTheme, createStyles, excludeVariablesFromRoot_default, experimental_sx, extendTheme, getInitColorSchemeScript, getOverlayAlpha_default, getUnit, makeStyles, responsiveFontSizes, shouldSkipGeneratingVar, toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme } from "./chunk-TGJ54VO5.js"; import { rootShouldForwardProp_default, slotShouldForwardProp_default, styled_default } from "./chunk-777DUXNW.js"; import "./chunk-VFR73OBR.js"; import { alpha, createBox, createContainer, createGrid, createStack, darken, decomposeColor, emphasize, getContrastRatio, getLuminance, getThemeProps, hexToRgb, hslToRgb, lighten, recomposeColor, rgbToHex, useMediaQuery, useRtl } from "./chunk-7EG3N7FF.js"; import { ClassNameGenerator_default, HTMLElementType, StyledEngineProvider, Timeout, _objectWithoutPropertiesLoose, appendOwnerState_default, blue_default, chainPropTypes, clamp_default, clsx_default, common_default, composeClasses, createMixins, createMuiTheme, createTheme_default2 as createTheme_default, createTypography, css, detectScrollType, duration, easing, elementAcceptingRef_default, elementTypeAcceptingRef_default, exactProp, extendSxProp, extractEventHandlers_default, generateUtilityClass, generateUtilityClasses, getDisplayName, getNormalizedScrollLeft, getPath, getReactElementRef, getValidReactChildren, green_default, grey_default, handleBreakpoints, identifier_default, init_clamp, init_getDisplayName, integerPropType_default, isHostComponent_default, keyframes, lightBlue_default, mergeSlotProps_default, orange_default, ownerDocument, purple_default, red_default, refType_default, require_colorManipulator, require_react_is, resolveBreakpointValues, resolveComponentProps_default, resolveProps, setRef, useControlled, useEnhancedEffect_default, useEventCallback_default, useForkRef, useId, useIsFocusVisible, usePreviousProps_default, useSlotProps_default, useTimeout, visuallyHidden_default } from "./chunk-P3ZG2TQF.js"; import "./chunk-V434JVL2.js"; import { require_prop_types } from "./chunk-J4LPPHPF.js"; import { _extends, init_extends } from "./chunk-Q7CPF5VB.js"; import { require_react_dom } from "./chunk-WRD5HZVH.js"; import { require_jsx_runtime } from "./chunk-OT5EQO2H.js"; import { require_react } from "./chunk-OU5AQDZK.js"; import { __export, __toESM } from "./chunk-EWTE5DHJ.js"; // node_modules/@mui/material/colors/index.js var colors_exports = {}; __export(colors_exports, { amber: () => amber_default, blue: () => blue_default, blueGrey: () => blueGrey_default, brown: () => brown_default, common: () => common_default, cyan: () => cyan_default, deepOrange: () => deepOrange_default, deepPurple: () => deepPurple_default, green: () => green_default, grey: () => grey_default, indigo: () => indigo_default, lightBlue: () => lightBlue_default, lightGreen: () => lightGreen_default, lime: () => lime_default, orange: () => orange_default, pink: () => pink_default, purple: () => purple_default, red: () => red_default, teal: () => teal_default, yellow: () => yellow_default }); // node_modules/@mui/material/colors/pink.js var pink = { 50: "#fce4ec", 100: "#f8bbd0", 200: "#f48fb1", 300: "#f06292", 400: "#ec407a", 500: "#e91e63", 600: "#d81b60", 700: "#c2185b", 800: "#ad1457", 900: "#880e4f", A100: "#ff80ab", A200: "#ff4081", A400: "#f50057", A700: "#c51162" }; var pink_default = pink; // node_modules/@mui/material/colors/deepPurple.js var deepPurple = { 50: "#ede7f6", 100: "#d1c4e9", 200: "#b39ddb", 300: "#9575cd", 400: "#7e57c2", 500: "#673ab7", 600: "#5e35b1", 700: "#512da8", 800: "#4527a0", 900: "#311b92", A100: "#b388ff", A200: "#7c4dff", A400: "#651fff", A700: "#6200ea" }; var deepPurple_default = deepPurple; // node_modules/@mui/material/colors/indigo.js var indigo = { 50: "#e8eaf6", 100: "#c5cae9", 200: "#9fa8da", 300: "#7986cb", 400: "#5c6bc0", 500: "#3f51b5", 600: "#3949ab", 700: "#303f9f", 800: "#283593", 900: "#1a237e", A100: "#8c9eff", A200: "#536dfe", A400: "#3d5afe", A700: "#304ffe" }; var indigo_default = indigo; // node_modules/@mui/material/colors/cyan.js var cyan = { 50: "#e0f7fa", 100: "#b2ebf2", 200: "#80deea", 300: "#4dd0e1", 400: "#26c6da", 500: "#00bcd4", 600: "#00acc1", 700: "#0097a7", 800: "#00838f", 900: "#006064", A100: "#84ffff", A200: "#18ffff", A400: "#00e5ff", A700: "#00b8d4" }; var cyan_default = cyan; // node_modules/@mui/material/colors/teal.js var teal = { 50: "#e0f2f1", 100: "#b2dfdb", 200: "#80cbc4", 300: "#4db6ac", 400: "#26a69a", 500: "#009688", 600: "#00897b", 700: "#00796b", 800: "#00695c", 900: "#004d40", A100: "#a7ffeb", A200: "#64ffda", A400: "#1de9b6", A700: "#00bfa5" }; var teal_default = teal; // node_modules/@mui/material/colors/lightGreen.js var lightGreen = { 50: "#f1f8e9", 100: "#dcedc8", 200: "#c5e1a5", 300: "#aed581", 400: "#9ccc65", 500: "#8bc34a", 600: "#7cb342", 700: "#689f38", 800: "#558b2f", 900: "#33691e", A100: "#ccff90", A200: "#b2ff59", A400: "#76ff03", A700: "#64dd17" }; var lightGreen_default = lightGreen; // node_modules/@mui/material/colors/lime.js var lime = { 50: "#f9fbe7", 100: "#f0f4c3", 200: "#e6ee9c", 300: "#dce775", 400: "#d4e157", 500: "#cddc39", 600: "#c0ca33", 700: "#afb42b", 800: "#9e9d24", 900: "#827717", A100: "#f4ff81", A200: "#eeff41", A400: "#c6ff00", A700: "#aeea00" }; var lime_default = lime; // node_modules/@mui/material/colors/yellow.js var yellow = { 50: "#fffde7", 100: "#fff9c4", 200: "#fff59d", 300: "#fff176", 400: "#ffee58", 500: "#ffeb3b", 600: "#fdd835", 700: "#fbc02d", 800: "#f9a825", 900: "#f57f17", A100: "#ffff8d", A200: "#ffff00", A400: "#ffea00", A700: "#ffd600" }; var yellow_default = yellow; // node_modules/@mui/material/colors/amber.js var amber = { 50: "#fff8e1", 100: "#ffecb3", 200: "#ffe082", 300: "#ffd54f", 400: "#ffca28", 500: "#ffc107", 600: "#ffb300", 700: "#ffa000", 800: "#ff8f00", 900: "#ff6f00", A100: "#ffe57f", A200: "#ffd740", A400: "#ffc400", A700: "#ffab00" }; var amber_default = amber; // node_modules/@mui/material/colors/deepOrange.js var deepOrange = { 50: "#fbe9e7", 100: "#ffccbc", 200: "#ffab91", 300: "#ff8a65", 400: "#ff7043", 500: "#ff5722", 600: "#f4511e", 700: "#e64a19", 800: "#d84315", 900: "#bf360c", A100: "#ff9e80", A200: "#ff6e40", A400: "#ff3d00", A700: "#dd2c00" }; var deepOrange_default = deepOrange; // node_modules/@mui/material/colors/brown.js var brown = { 50: "#efebe9", 100: "#d7ccc8", 200: "#bcaaa4", 300: "#a1887f", 400: "#8d6e63", 500: "#795548", 600: "#6d4c41", 700: "#5d4037", 800: "#4e342e", 900: "#3e2723", A100: "#d7ccc8", A200: "#bcaaa4", A400: "#8d6e63", A700: "#5d4037" }; var brown_default = brown; // node_modules/@mui/material/colors/blueGrey.js var blueGrey = { 50: "#eceff1", 100: "#cfd8dc", 200: "#b0bec5", 300: "#90a4ae", 400: "#78909c", 500: "#607d8b", 600: "#546e7a", 700: "#455a64", 800: "#37474f", 900: "#263238", A100: "#cfd8dc", A200: "#b0bec5", A400: "#78909c", A700: "#455a64" }; var blueGrey_default = blueGrey; // node_modules/@mui/material/Accordion/Accordion.js init_extends(); var React3 = __toESM(require_react()); var import_react_is = __toESM(require_react_is()); var import_prop_types2 = __toESM(require_prop_types()); // node_modules/@mui/material/Collapse/Collapse.js init_extends(); var React = __toESM(require_react()); var import_prop_types = __toESM(require_prop_types()); // node_modules/@mui/material/Collapse/collapseClasses.js function getCollapseUtilityClass(slot) { return generateUtilityClass("MuiCollapse", slot); } var collapseClasses = generateUtilityClasses("MuiCollapse", ["root", "horizontal", "vertical", "entered", "hidden", "wrapper", "wrapperInner"]); var collapseClasses_default = collapseClasses; // node_modules/@mui/material/Collapse/Collapse.js var import_jsx_runtime = __toESM(require_jsx_runtime()); var _excluded = ["addEndListener", "children", "className", "collapsedSize", "component", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "orientation", "style", "timeout", "TransitionComponent"]; var useUtilityClasses = (ownerState) => { const { orientation, classes } = ownerState; const slots = { root: ["root", `${orientation}`], entered: ["entered"], hidden: ["hidden"], wrapper: ["wrapper", `${orientation}`], wrapperInner: ["wrapperInner", `${orientation}`] }; return composeClasses(slots, getCollapseUtilityClass, classes); }; var CollapseRoot = styled_default("div", { name: "MuiCollapse", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[ownerState.orientation], ownerState.state === "entered" && styles3.entered, ownerState.state === "exited" && !ownerState.in && ownerState.collapsedSize === "0px" && styles3.hidden]; } })(({ theme, ownerState }) => _extends({ height: 0, overflow: "hidden", transition: theme.transitions.create("height") }, ownerState.orientation === "horizontal" && { height: "auto", width: 0, transition: theme.transitions.create("width") }, ownerState.state === "entered" && _extends({ height: "auto", overflow: "visible" }, ownerState.orientation === "horizontal" && { width: "auto" }), ownerState.state === "exited" && !ownerState.in && ownerState.collapsedSize === "0px" && { visibility: "hidden" })); var CollapseWrapper = styled_default("div", { name: "MuiCollapse", slot: "Wrapper", overridesResolver: (props, styles3) => styles3.wrapper })(({ ownerState }) => _extends({ // Hack to get children with a negative margin to not falsify the height computation. display: "flex", width: "100%" }, ownerState.orientation === "horizontal" && { width: "auto", height: "100%" })); var CollapseWrapperInner = styled_default("div", { name: "MuiCollapse", slot: "WrapperInner", overridesResolver: (props, styles3) => styles3.wrapperInner })(({ ownerState }) => _extends({ width: "100%" }, ownerState.orientation === "horizontal" && { width: "auto", height: "100%" })); var Collapse = React.forwardRef(function Collapse2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCollapse" }); const { addEndListener, children, className, collapsedSize: collapsedSizeProp = "0px", component, easing: easing2, in: inProp, onEnter, onEntered, onEntering, onExit, onExited, onExiting, orientation = "vertical", style, timeout = duration.standard, // eslint-disable-next-line react/prop-types TransitionComponent = Transition_default } = props, other = _objectWithoutPropertiesLoose(props, _excluded); const ownerState = _extends({}, props, { orientation, collapsedSize: collapsedSizeProp }); const classes = useUtilityClasses(ownerState); const theme = useTheme(); const timer = useTimeout(); const wrapperRef = React.useRef(null); const autoTransitionDuration = React.useRef(); const collapsedSize = typeof collapsedSizeProp === "number" ? `${collapsedSizeProp}px` : collapsedSizeProp; const isHorizontal2 = orientation === "horizontal"; const size = isHorizontal2 ? "width" : "height"; const nodeRef = React.useRef(null); const handleRef = useForkRef_default(ref, nodeRef); const normalizedTransitionCallback = (callback) => (maybeIsAppearing) => { if (callback) { const node = nodeRef.current; if (maybeIsAppearing === void 0) { callback(node); } else { callback(node, maybeIsAppearing); } } }; const getWrapperSize = () => wrapperRef.current ? wrapperRef.current[isHorizontal2 ? "clientWidth" : "clientHeight"] : 0; const handleEnter = normalizedTransitionCallback((node, isAppearing) => { if (wrapperRef.current && isHorizontal2) { wrapperRef.current.style.position = "absolute"; } node.style[size] = collapsedSize; if (onEnter) { onEnter(node, isAppearing); } }); const handleEntering = normalizedTransitionCallback((node, isAppearing) => { const wrapperSize = getWrapperSize(); if (wrapperRef.current && isHorizontal2) { wrapperRef.current.style.position = ""; } const { duration: transitionDuration, easing: transitionTimingFunction } = getTransitionProps({ style, timeout, easing: easing2 }, { mode: "enter" }); if (timeout === "auto") { const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize); node.style.transitionDuration = `${duration2}ms`; autoTransitionDuration.current = duration2; } else { node.style.transitionDuration = typeof transitionDuration === "string" ? transitionDuration : `${transitionDuration}ms`; } node.style[size] = `${wrapperSize}px`; node.style.transitionTimingFunction = transitionTimingFunction; if (onEntering) { onEntering(node, isAppearing); } }); const handleEntered = normalizedTransitionCallback((node, isAppearing) => { node.style[size] = "auto"; if (onEntered) { onEntered(node, isAppearing); } }); const handleExit = normalizedTransitionCallback((node) => { node.style[size] = `${getWrapperSize()}px`; if (onExit) { onExit(node); } }); const handleExited = normalizedTransitionCallback(onExited); const handleExiting = normalizedTransitionCallback((node) => { const wrapperSize = getWrapperSize(); const { duration: transitionDuration, easing: transitionTimingFunction } = getTransitionProps({ style, timeout, easing: easing2 }, { mode: "exit" }); if (timeout === "auto") { const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize); node.style.transitionDuration = `${duration2}ms`; autoTransitionDuration.current = duration2; } else { node.style.transitionDuration = typeof transitionDuration === "string" ? transitionDuration : `${transitionDuration}ms`; } node.style[size] = collapsedSize; node.style.transitionTimingFunction = transitionTimingFunction; if (onExiting) { onExiting(node); } }); const handleAddEndListener = (next) => { if (timeout === "auto") { timer.start(autoTransitionDuration.current || 0, next); } if (addEndListener) { addEndListener(nodeRef.current, next); } }; return (0, import_jsx_runtime.jsx)(TransitionComponent, _extends({ in: inProp, onEnter: handleEnter, onEntered: handleEntered, onEntering: handleEntering, onExit: handleExit, onExited: handleExited, onExiting: handleExiting, addEndListener: handleAddEndListener, nodeRef, timeout: timeout === "auto" ? null : timeout }, other, { children: (state, childProps) => (0, import_jsx_runtime.jsx)(CollapseRoot, _extends({ as: component, className: clsx_default(classes.root, className, { "entered": classes.entered, "exited": !inProp && collapsedSize === "0px" && classes.hidden }[state]), style: _extends({ [isHorizontal2 ? "minWidth" : "minHeight"]: collapsedSize }, style), ref: handleRef }, childProps, { // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps` // that might have been forwarded from the Transition component. ownerState: _extends({}, ownerState, { state }), children: (0, import_jsx_runtime.jsx)(CollapseWrapper, { ownerState: _extends({}, ownerState, { state }), className: classes.wrapper, ref: wrapperRef, children: (0, import_jsx_runtime.jsx)(CollapseWrapperInner, { ownerState: _extends({}, ownerState, { state }), className: classes.wrapperInner, children }) }) })) })); }); true ? Collapse.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm 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: import_prop_types.default.func, /** * The content node to be collapsed. */ children: import_prop_types.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types.default.object, /** * @ignore */ className: import_prop_types.default.string, /** * The width (horizontal) or height (vertical) of the container when collapsed. * @default '0px' */ collapsedSize: import_prop_types.default.oneOfType([import_prop_types.default.number, import_prop_types.default.string]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: elementTypeAcceptingRef_default, /** * The transition timing function. * You may specify a single easing or a object containing enter and exit values. */ easing: import_prop_types.default.oneOfType([import_prop_types.default.shape({ enter: import_prop_types.default.string, exit: import_prop_types.default.string }), import_prop_types.default.string]), /** * If `true`, the component will transition in. */ in: import_prop_types.default.bool, /** * @ignore */ onEnter: import_prop_types.default.func, /** * @ignore */ onEntered: import_prop_types.default.func, /** * @ignore */ onEntering: import_prop_types.default.func, /** * @ignore */ onExit: import_prop_types.default.func, /** * @ignore */ onExited: import_prop_types.default.func, /** * @ignore */ onExiting: import_prop_types.default.func, /** * The transition orientation. * @default 'vertical' */ orientation: import_prop_types.default.oneOf(["horizontal", "vertical"]), /** * @ignore */ style: import_prop_types.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types.default.oneOfType([import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object, import_prop_types.default.bool])), import_prop_types.default.func, import_prop_types.default.object]), /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * * Set to 'auto' to automatically calculate transition time based on height. * @default duration.standard */ timeout: import_prop_types.default.oneOfType([import_prop_types.default.oneOf(["auto"]), import_prop_types.default.number, import_prop_types.default.shape({ appear: import_prop_types.default.number, enter: import_prop_types.default.number, exit: import_prop_types.default.number })]) } : void 0; Collapse.muiSupportAuto = true; var Collapse_default = Collapse; // node_modules/@mui/material/Accordion/AccordionContext.js var React2 = __toESM(require_react()); var AccordionContext = React2.createContext({}); if (true) { AccordionContext.displayName = "AccordionContext"; } var AccordionContext_default = AccordionContext; // node_modules/@mui/material/utils/useSlot.js init_extends(); var _excluded2 = ["className", "elementType", "ownerState", "externalForwardedProps", "getSlotOwnerState", "internalForwardedProps"]; var _excluded22 = ["component", "slots", "slotProps"]; var _excluded3 = ["component"]; function useSlot(name, parameters) { const { className, elementType: initialElementType, ownerState, externalForwardedProps, getSlotOwnerState, internalForwardedProps } = parameters, useSlotPropsParams = _objectWithoutPropertiesLoose(parameters, _excluded2); const { component: rootComponent, slots = { [name]: void 0 }, slotProps = { [name]: void 0 } } = externalForwardedProps, other = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded22); const elementType = slots[name] || initialElementType; const resolvedComponentsProps = resolveComponentProps_default(slotProps[name], ownerState); const _mergeSlotProps = mergeSlotProps_default(_extends({ className }, useSlotPropsParams, { externalForwardedProps: name === "root" ? other : void 0, externalSlotProps: resolvedComponentsProps })), { props: { component: slotComponent }, internalRef } = _mergeSlotProps, mergedProps = _objectWithoutPropertiesLoose(_mergeSlotProps.props, _excluded3); const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, parameters.ref); const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {}; const finalOwnerState = _extends({}, ownerState, slotOwnerState); const LeafComponent = name === "root" ? slotComponent || rootComponent : slotComponent; const props = appendOwnerState_default(elementType, _extends({}, name === "root" && !rootComponent && !slots[name] && internalForwardedProps, name !== "root" && !slots[name] && internalForwardedProps, mergedProps, LeafComponent && { as: LeafComponent }, { ref }), finalOwnerState); Object.keys(slotOwnerState).forEach((propName) => { delete props[propName]; }); return [elementType, props]; } // node_modules/@mui/material/Accordion/accordionClasses.js function getAccordionUtilityClass(slot) { return generateUtilityClass("MuiAccordion", slot); } var accordionClasses = generateUtilityClasses("MuiAccordion", ["root", "rounded", "expanded", "disabled", "gutters", "region"]); var accordionClasses_default = accordionClasses; // node_modules/@mui/material/Accordion/Accordion.js var import_jsx_runtime2 = __toESM(require_jsx_runtime()); var import_jsx_runtime3 = __toESM(require_jsx_runtime()); var _excluded4 = ["children", "className", "defaultExpanded", "disabled", "disableGutters", "expanded", "onChange", "square", "slots", "slotProps", "TransitionComponent", "TransitionProps"]; var useUtilityClasses2 = (ownerState) => { const { classes, square, expanded, disabled, disableGutters } = ownerState; const slots = { root: ["root", !square && "rounded", expanded && "expanded", disabled && "disabled", !disableGutters && "gutters"], region: ["region"] }; return composeClasses(slots, getAccordionUtilityClass, classes); }; var AccordionRoot = styled_default(Paper_default, { name: "MuiAccordion", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [{ [`& .${accordionClasses_default.region}`]: styles3.region }, styles3.root, !ownerState.square && styles3.rounded, !ownerState.disableGutters && styles3.gutters]; } })(({ theme }) => { const transition = { duration: theme.transitions.duration.shortest }; return { position: "relative", transition: theme.transitions.create(["margin"], transition), overflowAnchor: "none", // Keep the same scrolling position "&::before": { position: "absolute", left: 0, top: -1, right: 0, height: 1, content: '""', opacity: 1, backgroundColor: (theme.vars || theme).palette.divider, transition: theme.transitions.create(["opacity", "background-color"], transition) }, "&:first-of-type": { "&::before": { display: "none" } }, [`&.${accordionClasses_default.expanded}`]: { "&::before": { opacity: 0 }, "&:first-of-type": { marginTop: 0 }, "&:last-of-type": { marginBottom: 0 }, "& + &": { "&::before": { display: "none" } } }, [`&.${accordionClasses_default.disabled}`]: { backgroundColor: (theme.vars || theme).palette.action.disabledBackground } }; }, ({ theme }) => ({ variants: [{ props: (props) => !props.square, style: { borderRadius: 0, "&:first-of-type": { borderTopLeftRadius: (theme.vars || theme).shape.borderRadius, borderTopRightRadius: (theme.vars || theme).shape.borderRadius }, "&:last-of-type": { borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius, borderBottomRightRadius: (theme.vars || theme).shape.borderRadius, // Fix a rendering issue on Edge "@supports (-ms-ime-align: auto)": { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } } } }, { props: (props) => !props.disableGutters, style: { [`&.${accordionClasses_default.expanded}`]: { margin: "16px 0" } } }] })); var Accordion = React3.forwardRef(function Accordion2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAccordion" }); const { children: childrenProp, className, defaultExpanded = false, disabled = false, disableGutters = false, expanded: expandedProp, onChange, square = false, slots = {}, slotProps = {}, TransitionComponent: TransitionComponentProp, TransitionProps: TransitionPropsProp } = props, other = _objectWithoutPropertiesLoose(props, _excluded4); const [expanded, setExpandedState] = useControlled_default({ controlled: expandedProp, default: defaultExpanded, name: "Accordion", state: "expanded" }); const handleChange = React3.useCallback((event) => { setExpandedState(!expanded); if (onChange) { onChange(event, !expanded); } }, [expanded, onChange, setExpandedState]); const [summary, ...children] = React3.Children.toArray(childrenProp); const contextValue = React3.useMemo(() => ({ expanded, disabled, disableGutters, toggle: handleChange }), [expanded, disabled, disableGutters, handleChange]); const ownerState = _extends({}, props, { square, disabled, disableGutters, expanded }); const classes = useUtilityClasses2(ownerState); const backwardCompatibleSlots = _extends({ transition: TransitionComponentProp }, slots); const backwardCompatibleSlotProps = _extends({ transition: TransitionPropsProp }, slotProps); const [TransitionSlot, transitionProps] = useSlot("transition", { elementType: Collapse_default, externalForwardedProps: { slots: backwardCompatibleSlots, slotProps: backwardCompatibleSlotProps }, ownerState }); return (0, import_jsx_runtime3.jsxs)(AccordionRoot, _extends({ className: clsx_default(classes.root, className), ref, ownerState, square }, other, { children: [(0, import_jsx_runtime2.jsx)(AccordionContext_default.Provider, { value: contextValue, children: summary }), (0, import_jsx_runtime2.jsx)(TransitionSlot, _extends({ in: expanded, timeout: "auto" }, transitionProps, { children: (0, import_jsx_runtime2.jsx)("div", { "aria-labelledby": summary.props.id, id: summary.props["aria-controls"], role: "region", className: classes.region, children }) }))] })); }); true ? Accordion.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: chainPropTypes(import_prop_types2.default.node.isRequired, (props) => { const summary = React3.Children.toArray(props.children)[0]; if ((0, import_react_is.isFragment)(summary)) { return new Error("MUI: The Accordion doesn't accept a Fragment as a child. Consider providing an array instead."); } if (!React3.isValidElement(summary)) { return new Error("MUI: Expected the first child of Accordion to be a valid element."); } return null; }), /** * Override or extend the styles applied to the component. */ classes: import_prop_types2.default.object, /** * @ignore */ className: import_prop_types2.default.string, /** * If `true`, expands the accordion by default. * @default false */ defaultExpanded: import_prop_types2.default.bool, /** * If `true`, the component is disabled. * @default false */ disabled: import_prop_types2.default.bool, /** * If `true`, it removes the margin between two expanded accordion items and the increase of height. * @default false */ disableGutters: import_prop_types2.default.bool, /** * If `true`, expands the accordion, otherwise collapse it. * Setting this prop enables control over the accordion. */ expanded: import_prop_types2.default.bool, /** * Callback fired when the expand/collapse state is changed. * * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event. * @param {boolean} expanded The `expanded` state of the accordion. */ onChange: import_prop_types2.default.func, /** * The props used for each slot inside. * @default {} */ slotProps: import_prop_types2.default.shape({ transition: import_prop_types2.default.oneOfType([import_prop_types2.default.func, import_prop_types2.default.object]) }), /** * The components used for each slot inside. * @default {} */ slots: import_prop_types2.default.shape({ transition: import_prop_types2.default.elementType }), /** * If `true`, rounded corners are disabled. * @default false */ square: import_prop_types2.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types2.default.oneOfType([import_prop_types2.default.arrayOf(import_prop_types2.default.oneOfType([import_prop_types2.default.func, import_prop_types2.default.object, import_prop_types2.default.bool])), import_prop_types2.default.func, import_prop_types2.default.object]), /** * The component used for the transition. * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component. * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/). */ TransitionComponent: import_prop_types2.default.elementType, /** * Props applied to the transition element. * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component. * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/). */ TransitionProps: import_prop_types2.default.object } : void 0; var Accordion_default = Accordion; // node_modules/@mui/material/AccordionActions/AccordionActions.js init_extends(); var React4 = __toESM(require_react()); var import_prop_types3 = __toESM(require_prop_types()); // node_modules/@mui/material/AccordionActions/accordionActionsClasses.js function getAccordionActionsUtilityClass(slot) { return generateUtilityClass("MuiAccordionActions", slot); } var accordionActionsClasses = generateUtilityClasses("MuiAccordionActions", ["root", "spacing"]); var accordionActionsClasses_default = accordionActionsClasses; // node_modules/@mui/material/AccordionActions/AccordionActions.js var import_jsx_runtime4 = __toESM(require_jsx_runtime()); var _excluded5 = ["className", "disableSpacing"]; var useUtilityClasses3 = (ownerState) => { const { classes, disableSpacing } = ownerState; const slots = { root: ["root", !disableSpacing && "spacing"] }; return composeClasses(slots, getAccordionActionsUtilityClass, classes); }; var AccordionActionsRoot = styled_default("div", { name: "MuiAccordionActions", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, !ownerState.disableSpacing && styles3.spacing]; } })({ display: "flex", alignItems: "center", padding: 8, justifyContent: "flex-end", variants: [{ props: (props) => !props.disableSpacing, style: { "& > :not(style) ~ :not(style)": { marginLeft: 8 } } }] }); var AccordionActions = React4.forwardRef(function AccordionActions2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAccordionActions" }); const { className, disableSpacing = false } = props, other = _objectWithoutPropertiesLoose(props, _excluded5); const ownerState = _extends({}, props, { disableSpacing }); const classes = useUtilityClasses3(ownerState); return (0, import_jsx_runtime4.jsx)(AccordionActionsRoot, _extends({ className: clsx_default(classes.root, className), ref, ownerState }, other)); }); true ? AccordionActions.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types3.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types3.default.object, /** * @ignore */ className: import_prop_types3.default.string, /** * If `true`, the actions do not have additional margin. * @default false */ disableSpacing: import_prop_types3.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types3.default.oneOfType([import_prop_types3.default.arrayOf(import_prop_types3.default.oneOfType([import_prop_types3.default.func, import_prop_types3.default.object, import_prop_types3.default.bool])), import_prop_types3.default.func, import_prop_types3.default.object]) } : void 0; var AccordionActions_default = AccordionActions; // node_modules/@mui/material/AccordionDetails/AccordionDetails.js init_extends(); var React5 = __toESM(require_react()); var import_prop_types4 = __toESM(require_prop_types()); // node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.js function getAccordionDetailsUtilityClass(slot) { return generateUtilityClass("MuiAccordionDetails", slot); } var accordionDetailsClasses = generateUtilityClasses("MuiAccordionDetails", ["root"]); var accordionDetailsClasses_default = accordionDetailsClasses; // node_modules/@mui/material/AccordionDetails/AccordionDetails.js var import_jsx_runtime5 = __toESM(require_jsx_runtime()); var _excluded6 = ["className"]; var useUtilityClasses4 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getAccordionDetailsUtilityClass, classes); }; var AccordionDetailsRoot = styled_default("div", { name: "MuiAccordionDetails", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(({ theme }) => ({ padding: theme.spacing(1, 2, 2) })); var AccordionDetails = React5.forwardRef(function AccordionDetails2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAccordionDetails" }); const { className } = props, other = _objectWithoutPropertiesLoose(props, _excluded6); const ownerState = props; const classes = useUtilityClasses4(ownerState); return (0, import_jsx_runtime5.jsx)(AccordionDetailsRoot, _extends({ className: clsx_default(classes.root, className), ref, ownerState }, other)); }); true ? AccordionDetails.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types4.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types4.default.object, /** * @ignore */ className: import_prop_types4.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types4.default.oneOfType([import_prop_types4.default.arrayOf(import_prop_types4.default.oneOfType([import_prop_types4.default.func, import_prop_types4.default.object, import_prop_types4.default.bool])), import_prop_types4.default.func, import_prop_types4.default.object]) } : void 0; var AccordionDetails_default = AccordionDetails; // node_modules/@mui/material/AccordionSummary/AccordionSummary.js init_extends(); var React6 = __toESM(require_react()); var import_prop_types5 = __toESM(require_prop_types()); // node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.js function getAccordionSummaryUtilityClass(slot) { return generateUtilityClass("MuiAccordionSummary", slot); } var accordionSummaryClasses = generateUtilityClasses("MuiAccordionSummary", ["root", "expanded", "focusVisible", "disabled", "gutters", "contentGutters", "content", "expandIconWrapper"]); var accordionSummaryClasses_default = accordionSummaryClasses; // node_modules/@mui/material/AccordionSummary/AccordionSummary.js var import_jsx_runtime6 = __toESM(require_jsx_runtime()); var import_jsx_runtime7 = __toESM(require_jsx_runtime()); var _excluded7 = ["children", "className", "expandIcon", "focusVisibleClassName", "onClick"]; var useUtilityClasses5 = (ownerState) => { const { classes, expanded, disabled, disableGutters } = ownerState; const slots = { root: ["root", expanded && "expanded", disabled && "disabled", !disableGutters && "gutters"], focusVisible: ["focusVisible"], content: ["content", expanded && "expanded", !disableGutters && "contentGutters"], expandIconWrapper: ["expandIconWrapper", expanded && "expanded"] }; return composeClasses(slots, getAccordionSummaryUtilityClass, classes); }; var AccordionSummaryRoot = styled_default(ButtonBase_default, { name: "MuiAccordionSummary", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(({ theme }) => { const transition = { duration: theme.transitions.duration.shortest }; return { display: "flex", minHeight: 48, padding: theme.spacing(0, 2), transition: theme.transitions.create(["min-height", "background-color"], transition), [`&.${accordionSummaryClasses_default.focusVisible}`]: { backgroundColor: (theme.vars || theme).palette.action.focus }, [`&.${accordionSummaryClasses_default.disabled}`]: { opacity: (theme.vars || theme).palette.action.disabledOpacity }, [`&:hover:not(.${accordionSummaryClasses_default.disabled})`]: { cursor: "pointer" }, variants: [{ props: (props) => !props.disableGutters, style: { [`&.${accordionSummaryClasses_default.expanded}`]: { minHeight: 64 } } }] }; }); var AccordionSummaryContent = styled_default("div", { name: "MuiAccordionSummary", slot: "Content", overridesResolver: (props, styles3) => styles3.content })(({ theme }) => ({ display: "flex", flexGrow: 1, margin: "12px 0", variants: [{ props: (props) => !props.disableGutters, style: { transition: theme.transitions.create(["margin"], { duration: theme.transitions.duration.shortest }), [`&.${accordionSummaryClasses_default.expanded}`]: { margin: "20px 0" } } }] })); var AccordionSummaryExpandIconWrapper = styled_default("div", { name: "MuiAccordionSummary", slot: "ExpandIconWrapper", overridesResolver: (props, styles3) => styles3.expandIconWrapper })(({ theme }) => ({ display: "flex", color: (theme.vars || theme).palette.action.active, transform: "rotate(0deg)", transition: theme.transitions.create("transform", { duration: theme.transitions.duration.shortest }), [`&.${accordionSummaryClasses_default.expanded}`]: { transform: "rotate(180deg)" } })); var AccordionSummary = React6.forwardRef(function AccordionSummary2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAccordionSummary" }); const { children, className, expandIcon, focusVisibleClassName, onClick } = props, other = _objectWithoutPropertiesLoose(props, _excluded7); const { disabled = false, disableGutters, expanded, toggle } = React6.useContext(AccordionContext_default); const handleChange = (event) => { if (toggle) { toggle(event); } if (onClick) { onClick(event); } }; const ownerState = _extends({}, props, { expanded, disabled, disableGutters }); const classes = useUtilityClasses5(ownerState); return (0, import_jsx_runtime7.jsxs)(AccordionSummaryRoot, _extends({ focusRipple: false, disableRipple: true, disabled, component: "div", "aria-expanded": expanded, className: clsx_default(classes.root, className), focusVisibleClassName: clsx_default(classes.focusVisible, focusVisibleClassName), onClick: handleChange, ref, ownerState }, other, { children: [(0, import_jsx_runtime6.jsx)(AccordionSummaryContent, { className: classes.content, ownerState, children }), expandIcon && (0, import_jsx_runtime6.jsx)(AccordionSummaryExpandIconWrapper, { className: classes.expandIconWrapper, ownerState, children: expandIcon })] })); }); true ? AccordionSummary.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types5.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types5.default.object, /** * @ignore */ className: import_prop_types5.default.string, /** * The icon to display as the expand indicator. */ expandIcon: import_prop_types5.default.node, /** * 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: import_prop_types5.default.string, /** * @ignore */ onClick: import_prop_types5.default.func, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types5.default.oneOfType([import_prop_types5.default.arrayOf(import_prop_types5.default.oneOfType([import_prop_types5.default.func, import_prop_types5.default.object, import_prop_types5.default.bool])), import_prop_types5.default.func, import_prop_types5.default.object]) } : void 0; var AccordionSummary_default = AccordionSummary; // node_modules/@mui/material/Alert/Alert.js init_extends(); var React12 = __toESM(require_react()); var import_prop_types6 = __toESM(require_prop_types()); var import_colorManipulator = __toESM(require_colorManipulator()); // node_modules/@mui/material/Alert/alertClasses.js function getAlertUtilityClass(slot) { return generateUtilityClass("MuiAlert", slot); } var alertClasses = generateUtilityClasses("MuiAlert", ["root", "action", "icon", "message", "filled", "colorSuccess", "colorInfo", "colorWarning", "colorError", "filledSuccess", "filledInfo", "filledWarning", "filledError", "outlined", "outlinedSuccess", "outlinedInfo", "outlinedWarning", "outlinedError", "standard", "standardSuccess", "standardInfo", "standardWarning", "standardError"]); var alertClasses_default = alertClasses; // node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js var React7 = __toESM(require_react()); var import_jsx_runtime8 = __toESM(require_jsx_runtime()); var SuccessOutlined_default = createSvgIcon((0, import_jsx_runtime8.jsx)("path", { d: "M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z" }), "SuccessOutlined"); // node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js var React8 = __toESM(require_react()); var import_jsx_runtime9 = __toESM(require_jsx_runtime()); var ReportProblemOutlined_default = createSvgIcon((0, import_jsx_runtime9.jsx)("path", { d: "M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z" }), "ReportProblemOutlined"); // node_modules/@mui/material/internal/svg-icons/ErrorOutline.js var React9 = __toESM(require_react()); var import_jsx_runtime10 = __toESM(require_jsx_runtime()); var ErrorOutline_default = createSvgIcon((0, import_jsx_runtime10.jsx)("path", { d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }), "ErrorOutline"); // node_modules/@mui/material/internal/svg-icons/InfoOutlined.js var React10 = __toESM(require_react()); var import_jsx_runtime11 = __toESM(require_jsx_runtime()); var InfoOutlined_default = createSvgIcon((0, import_jsx_runtime11.jsx)("path", { d: "M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z" }), "InfoOutlined"); // node_modules/@mui/material/internal/svg-icons/Close.js var React11 = __toESM(require_react()); var import_jsx_runtime12 = __toESM(require_jsx_runtime()); var Close_default = createSvgIcon((0, import_jsx_runtime12.jsx)("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }), "Close"); // node_modules/@mui/material/Alert/Alert.js var import_jsx_runtime13 = __toESM(require_jsx_runtime()); var import_jsx_runtime14 = __toESM(require_jsx_runtime()); var _excluded8 = ["action", "children", "className", "closeText", "color", "components", "componentsProps", "icon", "iconMapping", "onClose", "role", "severity", "slotProps", "slots", "variant"]; var useUtilityClasses6 = (ownerState) => { const { variant, color, severity, classes } = ownerState; const slots = { root: ["root", `color${capitalize_default(color || severity)}`, `${variant}${capitalize_default(color || severity)}`, `${variant}`], icon: ["icon"], message: ["message"], action: ["action"] }; return composeClasses(slots, getAlertUtilityClass, classes); }; var AlertRoot = styled_default(Paper_default, { name: "MuiAlert", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[ownerState.variant], styles3[`${ownerState.variant}${capitalize_default(ownerState.color || ownerState.severity)}`]]; } })(({ theme }) => { const getColor = theme.palette.mode === "light" ? import_colorManipulator.darken : import_colorManipulator.lighten; const getBackgroundColor = theme.palette.mode === "light" ? import_colorManipulator.lighten : import_colorManipulator.darken; return _extends({}, theme.typography.body2, { backgroundColor: "transparent", display: "flex", padding: "6px 16px", variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({ props: { colorSeverity: color, variant: "standard" }, style: { color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6), backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9), [`& .${alertClasses_default.icon}`]: theme.vars ? { color: theme.vars.palette.Alert[`${color}IconColor`] } : { color: theme.palette[color].main } } })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({ props: { colorSeverity: color, variant: "outlined" }, style: { color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6), border: `1px solid ${(theme.vars || theme).palette[color].light}`, [`& .${alertClasses_default.icon}`]: theme.vars ? { color: theme.vars.palette.Alert[`${color}IconColor`] } : { color: theme.palette[color].main } } })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.dark).map(([color]) => ({ props: { colorSeverity: color, variant: "filled" }, style: _extends({ fontWeight: theme.typography.fontWeightMedium }, theme.vars ? { color: theme.vars.palette.Alert[`${color}FilledColor`], backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`] } : { backgroundColor: theme.palette.mode === "dark" ? theme.palette[color].dark : theme.palette[color].main, color: theme.palette.getContrastText(theme.palette[color].main) }) }))] }); }); var AlertIcon = styled_default("div", { name: "MuiAlert", slot: "Icon", overridesResolver: (props, styles3) => styles3.icon })({ marginRight: 12, padding: "7px 0", display: "flex", fontSize: 22, opacity: 0.9 }); var AlertMessage = styled_default("div", { name: "MuiAlert", slot: "Message", overridesResolver: (props, styles3) => styles3.message })({ padding: "8px 0", minWidth: 0, overflow: "auto" }); var AlertAction = styled_default("div", { name: "MuiAlert", slot: "Action", overridesResolver: (props, styles3) => styles3.action })({ display: "flex", alignItems: "flex-start", padding: "4px 0 0 16px", marginLeft: "auto", marginRight: -8 }); var defaultIconMapping = { success: (0, import_jsx_runtime13.jsx)(SuccessOutlined_default, { fontSize: "inherit" }), warning: (0, import_jsx_runtime13.jsx)(ReportProblemOutlined_default, { fontSize: "inherit" }), error: (0, import_jsx_runtime13.jsx)(ErrorOutline_default, { fontSize: "inherit" }), info: (0, import_jsx_runtime13.jsx)(InfoOutlined_default, { fontSize: "inherit" }) }; var Alert = React12.forwardRef(function Alert2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAlert" }); const { action, children, className, closeText = "Close", color, components = {}, componentsProps = {}, icon, iconMapping = defaultIconMapping, onClose, role = "alert", severity = "success", slotProps = {}, slots = {}, variant = "standard" } = props, other = _objectWithoutPropertiesLoose(props, _excluded8); const ownerState = _extends({}, props, { color, severity, variant, colorSeverity: color || severity }); const classes = useUtilityClasses6(ownerState); const externalForwardedProps = { slots: _extends({ closeButton: components.CloseButton, closeIcon: components.CloseIcon }, slots), slotProps: _extends({}, componentsProps, slotProps) }; const [CloseButtonSlot, closeButtonProps] = useSlot("closeButton", { elementType: IconButton_default, externalForwardedProps, ownerState }); const [CloseIconSlot, closeIconProps] = useSlot("closeIcon", { elementType: Close_default, externalForwardedProps, ownerState }); return (0, import_jsx_runtime14.jsxs)(AlertRoot, _extends({ role, elevation: 0, ownerState, className: clsx_default(classes.root, className), ref }, other, { children: [icon !== false ? (0, import_jsx_runtime13.jsx)(AlertIcon, { ownerState, className: classes.icon, children: icon || iconMapping[severity] || defaultIconMapping[severity] }) : null, (0, import_jsx_runtime13.jsx)(AlertMessage, { ownerState, className: classes.message, children }), action != null ? (0, import_jsx_runtime13.jsx)(AlertAction, { ownerState, className: classes.action, children: action }) : null, action == null && onClose ? (0, import_jsx_runtime13.jsx)(AlertAction, { ownerState, className: classes.action, children: (0, import_jsx_runtime13.jsx)(CloseButtonSlot, _extends({ size: "small", "aria-label": closeText, title: closeText, color: "inherit", onClick: onClose }, closeButtonProps, { children: (0, import_jsx_runtime13.jsx)(CloseIconSlot, _extends({ fontSize: "small" }, closeIconProps)) })) }) : null] })); }); true ? Alert.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The action to display. It renders after the message, at the end of the alert. */ action: import_prop_types6.default.node, /** * The content of the component. */ children: import_prop_types6.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types6.default.object, /** * @ignore */ className: import_prop_types6.default.string, /** * Override the default label for the *close popup* icon button. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'Close' */ closeText: import_prop_types6.default.string, /** * The color of the component. Unless provided, the value is taken from the `severity` prop. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). */ color: import_prop_types6.default.oneOfType([import_prop_types6.default.oneOf(["error", "info", "success", "warning"]), import_prop_types6.default.string]), /** * The components used for each slot inside. * * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/). * * @default {} */ components: import_prop_types6.default.shape({ CloseButton: import_prop_types6.default.elementType, CloseIcon: import_prop_types6.default.elementType }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/). * * @default {} */ componentsProps: import_prop_types6.default.shape({ closeButton: import_prop_types6.default.object, closeIcon: import_prop_types6.default.object }), /** * Override the icon displayed before the children. * Unless provided, the icon is mapped to the value of the `severity` prop. * Set to `false` to remove the `icon`. */ icon: import_prop_types6.default.node, /** * The component maps the `severity` prop to a range of different icons, * for instance success to ``. * If you wish to change this mapping, you can provide your own. * Alternatively, you can use the `icon` prop to override the icon displayed. */ iconMapping: import_prop_types6.default.shape({ error: import_prop_types6.default.node, info: import_prop_types6.default.node, success: import_prop_types6.default.node, warning: import_prop_types6.default.node }), /** * Callback fired when the component requests to be closed. * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked. * @param {React.SyntheticEvent} event The event source of the callback. */ onClose: import_prop_types6.default.func, /** * The ARIA role attribute of the element. * @default 'alert' */ role: import_prop_types6.default.string, /** * The severity of the alert. This defines the color and icon used. * @default 'success' */ severity: import_prop_types6.default.oneOfType([import_prop_types6.default.oneOf(["error", "info", "success", "warning"]), import_prop_types6.default.string]), /** * The props used for each slot inside. * @default {} */ slotProps: import_prop_types6.default.shape({ closeButton: import_prop_types6.default.oneOfType([import_prop_types6.default.func, import_prop_types6.default.object]), closeIcon: import_prop_types6.default.oneOfType([import_prop_types6.default.func, import_prop_types6.default.object]) }), /** * The components used for each slot inside. * @default {} */ slots: import_prop_types6.default.shape({ closeButton: import_prop_types6.default.elementType, closeIcon: import_prop_types6.default.elementType }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types6.default.oneOfType([import_prop_types6.default.arrayOf(import_prop_types6.default.oneOfType([import_prop_types6.default.func, import_prop_types6.default.object, import_prop_types6.default.bool])), import_prop_types6.default.func, import_prop_types6.default.object]), /** * The variant to use. * @default 'standard' */ variant: import_prop_types6.default.oneOfType([import_prop_types6.default.oneOf(["filled", "outlined", "standard"]), import_prop_types6.default.string]) } : void 0; var Alert_default = Alert; // node_modules/@mui/material/AlertTitle/AlertTitle.js init_extends(); var React13 = __toESM(require_react()); var import_prop_types7 = __toESM(require_prop_types()); // node_modules/@mui/material/AlertTitle/alertTitleClasses.js function getAlertTitleUtilityClass(slot) { return generateUtilityClass("MuiAlertTitle", slot); } var alertTitleClasses = generateUtilityClasses("MuiAlertTitle", ["root"]); var alertTitleClasses_default = alertTitleClasses; // node_modules/@mui/material/AlertTitle/AlertTitle.js var import_jsx_runtime15 = __toESM(require_jsx_runtime()); var _excluded9 = ["className"]; var useUtilityClasses7 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getAlertTitleUtilityClass, classes); }; var AlertTitleRoot = styled_default(Typography_default, { name: "MuiAlertTitle", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(({ theme }) => { return { fontWeight: theme.typography.fontWeightMedium, marginTop: -2 }; }); var AlertTitle = React13.forwardRef(function AlertTitle2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAlertTitle" }); const { className } = props, other = _objectWithoutPropertiesLoose(props, _excluded9); const ownerState = props; const classes = useUtilityClasses7(ownerState); return (0, import_jsx_runtime15.jsx)(AlertTitleRoot, _extends({ gutterBottom: true, component: "div", ownerState, ref, className: clsx_default(classes.root, className) }, other)); }); true ? AlertTitle.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types7.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types7.default.object, /** * @ignore */ className: import_prop_types7.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types7.default.oneOfType([import_prop_types7.default.arrayOf(import_prop_types7.default.oneOfType([import_prop_types7.default.func, import_prop_types7.default.object, import_prop_types7.default.bool])), import_prop_types7.default.func, import_prop_types7.default.object]) } : void 0; var AlertTitle_default = AlertTitle; // node_modules/@mui/material/AppBar/AppBar.js init_extends(); var React14 = __toESM(require_react()); var import_prop_types8 = __toESM(require_prop_types()); // node_modules/@mui/material/AppBar/appBarClasses.js function getAppBarUtilityClass(slot) { return generateUtilityClass("MuiAppBar", slot); } var appBarClasses = generateUtilityClasses("MuiAppBar", ["root", "positionFixed", "positionAbsolute", "positionSticky", "positionStatic", "positionRelative", "colorDefault", "colorPrimary", "colorSecondary", "colorInherit", "colorTransparent", "colorError", "colorInfo", "colorSuccess", "colorWarning"]); var appBarClasses_default = appBarClasses; // node_modules/@mui/material/AppBar/AppBar.js var import_jsx_runtime16 = __toESM(require_jsx_runtime()); var _excluded10 = ["className", "color", "enableColorOnDark", "position"]; var useUtilityClasses8 = (ownerState) => { const { color, position, classes } = ownerState; const slots = { root: ["root", `color${capitalize_default(color)}`, `position${capitalize_default(position)}`] }; return composeClasses(slots, getAppBarUtilityClass, classes); }; var joinVars = (var1, var2) => var1 ? `${var1 == null ? void 0 : var1.replace(")", "")}, ${var2})` : var2; var AppBarRoot = styled_default(Paper_default, { name: "MuiAppBar", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[`position${capitalize_default(ownerState.position)}`], styles3[`color${capitalize_default(ownerState.color)}`]]; } })(({ theme, ownerState }) => { const backgroundColorDefault = theme.palette.mode === "light" ? theme.palette.grey[100] : theme.palette.grey[900]; return _extends({ display: "flex", flexDirection: "column", width: "100%", boxSizing: "border-box", // Prevent padding issue with the Modal and fixed positioned AppBar. flexShrink: 0 }, ownerState.position === "fixed" && { position: "fixed", zIndex: (theme.vars || theme).zIndex.appBar, top: 0, left: "auto", right: 0, "@media print": { // Prevent the app bar to be visible on each printed page. position: "absolute" } }, ownerState.position === "absolute" && { position: "absolute", zIndex: (theme.vars || theme).zIndex.appBar, top: 0, left: "auto", right: 0 }, ownerState.position === "sticky" && { // ⚠️ sticky is not supported by IE11. position: "sticky", zIndex: (theme.vars || theme).zIndex.appBar, top: 0, left: "auto", right: 0 }, ownerState.position === "static" && { position: "static" }, ownerState.position === "relative" && { position: "relative" }, !theme.vars && _extends({}, ownerState.color === "default" && { backgroundColor: backgroundColorDefault, color: theme.palette.getContrastText(backgroundColorDefault) }, ownerState.color && ownerState.color !== "default" && ownerState.color !== "inherit" && ownerState.color !== "transparent" && { backgroundColor: theme.palette[ownerState.color].main, color: theme.palette[ownerState.color].contrastText }, ownerState.color === "inherit" && { color: "inherit" }, theme.palette.mode === "dark" && !ownerState.enableColorOnDark && { backgroundColor: null, color: null }, ownerState.color === "transparent" && _extends({ backgroundColor: "transparent", color: "inherit" }, theme.palette.mode === "dark" && { backgroundImage: "none" })), theme.vars && _extends({}, ownerState.color === "default" && { "--AppBar-background": ownerState.enableColorOnDark ? theme.vars.palette.AppBar.defaultBg : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette.AppBar.defaultBg), "--AppBar-color": ownerState.enableColorOnDark ? theme.vars.palette.text.primary : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette.text.primary) }, ownerState.color && !ownerState.color.match(/^(default|inherit|transparent)$/) && { "--AppBar-background": ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].main : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette[ownerState.color].main), "--AppBar-color": ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].contrastText : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette[ownerState.color].contrastText) }, !["inherit", "transparent"].includes(ownerState.color) && { backgroundColor: "var(--AppBar-background)" }, { color: ownerState.color === "inherit" ? "inherit" : "var(--AppBar-color)" }, ownerState.color === "transparent" && { backgroundImage: "none", backgroundColor: "transparent", color: "inherit" })); }); var AppBar = React14.forwardRef(function AppBar2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAppBar" }); const { className, color = "primary", enableColorOnDark = false, position = "fixed" } = props, other = _objectWithoutPropertiesLoose(props, _excluded10); const ownerState = _extends({}, props, { color, position, enableColorOnDark }); const classes = useUtilityClasses8(ownerState); return (0, import_jsx_runtime16.jsx)(AppBarRoot, _extends({ square: true, component: "header", ownerState, elevation: 4, className: clsx_default(classes.root, className, position === "fixed" && "mui-fixed"), ref }, other)); }); true ? AppBar.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types8.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types8.default.object, /** * @ignore */ className: import_prop_types8.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'primary' */ color: import_prop_types8.default.oneOfType([import_prop_types8.default.oneOf(["default", "inherit", "primary", "secondary", "transparent", "error", "info", "success", "warning"]), import_prop_types8.default.string]), /** * If true, the `color` prop is applied in dark mode. * @default false */ enableColorOnDark: import_prop_types8.default.bool, /** * The positioning type. The behavior of the different options is described * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning). * Note: `sticky` is not universally supported and will fall back to `static` when unavailable. * @default 'fixed' */ position: import_prop_types8.default.oneOf(["absolute", "fixed", "relative", "static", "sticky"]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types8.default.oneOfType([import_prop_types8.default.arrayOf(import_prop_types8.default.oneOfType([import_prop_types8.default.func, import_prop_types8.default.object, import_prop_types8.default.bool])), import_prop_types8.default.func, import_prop_types8.default.object]) } : void 0; var AppBar_default = AppBar; // node_modules/@mui/material/Autocomplete/Autocomplete.js init_extends(); var React17 = __toESM(require_react()); var import_prop_types10 = __toESM(require_prop_types()); var import_colorManipulator2 = __toESM(require_colorManipulator()); // node_modules/@mui/material/useAutocomplete/useAutocomplete.js init_extends(); var React15 = __toESM(require_react()); function stripDiacritics(string) { return typeof string.normalize !== "undefined" ? string.normalize("NFD").replace(/[\u0300-\u036f]/g, "") : string; } function createFilterOptions(config = {}) { const { ignoreAccents = true, ignoreCase = true, limit, matchFrom = "any", stringify, trim = false } = config; return (options, { inputValue, getOptionLabel }) => { let input = trim ? inputValue.trim() : inputValue; if (ignoreCase) { input = input.toLowerCase(); } if (ignoreAccents) { input = stripDiacritics(input); } const filteredOptions = !input ? options : options.filter((option) => { let candidate = (stringify || getOptionLabel)(option); if (ignoreCase) { candidate = candidate.toLowerCase(); } if (ignoreAccents) { candidate = stripDiacritics(candidate); } return matchFrom === "start" ? candidate.indexOf(input) === 0 : candidate.indexOf(input) > -1; }); return typeof limit === "number" ? filteredOptions.slice(0, limit) : filteredOptions; }; } function findIndex(array, comp) { for (let i = 0; i < array.length; i += 1) { if (comp(array[i])) { return i; } } return -1; } var defaultFilterOptions = createFilterOptions(); var pageSize = 5; var defaultIsActiveElementInListbox = (listboxRef) => { var _listboxRef$current$p; return listboxRef.current !== null && ((_listboxRef$current$p = listboxRef.current.parentElement) == null ? void 0 : _listboxRef$current$p.contains(document.activeElement)); }; var MULTIPLE_DEFAULT_VALUE = []; function useAutocomplete(props) { const { // eslint-disable-next-line @typescript-eslint/naming-convention unstable_isActiveElementInListbox = defaultIsActiveElementInListbox, // eslint-disable-next-line @typescript-eslint/naming-convention unstable_classNamePrefix = "Mui", autoComplete = false, autoHighlight = false, autoSelect = false, blurOnSelect = false, clearOnBlur = !props.freeSolo, clearOnEscape = false, componentName = "useAutocomplete", defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null, disableClearable = false, disableCloseOnSelect = false, disabled: disabledProp, disabledItemsFocusable = false, disableListWrap = false, filterOptions = defaultFilterOptions, filterSelectedOptions = false, freeSolo = false, getOptionDisabled, getOptionKey, getOptionLabel: getOptionLabelProp = (option) => { var _option$label; return (_option$label = option.label) != null ? _option$label : option; }, groupBy, handleHomeEndKeys = !props.freeSolo, id: idProp, includeInputInList = false, inputValue: inputValueProp, isOptionEqualToValue = (option, value2) => option === value2, multiple = false, onChange, onClose, onHighlightChange, onInputChange, onOpen, open: openProp, openOnFocus = false, options, readOnly = false, selectOnFocus = !props.freeSolo, value: valueProp } = props; const id = useId(idProp); let getOptionLabel = getOptionLabelProp; getOptionLabel = (option) => { const optionLabel = getOptionLabelProp(option); if (typeof optionLabel !== "string") { if (true) { const erroneousReturn = optionLabel === void 0 ? "undefined" : `${typeof optionLabel} (${optionLabel})`; console.error(`MUI: The \`getOptionLabel\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`); } return String(optionLabel); } return optionLabel; }; const ignoreFocus = React15.useRef(false); const firstFocus = React15.useRef(true); const inputRef = React15.useRef(null); const listboxRef = React15.useRef(null); const [anchorEl, setAnchorEl] = React15.useState(null); const [focusedTag, setFocusedTag] = React15.useState(-1); const defaultHighlighted = autoHighlight ? 0 : -1; const highlightedIndexRef = React15.useRef(defaultHighlighted); const [value, setValueState] = useControlled({ controlled: valueProp, default: defaultValue, name: componentName }); const [inputValue, setInputValueState] = useControlled({ controlled: inputValueProp, default: "", name: componentName, state: "inputValue" }); const [focused, setFocused] = React15.useState(false); const resetInputValue = React15.useCallback((event, newValue) => { const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null; if (!isOptionSelected && !clearOnBlur) { return; } let newInputValue; if (multiple) { newInputValue = ""; } else if (newValue == null) { newInputValue = ""; } else { const optionLabel = getOptionLabel(newValue); newInputValue = typeof optionLabel === "string" ? optionLabel : ""; } if (inputValue === newInputValue) { return; } setInputValueState(newInputValue); if (onInputChange) { onInputChange(event, newInputValue, "reset"); } }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]); const [open, setOpenState] = useControlled({ controlled: openProp, default: false, name: componentName, state: "open" }); const [inputPristine, setInputPristine] = React15.useState(true); const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value); const popupOpen = open && !readOnly; const filteredOptions = popupOpen ? filterOptions( options.filter((option) => { if (filterSelectedOptions && (multiple ? value : [value]).some((value2) => value2 !== null && isOptionEqualToValue(option, value2))) { return false; } return true; }), // we use the empty string to manipulate `filterOptions` to not filter any options // i.e. the filter predicate always returns true { inputValue: inputValueIsSelectedValue && inputPristine ? "" : inputValue, getOptionLabel } ) : []; const previousProps = usePreviousProps_default({ filteredOptions, value, inputValue }); React15.useEffect(() => { const valueChange = value !== previousProps.value; if (focused && !valueChange) { return; } if (freeSolo && !valueChange) { return; } resetInputValue(null, value); }, [value, resetInputValue, focused, previousProps.value, freeSolo]); const listboxAvailable = open && filteredOptions.length > 0 && !readOnly; if (true) { if (value !== null && !freeSolo && options.length > 0) { const missingValue = (multiple ? value : [value]).filter((value2) => !options.some((option) => isOptionEqualToValue(option, value2))); if (missingValue.length > 0) { console.warn([`MUI: The value provided to ${componentName} is invalid.`, `None of the options match with \`${missingValue.length > 1 ? JSON.stringify(missingValue) : JSON.stringify(missingValue[0])}\`.`, "You can use the `isOptionEqualToValue` prop to customize the equality test."].join("\n")); } } } const focusTag = useEventCallback_default((tagToFocus) => { if (tagToFocus === -1) { inputRef.current.focus(); } else { anchorEl.querySelector(`[data-tag-index="${tagToFocus}"]`).focus(); } }); React15.useEffect(() => { if (multiple && focusedTag > value.length - 1) { setFocusedTag(-1); focusTag(-1); } }, [value, multiple, focusedTag, focusTag]); function validOptionIndex(index, direction) { if (!listboxRef.current || index < 0 || index >= filteredOptions.length) { return -1; } let nextFocus = index; while (true) { const option = listboxRef.current.querySelector(`[data-option-index="${nextFocus}"]`); const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute("aria-disabled") === "true"; if (option && option.hasAttribute("tabindex") && !nextFocusDisabled) { return nextFocus; } if (direction === "next") { nextFocus = (nextFocus + 1) % filteredOptions.length; } else { nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length; } if (nextFocus === index) { return -1; } } } const setHighlightedIndex = useEventCallback_default(({ event, index, reason = "auto" }) => { highlightedIndexRef.current = index; if (index === -1) { inputRef.current.removeAttribute("aria-activedescendant"); } else { inputRef.current.setAttribute("aria-activedescendant", `${id}-option-${index}`); } if (onHighlightChange) { onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason); } if (!listboxRef.current) { return; } const prev = listboxRef.current.querySelector(`[role="option"].${unstable_classNamePrefix}-focused`); if (prev) { prev.classList.remove(`${unstable_classNamePrefix}-focused`); prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`); } let listboxNode = listboxRef.current; if (listboxRef.current.getAttribute("role") !== "listbox") { listboxNode = listboxRef.current.parentElement.querySelector('[role="listbox"]'); } if (!listboxNode) { return; } if (index === -1) { listboxNode.scrollTop = 0; return; } const option = listboxRef.current.querySelector(`[data-option-index="${index}"]`); if (!option) { return; } option.classList.add(`${unstable_classNamePrefix}-focused`); if (reason === "keyboard") { option.classList.add(`${unstable_classNamePrefix}-focusVisible`); } if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== "mouse" && reason !== "touch") { const element = option; const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop; const elementBottom = element.offsetTop + element.offsetHeight; if (elementBottom > scrollBottom) { listboxNode.scrollTop = elementBottom - listboxNode.clientHeight; } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) { listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0); } } }); const changeHighlightedIndex = useEventCallback_default(({ event, diff, direction = "next", reason = "auto" }) => { if (!popupOpen) { return; } const getNextIndex = () => { const maxIndex = filteredOptions.length - 1; if (diff === "reset") { return defaultHighlighted; } if (diff === "start") { return 0; } if (diff === "end") { return maxIndex; } const newIndex = highlightedIndexRef.current + diff; if (newIndex < 0) { if (newIndex === -1 && includeInputInList) { return -1; } if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) { return 0; } return maxIndex; } if (newIndex > maxIndex) { if (newIndex === maxIndex + 1 && includeInputInList) { return -1; } if (disableListWrap || Math.abs(diff) > 1) { return maxIndex; } return 0; } return newIndex; }; const nextIndex = validOptionIndex(getNextIndex(), direction); setHighlightedIndex({ index: nextIndex, reason, event }); if (autoComplete && diff !== "reset") { if (nextIndex === -1) { inputRef.current.value = inputValue; } else { const option = getOptionLabel(filteredOptions[nextIndex]); inputRef.current.value = option; const index = option.toLowerCase().indexOf(inputValue.toLowerCase()); if (index === 0 && inputValue.length > 0) { inputRef.current.setSelectionRange(inputValue.length, option.length); } } } }); const getPreviousHighlightedOptionIndex = () => { const isSameValue = (value1, value2) => { const label1 = value1 ? getOptionLabel(value1) : ""; const label2 = value2 ? getOptionLabel(value2) : ""; return label1 === label2; }; if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) { const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current]; if (previousHighlightedOption) { return findIndex(filteredOptions, (option) => { return getOptionLabel(option) === getOptionLabel(previousHighlightedOption); }); } } return -1; }; const syncHighlightedIndex = React15.useCallback(() => { if (!popupOpen) { return; } const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex(); if (previousHighlightedOptionIndex !== -1) { highlightedIndexRef.current = previousHighlightedOptionIndex; return; } const valueItem = multiple ? value[0] : value; if (filteredOptions.length === 0 || valueItem == null) { changeHighlightedIndex({ diff: "reset" }); return; } if (!listboxRef.current) { return; } if (valueItem != null) { const currentOption = filteredOptions[highlightedIndexRef.current]; if (multiple && currentOption && findIndex(value, (val) => isOptionEqualToValue(currentOption, val)) !== -1) { return; } const itemIndex = findIndex(filteredOptions, (optionItem) => isOptionEqualToValue(optionItem, valueItem)); if (itemIndex === -1) { changeHighlightedIndex({ diff: "reset" }); } else { setHighlightedIndex({ index: itemIndex }); } return; } if (highlightedIndexRef.current >= filteredOptions.length - 1) { setHighlightedIndex({ index: filteredOptions.length - 1 }); return; } setHighlightedIndex({ index: highlightedIndexRef.current }); }, [ // Only sync the highlighted index when the option switch between empty and not filteredOptions.length, // Don't sync the highlighted index with the value when multiple // eslint-disable-next-line react-hooks/exhaustive-deps multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple ]); const handleListboxRef = useEventCallback_default((node) => { setRef(listboxRef, node); if (!node) { return; } syncHighlightedIndex(); }); if (true) { React15.useEffect(() => { if (!inputRef.current || inputRef.current.nodeName !== "INPUT") { if (inputRef.current && inputRef.current.nodeName === "TEXTAREA") { console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (for example enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join("\n")); } else { console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, "", componentName === "useAutocomplete" ? "Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed." : "Make sure you have customized the input component correctly."].join("\n")); } } }, [componentName]); } React15.useEffect(() => { syncHighlightedIndex(); }, [syncHighlightedIndex]); const handleOpen = (event) => { if (open) { return; } setOpenState(true); setInputPristine(true); if (onOpen) { onOpen(event); } }; const handleClose = (event, reason) => { if (!open) { return; } setOpenState(false); if (onClose) { onClose(event, reason); } }; const handleValue = (event, newValue, reason, details) => { if (multiple) { if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) { return; } } else if (value === newValue) { return; } if (onChange) { onChange(event, newValue, reason, details); } setValueState(newValue); }; const isTouch = React15.useRef(false); const selectNewValue = (event, option, reasonProp = "selectOption", origin = "options") => { let reason = reasonProp; let newValue = option; if (multiple) { newValue = Array.isArray(value) ? value.slice() : []; if (true) { const matches = newValue.filter((val) => isOptionEqualToValue(option, val)); if (matches.length > 1) { console.error([`MUI: The \`isOptionEqualToValue\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join("\n")); } } const itemIndex = findIndex(newValue, (valueItem) => isOptionEqualToValue(option, valueItem)); if (itemIndex === -1) { newValue.push(option); } else if (origin !== "freeSolo") { newValue.splice(itemIndex, 1); reason = "removeOption"; } } resetInputValue(event, newValue); handleValue(event, newValue, reason, { option }); if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) { handleClose(event, reason); } if (blurOnSelect === true || blurOnSelect === "touch" && isTouch.current || blurOnSelect === "mouse" && !isTouch.current) { inputRef.current.blur(); } }; function validTagIndex(index, direction) { if (index === -1) { return -1; } let nextFocus = index; while (true) { if (direction === "next" && nextFocus === value.length || direction === "previous" && nextFocus === -1) { return -1; } const option = anchorEl.querySelector(`[data-tag-index="${nextFocus}"]`); if (!option || !option.hasAttribute("tabindex") || option.disabled || option.getAttribute("aria-disabled") === "true") { nextFocus += direction === "next" ? 1 : -1; } else { return nextFocus; } } } const handleFocusTag = (event, direction) => { if (!multiple) { return; } if (inputValue === "") { handleClose(event, "toggleInput"); } let nextTag = focusedTag; if (focusedTag === -1) { if (inputValue === "" && direction === "previous") { nextTag = value.length - 1; } } else { nextTag += direction === "next" ? 1 : -1; if (nextTag < 0) { nextTag = 0; } if (nextTag === value.length) { nextTag = -1; } } nextTag = validTagIndex(nextTag, direction); setFocusedTag(nextTag); focusTag(nextTag); }; const handleClear = (event) => { ignoreFocus.current = true; setInputValueState(""); if (onInputChange) { onInputChange(event, "", "clear"); } handleValue(event, multiple ? [] : null, "clear"); }; const handleKeyDown = (other) => (event) => { if (other.onKeyDown) { other.onKeyDown(event); } if (event.defaultMuiPrevented) { return; } if (focusedTag !== -1 && ["ArrowLeft", "ArrowRight"].indexOf(event.key) === -1) { setFocusedTag(-1); focusTag(-1); } if (event.which !== 229) { switch (event.key) { case "Home": if (popupOpen && handleHomeEndKeys) { event.preventDefault(); changeHighlightedIndex({ diff: "start", direction: "next", reason: "keyboard", event }); } break; case "End": if (popupOpen && handleHomeEndKeys) { event.preventDefault(); changeHighlightedIndex({ diff: "end", direction: "previous", reason: "keyboard", event }); } break; case "PageUp": event.preventDefault(); changeHighlightedIndex({ diff: -pageSize, direction: "previous", reason: "keyboard", event }); handleOpen(event); break; case "PageDown": event.preventDefault(); changeHighlightedIndex({ diff: pageSize, direction: "next", reason: "keyboard", event }); handleOpen(event); break; case "ArrowDown": event.preventDefault(); changeHighlightedIndex({ diff: 1, direction: "next", reason: "keyboard", event }); handleOpen(event); break; case "ArrowUp": event.preventDefault(); changeHighlightedIndex({ diff: -1, direction: "previous", reason: "keyboard", event }); handleOpen(event); break; case "ArrowLeft": handleFocusTag(event, "previous"); break; case "ArrowRight": handleFocusTag(event, "next"); break; case "Enter": if (highlightedIndexRef.current !== -1 && popupOpen) { const option = filteredOptions[highlightedIndexRef.current]; const disabled = getOptionDisabled ? getOptionDisabled(option) : false; event.preventDefault(); if (disabled) { return; } selectNewValue(event, option, "selectOption"); if (autoComplete) { inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length); } } else if (freeSolo && inputValue !== "" && inputValueIsSelectedValue === false) { if (multiple) { event.preventDefault(); } selectNewValue(event, inputValue, "createOption", "freeSolo"); } break; case "Escape": if (popupOpen) { event.preventDefault(); event.stopPropagation(); handleClose(event, "escape"); } else if (clearOnEscape && (inputValue !== "" || multiple && value.length > 0)) { event.preventDefault(); event.stopPropagation(); handleClear(event); } break; case "Backspace": if (multiple && !readOnly && inputValue === "" && value.length > 0) { const index = focusedTag === -1 ? value.length - 1 : focusedTag; const newValue = value.slice(); newValue.splice(index, 1); handleValue(event, newValue, "removeOption", { option: value[index] }); } break; case "Delete": if (multiple && !readOnly && inputValue === "" && value.length > 0 && focusedTag !== -1) { const index = focusedTag; const newValue = value.slice(); newValue.splice(index, 1); handleValue(event, newValue, "removeOption", { option: value[index] }); } break; default: } } }; const handleFocus = (event) => { setFocused(true); if (openOnFocus && !ignoreFocus.current) { handleOpen(event); } }; const handleBlur = (event) => { if (unstable_isActiveElementInListbox(listboxRef)) { inputRef.current.focus(); return; } setFocused(false); firstFocus.current = true; ignoreFocus.current = false; if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) { selectNewValue(event, filteredOptions[highlightedIndexRef.current], "blur"); } else if (autoSelect && freeSolo && inputValue !== "") { selectNewValue(event, inputValue, "blur", "freeSolo"); } else if (clearOnBlur) { resetInputValue(event, value); } handleClose(event, "blur"); }; const handleInputChange = (event) => { const newValue = event.target.value; if (inputValue !== newValue) { setInputValueState(newValue); setInputPristine(false); if (onInputChange) { onInputChange(event, newValue, "input"); } } if (newValue === "") { if (!disableClearable && !multiple) { handleValue(event, null, "clear"); } } else { handleOpen(event); } }; const handleOptionMouseMove = (event) => { const index = Number(event.currentTarget.getAttribute("data-option-index")); if (highlightedIndexRef.current !== index) { setHighlightedIndex({ event, index, reason: "mouse" }); } }; const handleOptionTouchStart = (event) => { setHighlightedIndex({ event, index: Number(event.currentTarget.getAttribute("data-option-index")), reason: "touch" }); isTouch.current = true; }; const handleOptionClick = (event) => { const index = Number(event.currentTarget.getAttribute("data-option-index")); selectNewValue(event, filteredOptions[index], "selectOption"); isTouch.current = false; }; const handleTagDelete = (index) => (event) => { const newValue = value.slice(); newValue.splice(index, 1); handleValue(event, newValue, "removeOption", { option: value[index] }); }; const handlePopupIndicator = (event) => { if (open) { handleClose(event, "toggleInput"); } else { handleOpen(event); } }; const handleMouseDown = (event) => { if (!event.currentTarget.contains(event.target)) { return; } if (event.target.getAttribute("id") !== id) { event.preventDefault(); } }; const handleClick = (event) => { if (!event.currentTarget.contains(event.target)) { return; } inputRef.current.focus(); if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) { inputRef.current.select(); } firstFocus.current = false; }; const handleInputMouseDown = (event) => { if (!disabledProp && (inputValue === "" || !open)) { handlePopupIndicator(event); } }; let dirty = freeSolo && inputValue.length > 0; dirty = dirty || (multiple ? value.length > 0 : value !== null); let groupedOptions = filteredOptions; if (groupBy) { const indexBy = /* @__PURE__ */ new Map(); let warn = false; groupedOptions = filteredOptions.reduce((acc, option, index) => { const group = groupBy(option); if (acc.length > 0 && acc[acc.length - 1].group === group) { acc[acc.length - 1].options.push(option); } else { if (true) { if (indexBy.get(group) && !warn) { console.warn(`MUI: The options provided combined with the \`groupBy\` method of ${componentName} returns duplicated headers.`, "You can solve the issue by sorting the options with the output of `groupBy`."); warn = true; } indexBy.set(group, true); } acc.push({ key: index, index, group, options: [option] }); } return acc; }, []); } if (disabledProp && focused) { handleBlur(); } return { getRootProps: (other = {}) => _extends({ "aria-owns": listboxAvailable ? `${id}-listbox` : null }, other, { onKeyDown: handleKeyDown(other), onMouseDown: handleMouseDown, onClick: handleClick }), getInputLabelProps: () => ({ id: `${id}-label`, htmlFor: id }), getInputProps: () => ({ id, value: inputValue, onBlur: handleBlur, onFocus: handleFocus, onChange: handleInputChange, onMouseDown: handleInputMouseDown, // if open then this is handled imperatively so don't let react override // only have an opinion about this when closed "aria-activedescendant": popupOpen ? "" : null, "aria-autocomplete": autoComplete ? "both" : "list", "aria-controls": listboxAvailable ? `${id}-listbox` : void 0, "aria-expanded": listboxAvailable, // Disable browser's suggestion that might overlap with the popup. // Handle autocomplete but not autofill. autoComplete: "off", ref: inputRef, autoCapitalize: "none", spellCheck: "false", role: "combobox", disabled: disabledProp }), getClearProps: () => ({ tabIndex: -1, type: "button", onClick: handleClear }), getPopupIndicatorProps: () => ({ tabIndex: -1, type: "button", onClick: handlePopupIndicator }), getTagProps: ({ index }) => _extends({ key: index, "data-tag-index": index, tabIndex: -1 }, !readOnly && { onDelete: handleTagDelete(index) }), getListboxProps: () => ({ role: "listbox", id: `${id}-listbox`, "aria-labelledby": `${id}-label`, ref: handleListboxRef, onMouseDown: (event) => { event.preventDefault(); } }), getOptionProps: ({ index, option }) => { var _getOptionKey; const selected = (multiple ? value : [value]).some((value2) => value2 != null && isOptionEqualToValue(option, value2)); const disabled = getOptionDisabled ? getOptionDisabled(option) : false; return { key: (_getOptionKey = getOptionKey == null ? void 0 : getOptionKey(option)) != null ? _getOptionKey : getOptionLabel(option), tabIndex: -1, role: "option", id: `${id}-option-${index}`, onMouseMove: handleOptionMouseMove, onClick: handleOptionClick, onTouchStart: handleOptionTouchStart, "data-option-index": index, "aria-disabled": disabled, "aria-selected": selected }; }, id, inputValue, value, dirty, expanded: popupOpen && anchorEl, popupOpen, focused: focused || focusedTag !== -1, anchorEl, setAnchorEl, focusedTag, groupedOptions }; } var useAutocomplete_default = useAutocomplete; // node_modules/@mui/material/ListSubheader/ListSubheader.js init_extends(); var React16 = __toESM(require_react()); var import_prop_types9 = __toESM(require_prop_types()); // node_modules/@mui/material/ListSubheader/listSubheaderClasses.js function getListSubheaderUtilityClass(slot) { return generateUtilityClass("MuiListSubheader", slot); } var listSubheaderClasses = generateUtilityClasses("MuiListSubheader", ["root", "colorPrimary", "colorInherit", "gutters", "inset", "sticky"]); var listSubheaderClasses_default = listSubheaderClasses; // node_modules/@mui/material/ListSubheader/ListSubheader.js var import_jsx_runtime17 = __toESM(require_jsx_runtime()); var _excluded11 = ["className", "color", "component", "disableGutters", "disableSticky", "inset"]; var useUtilityClasses9 = (ownerState) => { const { classes, color, disableGutters, inset, disableSticky } = ownerState; const slots = { root: ["root", color !== "default" && `color${capitalize_default(color)}`, !disableGutters && "gutters", inset && "inset", !disableSticky && "sticky"] }; return composeClasses(slots, getListSubheaderUtilityClass, classes); }; var ListSubheaderRoot = styled_default("li", { name: "MuiListSubheader", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.color !== "default" && styles3[`color${capitalize_default(ownerState.color)}`], !ownerState.disableGutters && styles3.gutters, ownerState.inset && styles3.inset, !ownerState.disableSticky && styles3.sticky]; } })(({ theme, ownerState }) => _extends({ boxSizing: "border-box", lineHeight: "48px", listStyle: "none", color: (theme.vars || theme).palette.text.secondary, fontFamily: theme.typography.fontFamily, fontWeight: theme.typography.fontWeightMedium, fontSize: theme.typography.pxToRem(14) }, ownerState.color === "primary" && { color: (theme.vars || theme).palette.primary.main }, ownerState.color === "inherit" && { color: "inherit" }, !ownerState.disableGutters && { paddingLeft: 16, paddingRight: 16 }, ownerState.inset && { paddingLeft: 72 }, !ownerState.disableSticky && { position: "sticky", top: 0, zIndex: 1, backgroundColor: (theme.vars || theme).palette.background.paper })); var ListSubheader = React16.forwardRef(function ListSubheader2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiListSubheader" }); const { className, color = "default", component = "li", disableGutters = false, disableSticky = false, inset = false } = props, other = _objectWithoutPropertiesLoose(props, _excluded11); const ownerState = _extends({}, props, { color, component, disableGutters, disableSticky, inset }); const classes = useUtilityClasses9(ownerState); return (0, import_jsx_runtime17.jsx)(ListSubheaderRoot, _extends({ as: component, className: clsx_default(classes.root, className), ref, ownerState }, other)); }); ListSubheader.muiSkipListHighlight = true; true ? ListSubheader.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types9.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types9.default.object, /** * @ignore */ className: import_prop_types9.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. * @default 'default' */ color: import_prop_types9.default.oneOf(["default", "inherit", "primary"]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types9.default.elementType, /** * If `true`, the List Subheader will not have gutters. * @default false */ disableGutters: import_prop_types9.default.bool, /** * If `true`, the List Subheader will not stick to the top during scroll. * @default false */ disableSticky: import_prop_types9.default.bool, /** * If `true`, the List Subheader is indented. * @default false */ inset: import_prop_types9.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types9.default.oneOfType([import_prop_types9.default.arrayOf(import_prop_types9.default.oneOfType([import_prop_types9.default.func, import_prop_types9.default.object, import_prop_types9.default.bool])), import_prop_types9.default.func, import_prop_types9.default.object]) } : void 0; var ListSubheader_default = ListSubheader; // node_modules/@mui/material/Autocomplete/autocompleteClasses.js function getAutocompleteUtilityClass(slot) { return generateUtilityClass("MuiAutocomplete", slot); } var autocompleteClasses = generateUtilityClasses("MuiAutocomplete", ["root", "expanded", "fullWidth", "focused", "focusVisible", "tag", "tagSizeSmall", "tagSizeMedium", "hasPopupIcon", "hasClearIcon", "inputRoot", "input", "inputFocused", "endAdornment", "clearIndicator", "popupIndicator", "popupIndicatorOpen", "popper", "popperDisablePortal", "paper", "listbox", "loading", "noOptions", "option", "groupLabel", "groupUl"]); var autocompleteClasses_default = autocompleteClasses; // node_modules/@mui/material/Autocomplete/Autocomplete.js var import_jsx_runtime18 = __toESM(require_jsx_runtime()); var import_jsx_runtime19 = __toESM(require_jsx_runtime()); var _ClearIcon; var _ArrowDropDownIcon; var _excluded12 = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionKey", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"]; var _excluded23 = ["ref"]; var _excluded32 = ["key"]; var _excluded42 = ["key"]; var useUtilityClasses10 = (ownerState) => { const { classes, disablePortal, expanded, focused, fullWidth, hasClearIcon, hasPopupIcon, inputFocused, popupOpen, size } = ownerState; const slots = { root: ["root", expanded && "expanded", focused && "focused", fullWidth && "fullWidth", hasClearIcon && "hasClearIcon", hasPopupIcon && "hasPopupIcon"], inputRoot: ["inputRoot"], input: ["input", inputFocused && "inputFocused"], tag: ["tag", `tagSize${capitalize_default(size)}`], endAdornment: ["endAdornment"], clearIndicator: ["clearIndicator"], popupIndicator: ["popupIndicator", popupOpen && "popupIndicatorOpen"], popper: ["popper", disablePortal && "popperDisablePortal"], paper: ["paper"], listbox: ["listbox"], loading: ["loading"], noOptions: ["noOptions"], option: ["option"], groupLabel: ["groupLabel"], groupUl: ["groupUl"] }; return composeClasses(slots, getAutocompleteUtilityClass, classes); }; var AutocompleteRoot = styled_default("div", { name: "MuiAutocomplete", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; const { fullWidth, hasClearIcon, hasPopupIcon, inputFocused, size } = ownerState; return [{ [`& .${autocompleteClasses_default.tag}`]: styles3.tag }, { [`& .${autocompleteClasses_default.tag}`]: styles3[`tagSize${capitalize_default(size)}`] }, { [`& .${autocompleteClasses_default.inputRoot}`]: styles3.inputRoot }, { [`& .${autocompleteClasses_default.input}`]: styles3.input }, { [`& .${autocompleteClasses_default.input}`]: inputFocused && styles3.inputFocused }, styles3.root, fullWidth && styles3.fullWidth, hasPopupIcon && styles3.hasPopupIcon, hasClearIcon && styles3.hasClearIcon]; } })({ [`&.${autocompleteClasses_default.focused} .${autocompleteClasses_default.clearIndicator}`]: { visibility: "visible" }, /* Avoid double tap issue on iOS */ "@media (pointer: fine)": { [`&:hover .${autocompleteClasses_default.clearIndicator}`]: { visibility: "visible" } }, [`& .${autocompleteClasses_default.tag}`]: { margin: 3, maxWidth: "calc(100% - 6px)" }, [`& .${autocompleteClasses_default.inputRoot}`]: { [`.${autocompleteClasses_default.hasPopupIcon}&, .${autocompleteClasses_default.hasClearIcon}&`]: { paddingRight: 26 + 4 }, [`.${autocompleteClasses_default.hasPopupIcon}.${autocompleteClasses_default.hasClearIcon}&`]: { paddingRight: 52 + 4 }, [`& .${autocompleteClasses_default.input}`]: { width: 0, minWidth: 30 } }, [`& .${inputClasses_default.root}`]: { paddingBottom: 1, "& .MuiInput-input": { padding: "4px 4px 4px 0px" } }, [`& .${inputClasses_default.root}.${inputBaseClasses_default.sizeSmall}`]: { [`& .${inputClasses_default.input}`]: { padding: "2px 4px 3px 0" } }, [`& .${outlinedInputClasses_default.root}`]: { padding: 9, [`.${autocompleteClasses_default.hasPopupIcon}&, .${autocompleteClasses_default.hasClearIcon}&`]: { paddingRight: 26 + 4 + 9 }, [`.${autocompleteClasses_default.hasPopupIcon}.${autocompleteClasses_default.hasClearIcon}&`]: { paddingRight: 52 + 4 + 9 }, [`& .${autocompleteClasses_default.input}`]: { padding: "7.5px 4px 7.5px 5px" }, [`& .${autocompleteClasses_default.endAdornment}`]: { right: 9 } }, [`& .${outlinedInputClasses_default.root}.${inputBaseClasses_default.sizeSmall}`]: { // Don't specify paddingRight, as it overrides the default value set when there is only // one of the popup or clear icon as the specificity is equal so the latter one wins paddingTop: 6, paddingBottom: 6, paddingLeft: 6, [`& .${autocompleteClasses_default.input}`]: { padding: "2.5px 4px 2.5px 8px" } }, [`& .${filledInputClasses_default.root}`]: { paddingTop: 19, paddingLeft: 8, [`.${autocompleteClasses_default.hasPopupIcon}&, .${autocompleteClasses_default.hasClearIcon}&`]: { paddingRight: 26 + 4 + 9 }, [`.${autocompleteClasses_default.hasPopupIcon}.${autocompleteClasses_default.hasClearIcon}&`]: { paddingRight: 52 + 4 + 9 }, [`& .${filledInputClasses_default.input}`]: { padding: "7px 4px" }, [`& .${autocompleteClasses_default.endAdornment}`]: { right: 9 } }, [`& .${filledInputClasses_default.root}.${inputBaseClasses_default.sizeSmall}`]: { paddingBottom: 1, [`& .${filledInputClasses_default.input}`]: { padding: "2.5px 4px" } }, [`& .${inputBaseClasses_default.hiddenLabel}`]: { paddingTop: 8 }, [`& .${filledInputClasses_default.root}.${inputBaseClasses_default.hiddenLabel}`]: { paddingTop: 0, paddingBottom: 0, [`& .${autocompleteClasses_default.input}`]: { paddingTop: 16, paddingBottom: 17 } }, [`& .${filledInputClasses_default.root}.${inputBaseClasses_default.hiddenLabel}.${inputBaseClasses_default.sizeSmall}`]: { [`& .${autocompleteClasses_default.input}`]: { paddingTop: 8, paddingBottom: 9 } }, [`& .${autocompleteClasses_default.input}`]: { flexGrow: 1, textOverflow: "ellipsis", opacity: 0 }, variants: [{ props: { fullWidth: true }, style: { width: "100%" } }, { props: { size: "small" }, style: { [`& .${autocompleteClasses_default.tag}`]: { margin: 2, maxWidth: "calc(100% - 4px)" } } }, { props: { inputFocused: true }, style: { [`& .${autocompleteClasses_default.input}`]: { opacity: 1 } } }, { props: { multiple: true }, style: { [`& .${autocompleteClasses_default.inputRoot}`]: { flexWrap: "wrap" } } }] }); var AutocompleteEndAdornment = styled_default("div", { name: "MuiAutocomplete", slot: "EndAdornment", overridesResolver: (props, styles3) => styles3.endAdornment })({ // We use a position absolute to support wrapping tags. position: "absolute", right: 0, top: "50%", transform: "translate(0, -50%)" }); var AutocompleteClearIndicator = styled_default(IconButton_default, { name: "MuiAutocomplete", slot: "ClearIndicator", overridesResolver: (props, styles3) => styles3.clearIndicator })({ marginRight: -2, padding: 4, visibility: "hidden" }); var AutocompletePopupIndicator = styled_default(IconButton_default, { name: "MuiAutocomplete", slot: "PopupIndicator", overridesResolver: ({ ownerState }, styles3) => _extends({}, styles3.popupIndicator, ownerState.popupOpen && styles3.popupIndicatorOpen) })({ padding: 2, marginRight: -2, variants: [{ props: { popupOpen: true }, style: { transform: "rotate(180deg)" } }] }); var AutocompletePopper = styled_default(Popper_default, { name: "MuiAutocomplete", slot: "Popper", overridesResolver: (props, styles3) => { const { ownerState } = props; return [{ [`& .${autocompleteClasses_default.option}`]: styles3.option }, styles3.popper, ownerState.disablePortal && styles3.popperDisablePortal]; } })(({ theme }) => ({ zIndex: (theme.vars || theme).zIndex.modal, variants: [{ props: { disablePortal: true }, style: { position: "absolute" } }] })); var AutocompletePaper = styled_default(Paper_default, { name: "MuiAutocomplete", slot: "Paper", overridesResolver: (props, styles3) => styles3.paper })(({ theme }) => _extends({}, theme.typography.body1, { overflow: "auto" })); var AutocompleteLoading = styled_default("div", { name: "MuiAutocomplete", slot: "Loading", overridesResolver: (props, styles3) => styles3.loading })(({ theme }) => ({ color: (theme.vars || theme).palette.text.secondary, padding: "14px 16px" })); var AutocompleteNoOptions = styled_default("div", { name: "MuiAutocomplete", slot: "NoOptions", overridesResolver: (props, styles3) => styles3.noOptions })(({ theme }) => ({ color: (theme.vars || theme).palette.text.secondary, padding: "14px 16px" })); var AutocompleteListbox = styled_default("div", { name: "MuiAutocomplete", slot: "Listbox", overridesResolver: (props, styles3) => styles3.listbox })(({ theme }) => ({ listStyle: "none", margin: 0, padding: "8px 0", maxHeight: "40vh", overflow: "auto", position: "relative", [`& .${autocompleteClasses_default.option}`]: { minHeight: 48, display: "flex", overflow: "hidden", justifyContent: "flex-start", alignItems: "center", cursor: "pointer", paddingTop: 6, boxSizing: "border-box", outline: "0", WebkitTapHighlightColor: "transparent", paddingBottom: 6, paddingLeft: 16, paddingRight: 16, [theme.breakpoints.up("sm")]: { minHeight: "auto" }, [`&.${autocompleteClasses_default.focused}`]: { backgroundColor: (theme.vars || theme).palette.action.hover, // Reset on touch devices, it doesn't add specificity "@media (hover: none)": { backgroundColor: "transparent" } }, '&[aria-disabled="true"]': { opacity: (theme.vars || theme).palette.action.disabledOpacity, pointerEvents: "none" }, [`&.${autocompleteClasses_default.focusVisible}`]: { backgroundColor: (theme.vars || theme).palette.action.focus }, '&[aria-selected="true"]': { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, import_colorManipulator2.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity), [`&.${autocompleteClasses_default.focused}`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0, import_colorManipulator2.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: (theme.vars || theme).palette.action.selected } }, [`&.${autocompleteClasses_default.focusVisible}`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, import_colorManipulator2.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity) } } } })); var AutocompleteGroupLabel = styled_default(ListSubheader_default, { name: "MuiAutocomplete", slot: "GroupLabel", overridesResolver: (props, styles3) => styles3.groupLabel })(({ theme }) => ({ backgroundColor: (theme.vars || theme).palette.background.paper, top: -8 })); var AutocompleteGroupUl = styled_default("ul", { name: "MuiAutocomplete", slot: "GroupUl", overridesResolver: (props, styles3) => styles3.groupUl })({ padding: 0, [`& .${autocompleteClasses_default.option}`]: { paddingLeft: 24 } }); var Autocomplete = React17.forwardRef(function Autocomplete2(inProps, ref) { var _slotProps$clearIndic, _slotProps$paper, _slotProps$popper, _slotProps$popupIndic; const props = useDefaultProps({ props: inProps, name: "MuiAutocomplete" }); const { autoComplete = false, autoHighlight = false, autoSelect = false, blurOnSelect = false, ChipProps, className, clearIcon = _ClearIcon || (_ClearIcon = (0, import_jsx_runtime18.jsx)(Close_default, { fontSize: "small" })), clearOnBlur = !props.freeSolo, clearOnEscape = false, clearText = "Clear", closeText = "Close", componentsProps = {}, defaultValue = props.multiple ? [] : null, disableClearable = false, disableCloseOnSelect = false, disabled = false, disabledItemsFocusable = false, disableListWrap = false, disablePortal = false, filterSelectedOptions = false, forcePopupIcon = "auto", freeSolo = false, fullWidth = false, getLimitTagsText = (more) => `+${more}`, getOptionLabel: getOptionLabelProp, groupBy, handleHomeEndKeys = !props.freeSolo, includeInputInList = false, limitTags = -1, ListboxComponent = "ul", ListboxProps, loading = false, loadingText = "Loading…", multiple = false, noOptionsText = "No options", openOnFocus = false, openText = "Open", PaperComponent = Paper_default, PopperComponent = Popper_default, popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = (0, import_jsx_runtime18.jsx)(ArrowDropDown_default, {})), readOnly = false, renderGroup: renderGroupProp, renderInput, renderOption: renderOptionProp, renderTags, selectOnFocus = !props.freeSolo, size = "medium", slotProps = {} } = props, other = _objectWithoutPropertiesLoose(props, _excluded12); const { getRootProps, getInputProps, getInputLabelProps, getPopupIndicatorProps, getClearProps, getTagProps, getListboxProps, getOptionProps, value, dirty, expanded, id, popupOpen, focused, focusedTag, anchorEl, setAnchorEl, inputValue, groupedOptions } = useAutocomplete_default(_extends({}, props, { componentName: "Autocomplete" })); const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly; const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false; const { onMouseDown: handleInputMouseDown } = getInputProps(); const { ref: externalListboxRef } = ListboxProps != null ? ListboxProps : {}; const _getListboxProps = getListboxProps(), { ref: listboxRef } = _getListboxProps, otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded23); const combinedListboxRef = useForkRef_default(listboxRef, externalListboxRef); const defaultGetOptionLabel = (option) => { var _option$label; return (_option$label = option.label) != null ? _option$label : option; }; const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel; const ownerState = _extends({}, props, { disablePortal, expanded, focused, fullWidth, getOptionLabel, hasClearIcon, hasPopupIcon, inputFocused: focusedTag === -1, popupOpen, size }); const classes = useUtilityClasses10(ownerState); let startAdornment; if (multiple && value.length > 0) { const getCustomizedTagProps = (params) => _extends({ className: classes.tag, disabled }, getTagProps(params)); if (renderTags) { startAdornment = renderTags(value, getCustomizedTagProps, ownerState); } else { startAdornment = value.map((option, index) => { const _getCustomizedTagProp = getCustomizedTagProps({ index }), { key } = _getCustomizedTagProp, customTagProps = _objectWithoutPropertiesLoose(_getCustomizedTagProp, _excluded32); return (0, import_jsx_runtime18.jsx)(Chip_default, _extends({ label: getOptionLabel(option), size }, customTagProps, ChipProps), key); }); } } if (limitTags > -1 && Array.isArray(startAdornment)) { const more = startAdornment.length - limitTags; if (!focused && more > 0) { startAdornment = startAdornment.splice(0, limitTags); startAdornment.push((0, import_jsx_runtime18.jsx)("span", { className: classes.tag, children: getLimitTagsText(more) }, startAdornment.length)); } } const defaultRenderGroup = (params) => (0, import_jsx_runtime19.jsxs)("li", { children: [(0, import_jsx_runtime18.jsx)(AutocompleteGroupLabel, { className: classes.groupLabel, ownerState, component: "div", children: params.group }), (0, import_jsx_runtime18.jsx)(AutocompleteGroupUl, { className: classes.groupUl, ownerState, children: params.children })] }, params.key); const renderGroup = renderGroupProp || defaultRenderGroup; const defaultRenderOption = (props2, option) => { const { key } = props2, otherProps = _objectWithoutPropertiesLoose(props2, _excluded42); return (0, import_jsx_runtime18.jsx)("li", _extends({}, otherProps, { children: getOptionLabel(option) }), key); }; const renderOption = renderOptionProp || defaultRenderOption; const renderListOption = (option, index) => { const optionProps = getOptionProps({ option, index }); return renderOption(_extends({}, optionProps, { className: classes.option }), option, { selected: optionProps["aria-selected"], index, inputValue }, ownerState); }; const clearIndicatorSlotProps = (_slotProps$clearIndic = slotProps.clearIndicator) != null ? _slotProps$clearIndic : componentsProps.clearIndicator; const paperSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : componentsProps.paper; const popperSlotProps = (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper; const popupIndicatorSlotProps = (_slotProps$popupIndic = slotProps.popupIndicator) != null ? _slotProps$popupIndic : componentsProps.popupIndicator; return (0, import_jsx_runtime19.jsxs)(React17.Fragment, { children: [(0, import_jsx_runtime18.jsx)(AutocompleteRoot, _extends({ ref, className: clsx_default(classes.root, className), ownerState }, getRootProps(other), { children: renderInput({ id, disabled, fullWidth: true, size: size === "small" ? "small" : void 0, InputLabelProps: getInputLabelProps(), InputProps: _extends({ ref: setAnchorEl, className: classes.inputRoot, startAdornment, onClick: (event) => { if (event.target === event.currentTarget) { handleInputMouseDown(event); } } }, (hasClearIcon || hasPopupIcon) && { endAdornment: (0, import_jsx_runtime19.jsxs)(AutocompleteEndAdornment, { className: classes.endAdornment, ownerState, children: [hasClearIcon ? (0, import_jsx_runtime18.jsx)(AutocompleteClearIndicator, _extends({}, getClearProps(), { "aria-label": clearText, title: clearText, ownerState }, clearIndicatorSlotProps, { className: clsx_default(classes.clearIndicator, clearIndicatorSlotProps == null ? void 0 : clearIndicatorSlotProps.className), children: clearIcon })) : null, hasPopupIcon ? (0, import_jsx_runtime18.jsx)(AutocompletePopupIndicator, _extends({}, getPopupIndicatorProps(), { disabled, "aria-label": popupOpen ? closeText : openText, title: popupOpen ? closeText : openText, ownerState }, popupIndicatorSlotProps, { className: clsx_default(classes.popupIndicator, popupIndicatorSlotProps == null ? void 0 : popupIndicatorSlotProps.className), children: popupIcon })) : null] }) }), inputProps: _extends({ className: classes.input, disabled, readOnly }, getInputProps()) }) })), anchorEl ? (0, import_jsx_runtime18.jsx)(AutocompletePopper, _extends({ as: PopperComponent, disablePortal, style: { width: anchorEl ? anchorEl.clientWidth : null }, ownerState, role: "presentation", anchorEl, open: popupOpen }, popperSlotProps, { className: clsx_default(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className), children: (0, import_jsx_runtime19.jsxs)(AutocompletePaper, _extends({ ownerState, as: PaperComponent }, paperSlotProps, { className: clsx_default(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className), children: [loading && groupedOptions.length === 0 ? (0, import_jsx_runtime18.jsx)(AutocompleteLoading, { className: classes.loading, ownerState, children: loadingText }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? (0, import_jsx_runtime18.jsx)(AutocompleteNoOptions, { className: classes.noOptions, ownerState, role: "presentation", onMouseDown: (event) => { event.preventDefault(); }, children: noOptionsText }) : null, groupedOptions.length > 0 ? (0, import_jsx_runtime18.jsx)(AutocompleteListbox, _extends({ as: ListboxComponent, className: classes.listbox, ownerState }, otherListboxProps, ListboxProps, { ref: combinedListboxRef, children: groupedOptions.map((option, index) => { if (groupBy) { return renderGroup({ key: option.key, group: option.group, children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2)) }); } return renderListOption(option, index); }) })) : null] })) })) : null] }); }); true ? Autocomplete.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, the portion of the selected suggestion that the user hasn't typed, * known as the completion string, appears inline after the input cursor in the textbox. * The inline completion string is visually highlighted and has a selected state. * @default false */ autoComplete: import_prop_types10.default.bool, /** * If `true`, the first option is automatically highlighted. * @default false */ autoHighlight: import_prop_types10.default.bool, /** * If `true`, the selected option becomes the value of the input * when the Autocomplete loses focus unless the user chooses * a different option or changes the character string in the input. * * When using the `freeSolo` mode, the typed value will be the input value * if the Autocomplete loses focus without highlighting an option. * @default false */ autoSelect: import_prop_types10.default.bool, /** * Control if the input should be blurred when an option is selected: * * - `false` the input is not blurred. * - `true` the input is always blurred. * - `touch` the input is blurred after a touch event. * - `mouse` the input is blurred after a mouse event. * @default false */ blurOnSelect: import_prop_types10.default.oneOfType([import_prop_types10.default.oneOf(["mouse", "touch"]), import_prop_types10.default.bool]), /** * Props applied to the [`Chip`](/material-ui/api/chip/) element. */ ChipProps: import_prop_types10.default.object, /** * Override or extend the styles applied to the component. */ classes: import_prop_types10.default.object, /** * @ignore */ className: import_prop_types10.default.string, /** * The icon to display in place of the default clear icon. * @default */ clearIcon: import_prop_types10.default.node, /** * If `true`, the input's text is cleared on blur if no value is selected. * * Set it to `true` if you want to help the user enter a new value. * Set it to `false` if you want to help the user resume their search. * @default !props.freeSolo */ clearOnBlur: import_prop_types10.default.bool, /** * If `true`, clear all values when the user presses escape and the popup is closed. * @default false */ clearOnEscape: import_prop_types10.default.bool, /** * Override the default text for the *clear* icon button. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'Clear' */ clearText: import_prop_types10.default.string, /** * Override the default text for the *close popup* icon button. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'Close' */ closeText: import_prop_types10.default.string, /** * The props used for each slot inside. * @default {} */ componentsProps: import_prop_types10.default.shape({ clearIndicator: import_prop_types10.default.object, paper: import_prop_types10.default.object, popper: import_prop_types10.default.object, popupIndicator: import_prop_types10.default.object }), /** * The default value. Use when the component is not controlled. * @default props.multiple ? [] : null */ defaultValue: chainPropTypes(import_prop_types10.default.any, (props) => { if (props.multiple && props.defaultValue !== void 0 && !Array.isArray(props.defaultValue)) { return new Error(["MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.", `However, ${props.defaultValue} was provided.`].join("\n")); } return null; }), /** * If `true`, the input can't be cleared. * @default false */ disableClearable: import_prop_types10.default.bool, /** * If `true`, the popup won't close when a value is selected. * @default false */ disableCloseOnSelect: import_prop_types10.default.bool, /** * If `true`, the component is disabled. * @default false */ disabled: import_prop_types10.default.bool, /** * If `true`, will allow focus on disabled items. * @default false */ disabledItemsFocusable: import_prop_types10.default.bool, /** * If `true`, the list box in the popup will not wrap focus. * @default false */ disableListWrap: import_prop_types10.default.bool, /** * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component. * @default false */ disablePortal: import_prop_types10.default.bool, /** * A function that determines the filtered options to be rendered on search. * * @default createFilterOptions() * @param {Value[]} options The options to render. * @param {object} state The state of the component. * @returns {Value[]} */ filterOptions: import_prop_types10.default.func, /** * If `true`, hide the selected options from the list box. * @default false */ filterSelectedOptions: import_prop_types10.default.bool, /** * Force the visibility display of the popup icon. * @default 'auto' */ forcePopupIcon: import_prop_types10.default.oneOfType([import_prop_types10.default.oneOf(["auto"]), import_prop_types10.default.bool]), /** * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options. * @default false */ freeSolo: import_prop_types10.default.bool, /** * If `true`, the input will take up the full width of its container. * @default false */ fullWidth: import_prop_types10.default.bool, /** * The label to display when the tags are truncated (`limitTags`). * * @param {number} more The number of truncated tags. * @returns {ReactNode} * @default (more) => `+${more}` */ getLimitTagsText: import_prop_types10.default.func, /** * Used to determine the disabled state for a given option. * * @param {Value} option The option to test. * @returns {boolean} */ getOptionDisabled: import_prop_types10.default.func, /** * Used to determine the key for a given option. * This can be useful when the labels of options are not unique (since labels are used as keys by default). * * @param {Value} option The option to get the key for. * @returns {string | number} */ getOptionKey: import_prop_types10.default.func, /** * Used to determine the string value for a given option. * It's used to fill the input (and the list box options if `renderOption` is not provided). * * If used in free solo mode, it must accept both the type of the options and a string. * * @param {Value} option * @returns {string} * @default (option) => option.label ?? option */ getOptionLabel: import_prop_types10.default.func, /** * If provided, the options will be grouped under the returned string. * The groupBy value is also used as the text for group headings when `renderGroup` is not provided. * * @param {Value} options The options to group. * @returns {string} */ groupBy: import_prop_types10.default.func, /** * If `true`, the component handles the "Home" and "End" keys when the popup is open. * It should move focus to the first option and last option, respectively. * @default !props.freeSolo */ handleHomeEndKeys: import_prop_types10.default.bool, /** * This prop is used to help implement the accessibility logic. * If you don't provide an id it will fall back to a randomly generated one. */ id: import_prop_types10.default.string, /** * If `true`, the highlight can move to the input. * @default false */ includeInputInList: import_prop_types10.default.bool, /** * The input value. */ inputValue: import_prop_types10.default.string, /** * Used to determine if the option represents the given value. * Uses strict equality by default. * ⚠️ Both arguments need to be handled, an option can only match with one value. * * @param {Value} option The option to test. * @param {Value} value The value to test against. * @returns {boolean} */ isOptionEqualToValue: import_prop_types10.default.func, /** * The maximum number of tags that will be visible when not focused. * Set `-1` to disable the limit. * @default -1 */ limitTags: integerPropType_default, /** * The component used to render the listbox. * @default 'ul' */ ListboxComponent: import_prop_types10.default.elementType, /** * Props applied to the Listbox element. */ ListboxProps: import_prop_types10.default.object, /** * If `true`, the component is in a loading state. * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, for example `options` are empty). * @default false */ loading: import_prop_types10.default.bool, /** * Text to display when in a loading state. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'Loading…' */ loadingText: import_prop_types10.default.node, /** * If `true`, `value` must be an array and the menu will support multiple selections. * @default false */ multiple: import_prop_types10.default.bool, /** * Text to display when there are no options. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'No options' */ noOptionsText: import_prop_types10.default.node, /** * Callback fired when the value changes. * * @param {React.SyntheticEvent} event The event source of the callback. * @param {Value|Value[]} value The new value of the component. * @param {string} reason One of "createOption", "selectOption", "removeOption", "blur" or "clear". * @param {string} [details] */ onChange: import_prop_types10.default.func, /** * Callback fired when the popup requests to be closed. * Use in controlled mode (see open). * * @param {React.SyntheticEvent} event The event source of the callback. * @param {string} reason Can be: `"toggleInput"`, `"escape"`, `"selectOption"`, `"removeOption"`, `"blur"`. */ onClose: import_prop_types10.default.func, /** * Callback fired when the highlight option changes. * * @param {React.SyntheticEvent} event The event source of the callback. * @param {Value} option The highlighted option. * @param {string} reason Can be: `"keyboard"`, `"auto"`, `"mouse"`, `"touch"`. */ onHighlightChange: import_prop_types10.default.func, /** * Callback fired when the input value changes. * * @param {React.SyntheticEvent} event The event source of the callback. * @param {string} value The new value of the text input. * @param {string} reason Can be: `"input"` (user input), `"reset"` (programmatic change), `"clear"`. */ onInputChange: import_prop_types10.default.func, /** * @ignore */ onKeyDown: import_prop_types10.default.func, /** * Callback fired when the popup requests to be opened. * Use in controlled mode (see open). * * @param {React.SyntheticEvent} event The event source of the callback. */ onOpen: import_prop_types10.default.func, /** * If `true`, the component is shown. */ open: import_prop_types10.default.bool, /** * If `true`, the popup will open on input focus. * @default false */ openOnFocus: import_prop_types10.default.bool, /** * Override the default text for the *open popup* icon button. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'Open' */ openText: import_prop_types10.default.string, /** * Array of options. */ options: import_prop_types10.default.array.isRequired, /** * The component used to render the body of the popup. * @default Paper */ PaperComponent: import_prop_types10.default.elementType, /** * The component used to position the popup. * @default Popper */ PopperComponent: import_prop_types10.default.elementType, /** * The icon to display in place of the default popup icon. * @default */ popupIcon: import_prop_types10.default.node, /** * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted. * @default false */ readOnly: import_prop_types10.default.bool, /** * Render the group. * * @param {AutocompleteRenderGroupParams} params The group to render. * @returns {ReactNode} */ renderGroup: import_prop_types10.default.func, /** * Render the input. * * @param {object} params * @returns {ReactNode} */ renderInput: import_prop_types10.default.func.isRequired, /** * Render the option, use `getOptionLabel` by default. * * @param {object} props The props to apply on the li element. * @param {Value} option The option to render. * @param {object} state The state of each option. * @param {object} ownerState The state of the Autocomplete component. * @returns {ReactNode} */ renderOption: import_prop_types10.default.func, /** * Render the selected value. * * @param {Value[]} value The `value` provided to the component. * @param {function} getTagProps A tag props getter. * @param {object} ownerState The state of the Autocomplete component. * @returns {ReactNode} */ renderTags: import_prop_types10.default.func, /** * If `true`, the input's text is selected on focus. * It helps the user clear the selected value. * @default !props.freeSolo */ selectOnFocus: import_prop_types10.default.bool, /** * The size of the component. * @default 'medium' */ size: import_prop_types10.default.oneOfType([import_prop_types10.default.oneOf(["small", "medium"]), import_prop_types10.default.string]), /** * The props used for each slot inside. * @default {} */ slotProps: import_prop_types10.default.shape({ clearIndicator: import_prop_types10.default.object, paper: import_prop_types10.default.object, popper: import_prop_types10.default.object, popupIndicator: import_prop_types10.default.object }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types10.default.oneOfType([import_prop_types10.default.arrayOf(import_prop_types10.default.oneOfType([import_prop_types10.default.func, import_prop_types10.default.object, import_prop_types10.default.bool])), import_prop_types10.default.func, import_prop_types10.default.object]), /** * The value of the autocomplete. * * The value must have reference equality with the option in order to be selected. * You can customize the equality behavior with the `isOptionEqualToValue` prop. */ value: chainPropTypes(import_prop_types10.default.any, (props) => { if (props.multiple && props.value !== void 0 && !Array.isArray(props.value)) { return new Error(["MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.", `However, ${props.value} was provided.`].join("\n")); } return null; }) } : void 0; var Autocomplete_default = Autocomplete; // node_modules/@mui/material/Avatar/Avatar.js init_extends(); var React19 = __toESM(require_react()); var import_prop_types11 = __toESM(require_prop_types()); // node_modules/@mui/material/internal/svg-icons/Person.js var React18 = __toESM(require_react()); var import_jsx_runtime20 = __toESM(require_jsx_runtime()); var Person_default = createSvgIcon((0, import_jsx_runtime20.jsx)("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }), "Person"); // node_modules/@mui/material/Avatar/avatarClasses.js function getAvatarUtilityClass(slot) { return generateUtilityClass("MuiAvatar", slot); } var avatarClasses = generateUtilityClasses("MuiAvatar", ["root", "colorDefault", "circular", "rounded", "square", "img", "fallback"]); var avatarClasses_default = avatarClasses; // node_modules/@mui/material/Avatar/Avatar.js var import_jsx_runtime21 = __toESM(require_jsx_runtime()); var _excluded13 = ["alt", "children", "className", "component", "slots", "slotProps", "imgProps", "sizes", "src", "srcSet", "variant"]; var useUtilityClasses11 = (ownerState) => { const { classes, variant, colorDefault } = ownerState; const slots = { root: ["root", variant, colorDefault && "colorDefault"], img: ["img"], fallback: ["fallback"] }; return composeClasses(slots, getAvatarUtilityClass, classes); }; var AvatarRoot = styled_default("div", { name: "MuiAvatar", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[ownerState.variant], ownerState.colorDefault && styles3.colorDefault]; } })(({ theme }) => ({ position: "relative", display: "flex", alignItems: "center", justifyContent: "center", flexShrink: 0, width: 40, height: 40, fontFamily: theme.typography.fontFamily, fontSize: theme.typography.pxToRem(20), lineHeight: 1, borderRadius: "50%", overflow: "hidden", userSelect: "none", variants: [{ props: { variant: "rounded" }, style: { borderRadius: (theme.vars || theme).shape.borderRadius } }, { props: { variant: "square" }, style: { borderRadius: 0 } }, { props: { colorDefault: true }, style: _extends({ color: (theme.vars || theme).palette.background.default }, theme.vars ? { backgroundColor: theme.vars.palette.Avatar.defaultBg } : _extends({ backgroundColor: theme.palette.grey[400] }, theme.applyStyles("dark", { backgroundColor: theme.palette.grey[600] }))) }] })); var AvatarImg = styled_default("img", { name: "MuiAvatar", slot: "Img", overridesResolver: (props, styles3) => styles3.img })({ width: "100%", height: "100%", textAlign: "center", // Handle non-square image. The property isn't supported by IE11. objectFit: "cover", // Hide alt text. color: "transparent", // Hide the image broken icon, only works on Chrome. textIndent: 1e4 }); var AvatarFallback = styled_default(Person_default, { name: "MuiAvatar", slot: "Fallback", overridesResolver: (props, styles3) => styles3.fallback })({ width: "75%", height: "75%" }); function useLoaded({ crossOrigin, referrerPolicy, src, srcSet }) { const [loaded, setLoaded] = React19.useState(false); React19.useEffect(() => { if (!src && !srcSet) { return void 0; } setLoaded(false); let active = true; const image = new Image(); image.onload = () => { if (!active) { return; } setLoaded("loaded"); }; image.onerror = () => { if (!active) { return; } setLoaded("error"); }; image.crossOrigin = crossOrigin; image.referrerPolicy = referrerPolicy; image.src = src; if (srcSet) { image.srcset = srcSet; } return () => { active = false; }; }, [crossOrigin, referrerPolicy, src, srcSet]); return loaded; } var Avatar = React19.forwardRef(function Avatar2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiAvatar" }); const { alt, children: childrenProp, className, component = "div", slots = {}, slotProps = {}, imgProps, sizes, src, srcSet, variant = "circular" } = props, other = _objectWithoutPropertiesLoose(props, _excluded13); let children = null; const loaded = useLoaded(_extends({}, imgProps, { src, srcSet })); const hasImg = src || srcSet; const hasImgNotFailing = hasImg && loaded !== "error"; const ownerState = _extends({}, props, { colorDefault: !hasImgNotFailing, component, variant }); const classes = useUtilityClasses11(ownerState); const [ImgSlot, imgSlotProps] = useSlot("img", { className: classes.img, elementType: AvatarImg, externalForwardedProps: { slots, slotProps: { img: _extends({}, imgProps, slotProps.img) } }, additionalProps: { alt, src, srcSet, sizes }, ownerState }); if (hasImgNotFailing) { children = (0, import_jsx_runtime21.jsx)(ImgSlot, _extends({}, imgSlotProps)); } else if (!!childrenProp || childrenProp === 0) { children = childrenProp; } else if (hasImg && alt) { children = alt[0]; } else { children = (0, import_jsx_runtime21.jsx)(AvatarFallback, { ownerState, className: classes.fallback }); } return (0, import_jsx_runtime21.jsx)(AvatarRoot, _extends({ as: component, ownerState, className: clsx_default(classes.root, className), ref }, other, { children })); }); true ? Avatar.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Used in combination with `src` or `srcSet` to * provide an alt attribute for the rendered `img` element. */ alt: import_prop_types11.default.string, /** * Used to render icon or text elements inside the Avatar if `src` is not set. * This can be an element, or just a string. */ children: import_prop_types11.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types11.default.object, /** * @ignore */ className: import_prop_types11.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types11.default.elementType, /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image. * It can be used to listen for the loading error event. * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/). */ imgProps: import_prop_types11.default.object, /** * The `sizes` attribute for the `img` element. */ sizes: import_prop_types11.default.string, /** * The props used for each slot inside. * @default {} */ slotProps: import_prop_types11.default.shape({ img: import_prop_types11.default.oneOfType([import_prop_types11.default.func, import_prop_types11.default.object]) }), /** * The components used for each slot inside. * @default {} */ slots: import_prop_types11.default.shape({ img: import_prop_types11.default.elementType }), /** * The `src` attribute for the `img` element. */ src: import_prop_types11.default.string, /** * The `srcSet` attribute for the `img` element. * Use this attribute for responsive image display. */ srcSet: import_prop_types11.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types11.default.oneOfType([import_prop_types11.default.arrayOf(import_prop_types11.default.oneOfType([import_prop_types11.default.func, import_prop_types11.default.object, import_prop_types11.default.bool])), import_prop_types11.default.func, import_prop_types11.default.object]), /** * The shape of the avatar. * @default 'circular' */ variant: import_prop_types11.default.oneOfType([import_prop_types11.default.oneOf(["circular", "rounded", "square"]), import_prop_types11.default.string]) } : void 0; var Avatar_default = Avatar; // node_modules/@mui/material/AvatarGroup/AvatarGroup.js init_extends(); var React20 = __toESM(require_react()); var import_prop_types12 = __toESM(require_prop_types()); var import_react_is2 = __toESM(require_react_is()); // node_modules/@mui/material/AvatarGroup/avatarGroupClasses.js function getAvatarGroupUtilityClass(slot) { return generateUtilityClass("MuiAvatarGroup", slot); } var avatarGroupClasses = generateUtilityClasses("MuiAvatarGroup", ["root", "avatar"]); var avatarGroupClasses_default = avatarGroupClasses; // node_modules/@mui/material/AvatarGroup/AvatarGroup.js var import_jsx_runtime22 = __toESM(require_jsx_runtime()); var import_jsx_runtime23 = __toESM(require_jsx_runtime()); var _excluded14 = ["children", "className", "component", "componentsProps", "max", "renderSurplus", "slotProps", "spacing", "total", "variant"]; var SPACINGS = { small: -16, medium: null }; var useUtilityClasses12 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"], avatar: ["avatar"] }; return composeClasses(slots, getAvatarGroupUtilityClass, classes); }; var AvatarGroupRoot = styled_default("div", { name: "MuiAvatarGroup", slot: "Root", overridesResolver: (props, styles3) => _extends({ [`& .${avatarGroupClasses_default.avatar}`]: styles3.avatar }, styles3.root) })(({ theme, ownerState }) => { const marginValue = ownerState.spacing && SPACINGS[ownerState.spacing] !== void 0 ? SPACINGS[ownerState.spacing] : -ownerState.spacing; return { [`& .${avatarClasses_default.root}`]: { border: `2px solid ${(theme.vars || theme).palette.background.default}`, boxSizing: "content-box", marginLeft: marginValue != null ? marginValue : -8, "&:last-child": { marginLeft: 0 } }, display: "flex", flexDirection: "row-reverse" }; }); var AvatarGroup = React20.forwardRef(function AvatarGroup2(inProps, ref) { var _slotProps$additional; const props = useDefaultProps({ props: inProps, name: "MuiAvatarGroup" }); const { children: childrenProp, className, component = "div", componentsProps = {}, max = 5, renderSurplus, slotProps = {}, spacing = "medium", total, variant = "circular" } = props, other = _objectWithoutPropertiesLoose(props, _excluded14); let clampedMax = max < 2 ? 2 : max; const ownerState = _extends({}, props, { max, spacing, component, variant }); const classes = useUtilityClasses12(ownerState); const children = React20.Children.toArray(childrenProp).filter((child) => { if (true) { if ((0, import_react_is2.isFragment)(child)) { console.error(["MUI: The AvatarGroup component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n")); } } return React20.isValidElement(child); }); const totalAvatars = total || children.length; if (totalAvatars === clampedMax) { clampedMax += 1; } clampedMax = Math.min(totalAvatars + 1, clampedMax); const maxAvatars = Math.min(children.length, clampedMax - 1); const extraAvatars = Math.max(totalAvatars - clampedMax, totalAvatars - maxAvatars, 0); const extraAvatarsElement = renderSurplus ? renderSurplus(extraAvatars) : `+${extraAvatars}`; const additionalAvatarSlotProps = (_slotProps$additional = slotProps.additionalAvatar) != null ? _slotProps$additional : componentsProps.additionalAvatar; return (0, import_jsx_runtime23.jsxs)(AvatarGroupRoot, _extends({ as: component, ownerState, className: clsx_default(classes.root, className), ref }, other, { children: [extraAvatars ? (0, import_jsx_runtime22.jsx)(Avatar_default, _extends({ variant }, additionalAvatarSlotProps, { className: clsx_default(classes.avatar, additionalAvatarSlotProps == null ? void 0 : additionalAvatarSlotProps.className), children: extraAvatarsElement })) : null, children.slice(0, maxAvatars).reverse().map((child) => { return React20.cloneElement(child, { className: clsx_default(child.props.className, classes.avatar), variant: child.props.variant || variant }); })] })); }); true ? AvatarGroup.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The avatars to stack. */ children: import_prop_types12.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types12.default.object, /** * @ignore */ className: import_prop_types12.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types12.default.elementType, /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: import_prop_types12.default.shape({ additionalAvatar: import_prop_types12.default.object }), /** * Max avatars to show before +x. * @default 5 */ max: chainPropTypes(import_prop_types12.default.number, (props) => { if (props.max < 2) { return new Error(["MUI: The prop `max` should be equal to 2 or above.", "A value below is clamped to 2."].join("\n")); } return null; }), /** * custom renderer of extraAvatars * @param {number} surplus number of extra avatars * @returns {React.ReactNode} custom element to display */ renderSurplus: import_prop_types12.default.func, /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future. * * @default {} */ slotProps: import_prop_types12.default.shape({ additionalAvatar: import_prop_types12.default.object }), /** * Spacing between avatars. * @default 'medium' */ spacing: import_prop_types12.default.oneOfType([import_prop_types12.default.oneOf(["medium", "small"]), import_prop_types12.default.number]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types12.default.oneOfType([import_prop_types12.default.arrayOf(import_prop_types12.default.oneOfType([import_prop_types12.default.func, import_prop_types12.default.object, import_prop_types12.default.bool])), import_prop_types12.default.func, import_prop_types12.default.object]), /** * The total number of avatars. Used for calculating the number of extra avatars. * @default children.length */ total: import_prop_types12.default.number, /** * The variant to use. * @default 'circular' */ variant: import_prop_types12.default.oneOfType([import_prop_types12.default.oneOf(["circular", "rounded", "square"]), import_prop_types12.default.string]) } : void 0; var AvatarGroup_default = AvatarGroup; // node_modules/@mui/material/Badge/Badge.js init_extends(); var React21 = __toESM(require_react()); var import_prop_types13 = __toESM(require_prop_types()); // node_modules/@mui/material/Badge/useBadge.js function useBadge(parameters) { const { badgeContent: badgeContentProp, invisible: invisibleProp = false, max: maxProp = 99, showZero = false } = parameters; const prevProps = usePreviousProps_default({ badgeContent: badgeContentProp, max: maxProp }); let invisible = invisibleProp; if (invisibleProp === false && badgeContentProp === 0 && !showZero) { invisible = true; } const { badgeContent, max = maxProp } = invisible ? prevProps : parameters; const displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent; return { badgeContent, invisible, max, displayValue }; } var useBadge_default = useBadge; // node_modules/@mui/material/Badge/badgeClasses.js function getBadgeUtilityClass(slot) { return generateUtilityClass("MuiBadge", slot); } var badgeClasses = generateUtilityClasses("MuiBadge", [ "root", "badge", "dot", "standard", "anchorOriginTopRight", "anchorOriginBottomRight", "anchorOriginTopLeft", "anchorOriginBottomLeft", "invisible", "colorError", "colorInfo", "colorPrimary", "colorSecondary", "colorSuccess", "colorWarning", "overlapRectangular", "overlapCircular", // TODO: v6 remove the overlap value from these class keys "anchorOriginTopLeftCircular", "anchorOriginTopLeftRectangular", "anchorOriginTopRightCircular", "anchorOriginTopRightRectangular", "anchorOriginBottomLeftCircular", "anchorOriginBottomLeftRectangular", "anchorOriginBottomRightCircular", "anchorOriginBottomRightRectangular" ]); var badgeClasses_default = badgeClasses; // node_modules/@mui/material/Badge/Badge.js var import_jsx_runtime24 = __toESM(require_jsx_runtime()); var import_jsx_runtime25 = __toESM(require_jsx_runtime()); var _excluded15 = ["anchorOrigin", "className", "classes", "component", "components", "componentsProps", "children", "overlap", "color", "invisible", "max", "badgeContent", "slots", "slotProps", "showZero", "variant"]; var RADIUS_STANDARD = 10; var RADIUS_DOT = 4; var useUtilityClasses13 = (ownerState) => { const { color, anchorOrigin, invisible, overlap, variant, classes = {} } = ownerState; const slots = { root: ["root"], badge: ["badge", variant, invisible && "invisible", `anchorOrigin${capitalize_default(anchorOrigin.vertical)}${capitalize_default(anchorOrigin.horizontal)}`, `anchorOrigin${capitalize_default(anchorOrigin.vertical)}${capitalize_default(anchorOrigin.horizontal)}${capitalize_default(overlap)}`, `overlap${capitalize_default(overlap)}`, color !== "default" && `color${capitalize_default(color)}`] }; return composeClasses(slots, getBadgeUtilityClass, classes); }; var BadgeRoot = styled_default("span", { name: "MuiBadge", slot: "Root", overridesResolver: (props, styles3) => styles3.root })({ position: "relative", display: "inline-flex", // For correct alignment with the text. verticalAlign: "middle", flexShrink: 0 }); var BadgeBadge = styled_default("span", { name: "MuiBadge", slot: "Badge", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.badge, styles3[ownerState.variant], styles3[`anchorOrigin${capitalize_default(ownerState.anchorOrigin.vertical)}${capitalize_default(ownerState.anchorOrigin.horizontal)}${capitalize_default(ownerState.overlap)}`], ownerState.color !== "default" && styles3[`color${capitalize_default(ownerState.color)}`], ownerState.invisible && styles3.invisible]; } })(({ theme }) => { var _theme$vars; return { display: "flex", flexDirection: "row", flexWrap: "wrap", justifyContent: "center", alignContent: "center", alignItems: "center", position: "absolute", boxSizing: "border-box", fontFamily: theme.typography.fontFamily, fontWeight: theme.typography.fontWeightMedium, fontSize: theme.typography.pxToRem(12), minWidth: RADIUS_STANDARD * 2, lineHeight: 1, padding: "0 6px", height: RADIUS_STANDARD * 2, borderRadius: RADIUS_STANDARD, zIndex: 1, // Render the badge on top of potential ripples. transition: theme.transitions.create("transform", { easing: theme.transitions.easing.easeInOut, duration: theme.transitions.duration.enteringScreen }), variants: [...Object.keys(((_theme$vars = theme.vars) != null ? _theme$vars : theme).palette).filter((key) => { var _theme$vars2, _theme$vars3; return ((_theme$vars2 = theme.vars) != null ? _theme$vars2 : theme).palette[key].main && ((_theme$vars3 = theme.vars) != null ? _theme$vars3 : theme).palette[key].contrastText; }).map((color) => ({ props: { color }, style: { backgroundColor: (theme.vars || theme).palette[color].main, color: (theme.vars || theme).palette[color].contrastText } })), { props: { variant: "dot" }, style: { borderRadius: RADIUS_DOT, height: RADIUS_DOT * 2, minWidth: RADIUS_DOT * 2, padding: 0 } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "rectangular", style: { top: 0, right: 0, transform: "scale(1) translate(50%, -50%)", transformOrigin: "100% 0%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(50%, -50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "rectangular", style: { bottom: 0, right: 0, transform: "scale(1) translate(50%, 50%)", transformOrigin: "100% 100%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(50%, 50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "rectangular", style: { top: 0, left: 0, transform: "scale(1) translate(-50%, -50%)", transformOrigin: "0% 0%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(-50%, -50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "rectangular", style: { bottom: 0, left: 0, transform: "scale(1) translate(-50%, 50%)", transformOrigin: "0% 100%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(-50%, 50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "circular", style: { top: "14%", right: "14%", transform: "scale(1) translate(50%, -50%)", transformOrigin: "100% 0%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(50%, -50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "circular", style: { bottom: "14%", right: "14%", transform: "scale(1) translate(50%, 50%)", transformOrigin: "100% 100%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(50%, 50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "circular", style: { top: "14%", left: "14%", transform: "scale(1) translate(-50%, -50%)", transformOrigin: "0% 0%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(-50%, -50%)" } } }, { props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "circular", style: { bottom: "14%", left: "14%", transform: "scale(1) translate(-50%, 50%)", transformOrigin: "0% 100%", [`&.${badgeClasses_default.invisible}`]: { transform: "scale(0) translate(-50%, 50%)" } } }, { props: { invisible: true }, style: { transition: theme.transitions.create("transform", { easing: theme.transitions.easing.easeInOut, duration: theme.transitions.duration.leavingScreen }) } }] }; }); var Badge = React21.forwardRef(function Badge2(inProps, ref) { var _ref, _slots$root, _ref2, _slots$badge, _slotProps$root, _slotProps$badge; const props = useDefaultProps({ props: inProps, name: "MuiBadge" }); const { anchorOrigin: anchorOriginProp = { vertical: "top", horizontal: "right" }, className, component, components = {}, componentsProps = {}, children, overlap: overlapProp = "rectangular", color: colorProp = "default", invisible: invisibleProp = false, max: maxProp = 99, badgeContent: badgeContentProp, slots, slotProps, showZero = false, variant: variantProp = "standard" } = props, other = _objectWithoutPropertiesLoose(props, _excluded15); const { badgeContent, invisible: invisibleFromHook, max, displayValue: displayValueFromHook } = useBadge_default({ max: maxProp, invisible: invisibleProp, badgeContent: badgeContentProp, showZero }); const prevProps = usePreviousProps_default({ anchorOrigin: anchorOriginProp, color: colorProp, overlap: overlapProp, variant: variantProp, badgeContent: badgeContentProp }); const invisible = invisibleFromHook || badgeContent == null && variantProp !== "dot"; const { color = colorProp, overlap = overlapProp, anchorOrigin = anchorOriginProp, variant = variantProp } = invisible ? prevProps : props; const displayValue = variant !== "dot" ? displayValueFromHook : void 0; const ownerState = _extends({}, props, { badgeContent, invisible, max, displayValue, showZero, anchorOrigin, color, overlap, variant }); const classes = useUtilityClasses13(ownerState); const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : BadgeRoot; const BadgeSlot = (_ref2 = (_slots$badge = slots == null ? void 0 : slots.badge) != null ? _slots$badge : components.Badge) != null ? _ref2 : BadgeBadge; const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root; const badgeSlotProps = (_slotProps$badge = slotProps == null ? void 0 : slotProps.badge) != null ? _slotProps$badge : componentsProps.badge; const rootProps = useSlotProps_default({ elementType: RootSlot, externalSlotProps: rootSlotProps, externalForwardedProps: other, additionalProps: { ref, as: component }, ownerState, className: clsx_default(rootSlotProps == null ? void 0 : rootSlotProps.className, classes.root, className) }); const badgeProps = useSlotProps_default({ elementType: BadgeSlot, externalSlotProps: badgeSlotProps, ownerState, className: clsx_default(classes.badge, badgeSlotProps == null ? void 0 : badgeSlotProps.className) }); return (0, import_jsx_runtime25.jsxs)(RootSlot, _extends({}, rootProps, { children: [children, (0, import_jsx_runtime24.jsx)(BadgeSlot, _extends({}, badgeProps, { children: displayValue }))] })); }); true ? Badge.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The anchor of the badge. * @default { * vertical: 'top', * horizontal: 'right', * } */ anchorOrigin: import_prop_types13.default.shape({ horizontal: import_prop_types13.default.oneOf(["left", "right"]).isRequired, vertical: import_prop_types13.default.oneOf(["bottom", "top"]).isRequired }), /** * The content rendered within the badge. */ badgeContent: import_prop_types13.default.node, /** * The badge will be added relative to this node. */ children: import_prop_types13.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types13.default.object, /** * @ignore */ className: import_prop_types13.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'default' */ color: import_prop_types13.default.oneOfType([import_prop_types13.default.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), import_prop_types13.default.string]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types13.default.elementType, /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} */ components: import_prop_types13.default.shape({ Badge: import_prop_types13.default.elementType, Root: import_prop_types13.default.elementType }), /** * The extra props for the slot components. * You can override the existing props or add new ones. * * This prop is an alias for the `slotProps` prop. * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future. * * @default {} */ componentsProps: import_prop_types13.default.shape({ badge: import_prop_types13.default.oneOfType([import_prop_types13.default.func, import_prop_types13.default.object]), root: import_prop_types13.default.oneOfType([import_prop_types13.default.func, import_prop_types13.default.object]) }), /** * If `true`, the badge is invisible. * @default false */ invisible: import_prop_types13.default.bool, /** * Max count to show. * @default 99 */ max: import_prop_types13.default.number, /** * Wrapped shape the badge should overlap. * @default 'rectangular' */ overlap: import_prop_types13.default.oneOf(["circular", "rectangular"]), /** * Controls whether the badge is hidden when `badgeContent` is zero. * @default false */ showZero: import_prop_types13.default.bool, /** * The props used for each slot inside the Badge. * @default {} */ slotProps: import_prop_types13.default.shape({ badge: import_prop_types13.default.oneOfType([import_prop_types13.default.func, import_prop_types13.default.object]), root: import_prop_types13.default.oneOfType([import_prop_types13.default.func, import_prop_types13.default.object]) }), /** * The components used for each slot inside the Badge. * Either a string to use a HTML element or a component. * @default {} */ slots: import_prop_types13.default.shape({ badge: import_prop_types13.default.elementType, root: import_prop_types13.default.elementType }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types13.default.oneOfType([import_prop_types13.default.arrayOf(import_prop_types13.default.oneOfType([import_prop_types13.default.func, import_prop_types13.default.object, import_prop_types13.default.bool])), import_prop_types13.default.func, import_prop_types13.default.object]), /** * The variant to use. * @default 'standard' */ variant: import_prop_types13.default.oneOfType([import_prop_types13.default.oneOf(["dot", "standard"]), import_prop_types13.default.string]) } : void 0; var Badge_default = Badge; // node_modules/@mui/material/BottomNavigation/BottomNavigation.js init_extends(); var React22 = __toESM(require_react()); var import_react_is3 = __toESM(require_react_is()); var import_prop_types14 = __toESM(require_prop_types()); // node_modules/@mui/material/BottomNavigation/bottomNavigationClasses.js function getBottomNavigationUtilityClass(slot) { return generateUtilityClass("MuiBottomNavigation", slot); } var bottomNavigationClasses = generateUtilityClasses("MuiBottomNavigation", ["root"]); var bottomNavigationClasses_default = bottomNavigationClasses; // node_modules/@mui/material/BottomNavigation/BottomNavigation.js var import_jsx_runtime26 = __toESM(require_jsx_runtime()); var _excluded16 = ["children", "className", "component", "onChange", "showLabels", "value"]; var useUtilityClasses14 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getBottomNavigationUtilityClass, classes); }; var BottomNavigationRoot = styled_default("div", { name: "MuiBottomNavigation", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(({ theme }) => ({ display: "flex", justifyContent: "center", height: 56, backgroundColor: (theme.vars || theme).palette.background.paper })); var BottomNavigation = React22.forwardRef(function BottomNavigation2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiBottomNavigation" }); const { children, className, component = "div", onChange, showLabels = false, value } = props, other = _objectWithoutPropertiesLoose(props, _excluded16); const ownerState = _extends({}, props, { component, showLabels }); const classes = useUtilityClasses14(ownerState); return (0, import_jsx_runtime26.jsx)(BottomNavigationRoot, _extends({ as: component, className: clsx_default(classes.root, className), ref, ownerState }, other, { children: React22.Children.map(children, (child, childIndex) => { if (!React22.isValidElement(child)) { return null; } if (true) { if ((0, import_react_is3.isFragment)(child)) { console.error(["MUI: The BottomNavigation component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n")); } } const childValue = child.props.value === void 0 ? childIndex : child.props.value; return React22.cloneElement(child, { selected: childValue === value, showLabel: child.props.showLabel !== void 0 ? child.props.showLabel : showLabels, value: childValue, onChange }); }) })); }); true ? BottomNavigation.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types14.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types14.default.object, /** * @ignore */ className: import_prop_types14.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types14.default.elementType, /** * Callback fired when the value changes. * * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event. * @param {any} value We default to the index of the child. */ onChange: import_prop_types14.default.func, /** * If `true`, all `BottomNavigationAction`s will show their labels. * By default, only the selected `BottomNavigationAction` will show its label. * @default false */ showLabels: import_prop_types14.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types14.default.oneOfType([import_prop_types14.default.arrayOf(import_prop_types14.default.oneOfType([import_prop_types14.default.func, import_prop_types14.default.object, import_prop_types14.default.bool])), import_prop_types14.default.func, import_prop_types14.default.object]), /** * The value of the currently selected `BottomNavigationAction`. */ value: import_prop_types14.default.any } : void 0; var BottomNavigation_default = BottomNavigation; // node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction.js init_extends(); var React23 = __toESM(require_react()); var import_prop_types15 = __toESM(require_prop_types()); // node_modules/@mui/material/BottomNavigationAction/bottomNavigationActionClasses.js function getBottomNavigationActionUtilityClass(slot) { return generateUtilityClass("MuiBottomNavigationAction", slot); } var bottomNavigationActionClasses = generateUtilityClasses("MuiBottomNavigationAction", ["root", "iconOnly", "selected", "label"]); var bottomNavigationActionClasses_default = bottomNavigationActionClasses; // node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction.js var import_jsx_runtime27 = __toESM(require_jsx_runtime()); var import_jsx_runtime28 = __toESM(require_jsx_runtime()); var _excluded17 = ["className", "icon", "label", "onChange", "onClick", "selected", "showLabel", "value"]; var useUtilityClasses15 = (ownerState) => { const { classes, showLabel, selected } = ownerState; const slots = { root: ["root", !showLabel && !selected && "iconOnly", selected && "selected"], label: ["label", !showLabel && !selected && "iconOnly", selected && "selected"] }; return composeClasses(slots, getBottomNavigationActionUtilityClass, classes); }; var BottomNavigationActionRoot = styled_default(ButtonBase_default, { name: "MuiBottomNavigationAction", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, !ownerState.showLabel && !ownerState.selected && styles3.iconOnly]; } })(({ theme, ownerState }) => _extends({ transition: theme.transitions.create(["color", "padding-top"], { duration: theme.transitions.duration.short }), padding: "0px 12px", minWidth: 80, maxWidth: 168, color: (theme.vars || theme).palette.text.secondary, flexDirection: "column", flex: "1" }, !ownerState.showLabel && !ownerState.selected && { paddingTop: 14 }, !ownerState.showLabel && !ownerState.selected && !ownerState.label && { paddingTop: 0 }, { [`&.${bottomNavigationActionClasses_default.selected}`]: { color: (theme.vars || theme).palette.primary.main } })); var BottomNavigationActionLabel = styled_default("span", { name: "MuiBottomNavigationAction", slot: "Label", overridesResolver: (props, styles3) => styles3.label })(({ theme, ownerState }) => _extends({ fontFamily: theme.typography.fontFamily, fontSize: theme.typography.pxToRem(12), opacity: 1, transition: "font-size 0.2s, opacity 0.2s", transitionDelay: "0.1s" }, !ownerState.showLabel && !ownerState.selected && { opacity: 0, transitionDelay: "0s" }, { [`&.${bottomNavigationActionClasses_default.selected}`]: { fontSize: theme.typography.pxToRem(14) } })); var BottomNavigationAction = React23.forwardRef(function BottomNavigationAction2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiBottomNavigationAction" }); const { className, icon, label, onChange, onClick, value } = props, other = _objectWithoutPropertiesLoose(props, _excluded17); const ownerState = props; const classes = useUtilityClasses15(ownerState); const handleChange = (event) => { if (onChange) { onChange(event, value); } if (onClick) { onClick(event); } }; return (0, import_jsx_runtime28.jsxs)(BottomNavigationActionRoot, _extends({ ref, className: clsx_default(classes.root, className), focusRipple: true, onClick: handleChange, ownerState }, other, { children: [icon, (0, import_jsx_runtime27.jsx)(BottomNavigationActionLabel, { className: classes.label, ownerState, children: label })] })); }); true ? BottomNavigationAction.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * This prop isn't supported. * Use the `component` prop if you need to change the children structure. */ children: unsupportedProp_default, /** * Override or extend the styles applied to the component. */ classes: import_prop_types15.default.object, /** * @ignore */ className: import_prop_types15.default.string, /** * The icon to display. */ icon: import_prop_types15.default.node, /** * The label element. */ label: import_prop_types15.default.node, /** * @ignore */ onChange: import_prop_types15.default.func, /** * @ignore */ onClick: import_prop_types15.default.func, /** * If `true`, the `BottomNavigationAction` will show its label. * By default, only the selected `BottomNavigationAction` * inside `BottomNavigation` will show its label. * * The prop defaults to the value (`false`) inherited from the parent BottomNavigation component. */ showLabel: import_prop_types15.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types15.default.oneOfType([import_prop_types15.default.arrayOf(import_prop_types15.default.oneOfType([import_prop_types15.default.func, import_prop_types15.default.object, import_prop_types15.default.bool])), import_prop_types15.default.func, import_prop_types15.default.object]), /** * You can provide your own value. Otherwise, we fallback to the child position index. */ value: import_prop_types15.default.any } : void 0; var BottomNavigationAction_default = BottomNavigationAction; // node_modules/@mui/material/Box/Box.js var import_prop_types16 = __toESM(require_prop_types()); // node_modules/@mui/material/Box/boxClasses.js var boxClasses = generateUtilityClasses("MuiBox", ["root"]); var boxClasses_default = boxClasses; // node_modules/@mui/material/Box/Box.js var defaultTheme = createTheme_default(); var Box = createBox({ themeId: identifier_default, defaultTheme, defaultClassName: boxClasses_default.root, generateClassName: ClassNameGenerator_default.generate }); true ? Box.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * @ignore */ children: import_prop_types16.default.node, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types16.default.elementType, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types16.default.oneOfType([import_prop_types16.default.arrayOf(import_prop_types16.default.oneOfType([import_prop_types16.default.func, import_prop_types16.default.object, import_prop_types16.default.bool])), import_prop_types16.default.func, import_prop_types16.default.object]) } : void 0; var Box_default = Box; // node_modules/@mui/material/Breadcrumbs/Breadcrumbs.js init_extends(); var React26 = __toESM(require_react()); var import_react_is4 = __toESM(require_react_is()); var import_prop_types18 = __toESM(require_prop_types()); // node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed.js init_extends(); var React25 = __toESM(require_react()); var import_prop_types17 = __toESM(require_prop_types()); var import_colorManipulator3 = __toESM(require_colorManipulator()); // node_modules/@mui/material/internal/svg-icons/MoreHoriz.js var React24 = __toESM(require_react()); var import_jsx_runtime29 = __toESM(require_jsx_runtime()); var MoreHoriz_default = createSvgIcon((0, import_jsx_runtime29.jsx)("path", { d: "M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }), "MoreHoriz"); // node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed.js var import_jsx_runtime30 = __toESM(require_jsx_runtime()); var _excluded18 = ["slots", "slotProps"]; var BreadcrumbCollapsedButton = styled_default(ButtonBase_default, { name: "MuiBreadcrumbCollapsed" })(({ theme }) => _extends({ display: "flex", marginLeft: `calc(${theme.spacing(1)} * 0.5)`, marginRight: `calc(${theme.spacing(1)} * 0.5)` }, theme.palette.mode === "light" ? { backgroundColor: theme.palette.grey[100], color: theme.palette.grey[700] } : { backgroundColor: theme.palette.grey[700], color: theme.palette.grey[100] }, { borderRadius: 2, "&:hover, &:focus": _extends({}, theme.palette.mode === "light" ? { backgroundColor: theme.palette.grey[200] } : { backgroundColor: theme.palette.grey[600] }), "&:active": _extends({ boxShadow: theme.shadows[0] }, theme.palette.mode === "light" ? { backgroundColor: (0, import_colorManipulator3.emphasize)(theme.palette.grey[200], 0.12) } : { backgroundColor: (0, import_colorManipulator3.emphasize)(theme.palette.grey[600], 0.12) }) })); var BreadcrumbCollapsedIcon = styled_default(MoreHoriz_default)({ width: 24, height: 16 }); function BreadcrumbCollapsed(props) { const { slots = {}, slotProps = {} } = props, otherProps = _objectWithoutPropertiesLoose(props, _excluded18); const ownerState = props; return (0, import_jsx_runtime30.jsx)("li", { children: (0, import_jsx_runtime30.jsx)(BreadcrumbCollapsedButton, _extends({ focusRipple: true }, otherProps, { ownerState, children: (0, import_jsx_runtime30.jsx)(BreadcrumbCollapsedIcon, _extends({ as: slots.CollapsedIcon, ownerState }, slotProps.collapsedIcon)) })) }); } true ? BreadcrumbCollapsed.propTypes = { /** * The props used for the CollapsedIcon slot. * @default {} */ slotProps: import_prop_types17.default.shape({ collapsedIcon: import_prop_types17.default.oneOfType([import_prop_types17.default.func, import_prop_types17.default.object]) }), /** * The components used for each slot inside the BreadcumbCollapsed. * Either a string to use a HTML element or a component. * @default {} */ slots: import_prop_types17.default.shape({ CollapsedIcon: import_prop_types17.default.elementType }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types17.default.object } : void 0; var BreadcrumbCollapsed_default = BreadcrumbCollapsed; // node_modules/@mui/material/Breadcrumbs/breadcrumbsClasses.js function getBreadcrumbsUtilityClass(slot) { return generateUtilityClass("MuiBreadcrumbs", slot); } var breadcrumbsClasses = generateUtilityClasses("MuiBreadcrumbs", ["root", "ol", "li", "separator"]); var breadcrumbsClasses_default = breadcrumbsClasses; // node_modules/@mui/material/Breadcrumbs/Breadcrumbs.js var import_jsx_runtime31 = __toESM(require_jsx_runtime()); var _excluded19 = ["children", "className", "component", "slots", "slotProps", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "separator"]; var useUtilityClasses16 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"], li: ["li"], ol: ["ol"], separator: ["separator"] }; return composeClasses(slots, getBreadcrumbsUtilityClass, classes); }; var BreadcrumbsRoot = styled_default(Typography_default, { name: "MuiBreadcrumbs", slot: "Root", overridesResolver: (props, styles3) => { return [{ [`& .${breadcrumbsClasses_default.li}`]: styles3.li }, styles3.root]; } })({}); var BreadcrumbsOl = styled_default("ol", { name: "MuiBreadcrumbs", slot: "Ol", overridesResolver: (props, styles3) => styles3.ol })({ display: "flex", flexWrap: "wrap", alignItems: "center", padding: 0, margin: 0, listStyle: "none" }); var BreadcrumbsSeparator = styled_default("li", { name: "MuiBreadcrumbs", slot: "Separator", overridesResolver: (props, styles3) => styles3.separator })({ display: "flex", userSelect: "none", marginLeft: 8, marginRight: 8 }); function insertSeparators(items, className, separator, ownerState) { return items.reduce((acc, current, index) => { if (index < items.length - 1) { acc = acc.concat(current, (0, import_jsx_runtime31.jsx)(BreadcrumbsSeparator, { "aria-hidden": true, className, ownerState, children: separator }, `separator-${index}`)); } else { acc.push(current); } return acc; }, []); } var Breadcrumbs = React26.forwardRef(function Breadcrumbs2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiBreadcrumbs" }); const { children, className, component = "nav", slots = {}, slotProps = {}, expandText = "Show path", itemsAfterCollapse = 1, itemsBeforeCollapse = 1, maxItems = 8, separator = "/" } = props, other = _objectWithoutPropertiesLoose(props, _excluded19); const [expanded, setExpanded] = React26.useState(false); const ownerState = _extends({}, props, { component, expanded, expandText, itemsAfterCollapse, itemsBeforeCollapse, maxItems, separator }); const classes = useUtilityClasses16(ownerState); const collapsedIconSlotProps = useSlotProps_default({ elementType: slots.CollapsedIcon, externalSlotProps: slotProps.collapsedIcon, ownerState }); const listRef = React26.useRef(null); const renderItemsBeforeAndAfter = (allItems2) => { const handleClickExpand = () => { setExpanded(true); const focusable = listRef.current.querySelector("a[href],button,[tabindex]"); if (focusable) { focusable.focus(); } }; if (itemsBeforeCollapse + itemsAfterCollapse >= allItems2.length) { if (true) { console.error(["MUI: You have provided an invalid combination of props to the Breadcrumbs.", `itemsAfterCollapse={${itemsAfterCollapse}} + itemsBeforeCollapse={${itemsBeforeCollapse}} >= maxItems={${maxItems}}`].join("\n")); } return allItems2; } return [...allItems2.slice(0, itemsBeforeCollapse), (0, import_jsx_runtime31.jsx)(BreadcrumbCollapsed_default, { "aria-label": expandText, slots: { CollapsedIcon: slots.CollapsedIcon }, slotProps: { collapsedIcon: collapsedIconSlotProps }, onClick: handleClickExpand }, "ellipsis"), ...allItems2.slice(allItems2.length - itemsAfterCollapse, allItems2.length)]; }; const allItems = React26.Children.toArray(children).filter((child) => { if (true) { if ((0, import_react_is4.isFragment)(child)) { console.error(["MUI: The Breadcrumbs component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n")); } } return React26.isValidElement(child); }).map((child, index) => (0, import_jsx_runtime31.jsx)("li", { className: classes.li, children: child }, `child-${index}`)); return (0, import_jsx_runtime31.jsx)(BreadcrumbsRoot, _extends({ ref, component, color: "text.secondary", className: clsx_default(classes.root, className), ownerState }, other, { children: (0, import_jsx_runtime31.jsx)(BreadcrumbsOl, { className: classes.ol, ref: listRef, ownerState, children: insertSeparators(expanded || maxItems && allItems.length <= maxItems ? allItems : renderItemsBeforeAndAfter(allItems), classes.separator, separator, ownerState) }) })); }); true ? Breadcrumbs.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types18.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types18.default.object, /** * @ignore */ className: import_prop_types18.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types18.default.elementType, /** * Override the default label for the expand button. * * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/). * @default 'Show path' */ expandText: import_prop_types18.default.string, /** * If max items is exceeded, the number of items to show after the ellipsis. * @default 1 */ itemsAfterCollapse: integerPropType_default, /** * If max items is exceeded, the number of items to show before the ellipsis. * @default 1 */ itemsBeforeCollapse: integerPropType_default, /** * Specifies the maximum number of breadcrumbs to display. When there are more * than the maximum number, only the first `itemsBeforeCollapse` and last `itemsAfterCollapse` * will be shown, with an ellipsis in between. * @default 8 */ maxItems: integerPropType_default, /** * Custom separator node. * @default '/' */ separator: import_prop_types18.default.node, /** * The props used for each slot inside the Breadcumb. * @default {} */ slotProps: import_prop_types18.default.shape({ collapsedIcon: import_prop_types18.default.oneOfType([import_prop_types18.default.func, import_prop_types18.default.object]) }), /** * The components used for each slot inside the Breadcumb. * Either a string to use a HTML element or a component. * @default {} */ slots: import_prop_types18.default.shape({ CollapsedIcon: import_prop_types18.default.elementType }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types18.default.oneOfType([import_prop_types18.default.arrayOf(import_prop_types18.default.oneOfType([import_prop_types18.default.func, import_prop_types18.default.object, import_prop_types18.default.bool])), import_prop_types18.default.func, import_prop_types18.default.object]) } : void 0; var Breadcrumbs_default = Breadcrumbs; // node_modules/@mui/material/ButtonGroup/ButtonGroup.js init_extends(); var React27 = __toESM(require_react()); var import_prop_types19 = __toESM(require_prop_types()); var import_colorManipulator4 = __toESM(require_colorManipulator()); // node_modules/@mui/material/ButtonGroup/buttonGroupClasses.js function getButtonGroupUtilityClass(slot) { return generateUtilityClass("MuiButtonGroup", slot); } var buttonGroupClasses = generateUtilityClasses("MuiButtonGroup", ["root", "contained", "outlined", "text", "disableElevation", "disabled", "firstButton", "fullWidth", "vertical", "grouped", "groupedHorizontal", "groupedVertical", "groupedText", "groupedTextHorizontal", "groupedTextVertical", "groupedTextPrimary", "groupedTextSecondary", "groupedOutlined", "groupedOutlinedHorizontal", "groupedOutlinedVertical", "groupedOutlinedPrimary", "groupedOutlinedSecondary", "groupedContained", "groupedContainedHorizontal", "groupedContainedVertical", "groupedContainedPrimary", "groupedContainedSecondary", "lastButton", "middleButton"]); var buttonGroupClasses_default = buttonGroupClasses; // node_modules/@mui/material/ButtonGroup/ButtonGroup.js var import_jsx_runtime32 = __toESM(require_jsx_runtime()); var _excluded20 = ["children", "className", "color", "component", "disabled", "disableElevation", "disableFocusRipple", "disableRipple", "fullWidth", "orientation", "size", "variant"]; var overridesResolver = (props, styles3) => { const { ownerState } = props; return [{ [`& .${buttonGroupClasses_default.grouped}`]: styles3.grouped }, { [`& .${buttonGroupClasses_default.grouped}`]: styles3[`grouped${capitalize_default(ownerState.orientation)}`] }, { [`& .${buttonGroupClasses_default.grouped}`]: styles3[`grouped${capitalize_default(ownerState.variant)}`] }, { [`& .${buttonGroupClasses_default.grouped}`]: styles3[`grouped${capitalize_default(ownerState.variant)}${capitalize_default(ownerState.orientation)}`] }, { [`& .${buttonGroupClasses_default.grouped}`]: styles3[`grouped${capitalize_default(ownerState.variant)}${capitalize_default(ownerState.color)}`] }, { [`& .${buttonGroupClasses_default.firstButton}`]: styles3.firstButton }, { [`& .${buttonGroupClasses_default.lastButton}`]: styles3.lastButton }, { [`& .${buttonGroupClasses_default.middleButton}`]: styles3.middleButton }, styles3.root, styles3[ownerState.variant], ownerState.disableElevation === true && styles3.disableElevation, ownerState.fullWidth && styles3.fullWidth, ownerState.orientation === "vertical" && styles3.vertical]; }; var useUtilityClasses17 = (ownerState) => { const { classes, color, disabled, disableElevation, fullWidth, orientation, variant } = ownerState; const slots = { root: ["root", variant, orientation === "vertical" && "vertical", fullWidth && "fullWidth", disableElevation && "disableElevation"], grouped: ["grouped", `grouped${capitalize_default(orientation)}`, `grouped${capitalize_default(variant)}`, `grouped${capitalize_default(variant)}${capitalize_default(orientation)}`, `grouped${capitalize_default(variant)}${capitalize_default(color)}`, disabled && "disabled"], firstButton: ["firstButton"], lastButton: ["lastButton"], middleButton: ["middleButton"] }; return composeClasses(slots, getButtonGroupUtilityClass, classes); }; var ButtonGroupRoot = styled_default("div", { name: "MuiButtonGroup", slot: "Root", overridesResolver })(({ theme, ownerState }) => _extends({ display: "inline-flex", borderRadius: (theme.vars || theme).shape.borderRadius }, ownerState.variant === "contained" && { boxShadow: (theme.vars || theme).shadows[2] }, ownerState.disableElevation && { boxShadow: "none" }, ownerState.fullWidth && { width: "100%" }, ownerState.orientation === "vertical" && { flexDirection: "column" }, { [`& .${buttonGroupClasses_default.grouped}`]: _extends({ minWidth: 40, "&:hover": _extends({}, ownerState.variant === "contained" && { boxShadow: "none" }) }, ownerState.variant === "contained" && { boxShadow: "none" }), [`& .${buttonGroupClasses_default.firstButton},& .${buttonGroupClasses_default.middleButton}`]: _extends({}, ownerState.orientation === "horizontal" && { borderTopRightRadius: 0, borderBottomRightRadius: 0 }, ownerState.orientation === "vertical" && { borderBottomRightRadius: 0, borderBottomLeftRadius: 0 }, ownerState.variant === "text" && ownerState.orientation === "horizontal" && { borderRight: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)"}`, [`&.${buttonGroupClasses_default.disabled}`]: { borderRight: `1px solid ${(theme.vars || theme).palette.action.disabled}` } }, ownerState.variant === "text" && ownerState.orientation === "vertical" && { borderBottom: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)"}`, [`&.${buttonGroupClasses_default.disabled}`]: { borderBottom: `1px solid ${(theme.vars || theme).palette.action.disabled}` } }, ownerState.variant === "text" && ownerState.color !== "inherit" && { borderColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : (0, import_colorManipulator4.alpha)(theme.palette[ownerState.color].main, 0.5) }, ownerState.variant === "outlined" && ownerState.orientation === "horizontal" && { borderRightColor: "transparent" }, ownerState.variant === "outlined" && ownerState.orientation === "vertical" && { borderBottomColor: "transparent" }, ownerState.variant === "contained" && ownerState.orientation === "horizontal" && { borderRight: `1px solid ${(theme.vars || theme).palette.grey[400]}`, [`&.${buttonGroupClasses_default.disabled}`]: { borderRight: `1px solid ${(theme.vars || theme).palette.action.disabled}` } }, ownerState.variant === "contained" && ownerState.orientation === "vertical" && { borderBottom: `1px solid ${(theme.vars || theme).palette.grey[400]}`, [`&.${buttonGroupClasses_default.disabled}`]: { borderBottom: `1px solid ${(theme.vars || theme).palette.action.disabled}` } }, ownerState.variant === "contained" && ownerState.color !== "inherit" && { borderColor: (theme.vars || theme).palette[ownerState.color].dark }, { "&:hover": _extends({}, ownerState.variant === "outlined" && ownerState.orientation === "horizontal" && { borderRightColor: "currentColor" }, ownerState.variant === "outlined" && ownerState.orientation === "vertical" && { borderBottomColor: "currentColor" }) }), [`& .${buttonGroupClasses_default.lastButton},& .${buttonGroupClasses_default.middleButton}`]: _extends({}, ownerState.orientation === "horizontal" && { borderTopLeftRadius: 0, borderBottomLeftRadius: 0 }, ownerState.orientation === "vertical" && { borderTopRightRadius: 0, borderTopLeftRadius: 0 }, ownerState.variant === "outlined" && ownerState.orientation === "horizontal" && { marginLeft: -1 }, ownerState.variant === "outlined" && ownerState.orientation === "vertical" && { marginTop: -1 }) })); var ButtonGroup = React27.forwardRef(function ButtonGroup2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiButtonGroup" }); const { children, className, color = "primary", component = "div", disabled = false, disableElevation = false, disableFocusRipple = false, disableRipple = false, fullWidth = false, orientation = "horizontal", size = "medium", variant = "outlined" } = props, other = _objectWithoutPropertiesLoose(props, _excluded20); const ownerState = _extends({}, props, { color, component, disabled, disableElevation, disableFocusRipple, disableRipple, fullWidth, orientation, size, variant }); const classes = useUtilityClasses17(ownerState); const context = React27.useMemo(() => ({ className: classes.grouped, color, disabled, disableElevation, disableFocusRipple, disableRipple, fullWidth, size, variant }), [color, disabled, disableElevation, disableFocusRipple, disableRipple, fullWidth, size, variant, classes.grouped]); const validChildren = getValidReactChildren(children); const childrenCount = validChildren.length; const getButtonPositionClassName = (index) => { const isFirstButton = index === 0; const isLastButton = index === childrenCount - 1; if (isFirstButton && isLastButton) { return ""; } if (isFirstButton) { return classes.firstButton; } if (isLastButton) { return classes.lastButton; } return classes.middleButton; }; return (0, import_jsx_runtime32.jsx)(ButtonGroupRoot, _extends({ as: component, role: "group", className: clsx_default(classes.root, className), ref, ownerState }, other, { children: (0, import_jsx_runtime32.jsx)(ButtonGroupContext_default.Provider, { value: context, children: validChildren.map((child, index) => { return (0, import_jsx_runtime32.jsx)(ButtonGroupButtonContext_default.Provider, { value: getButtonPositionClassName(index), children: child }, index); }) }) })); }); true ? ButtonGroup.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types19.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types19.default.object, /** * @ignore */ className: import_prop_types19.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'primary' */ color: import_prop_types19.default.oneOfType([import_prop_types19.default.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), import_prop_types19.default.string]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types19.default.elementType, /** * If `true`, the component is disabled. * @default false */ disabled: import_prop_types19.default.bool, /** * If `true`, no elevation is used. * @default false */ disableElevation: import_prop_types19.default.bool, /** * If `true`, the button keyboard focus ripple is disabled. * @default false */ disableFocusRipple: import_prop_types19.default.bool, /** * If `true`, the button ripple effect is disabled. * @default false */ disableRipple: import_prop_types19.default.bool, /** * If `true`, the buttons will take up the full width of its container. * @default false */ fullWidth: import_prop_types19.default.bool, /** * The component orientation (layout flow direction). * @default 'horizontal' */ orientation: import_prop_types19.default.oneOf(["horizontal", "vertical"]), /** * The size of the component. * `small` is equivalent to the dense button styling. * @default 'medium' */ size: import_prop_types19.default.oneOfType([import_prop_types19.default.oneOf(["small", "medium", "large"]), import_prop_types19.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types19.default.oneOfType([import_prop_types19.default.arrayOf(import_prop_types19.default.oneOfType([import_prop_types19.default.func, import_prop_types19.default.object, import_prop_types19.default.bool])), import_prop_types19.default.func, import_prop_types19.default.object]), /** * The variant to use. * @default 'outlined' */ variant: import_prop_types19.default.oneOfType([import_prop_types19.default.oneOf(["contained", "outlined", "text"]), import_prop_types19.default.string]) } : void 0; var ButtonGroup_default = ButtonGroup; // node_modules/@mui/material/Card/Card.js init_extends(); var React28 = __toESM(require_react()); var import_prop_types20 = __toESM(require_prop_types()); // node_modules/@mui/material/Card/cardClasses.js function getCardUtilityClass(slot) { return generateUtilityClass("MuiCard", slot); } var cardClasses = generateUtilityClasses("MuiCard", ["root"]); var cardClasses_default = cardClasses; // node_modules/@mui/material/Card/Card.js var import_jsx_runtime33 = __toESM(require_jsx_runtime()); var _excluded21 = ["className", "raised"]; var useUtilityClasses18 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getCardUtilityClass, classes); }; var CardRoot = styled_default(Paper_default, { name: "MuiCard", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(() => { return { overflow: "hidden" }; }); var Card = React28.forwardRef(function Card2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCard" }); const { className, raised = false } = props, other = _objectWithoutPropertiesLoose(props, _excluded21); const ownerState = _extends({}, props, { raised }); const classes = useUtilityClasses18(ownerState); return (0, import_jsx_runtime33.jsx)(CardRoot, _extends({ className: clsx_default(classes.root, className), elevation: raised ? 8 : void 0, ref, ownerState }, other)); }); true ? Card.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types20.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types20.default.object, /** * @ignore */ className: import_prop_types20.default.string, /** * If `true`, the card will use raised styling. * @default false */ raised: chainPropTypes(import_prop_types20.default.bool, (props) => { if (props.raised && props.variant === "outlined") { return new Error('MUI: Combining `raised={true}` with `variant="outlined"` has no effect.'); } return null; }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types20.default.oneOfType([import_prop_types20.default.arrayOf(import_prop_types20.default.oneOfType([import_prop_types20.default.func, import_prop_types20.default.object, import_prop_types20.default.bool])), import_prop_types20.default.func, import_prop_types20.default.object]) } : void 0; var Card_default = Card; // node_modules/@mui/material/CardActionArea/CardActionArea.js init_extends(); var React29 = __toESM(require_react()); var import_prop_types21 = __toESM(require_prop_types()); // node_modules/@mui/material/CardActionArea/cardActionAreaClasses.js function getCardActionAreaUtilityClass(slot) { return generateUtilityClass("MuiCardActionArea", slot); } var cardActionAreaClasses = generateUtilityClasses("MuiCardActionArea", ["root", "focusVisible", "focusHighlight"]); var cardActionAreaClasses_default = cardActionAreaClasses; // node_modules/@mui/material/CardActionArea/CardActionArea.js var import_jsx_runtime34 = __toESM(require_jsx_runtime()); var import_jsx_runtime35 = __toESM(require_jsx_runtime()); var _excluded24 = ["children", "className", "focusVisibleClassName"]; var useUtilityClasses19 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"], focusHighlight: ["focusHighlight"] }; return composeClasses(slots, getCardActionAreaUtilityClass, classes); }; var CardActionAreaRoot = styled_default(ButtonBase_default, { name: "MuiCardActionArea", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(({ theme }) => ({ display: "block", textAlign: "inherit", borderRadius: "inherit", // for Safari to work https://github.com/mui/material-ui/issues/36285. width: "100%", [`&:hover .${cardActionAreaClasses_default.focusHighlight}`]: { opacity: (theme.vars || theme).palette.action.hoverOpacity, "@media (hover: none)": { opacity: 0 } }, [`&.${cardActionAreaClasses_default.focusVisible} .${cardActionAreaClasses_default.focusHighlight}`]: { opacity: (theme.vars || theme).palette.action.focusOpacity } })); var CardActionAreaFocusHighlight = styled_default("span", { name: "MuiCardActionArea", slot: "FocusHighlight", overridesResolver: (props, styles3) => styles3.focusHighlight })(({ theme }) => ({ overflow: "hidden", pointerEvents: "none", position: "absolute", top: 0, right: 0, bottom: 0, left: 0, borderRadius: "inherit", opacity: 0, backgroundColor: "currentcolor", transition: theme.transitions.create("opacity", { duration: theme.transitions.duration.short }) })); var CardActionArea = React29.forwardRef(function CardActionArea2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCardActionArea" }); const { children, className, focusVisibleClassName } = props, other = _objectWithoutPropertiesLoose(props, _excluded24); const ownerState = props; const classes = useUtilityClasses19(ownerState); return (0, import_jsx_runtime35.jsxs)(CardActionAreaRoot, _extends({ className: clsx_default(classes.root, className), focusVisibleClassName: clsx_default(focusVisibleClassName, classes.focusVisible), ref, ownerState }, other, { children: [children, (0, import_jsx_runtime34.jsx)(CardActionAreaFocusHighlight, { className: classes.focusHighlight, ownerState })] })); }); true ? CardActionArea.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types21.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types21.default.object, /** * @ignore */ className: import_prop_types21.default.string, /** * @ignore */ focusVisibleClassName: import_prop_types21.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types21.default.oneOfType([import_prop_types21.default.arrayOf(import_prop_types21.default.oneOfType([import_prop_types21.default.func, import_prop_types21.default.object, import_prop_types21.default.bool])), import_prop_types21.default.func, import_prop_types21.default.object]) } : void 0; var CardActionArea_default = CardActionArea; // node_modules/@mui/material/CardActions/CardActions.js init_extends(); var React30 = __toESM(require_react()); var import_prop_types22 = __toESM(require_prop_types()); // node_modules/@mui/material/CardActions/cardActionsClasses.js function getCardActionsUtilityClass(slot) { return generateUtilityClass("MuiCardActions", slot); } var cardActionsClasses = generateUtilityClasses("MuiCardActions", ["root", "spacing"]); var cardActionsClasses_default = cardActionsClasses; // node_modules/@mui/material/CardActions/CardActions.js var import_jsx_runtime36 = __toESM(require_jsx_runtime()); var _excluded25 = ["disableSpacing", "className"]; var useUtilityClasses20 = (ownerState) => { const { classes, disableSpacing } = ownerState; const slots = { root: ["root", !disableSpacing && "spacing"] }; return composeClasses(slots, getCardActionsUtilityClass, classes); }; var CardActionsRoot = styled_default("div", { name: "MuiCardActions", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, !ownerState.disableSpacing && styles3.spacing]; } })(({ ownerState }) => _extends({ display: "flex", alignItems: "center", padding: 8 }, !ownerState.disableSpacing && { "& > :not(style) ~ :not(style)": { marginLeft: 8 } })); var CardActions = React30.forwardRef(function CardActions2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCardActions" }); const { disableSpacing = false, className } = props, other = _objectWithoutPropertiesLoose(props, _excluded25); const ownerState = _extends({}, props, { disableSpacing }); const classes = useUtilityClasses20(ownerState); return (0, import_jsx_runtime36.jsx)(CardActionsRoot, _extends({ className: clsx_default(classes.root, className), ownerState, ref }, other)); }); true ? CardActions.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types22.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types22.default.object, /** * @ignore */ className: import_prop_types22.default.string, /** * If `true`, the actions do not have additional margin. * @default false */ disableSpacing: import_prop_types22.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types22.default.oneOfType([import_prop_types22.default.arrayOf(import_prop_types22.default.oneOfType([import_prop_types22.default.func, import_prop_types22.default.object, import_prop_types22.default.bool])), import_prop_types22.default.func, import_prop_types22.default.object]) } : void 0; var CardActions_default = CardActions; // node_modules/@mui/material/CardContent/CardContent.js init_extends(); var React31 = __toESM(require_react()); var import_prop_types23 = __toESM(require_prop_types()); // node_modules/@mui/material/CardContent/cardContentClasses.js function getCardContentUtilityClass(slot) { return generateUtilityClass("MuiCardContent", slot); } var cardContentClasses = generateUtilityClasses("MuiCardContent", ["root"]); var cardContentClasses_default = cardContentClasses; // node_modules/@mui/material/CardContent/CardContent.js var import_jsx_runtime37 = __toESM(require_jsx_runtime()); var _excluded26 = ["className", "component"]; var useUtilityClasses21 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getCardContentUtilityClass, classes); }; var CardContentRoot = styled_default("div", { name: "MuiCardContent", slot: "Root", overridesResolver: (props, styles3) => styles3.root })(() => { return { padding: 16, "&:last-child": { paddingBottom: 24 } }; }); var CardContent = React31.forwardRef(function CardContent2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCardContent" }); const { className, component = "div" } = props, other = _objectWithoutPropertiesLoose(props, _excluded26); const ownerState = _extends({}, props, { component }); const classes = useUtilityClasses21(ownerState); return (0, import_jsx_runtime37.jsx)(CardContentRoot, _extends({ as: component, className: clsx_default(classes.root, className), ownerState, ref }, other)); }); true ? CardContent.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types23.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types23.default.object, /** * @ignore */ className: import_prop_types23.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types23.default.elementType, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types23.default.oneOfType([import_prop_types23.default.arrayOf(import_prop_types23.default.oneOfType([import_prop_types23.default.func, import_prop_types23.default.object, import_prop_types23.default.bool])), import_prop_types23.default.func, import_prop_types23.default.object]) } : void 0; var CardContent_default = CardContent; // node_modules/@mui/material/CardHeader/CardHeader.js init_extends(); var React32 = __toESM(require_react()); var import_prop_types24 = __toESM(require_prop_types()); // node_modules/@mui/material/CardHeader/cardHeaderClasses.js function getCardHeaderUtilityClass(slot) { return generateUtilityClass("MuiCardHeader", slot); } var cardHeaderClasses = generateUtilityClasses("MuiCardHeader", ["root", "avatar", "action", "content", "title", "subheader"]); var cardHeaderClasses_default = cardHeaderClasses; // node_modules/@mui/material/CardHeader/CardHeader.js var import_jsx_runtime38 = __toESM(require_jsx_runtime()); var import_jsx_runtime39 = __toESM(require_jsx_runtime()); var _excluded27 = ["action", "avatar", "className", "component", "disableTypography", "subheader", "subheaderTypographyProps", "title", "titleTypographyProps"]; var useUtilityClasses22 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"], avatar: ["avatar"], action: ["action"], content: ["content"], title: ["title"], subheader: ["subheader"] }; return composeClasses(slots, getCardHeaderUtilityClass, classes); }; var CardHeaderRoot = styled_default("div", { name: "MuiCardHeader", slot: "Root", overridesResolver: (props, styles3) => _extends({ [`& .${cardHeaderClasses_default.title}`]: styles3.title, [`& .${cardHeaderClasses_default.subheader}`]: styles3.subheader }, styles3.root) })({ display: "flex", alignItems: "center", padding: 16 }); var CardHeaderAvatar = styled_default("div", { name: "MuiCardHeader", slot: "Avatar", overridesResolver: (props, styles3) => styles3.avatar })({ display: "flex", flex: "0 0 auto", marginRight: 16 }); var CardHeaderAction = styled_default("div", { name: "MuiCardHeader", slot: "Action", overridesResolver: (props, styles3) => styles3.action })({ flex: "0 0 auto", alignSelf: "flex-start", marginTop: -4, marginRight: -8, marginBottom: -4 }); var CardHeaderContent = styled_default("div", { name: "MuiCardHeader", slot: "Content", overridesResolver: (props, styles3) => styles3.content })({ flex: "1 1 auto" }); var CardHeader = React32.forwardRef(function CardHeader2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCardHeader" }); const { action, avatar, className, component = "div", disableTypography = false, subheader: subheaderProp, subheaderTypographyProps, title: titleProp, titleTypographyProps } = props, other = _objectWithoutPropertiesLoose(props, _excluded27); const ownerState = _extends({}, props, { component, disableTypography }); const classes = useUtilityClasses22(ownerState); let title = titleProp; if (title != null && title.type !== Typography_default && !disableTypography) { title = (0, import_jsx_runtime38.jsx)(Typography_default, _extends({ variant: avatar ? "body2" : "h5", className: classes.title, component: "span", display: "block" }, titleTypographyProps, { children: title })); } let subheader = subheaderProp; if (subheader != null && subheader.type !== Typography_default && !disableTypography) { subheader = (0, import_jsx_runtime38.jsx)(Typography_default, _extends({ variant: avatar ? "body2" : "body1", className: classes.subheader, color: "text.secondary", component: "span", display: "block" }, subheaderTypographyProps, { children: subheader })); } return (0, import_jsx_runtime39.jsxs)(CardHeaderRoot, _extends({ className: clsx_default(classes.root, className), as: component, ref, ownerState }, other, { children: [avatar && (0, import_jsx_runtime38.jsx)(CardHeaderAvatar, { className: classes.avatar, ownerState, children: avatar }), (0, import_jsx_runtime39.jsxs)(CardHeaderContent, { className: classes.content, ownerState, children: [title, subheader] }), action && (0, import_jsx_runtime38.jsx)(CardHeaderAction, { className: classes.action, ownerState, children: action })] })); }); true ? CardHeader.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The action to display in the card header. */ action: import_prop_types24.default.node, /** * The Avatar element to display. */ avatar: import_prop_types24.default.node, /** * @ignore */ children: import_prop_types24.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types24.default.object, /** * @ignore */ className: import_prop_types24.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types24.default.elementType, /** * If `true`, `subheader` and `title` won't be wrapped by a Typography component. * This can be useful to render an alternative Typography variant by wrapping * the `title` text, and optional `subheader` text * with the Typography component. * @default false */ disableTypography: import_prop_types24.default.bool, /** * The content of the component. */ subheader: import_prop_types24.default.node, /** * These props will be forwarded to the subheader * (as long as disableTypography is not `true`). */ subheaderTypographyProps: import_prop_types24.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types24.default.oneOfType([import_prop_types24.default.arrayOf(import_prop_types24.default.oneOfType([import_prop_types24.default.func, import_prop_types24.default.object, import_prop_types24.default.bool])), import_prop_types24.default.func, import_prop_types24.default.object]), /** * The content of the component. */ title: import_prop_types24.default.node, /** * These props will be forwarded to the title * (as long as disableTypography is not `true`). */ titleTypographyProps: import_prop_types24.default.object } : void 0; var CardHeader_default = CardHeader; // node_modules/@mui/material/CardMedia/CardMedia.js init_extends(); var React33 = __toESM(require_react()); var import_prop_types25 = __toESM(require_prop_types()); // node_modules/@mui/material/CardMedia/cardMediaClasses.js function getCardMediaUtilityClass(slot) { return generateUtilityClass("MuiCardMedia", slot); } var cardMediaClasses = generateUtilityClasses("MuiCardMedia", ["root", "media", "img"]); var cardMediaClasses_default = cardMediaClasses; // node_modules/@mui/material/CardMedia/CardMedia.js var import_jsx_runtime40 = __toESM(require_jsx_runtime()); var _excluded28 = ["children", "className", "component", "image", "src", "style"]; var useUtilityClasses23 = (ownerState) => { const { classes, isMediaComponent, isImageComponent } = ownerState; const slots = { root: ["root", isMediaComponent && "media", isImageComponent && "img"] }; return composeClasses(slots, getCardMediaUtilityClass, classes); }; var CardMediaRoot = styled_default("div", { name: "MuiCardMedia", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; const { isMediaComponent, isImageComponent } = ownerState; return [styles3.root, isMediaComponent && styles3.media, isImageComponent && styles3.img]; } })(({ ownerState }) => _extends({ display: "block", backgroundSize: "cover", backgroundRepeat: "no-repeat", backgroundPosition: "center" }, ownerState.isMediaComponent && { width: "100%" }, ownerState.isImageComponent && { // ⚠️ object-fit is not supported by IE11. objectFit: "cover" })); var MEDIA_COMPONENTS = ["video", "audio", "picture", "iframe", "img"]; var IMAGE_COMPONENTS = ["picture", "img"]; var CardMedia = React33.forwardRef(function CardMedia2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCardMedia" }); const { children, className, component = "div", image, src, style } = props, other = _objectWithoutPropertiesLoose(props, _excluded28); const isMediaComponent = MEDIA_COMPONENTS.indexOf(component) !== -1; const composedStyle = !isMediaComponent && image ? _extends({ backgroundImage: `url("${image}")` }, style) : style; const ownerState = _extends({}, props, { component, isMediaComponent, isImageComponent: IMAGE_COMPONENTS.indexOf(component) !== -1 }); const classes = useUtilityClasses23(ownerState); return (0, import_jsx_runtime40.jsx)(CardMediaRoot, _extends({ className: clsx_default(classes.root, className), as: component, role: !isMediaComponent && image ? "img" : void 0, ref, style: composedStyle, ownerState, src: isMediaComponent ? image || src : void 0 }, other, { children })); }); true ? CardMedia.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: chainPropTypes(import_prop_types25.default.node, (props) => { if (!props.children && !props.image && !props.src && !props.component) { return new Error("MUI: Either `children`, `image`, `src` or `component` prop must be specified."); } return null; }), /** * Override or extend the styles applied to the component. */ classes: import_prop_types25.default.object, /** * @ignore */ className: import_prop_types25.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types25.default.elementType, /** * Image to be displayed as a background image. * Either `image` or `src` prop must be specified. * Note that caller must specify height otherwise the image will not be visible. */ image: import_prop_types25.default.string, /** * An alias for `image` property. * Available only with media components. * Media components: `video`, `audio`, `picture`, `iframe`, `img`. */ src: import_prop_types25.default.string, /** * @ignore */ style: import_prop_types25.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types25.default.oneOfType([import_prop_types25.default.arrayOf(import_prop_types25.default.oneOfType([import_prop_types25.default.func, import_prop_types25.default.object, import_prop_types25.default.bool])), import_prop_types25.default.func, import_prop_types25.default.object]) } : void 0; var CardMedia_default = CardMedia; // node_modules/@mui/material/Checkbox/Checkbox.js init_extends(); var React38 = __toESM(require_react()); var import_prop_types27 = __toESM(require_prop_types()); var import_colorManipulator5 = __toESM(require_colorManipulator()); // node_modules/@mui/material/internal/SwitchBase.js init_extends(); var React34 = __toESM(require_react()); var import_prop_types26 = __toESM(require_prop_types()); // node_modules/@mui/material/internal/switchBaseClasses.js function getSwitchBaseUtilityClass(slot) { return generateUtilityClass("PrivateSwitchBase", slot); } var switchBaseClasses = generateUtilityClasses("PrivateSwitchBase", ["root", "checked", "disabled", "input", "edgeStart", "edgeEnd"]); // node_modules/@mui/material/internal/SwitchBase.js var import_jsx_runtime41 = __toESM(require_jsx_runtime()); var import_jsx_runtime42 = __toESM(require_jsx_runtime()); var _excluded29 = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"]; var useUtilityClasses24 = (ownerState) => { const { classes, checked, disabled, edge } = ownerState; const slots = { root: ["root", checked && "checked", disabled && "disabled", edge && `edge${capitalize_default(edge)}`], input: ["input"] }; return composeClasses(slots, getSwitchBaseUtilityClass, classes); }; var SwitchBaseRoot = styled_default(ButtonBase_default, { name: "MuiSwitchBase" })(({ ownerState }) => _extends({ padding: 9, borderRadius: "50%" }, ownerState.edge === "start" && { marginLeft: ownerState.size === "small" ? -3 : -12 }, ownerState.edge === "end" && { marginRight: ownerState.size === "small" ? -3 : -12 })); var SwitchBaseInput = styled_default("input", { name: "MuiSwitchBase", shouldForwardProp: rootShouldForwardProp_default })({ cursor: "inherit", position: "absolute", opacity: 0, width: "100%", height: "100%", top: 0, left: 0, margin: 0, padding: 0, zIndex: 1 }); var SwitchBase = React34.forwardRef(function SwitchBase2(props, ref) { const { autoFocus, checked: checkedProp, checkedIcon, className, defaultChecked, disabled: disabledProp, disableFocusRipple = false, edge = false, icon, id, inputProps, inputRef, name, onBlur, onChange, onFocus, readOnly, required = false, tabIndex, type, value } = props, other = _objectWithoutPropertiesLoose(props, _excluded29); const [checked, setCheckedState] = useControlled_default({ controlled: checkedProp, default: Boolean(defaultChecked), name: "SwitchBase", state: "checked" }); const muiFormControl = useFormControl(); const handleFocus = (event) => { if (onFocus) { onFocus(event); } if (muiFormControl && muiFormControl.onFocus) { muiFormControl.onFocus(event); } }; const handleBlur = (event) => { if (onBlur) { onBlur(event); } if (muiFormControl && muiFormControl.onBlur) { muiFormControl.onBlur(event); } }; const handleInputChange = (event) => { if (event.nativeEvent.defaultPrevented) { return; } const newChecked = event.target.checked; setCheckedState(newChecked); if (onChange) { onChange(event, newChecked); } }; let disabled = disabledProp; if (muiFormControl) { if (typeof disabled === "undefined") { disabled = muiFormControl.disabled; } } const hasLabelFor = type === "checkbox" || type === "radio"; const ownerState = _extends({}, props, { checked, disabled, disableFocusRipple, edge }); const classes = useUtilityClasses24(ownerState); return (0, import_jsx_runtime42.jsxs)(SwitchBaseRoot, _extends({ component: "span", className: clsx_default(classes.root, className), centerRipple: true, focusRipple: !disableFocusRipple, disabled, tabIndex: null, role: void 0, onFocus: handleFocus, onBlur: handleBlur, ownerState, ref }, other, { children: [(0, import_jsx_runtime41.jsx)(SwitchBaseInput, _extends({ autoFocus, checked: checkedProp, defaultChecked, className: classes.input, disabled, id: hasLabelFor ? id : void 0, name, onChange: handleInputChange, readOnly, ref: inputRef, required, ownerState, tabIndex, type }, type === "checkbox" && value === void 0 ? {} : { value }, inputProps)), checked ? checkedIcon : icon] })); }); true ? SwitchBase.propTypes = { /** * If `true`, the `input` element is focused during the first mount. */ autoFocus: import_prop_types26.default.bool, /** * If `true`, the component is checked. */ checked: import_prop_types26.default.bool, /** * The icon to display when the component is checked. */ checkedIcon: import_prop_types26.default.node.isRequired, /** * Override or extend the styles applied to the component. */ classes: import_prop_types26.default.object, /** * @ignore */ className: import_prop_types26.default.string, /** * @ignore */ defaultChecked: import_prop_types26.default.bool, /** * If `true`, the component is disabled. */ disabled: import_prop_types26.default.bool, /** * If `true`, the keyboard focus ripple is disabled. * @default false */ disableFocusRipple: import_prop_types26.default.bool, /** * If given, uses a negative margin to counteract the padding on one * side (this is often helpful for aligning the left or right * side of the icon with content above or below, without ruining the border * size and shape). * @default false */ edge: import_prop_types26.default.oneOf(["end", "start", false]), /** * The icon to display when the component is unchecked. */ icon: import_prop_types26.default.node.isRequired, /** * The id of the `input` element. */ id: import_prop_types26.default.string, /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. */ inputProps: import_prop_types26.default.object, /** * Pass a ref to the `input` element. */ inputRef: refType_default, /* * @ignore */ name: import_prop_types26.default.string, /** * @ignore */ onBlur: import_prop_types26.default.func, /** * Callback fired when the state is changed. * * @param {object} event The event source of the callback. * You can pull out the new checked state by accessing `event.target.checked` (boolean). */ onChange: import_prop_types26.default.func, /** * @ignore */ onFocus: import_prop_types26.default.func, /** * It prevents the user from changing the value of the field * (not from interacting with the field). */ readOnly: import_prop_types26.default.bool, /** * If `true`, the `input` element is required. */ required: import_prop_types26.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types26.default.object, /** * @ignore */ tabIndex: import_prop_types26.default.oneOfType([import_prop_types26.default.number, import_prop_types26.default.string]), /** * The input component prop `type`. */ type: import_prop_types26.default.string.isRequired, /** * The value of the component. */ value: import_prop_types26.default.any } : void 0; var SwitchBase_default = SwitchBase; // node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js var React35 = __toESM(require_react()); var import_jsx_runtime43 = __toESM(require_jsx_runtime()); var CheckBoxOutlineBlank_default = createSvgIcon((0, import_jsx_runtime43.jsx)("path", { d: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" }), "CheckBoxOutlineBlank"); // node_modules/@mui/material/internal/svg-icons/CheckBox.js var React36 = __toESM(require_react()); var import_jsx_runtime44 = __toESM(require_jsx_runtime()); var CheckBox_default = createSvgIcon((0, import_jsx_runtime44.jsx)("path", { d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" }), "CheckBox"); // node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js var React37 = __toESM(require_react()); var import_jsx_runtime45 = __toESM(require_jsx_runtime()); var IndeterminateCheckBox_default = createSvgIcon((0, import_jsx_runtime45.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z" }), "IndeterminateCheckBox"); // node_modules/@mui/material/Checkbox/checkboxClasses.js function getCheckboxUtilityClass(slot) { return generateUtilityClass("MuiCheckbox", slot); } var checkboxClasses = generateUtilityClasses("MuiCheckbox", ["root", "checked", "disabled", "indeterminate", "colorPrimary", "colorSecondary", "sizeSmall", "sizeMedium"]); var checkboxClasses_default = checkboxClasses; // node_modules/@mui/material/Checkbox/Checkbox.js var import_jsx_runtime46 = __toESM(require_jsx_runtime()); var _excluded30 = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"]; var useUtilityClasses25 = (ownerState) => { const { classes, indeterminate, color, size } = ownerState; const slots = { root: ["root", indeterminate && "indeterminate", `color${capitalize_default(color)}`, `size${capitalize_default(size)}`] }; const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes); return _extends({}, classes, composedClasses); }; var CheckboxRoot = styled_default(SwitchBase_default, { shouldForwardProp: (prop) => rootShouldForwardProp_default(prop) || prop === "classes", name: "MuiCheckbox", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.indeterminate && styles3.indeterminate, styles3[`size${capitalize_default(ownerState.size)}`], ownerState.color !== "default" && styles3[`color${capitalize_default(ownerState.color)}`]]; } })(({ theme, ownerState }) => _extends({ color: (theme.vars || theme).palette.text.secondary }, !ownerState.disableRipple && { "&:hover": { backgroundColor: theme.vars ? `rgba(${ownerState.color === "default" ? theme.vars.palette.action.activeChannel : theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : (0, import_colorManipulator5.alpha)(ownerState.color === "default" ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity "@media (hover: none)": { backgroundColor: "transparent" } } }, ownerState.color !== "default" && { [`&.${checkboxClasses_default.checked}, &.${checkboxClasses_default.indeterminate}`]: { color: (theme.vars || theme).palette[ownerState.color].main }, [`&.${checkboxClasses_default.disabled}`]: { color: (theme.vars || theme).palette.action.disabled } })); var defaultCheckedIcon = (0, import_jsx_runtime46.jsx)(CheckBox_default, {}); var defaultIcon = (0, import_jsx_runtime46.jsx)(CheckBoxOutlineBlank_default, {}); var defaultIndeterminateIcon = (0, import_jsx_runtime46.jsx)(IndeterminateCheckBox_default, {}); var Checkbox = React38.forwardRef(function Checkbox2(inProps, ref) { var _icon$props$fontSize, _indeterminateIcon$pr; const props = useDefaultProps({ props: inProps, name: "MuiCheckbox" }); const { checkedIcon = defaultCheckedIcon, color = "primary", icon: iconProp = defaultIcon, indeterminate = false, indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon, inputProps, size = "medium", className } = props, other = _objectWithoutPropertiesLoose(props, _excluded30); const icon = indeterminate ? indeterminateIconProp : iconProp; const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon; const ownerState = _extends({}, props, { color, indeterminate, size }); const classes = useUtilityClasses25(ownerState); return (0, import_jsx_runtime46.jsx)(CheckboxRoot, _extends({ type: "checkbox", inputProps: _extends({ "data-indeterminate": indeterminate }, inputProps), icon: React38.cloneElement(icon, { fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size }), checkedIcon: React38.cloneElement(indeterminateIcon, { fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size }), ownerState, ref, className: clsx_default(classes.root, className) }, other, { classes })); }); true ? Checkbox.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, the component is checked. */ checked: import_prop_types27.default.bool, /** * The icon to display when the component is checked. * @default */ checkedIcon: import_prop_types27.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types27.default.object, /** * @ignore */ className: import_prop_types27.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'primary' */ color: import_prop_types27.default.oneOfType([import_prop_types27.default.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), import_prop_types27.default.string]), /** * The default checked state. Use when the component is not controlled. */ defaultChecked: import_prop_types27.default.bool, /** * If `true`, the component is disabled. * @default false */ disabled: import_prop_types27.default.bool, /** * If `true`, the ripple effect is disabled. * @default false */ disableRipple: import_prop_types27.default.bool, /** * The icon to display when the component is unchecked. * @default */ icon: import_prop_types27.default.node, /** * The id of the `input` element. */ id: import_prop_types27.default.string, /** * If `true`, the component appears indeterminate. * This does not set the native input element to indeterminate due * to inconsistent behavior across browsers. * However, we set a `data-indeterminate` attribute on the `input`. * @default false */ indeterminate: import_prop_types27.default.bool, /** * The icon to display when the component is indeterminate. * @default */ indeterminateIcon: import_prop_types27.default.node, /** * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element. */ inputProps: import_prop_types27.default.object, /** * Pass a ref to the `input` element. */ inputRef: refType_default, /** * Callback fired when the state is changed. * * @param {React.ChangeEvent} event The event source of the callback. * You can pull out the new checked state by accessing `event.target.checked` (boolean). */ onChange: import_prop_types27.default.func, /** * If `true`, the `input` element is required. * @default false */ required: import_prop_types27.default.bool, /** * The size of the component. * `small` is equivalent to the dense checkbox styling. * @default 'medium' */ size: import_prop_types27.default.oneOfType([import_prop_types27.default.oneOf(["medium", "small"]), import_prop_types27.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types27.default.oneOfType([import_prop_types27.default.arrayOf(import_prop_types27.default.oneOfType([import_prop_types27.default.func, import_prop_types27.default.object, import_prop_types27.default.bool])), import_prop_types27.default.func, import_prop_types27.default.object]), /** * The value of the component. The DOM API casts this to a string. * The browser uses "on" as the default value. */ value: import_prop_types27.default.any } : void 0; var Checkbox_default = Checkbox; // node_modules/@mui/material/CircularProgress/CircularProgress.js init_extends(); var React39 = __toESM(require_react()); var import_prop_types28 = __toESM(require_prop_types()); // node_modules/@mui/material/CircularProgress/circularProgressClasses.js function getCircularProgressUtilityClass(slot) { return generateUtilityClass("MuiCircularProgress", slot); } var circularProgressClasses = generateUtilityClasses("MuiCircularProgress", ["root", "determinate", "indeterminate", "colorPrimary", "colorSecondary", "svg", "circle", "circleDeterminate", "circleIndeterminate", "circleDisableShrink"]); var circularProgressClasses_default = circularProgressClasses; // node_modules/@mui/material/CircularProgress/CircularProgress.js var import_jsx_runtime47 = __toESM(require_jsx_runtime()); var _excluded31 = ["className", "color", "disableShrink", "size", "style", "thickness", "value", "variant"]; var _ = (t) => t; var _t; var _t2; var _t3; var _t4; var SIZE = 44; var circularRotateKeyframe = keyframes(_t || (_t = _` 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } `)); var circularDashKeyframe = keyframes(_t2 || (_t2 = _` 0% { stroke-dasharray: 1px, 200px; stroke-dashoffset: 0; } 50% { stroke-dasharray: 100px, 200px; stroke-dashoffset: -15px; } 100% { stroke-dasharray: 100px, 200px; stroke-dashoffset: -125px; } `)); var useUtilityClasses26 = (ownerState) => { const { classes, variant, color, disableShrink } = ownerState; const slots = { root: ["root", variant, `color${capitalize_default(color)}`], svg: ["svg"], circle: ["circle", `circle${capitalize_default(variant)}`, disableShrink && "circleDisableShrink"] }; return composeClasses(slots, getCircularProgressUtilityClass, classes); }; var CircularProgressRoot = styled_default("span", { name: "MuiCircularProgress", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[ownerState.variant], styles3[`color${capitalize_default(ownerState.color)}`]]; } })(({ ownerState, theme }) => _extends({ display: "inline-block" }, ownerState.variant === "determinate" && { transition: theme.transitions.create("transform") }, ownerState.color !== "inherit" && { color: (theme.vars || theme).palette[ownerState.color].main }), ({ ownerState }) => ownerState.variant === "indeterminate" && css(_t3 || (_t3 = _` animation: ${0} 1.4s linear infinite; `), circularRotateKeyframe)); var CircularProgressSVG = styled_default("svg", { name: "MuiCircularProgress", slot: "Svg", overridesResolver: (props, styles3) => styles3.svg })({ display: "block" // Keeps the progress centered }); var CircularProgressCircle = styled_default("circle", { name: "MuiCircularProgress", slot: "Circle", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.circle, styles3[`circle${capitalize_default(ownerState.variant)}`], ownerState.disableShrink && styles3.circleDisableShrink]; } })(({ ownerState, theme }) => _extends({ stroke: "currentColor" }, ownerState.variant === "determinate" && { transition: theme.transitions.create("stroke-dashoffset") }, ownerState.variant === "indeterminate" && { // Some default value that looks fine waiting for the animation to kicks in. strokeDasharray: "80px, 200px", strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug. }), ({ ownerState }) => ownerState.variant === "indeterminate" && !ownerState.disableShrink && css(_t4 || (_t4 = _` animation: ${0} 1.4s ease-in-out infinite; `), circularDashKeyframe)); var CircularProgress = React39.forwardRef(function CircularProgress2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiCircularProgress" }); const { className, color = "primary", disableShrink = false, size = 40, style, thickness = 3.6, value = 0, variant = "indeterminate" } = props, other = _objectWithoutPropertiesLoose(props, _excluded31); const ownerState = _extends({}, props, { color, disableShrink, size, thickness, value, variant }); const classes = useUtilityClasses26(ownerState); const circleStyle = {}; const rootStyle = {}; const rootProps = {}; if (variant === "determinate") { const circumference = 2 * Math.PI * ((SIZE - thickness) / 2); circleStyle.strokeDasharray = circumference.toFixed(3); rootProps["aria-valuenow"] = Math.round(value); circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`; rootStyle.transform = "rotate(-90deg)"; } return (0, import_jsx_runtime47.jsx)(CircularProgressRoot, _extends({ className: clsx_default(classes.root, className), style: _extends({ width: size, height: size }, rootStyle, style), ownerState, ref, role: "progressbar" }, rootProps, other, { children: (0, import_jsx_runtime47.jsx)(CircularProgressSVG, { className: classes.svg, ownerState, viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`, children: (0, import_jsx_runtime47.jsx)(CircularProgressCircle, { className: classes.circle, style: circleStyle, ownerState, cx: SIZE, cy: SIZE, r: (SIZE - thickness) / 2, fill: "none", strokeWidth: thickness }) }) })); }); true ? CircularProgress.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Override or extend the styles applied to the component. */ classes: import_prop_types28.default.object, /** * @ignore */ className: import_prop_types28.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'primary' */ color: import_prop_types28.default.oneOfType([import_prop_types28.default.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), import_prop_types28.default.string]), /** * If `true`, the shrink animation is disabled. * This only works if variant is `indeterminate`. * @default false */ disableShrink: chainPropTypes(import_prop_types28.default.bool, (props) => { if (props.disableShrink && props.variant && props.variant !== "indeterminate") { return new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect."); } return null; }), /** * The size of the component. * If using a number, the pixel unit is assumed. * If using a string, you need to provide the CSS unit, for example '3rem'. * @default 40 */ size: import_prop_types28.default.oneOfType([import_prop_types28.default.number, import_prop_types28.default.string]), /** * @ignore */ style: import_prop_types28.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types28.default.oneOfType([import_prop_types28.default.arrayOf(import_prop_types28.default.oneOfType([import_prop_types28.default.func, import_prop_types28.default.object, import_prop_types28.default.bool])), import_prop_types28.default.func, import_prop_types28.default.object]), /** * The thickness of the circle. * @default 3.6 */ thickness: import_prop_types28.default.number, /** * The value of the progress indicator for the determinate variant. * Value between 0 and 100. * @default 0 */ value: import_prop_types28.default.number, /** * The variant to use. * Use indeterminate when there is no progress value. * @default 'indeterminate' */ variant: import_prop_types28.default.oneOf(["determinate", "indeterminate"]) } : void 0; var CircularProgress_default = CircularProgress; // node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js var React40 = __toESM(require_react()); var import_prop_types29 = __toESM(require_prop_types()); var import_jsx_runtime48 = __toESM(require_jsx_runtime()); function mapEventPropToEvent(eventProp) { return eventProp.substring(2).toLowerCase(); } function clickedRootScrollbar(event, doc) { return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY; } function ClickAwayListener(props) { const { children, disableReactTree = false, mouseEvent = "onClick", onClickAway, touchEvent = "onTouchEnd" } = props; const movedRef = React40.useRef(false); const nodeRef = React40.useRef(null); const activatedRef = React40.useRef(false); const syntheticEventRef = React40.useRef(false); React40.useEffect(() => { setTimeout(() => { activatedRef.current = true; }, 0); return () => { activatedRef.current = false; }; }, []); const handleRef = useForkRef(getReactElementRef(children), nodeRef); const handleClickAway = useEventCallback_default((event) => { const insideReactTree = syntheticEventRef.current; syntheticEventRef.current = false; const doc = ownerDocument(nodeRef.current); if (!activatedRef.current || !nodeRef.current || "clientX" in event && clickedRootScrollbar(event, doc)) { return; } if (movedRef.current) { movedRef.current = false; return; } let insideDOM; if (event.composedPath) { insideDOM = event.composedPath().indexOf(nodeRef.current) > -1; } else { insideDOM = !doc.documentElement.contains( // @ts-expect-error returns `false` as intended when not dispatched from a Node event.target ) || nodeRef.current.contains( // @ts-expect-error returns `false` as intended when not dispatched from a Node event.target ); } if (!insideDOM && (disableReactTree || !insideReactTree)) { onClickAway(event); } }); const createHandleSynthetic = (handlerName) => (event) => { syntheticEventRef.current = true; const childrenPropsHandler = children.props[handlerName]; if (childrenPropsHandler) { childrenPropsHandler(event); } }; const childrenProps = { ref: handleRef }; if (touchEvent !== false) { childrenProps[touchEvent] = createHandleSynthetic(touchEvent); } React40.useEffect(() => { if (touchEvent !== false) { const mappedTouchEvent = mapEventPropToEvent(touchEvent); const doc = ownerDocument(nodeRef.current); const handleTouchMove = () => { movedRef.current = true; }; doc.addEventListener(mappedTouchEvent, handleClickAway); doc.addEventListener("touchmove", handleTouchMove); return () => { doc.removeEventListener(mappedTouchEvent, handleClickAway); doc.removeEventListener("touchmove", handleTouchMove); }; } return void 0; }, [handleClickAway, touchEvent]); if (mouseEvent !== false) { childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent); } React40.useEffect(() => { if (mouseEvent !== false) { const mappedMouseEvent = mapEventPropToEvent(mouseEvent); const doc = ownerDocument(nodeRef.current); doc.addEventListener(mappedMouseEvent, handleClickAway); return () => { doc.removeEventListener(mappedMouseEvent, handleClickAway); }; } return void 0; }, [handleClickAway, mouseEvent]); return (0, import_jsx_runtime48.jsx)(React40.Fragment, { children: React40.cloneElement(children, childrenProps) }); } true ? ClickAwayListener.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The wrapped element. */ children: elementAcceptingRef_default.isRequired, /** * If `true`, the React tree is ignored and only the DOM tree is considered. * This prop changes how portaled elements are handled. * @default false */ disableReactTree: import_prop_types29.default.bool, /** * The mouse event to listen to. You can disable the listener by providing `false`. * @default 'onClick' */ mouseEvent: import_prop_types29.default.oneOf(["onClick", "onMouseDown", "onMouseUp", "onPointerDown", "onPointerUp", false]), /** * Callback fired when a "click away" event is detected. */ onClickAway: import_prop_types29.default.func.isRequired, /** * The touch event to listen to. You can disable the listener by providing `false`. * @default 'onTouchEnd' */ touchEvent: import_prop_types29.default.oneOf(["onTouchEnd", "onTouchStart", false]) } : void 0; if (true) { ClickAwayListener["propTypes"] = exactProp(ClickAwayListener.propTypes); } // node_modules/@mui/material/Container/Container.js var import_prop_types30 = __toESM(require_prop_types()); var Container = createContainer({ createStyledComponent: styled_default("div", { name: "MuiContainer", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[`maxWidth${capitalize_default(String(ownerState.maxWidth))}`], ownerState.fixed && styles3.fixed, ownerState.disableGutters && styles3.disableGutters]; } }), useThemeProps: (inProps) => useDefaultProps({ props: inProps, name: "MuiContainer" }) }); true ? Container.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * @ignore */ children: import_prop_types30.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types30.default.object, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types30.default.elementType, /** * If `true`, the left and right padding is removed. * @default false */ disableGutters: import_prop_types30.default.bool, /** * Set the max-width to match the min-width of the current breakpoint. * This is useful if you'd prefer to design for a fixed set of sizes * instead of trying to accommodate a fully fluid viewport. * It's fluid by default. * @default false */ fixed: import_prop_types30.default.bool, /** * Determine the max-width of the container. * The container width grows with the size of the screen. * Set to `false` to disable `maxWidth`. * @default 'lg' */ maxWidth: import_prop_types30.default.oneOfType([import_prop_types30.default.oneOf(["xs", "sm", "md", "lg", "xl", false]), import_prop_types30.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types30.default.oneOfType([import_prop_types30.default.arrayOf(import_prop_types30.default.oneOfType([import_prop_types30.default.func, import_prop_types30.default.object, import_prop_types30.default.bool])), import_prop_types30.default.func, import_prop_types30.default.object]) } : void 0; var Container_default = Container; // node_modules/@mui/material/Container/containerClasses.js function getContainerUtilityClass(slot) { return generateUtilityClass("MuiContainer", slot); } var containerClasses = generateUtilityClasses("MuiContainer", ["root", "disableGutters", "fixed", "maxWidthXs", "maxWidthSm", "maxWidthMd", "maxWidthLg", "maxWidthXl"]); var containerClasses_default = containerClasses; // node_modules/@mui/material/darkScrollbar/index.js var scrollBar = { track: "#2b2b2b", thumb: "#6b6b6b", active: "#959595" }; function darkScrollbar(options = scrollBar) { return { scrollbarColor: `${options.thumb} ${options.track}`, "&::-webkit-scrollbar, & *::-webkit-scrollbar": { backgroundColor: options.track }, "&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb": { borderRadius: 8, backgroundColor: options.thumb, minHeight: 24, border: `3px solid ${options.track}` }, "&::-webkit-scrollbar-thumb:focus, & *::-webkit-scrollbar-thumb:focus": { backgroundColor: options.active }, "&::-webkit-scrollbar-thumb:active, & *::-webkit-scrollbar-thumb:active": { backgroundColor: options.active }, "&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover": { backgroundColor: options.active }, "&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner": { backgroundColor: options.track } }; } // node_modules/@mui/material/DialogContentText/DialogContentText.js init_extends(); var React41 = __toESM(require_react()); var import_prop_types31 = __toESM(require_prop_types()); // node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js function getDialogContentTextUtilityClass(slot) { return generateUtilityClass("MuiDialogContentText", slot); } var dialogContentTextClasses = generateUtilityClasses("MuiDialogContentText", ["root"]); var dialogContentTextClasses_default = dialogContentTextClasses; // node_modules/@mui/material/DialogContentText/DialogContentText.js var import_jsx_runtime49 = __toESM(require_jsx_runtime()); var _excluded33 = ["children", "className"]; var useUtilityClasses27 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes); return _extends({}, classes, composedClasses); }; var DialogContentTextRoot = styled_default(Typography_default, { shouldForwardProp: (prop) => rootShouldForwardProp_default(prop) || prop === "classes", name: "MuiDialogContentText", slot: "Root", overridesResolver: (props, styles3) => styles3.root })({}); var DialogContentText = React41.forwardRef(function DialogContentText2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiDialogContentText" }); const { className } = props, ownerState = _objectWithoutPropertiesLoose(props, _excluded33); const classes = useUtilityClasses27(ownerState); return (0, import_jsx_runtime49.jsx)(DialogContentTextRoot, _extends({ component: "p", variant: "body1", color: "text.secondary", ref, ownerState, className: clsx_default(classes.root, className) }, props, { classes })); }); true ? DialogContentText.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types31.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types31.default.object, /** * @ignore */ className: import_prop_types31.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types31.default.oneOfType([import_prop_types31.default.arrayOf(import_prop_types31.default.oneOfType([import_prop_types31.default.func, import_prop_types31.default.object, import_prop_types31.default.bool])), import_prop_types31.default.func, import_prop_types31.default.object]) } : void 0; var DialogContentText_default = DialogContentText; // node_modules/@mui/material/DialogTitle/DialogTitle.js init_extends(); var React42 = __toESM(require_react()); var import_prop_types32 = __toESM(require_prop_types()); var import_jsx_runtime50 = __toESM(require_jsx_runtime()); var _excluded34 = ["className", "id"]; var useUtilityClasses28 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getDialogTitleUtilityClass, classes); }; var DialogTitleRoot = styled_default(Typography_default, { name: "MuiDialogTitle", slot: "Root", overridesResolver: (props, styles3) => styles3.root })({ padding: "16px 24px", flex: "0 0 auto" }); var DialogTitle = React42.forwardRef(function DialogTitle2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiDialogTitle" }); const { className, id: idProp } = props, other = _objectWithoutPropertiesLoose(props, _excluded34); const ownerState = props; const classes = useUtilityClasses28(ownerState); const { titleId = idProp } = React42.useContext(DialogContext_default); return (0, import_jsx_runtime50.jsx)(DialogTitleRoot, _extends({ component: "h2", className: clsx_default(classes.root, className), ownerState, ref, variant: "h6", id: idProp != null ? idProp : titleId }, other)); }); true ? DialogTitle.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types32.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types32.default.object, /** * @ignore */ className: import_prop_types32.default.string, /** * @ignore */ id: import_prop_types32.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types32.default.oneOfType([import_prop_types32.default.arrayOf(import_prop_types32.default.oneOfType([import_prop_types32.default.func, import_prop_types32.default.object, import_prop_types32.default.bool])), import_prop_types32.default.func, import_prop_types32.default.object]) } : void 0; var DialogTitle_default = DialogTitle; // node_modules/@mui/material/Divider/Divider.js init_extends(); var React43 = __toESM(require_react()); var import_prop_types33 = __toESM(require_prop_types()); var import_colorManipulator6 = __toESM(require_colorManipulator()); // node_modules/@mui/material/Divider/dividerClasses.js function getDividerUtilityClass(slot) { return generateUtilityClass("MuiDivider", slot); } var dividerClasses = generateUtilityClasses("MuiDivider", ["root", "absolute", "fullWidth", "inset", "middle", "flexItem", "light", "vertical", "withChildren", "withChildrenVertical", "textAlignRight", "textAlignLeft", "wrapper", "wrapperVertical"]); var dividerClasses_default = dividerClasses; // node_modules/@mui/material/Divider/Divider.js var import_jsx_runtime51 = __toESM(require_jsx_runtime()); var _excluded35 = ["absolute", "children", "className", "component", "flexItem", "light", "orientation", "role", "textAlign", "variant"]; var useUtilityClasses29 = (ownerState) => { const { absolute, children, classes, flexItem, light, orientation, textAlign, variant } = ownerState; const slots = { root: ["root", absolute && "absolute", variant, light && "light", orientation === "vertical" && "vertical", flexItem && "flexItem", children && "withChildren", children && orientation === "vertical" && "withChildrenVertical", textAlign === "right" && orientation !== "vertical" && "textAlignRight", textAlign === "left" && orientation !== "vertical" && "textAlignLeft"], wrapper: ["wrapper", orientation === "vertical" && "wrapperVertical"] }; return composeClasses(slots, getDividerUtilityClass, classes); }; var DividerRoot = styled_default("div", { name: "MuiDivider", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.absolute && styles3.absolute, styles3[ownerState.variant], ownerState.light && styles3.light, ownerState.orientation === "vertical" && styles3.vertical, ownerState.flexItem && styles3.flexItem, ownerState.children && styles3.withChildren, ownerState.children && ownerState.orientation === "vertical" && styles3.withChildrenVertical, ownerState.textAlign === "right" && ownerState.orientation !== "vertical" && styles3.textAlignRight, ownerState.textAlign === "left" && ownerState.orientation !== "vertical" && styles3.textAlignLeft]; } })(({ theme, ownerState }) => _extends({ margin: 0, // Reset browser default style. flexShrink: 0, borderWidth: 0, borderStyle: "solid", borderColor: (theme.vars || theme).palette.divider, borderBottomWidth: "thin" }, ownerState.absolute && { position: "absolute", bottom: 0, left: 0, width: "100%" }, ownerState.light && { borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : (0, import_colorManipulator6.alpha)(theme.palette.divider, 0.08) }, ownerState.variant === "inset" && { marginLeft: 72 }, ownerState.variant === "middle" && ownerState.orientation === "horizontal" && { marginLeft: theme.spacing(2), marginRight: theme.spacing(2) }, ownerState.variant === "middle" && ownerState.orientation === "vertical" && { marginTop: theme.spacing(1), marginBottom: theme.spacing(1) }, ownerState.orientation === "vertical" && { height: "100%", borderBottomWidth: 0, borderRightWidth: "thin" }, ownerState.flexItem && { alignSelf: "stretch", height: "auto" }), ({ ownerState }) => _extends({}, ownerState.children && { display: "flex", whiteSpace: "nowrap", textAlign: "center", border: 0, borderTopStyle: "solid", borderLeftStyle: "solid", "&::before, &::after": { content: '""', alignSelf: "center" } }), ({ theme, ownerState }) => _extends({}, ownerState.children && ownerState.orientation !== "vertical" && { "&::before, &::after": { width: "100%", borderTop: `thin solid ${(theme.vars || theme).palette.divider}`, borderTopStyle: "inherit" } }), ({ theme, ownerState }) => _extends({}, ownerState.children && ownerState.orientation === "vertical" && { flexDirection: "column", "&::before, &::after": { height: "100%", borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`, borderLeftStyle: "inherit" } }), ({ ownerState }) => _extends({}, ownerState.textAlign === "right" && ownerState.orientation !== "vertical" && { "&::before": { width: "90%" }, "&::after": { width: "10%" } }, ownerState.textAlign === "left" && ownerState.orientation !== "vertical" && { "&::before": { width: "10%" }, "&::after": { width: "90%" } })); var DividerWrapper = styled_default("span", { name: "MuiDivider", slot: "Wrapper", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.wrapper, ownerState.orientation === "vertical" && styles3.wrapperVertical]; } })(({ theme, ownerState }) => _extends({ display: "inline-block", paddingLeft: `calc(${theme.spacing(1)} * 1.2)`, paddingRight: `calc(${theme.spacing(1)} * 1.2)` }, ownerState.orientation === "vertical" && { paddingTop: `calc(${theme.spacing(1)} * 1.2)`, paddingBottom: `calc(${theme.spacing(1)} * 1.2)` })); var Divider = React43.forwardRef(function Divider2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiDivider" }); const { absolute = false, children, className, component = children ? "div" : "hr", flexItem = false, light = false, orientation = "horizontal", role = component !== "hr" ? "separator" : void 0, textAlign = "center", variant = "fullWidth" } = props, other = _objectWithoutPropertiesLoose(props, _excluded35); const ownerState = _extends({}, props, { absolute, component, flexItem, light, orientation, role, textAlign, variant }); const classes = useUtilityClasses29(ownerState); return (0, import_jsx_runtime51.jsx)(DividerRoot, _extends({ as: component, className: clsx_default(classes.root, className), role, ref, ownerState }, other, { children: children ? (0, import_jsx_runtime51.jsx)(DividerWrapper, { className: classes.wrapper, ownerState, children }) : null })); }); Divider.muiSkipListHighlight = true; true ? Divider.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Absolutely position the element. * @default false */ absolute: import_prop_types33.default.bool, /** * The content of the component. */ children: import_prop_types33.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types33.default.object, /** * @ignore */ className: import_prop_types33.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types33.default.elementType, /** * If `true`, a vertical divider will have the correct height when used in flex container. * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.) * @default false */ flexItem: import_prop_types33.default.bool, /** * If `true`, the divider will have a lighter color. * @default false * @deprecated Use (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/) */ light: import_prop_types33.default.bool, /** * The component orientation. * @default 'horizontal' */ orientation: import_prop_types33.default.oneOf(["horizontal", "vertical"]), /** * @ignore */ role: import_prop_types33.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types33.default.oneOfType([import_prop_types33.default.arrayOf(import_prop_types33.default.oneOfType([import_prop_types33.default.func, import_prop_types33.default.object, import_prop_types33.default.bool])), import_prop_types33.default.func, import_prop_types33.default.object]), /** * The text alignment. * @default 'center' */ textAlign: import_prop_types33.default.oneOf(["center", "left", "right"]), /** * The variant to use. * @default 'fullWidth' */ variant: import_prop_types33.default.oneOfType([import_prop_types33.default.oneOf(["fullWidth", "inset", "middle"]), import_prop_types33.default.string]) } : void 0; var Divider_default = Divider; // node_modules/@mui/material/Drawer/Drawer.js init_extends(); var React45 = __toESM(require_react()); var import_prop_types35 = __toESM(require_prop_types()); // node_modules/@mui/material/Slide/Slide.js init_extends(); var React44 = __toESM(require_react()); var import_prop_types34 = __toESM(require_prop_types()); var import_jsx_runtime52 = __toESM(require_jsx_runtime()); var _excluded36 = ["addEndListener", "appear", "children", "container", "direction", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"]; function getTranslateValue(direction, node, resolvedContainer) { const rect = node.getBoundingClientRect(); const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect(); const containerWindow = ownerWindow_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)`; } 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; } } var Slide = React44.forwardRef(function Slide2(props, ref) { const theme = useTheme(); const defaultEasing = { enter: theme.transitions.easing.easeOut, exit: theme.transitions.easing.sharp }; const defaultTimeout = { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen }; 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 = Transition_default } = props, other = _objectWithoutPropertiesLoose(props, _excluded36); const childrenRef = React44.useRef(null); const handleRef = useForkRef_default(getReactElementRef(children), childrenRef, ref); const normalizedTransitionCallback = (callback) => (isAppearing) => { if (callback) { if (isAppearing === void 0) { callback(childrenRef.current); } else { callback(childrenRef.current, isAppearing); } } }; const handleEnter = normalizedTransitionCallback((node, isAppearing) => { setTranslateValue(direction, node, containerProp); reflow(node); if (onEnter) { onEnter(node, isAppearing); } }); const handleEntering = normalizedTransitionCallback((node, isAppearing) => { const transitionProps = getTransitionProps({ timeout, style, easing: easingProp }, { mode: "enter" }); node.style.webkitTransition = theme.transitions.create("-webkit-transform", _extends({}, transitionProps)); node.style.transition = theme.transitions.create("transform", _extends({}, 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 = 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) => { node.style.webkitTransition = ""; node.style.transition = ""; if (onExited) { onExited(node); } }); const handleAddEndListener = (next) => { if (addEndListener) { addEndListener(childrenRef.current, next); } }; const updatePosition = React44.useCallback(() => { if (childrenRef.current) { setTranslateValue(direction, childrenRef.current, containerProp); } }, [direction, containerProp]); React44.useEffect(() => { if (inProp || direction === "down" || direction === "right") { return void 0; } const handleResize = debounce_default(() => { if (childrenRef.current) { setTranslateValue(direction, childrenRef.current, containerProp); } }); const containerWindow = ownerWindow_default(childrenRef.current); containerWindow.addEventListener("resize", handleResize); return () => { handleResize.clear(); containerWindow.removeEventListener("resize", handleResize); }; }, [direction, inProp, containerProp]); React44.useEffect(() => { if (!inProp) { updatePosition(); } }, [inProp, updatePosition]); return (0, import_jsx_runtime52.jsx)(TransitionComponent, _extends({ nodeRef: childrenRef, onEnter: handleEnter, onEntered: handleEntered, onEntering: handleEntering, onExit: handleExit, onExited: handleExited, onExiting: handleExiting, addEndListener: handleAddEndListener, appear, in: inProp, timeout }, other, { children: (state, childProps) => { return React44.cloneElement(children, _extends({ ref: handleRef, style: _extends({ visibility: state === "exited" && !inProp ? "hidden" : void 0 }, style, children.props.style) }, childProps)); } })); }); true ? Slide.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm 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: import_prop_types34.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: import_prop_types34.default.bool, /** * A single child content element. */ children: elementAcceptingRef_default.isRequired, /** * An HTML element, or a function that returns one. * It's used to set the container the Slide is transitioning from. */ container: chainPropTypes(import_prop_types34.default.oneOfType([HTMLElementType, import_prop_types34.default.func]), (props) => { if (props.open) { const resolvedContainer = resolveContainer(props.container); if (resolvedContainer && resolvedContainer.nodeType === 1) { const box = resolvedContainer.getBoundingClientRect(); if (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: import_prop_types34.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: theme.transitions.easing.easeOut, * exit: theme.transitions.easing.sharp, * } */ easing: import_prop_types34.default.oneOfType([import_prop_types34.default.shape({ enter: import_prop_types34.default.string, exit: import_prop_types34.default.string }), import_prop_types34.default.string]), /** * If `true`, the component will transition in. */ in: import_prop_types34.default.bool, /** * @ignore */ onEnter: import_prop_types34.default.func, /** * @ignore */ onEntered: import_prop_types34.default.func, /** * @ignore */ onEntering: import_prop_types34.default.func, /** * @ignore */ onExit: import_prop_types34.default.func, /** * @ignore */ onExited: import_prop_types34.default.func, /** * @ignore */ onExiting: import_prop_types34.default.func, /** * @ignore */ style: import_prop_types34.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: theme.transitions.duration.enteringScreen, * exit: theme.transitions.duration.leavingScreen, * } */ timeout: import_prop_types34.default.oneOfType([import_prop_types34.default.number, import_prop_types34.default.shape({ appear: import_prop_types34.default.number, enter: import_prop_types34.default.number, exit: import_prop_types34.default.number })]) } : void 0; var Slide_default = Slide; // node_modules/@mui/material/Drawer/drawerClasses.js function getDrawerUtilityClass(slot) { return generateUtilityClass("MuiDrawer", slot); } var drawerClasses = generateUtilityClasses("MuiDrawer", ["root", "docked", "paper", "paperAnchorLeft", "paperAnchorRight", "paperAnchorTop", "paperAnchorBottom", "paperAnchorDockedLeft", "paperAnchorDockedRight", "paperAnchorDockedTop", "paperAnchorDockedBottom", "modal"]); var drawerClasses_default = drawerClasses; // node_modules/@mui/material/Drawer/Drawer.js var import_jsx_runtime53 = __toESM(require_jsx_runtime()); var _excluded37 = ["BackdropProps"]; var _excluded210 = ["anchor", "BackdropProps", "children", "className", "elevation", "hideBackdrop", "ModalProps", "onClose", "open", "PaperProps", "SlideProps", "TransitionComponent", "transitionDuration", "variant"]; var overridesResolver2 = (props, styles3) => { const { ownerState } = props; return [styles3.root, (ownerState.variant === "permanent" || ownerState.variant === "persistent") && styles3.docked, styles3.modal]; }; var useUtilityClasses30 = (ownerState) => { const { classes, anchor, variant } = ownerState; const slots = { root: ["root"], docked: [(variant === "permanent" || variant === "persistent") && "docked"], modal: ["modal"], paper: ["paper", `paperAnchor${capitalize_default(anchor)}`, variant !== "temporary" && `paperAnchorDocked${capitalize_default(anchor)}`] }; return composeClasses(slots, getDrawerUtilityClass, classes); }; var DrawerRoot = styled_default(Modal_default, { name: "MuiDrawer", slot: "Root", overridesResolver: overridesResolver2 })(({ theme }) => ({ zIndex: (theme.vars || theme).zIndex.drawer })); var DrawerDockedRoot = styled_default("div", { shouldForwardProp: rootShouldForwardProp_default, name: "MuiDrawer", slot: "Docked", skipVariantsResolver: false, overridesResolver: overridesResolver2 })({ flex: "0 0 auto" }); var DrawerPaper = styled_default(Paper_default, { name: "MuiDrawer", slot: "Paper", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.paper, styles3[`paperAnchor${capitalize_default(ownerState.anchor)}`], ownerState.variant !== "temporary" && styles3[`paperAnchorDocked${capitalize_default(ownerState.anchor)}`]]; } })(({ theme, ownerState }) => _extends({ overflowY: "auto", display: "flex", flexDirection: "column", height: "100%", flex: "1 0 auto", zIndex: (theme.vars || 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.vars || theme).palette.divider}` }, ownerState.anchor === "top" && ownerState.variant !== "temporary" && { borderBottom: `1px solid ${(theme.vars || theme).palette.divider}` }, ownerState.anchor === "right" && ownerState.variant !== "temporary" && { borderLeft: `1px solid ${(theme.vars || theme).palette.divider}` }, ownerState.anchor === "bottom" && ownerState.variant !== "temporary" && { borderTop: `1px solid ${(theme.vars || theme).palette.divider}` })); var oppositeDirection = { left: "right", right: "left", top: "down", bottom: "up" }; function isHorizontal(anchor) { return ["left", "right"].indexOf(anchor) !== -1; } function getAnchor({ direction }, anchor) { return direction === "rtl" && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor; } var Drawer = React45.forwardRef(function Drawer2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiDrawer" }); const theme = useTheme(); const isRtl = useRtl(); const defaultTransitionDuration = { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen }; 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_default, transitionDuration = defaultTransitionDuration, variant = "temporary" } = props, ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded37), other = _objectWithoutPropertiesLoose(props, _excluded210); const mounted = React45.useRef(false); React45.useEffect(() => { mounted.current = true; }, []); const anchorInvariant = getAnchor({ direction: isRtl ? "rtl" : "ltr" }, anchorProp); const anchor = anchorProp; const ownerState = _extends({}, props, { anchor, elevation, open, variant }, other); const classes = useUtilityClasses30(ownerState); const drawer = (0, import_jsx_runtime53.jsx)(DrawerPaper, _extends({ elevation: variant === "temporary" ? elevation : 0, square: true }, PaperProps, { className: clsx_default(classes.paper, PaperProps.className), ownerState, children })); if (variant === "permanent") { return (0, import_jsx_runtime53.jsx)(DrawerDockedRoot, _extends({ className: clsx_default(classes.root, classes.docked, className), ownerState, ref }, other, { children: drawer })); } const slidingDrawer = (0, import_jsx_runtime53.jsx)(TransitionComponent, _extends({ in: open, direction: oppositeDirection[anchorInvariant], timeout: transitionDuration, appear: mounted.current }, SlideProps, { children: drawer })); if (variant === "persistent") { return (0, import_jsx_runtime53.jsx)(DrawerDockedRoot, _extends({ className: clsx_default(classes.root, classes.docked, className), ownerState, ref }, other, { children: slidingDrawer })); } return (0, import_jsx_runtime53.jsx)(DrawerRoot, _extends({ BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, { transitionDuration }), className: clsx_default(classes.root, classes.modal, className), open, ownerState, onClose, hideBackdrop, ref }, other, ModalProps, { children: slidingDrawer })); }); true ? Drawer.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Side from which the drawer will appear. * @default 'left' */ anchor: import_prop_types35.default.oneOf(["bottom", "left", "right", "top"]), /** * @ignore */ BackdropProps: import_prop_types35.default.object, /** * The content of the component. */ children: import_prop_types35.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types35.default.object, /** * @ignore */ className: import_prop_types35.default.string, /** * The elevation of the drawer. * @default 16 */ elevation: integerPropType_default, /** * If `true`, the backdrop is not rendered. * @default false */ hideBackdrop: import_prop_types35.default.bool, /** * Props applied to the [`Modal`](/material-ui/api/modal/) element. * @default {} */ ModalProps: import_prop_types35.default.object, /** * Callback fired when the component requests to be closed. * The `reason` parameter can optionally be used to control the response to `onClose`. * * @param {object} event The event source of the callback. * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`. */ onClose: import_prop_types35.default.func, /** * If `true`, the component is shown. * @default false */ open: import_prop_types35.default.bool, /** * Props applied to the [`Paper`](/material-ui/api/paper/) element. * @default {} */ PaperProps: import_prop_types35.default.object, /** * Props applied to the [`Slide`](/material-ui/api/slide/) element. */ SlideProps: import_prop_types35.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types35.default.oneOfType([import_prop_types35.default.arrayOf(import_prop_types35.default.oneOfType([import_prop_types35.default.func, import_prop_types35.default.object, import_prop_types35.default.bool])), import_prop_types35.default.func, import_prop_types35.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: theme.transitions.duration.enteringScreen, * exit: theme.transitions.duration.leavingScreen, * } */ transitionDuration: import_prop_types35.default.oneOfType([import_prop_types35.default.number, import_prop_types35.default.shape({ appear: import_prop_types35.default.number, enter: import_prop_types35.default.number, exit: import_prop_types35.default.number })]), /** * The variant to use. * @default 'temporary' */ variant: import_prop_types35.default.oneOf(["permanent", "persistent", "temporary"]) } : void 0; var Drawer_default = Drawer; // node_modules/@mui/material/Fab/Fab.js init_extends(); var React46 = __toESM(require_react()); var import_prop_types36 = __toESM(require_prop_types()); // node_modules/@mui/material/Fab/fabClasses.js function getFabUtilityClass(slot) { return generateUtilityClass("MuiFab", slot); } var fabClasses = generateUtilityClasses("MuiFab", ["root", "primary", "secondary", "extended", "circular", "focusVisible", "disabled", "colorInherit", "sizeSmall", "sizeMedium", "sizeLarge", "info", "error", "warning", "success"]); var fabClasses_default = fabClasses; // node_modules/@mui/material/Fab/Fab.js var import_jsx_runtime54 = __toESM(require_jsx_runtime()); var _excluded38 = ["children", "className", "color", "component", "disabled", "disableFocusRipple", "focusVisibleClassName", "size", "variant"]; var useUtilityClasses31 = (ownerState) => { const { color, variant, classes, size } = ownerState; const slots = { root: ["root", variant, `size${capitalize_default(size)}`, color === "inherit" ? "colorInherit" : color] }; const composedClasses = composeClasses(slots, getFabUtilityClass, classes); return _extends({}, classes, composedClasses); }; var FabRoot = styled_default(ButtonBase_default, { name: "MuiFab", slot: "Root", shouldForwardProp: (prop) => rootShouldForwardProp_default(prop) || prop === "classes", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[ownerState.variant], styles3[`size${capitalize_default(ownerState.size)}`], ownerState.color === "inherit" && styles3.colorInherit, styles3[capitalize_default(ownerState.size)], styles3[ownerState.color]]; } })(({ theme, ownerState }) => { var _theme$palette$getCon, _theme$palette; return _extends({}, theme.typography.button, { minHeight: 36, transition: theme.transitions.create(["background-color", "box-shadow", "border-color"], { duration: theme.transitions.duration.short }), borderRadius: "50%", padding: 0, minWidth: 0, width: 56, height: 56, zIndex: (theme.vars || theme).zIndex.fab, boxShadow: (theme.vars || theme).shadows[6], "&:active": { boxShadow: (theme.vars || theme).shadows[12] }, color: theme.vars ? theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]), backgroundColor: (theme.vars || theme).palette.grey[300], "&:hover": { backgroundColor: (theme.vars || theme).palette.grey.A100, // Reset on touch devices, it doesn't add specificity "@media (hover: none)": { backgroundColor: (theme.vars || theme).palette.grey[300] }, textDecoration: "none" }, [`&.${fabClasses_default.focusVisible}`]: { boxShadow: (theme.vars || theme).shadows[6] } }, ownerState.size === "small" && { width: 40, height: 40 }, ownerState.size === "medium" && { width: 48, height: 48 }, ownerState.variant === "extended" && { borderRadius: 48 / 2, padding: "0 16px", width: "auto", minHeight: "auto", minWidth: 48, height: 48 }, ownerState.variant === "extended" && ownerState.size === "small" && { width: "auto", padding: "0 8px", borderRadius: 34 / 2, minWidth: 34, height: 34 }, ownerState.variant === "extended" && ownerState.size === "medium" && { width: "auto", padding: "0 16px", borderRadius: 40 / 2, minWidth: 40, height: 40 }, ownerState.color === "inherit" && { color: "inherit" }); }, ({ theme, ownerState }) => _extends({}, ownerState.color !== "inherit" && ownerState.color !== "default" && (theme.vars || theme).palette[ownerState.color] != null && { color: (theme.vars || theme).palette[ownerState.color].contrastText, backgroundColor: (theme.vars || theme).palette[ownerState.color].main, "&:hover": { backgroundColor: (theme.vars || theme).palette[ownerState.color].dark, // Reset on touch devices, it doesn't add specificity "@media (hover: none)": { backgroundColor: (theme.vars || theme).palette[ownerState.color].main } } }), ({ theme }) => ({ [`&.${fabClasses_default.disabled}`]: { color: (theme.vars || theme).palette.action.disabled, boxShadow: (theme.vars || theme).shadows[0], backgroundColor: (theme.vars || theme).palette.action.disabledBackground } })); var Fab = React46.forwardRef(function Fab2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiFab" }); const { children, className, color = "default", component = "button", disabled = false, disableFocusRipple = false, focusVisibleClassName, size = "large", variant = "circular" } = props, other = _objectWithoutPropertiesLoose(props, _excluded38); const ownerState = _extends({}, props, { color, component, disabled, disableFocusRipple, size, variant }); const classes = useUtilityClasses31(ownerState); return (0, import_jsx_runtime54.jsx)(FabRoot, _extends({ className: clsx_default(classes.root, className), component, disabled, focusRipple: !disableFocusRipple, focusVisibleClassName: clsx_default(classes.focusVisible, focusVisibleClassName), ownerState, ref }, other, { classes, children })); }); true ? Fab.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types36.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types36.default.object, /** * @ignore */ className: import_prop_types36.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'default' */ color: import_prop_types36.default.oneOfType([import_prop_types36.default.oneOf(["default", "error", "info", "inherit", "primary", "secondary", "success", "warning"]), import_prop_types36.default.string]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types36.default.elementType, /** * If `true`, the component is disabled. * @default false */ disabled: import_prop_types36.default.bool, /** * If `true`, the keyboard focus ripple is disabled. * @default false */ disableFocusRipple: import_prop_types36.default.bool, /** * If `true`, the ripple effect is disabled. */ disableRipple: import_prop_types36.default.bool, /** * @ignore */ focusVisibleClassName: import_prop_types36.default.string, /** * The URL to link to when the button is clicked. * If defined, an `a` element will be used as the root node. */ href: import_prop_types36.default.string, /** * The size of the component. * `small` is equivalent to the dense button styling. * @default 'large' */ size: import_prop_types36.default.oneOfType([import_prop_types36.default.oneOf(["small", "medium", "large"]), import_prop_types36.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types36.default.oneOfType([import_prop_types36.default.arrayOf(import_prop_types36.default.oneOfType([import_prop_types36.default.func, import_prop_types36.default.object, import_prop_types36.default.bool])), import_prop_types36.default.func, import_prop_types36.default.object]), /** * The variant to use. * @default 'circular' */ variant: import_prop_types36.default.oneOfType([import_prop_types36.default.oneOf(["circular", "extended"]), import_prop_types36.default.string]) } : void 0; var Fab_default = Fab; // node_modules/@mui/material/FormControlLabel/FormControlLabel.js init_extends(); var React47 = __toESM(require_react()); var import_prop_types38 = __toESM(require_prop_types()); // node_modules/@mui/material/Stack/Stack.js var import_prop_types37 = __toESM(require_prop_types()); var Stack = createStack({ createStyledComponent: styled_default("div", { name: "MuiStack", slot: "Root", overridesResolver: (props, styles3) => styles3.root }), useThemeProps: (inProps) => useDefaultProps({ props: inProps, name: "MuiStack" }) }); true ? Stack.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types37.default.node, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types37.default.elementType, /** * Defines the `flex-direction` style property. * It is applied for all screen sizes. * @default 'column' */ direction: import_prop_types37.default.oneOfType([import_prop_types37.default.oneOf(["column-reverse", "column", "row-reverse", "row"]), import_prop_types37.default.arrayOf(import_prop_types37.default.oneOf(["column-reverse", "column", "row-reverse", "row"])), import_prop_types37.default.object]), /** * Add an element between each child. */ divider: import_prop_types37.default.node, /** * Defines the space between immediate children. * @default 0 */ spacing: import_prop_types37.default.oneOfType([import_prop_types37.default.arrayOf(import_prop_types37.default.oneOfType([import_prop_types37.default.number, import_prop_types37.default.string])), import_prop_types37.default.number, import_prop_types37.default.object, import_prop_types37.default.string]), /** * The system prop, which allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types37.default.oneOfType([import_prop_types37.default.arrayOf(import_prop_types37.default.oneOfType([import_prop_types37.default.func, import_prop_types37.default.object, import_prop_types37.default.bool])), import_prop_types37.default.func, import_prop_types37.default.object]), /** * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children. * * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations), * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag. * * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration. * @default false */ useFlexGap: import_prop_types37.default.bool } : void 0; var Stack_default = Stack; // node_modules/@mui/material/Stack/stackClasses.js var stackClasses = generateUtilityClasses("MuiStack", ["root"]); var stackClasses_default = stackClasses; // node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js function getFormControlLabelUtilityClasses(slot) { return generateUtilityClass("MuiFormControlLabel", slot); } var formControlLabelClasses = generateUtilityClasses("MuiFormControlLabel", ["root", "labelPlacementStart", "labelPlacementTop", "labelPlacementBottom", "disabled", "label", "error", "required", "asterisk"]); var formControlLabelClasses_default = formControlLabelClasses; // node_modules/@mui/material/FormControlLabel/FormControlLabel.js var import_jsx_runtime55 = __toESM(require_jsx_runtime()); var import_jsx_runtime56 = __toESM(require_jsx_runtime()); var _excluded39 = ["checked", "className", "componentsProps", "control", "disabled", "disableTypography", "inputRef", "label", "labelPlacement", "name", "onChange", "required", "slotProps", "value"]; var useUtilityClasses32 = (ownerState) => { const { classes, disabled, labelPlacement, error, required } = ownerState; const slots = { root: ["root", disabled && "disabled", `labelPlacement${capitalize_default(labelPlacement)}`, error && "error", required && "required"], label: ["label", disabled && "disabled"], asterisk: ["asterisk", error && "error"] }; return composeClasses(slots, getFormControlLabelUtilityClasses, classes); }; var FormControlLabelRoot = styled_default("label", { name: "MuiFormControlLabel", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [{ [`& .${formControlLabelClasses_default.label}`]: styles3.label }, styles3.root, styles3[`labelPlacement${capitalize_default(ownerState.labelPlacement)}`]]; } })(({ theme, ownerState }) => _extends({ display: "inline-flex", alignItems: "center", cursor: "pointer", // For correct alignment with the text. verticalAlign: "middle", WebkitTapHighlightColor: "transparent", marginLeft: -11, marginRight: 16, // used for row presentation of radio/checkbox [`&.${formControlLabelClasses_default.disabled}`]: { cursor: "default" } }, ownerState.labelPlacement === "start" && { flexDirection: "row-reverse", marginLeft: 16, // used for row presentation of radio/checkbox marginRight: -11 }, ownerState.labelPlacement === "top" && { flexDirection: "column-reverse", marginLeft: 16 }, ownerState.labelPlacement === "bottom" && { flexDirection: "column", marginLeft: 16 }, { [`& .${formControlLabelClasses_default.label}`]: { [`&.${formControlLabelClasses_default.disabled}`]: { color: (theme.vars || theme).palette.text.disabled } } })); var AsteriskComponent = styled_default("span", { name: "MuiFormControlLabel", slot: "Asterisk", overridesResolver: (props, styles3) => styles3.asterisk })(({ theme }) => ({ [`&.${formControlLabelClasses_default.error}`]: { color: (theme.vars || theme).palette.error.main } })); var FormControlLabel = React47.forwardRef(function FormControlLabel2(inProps, ref) { var _ref, _slotProps$typography; const props = useDefaultProps({ props: inProps, name: "MuiFormControlLabel" }); const { className, componentsProps = {}, control, disabled: disabledProp, disableTypography, label: labelProp, labelPlacement = "end", required: requiredProp, slotProps = {} } = props, other = _objectWithoutPropertiesLoose(props, _excluded39); const muiFormControl = useFormControl(); const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled; const required = requiredProp != null ? requiredProp : control.props.required; const controlProps = { disabled, required }; ["checked", "name", "onChange", "value", "inputRef"].forEach((key) => { if (typeof control.props[key] === "undefined" && typeof props[key] !== "undefined") { controlProps[key] = props[key]; } }); const fcs = formControlState({ props, muiFormControl, states: ["error"] }); const ownerState = _extends({}, props, { disabled, labelPlacement, required, error: fcs.error }); const classes = useUtilityClasses32(ownerState); const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography; let label = labelProp; if (label != null && label.type !== Typography_default && !disableTypography) { label = (0, import_jsx_runtime55.jsx)(Typography_default, _extends({ component: "span" }, typographySlotProps, { className: clsx_default(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className), children: label })); } return (0, import_jsx_runtime56.jsxs)(FormControlLabelRoot, _extends({ className: clsx_default(classes.root, className), ownerState, ref }, other, { children: [React47.cloneElement(control, controlProps), required ? (0, import_jsx_runtime56.jsxs)(Stack_default, { display: "block", children: [label, (0, import_jsx_runtime56.jsxs)(AsteriskComponent, { ownerState, "aria-hidden": true, className: classes.asterisk, children: [" ", "*"] })] }) : label] })); }); true ? FormControlLabel.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, the component appears selected. */ checked: import_prop_types38.default.bool, /** * Override or extend the styles applied to the component. */ classes: import_prop_types38.default.object, /** * @ignore */ className: import_prop_types38.default.string, /** * The props used for each slot inside. * @default {} */ componentsProps: import_prop_types38.default.shape({ typography: import_prop_types38.default.object }), /** * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`. */ control: import_prop_types38.default.element.isRequired, /** * If `true`, the control is disabled. */ disabled: import_prop_types38.default.bool, /** * If `true`, the label is rendered as it is passed without an additional typography node. */ disableTypography: import_prop_types38.default.bool, /** * Pass a ref to the `input` element. */ inputRef: refType_default, /** * A text or an element to be used in an enclosing label element. */ label: import_prop_types38.default.node, /** * The position of the label. * @default 'end' */ labelPlacement: import_prop_types38.default.oneOf(["bottom", "end", "start", "top"]), /** * @ignore */ name: import_prop_types38.default.string, /** * Callback fired when the state is changed. * * @param {React.SyntheticEvent} event The event source of the callback. * You can pull out the new checked state by accessing `event.target.checked` (boolean). */ onChange: import_prop_types38.default.func, /** * If `true`, the label will indicate that the `input` is required. */ required: import_prop_types38.default.bool, /** * The props used for each slot inside. * @default {} */ slotProps: import_prop_types38.default.shape({ typography: import_prop_types38.default.object }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types38.default.oneOfType([import_prop_types38.default.arrayOf(import_prop_types38.default.oneOfType([import_prop_types38.default.func, import_prop_types38.default.object, import_prop_types38.default.bool])), import_prop_types38.default.func, import_prop_types38.default.object]), /** * The value of the component. */ value: import_prop_types38.default.any } : void 0; var FormControlLabel_default = FormControlLabel; // node_modules/@mui/material/FormGroup/FormGroup.js init_extends(); var React48 = __toESM(require_react()); var import_prop_types39 = __toESM(require_prop_types()); // node_modules/@mui/material/FormGroup/formGroupClasses.js function getFormGroupUtilityClass(slot) { return generateUtilityClass("MuiFormGroup", slot); } var formGroupClasses = generateUtilityClasses("MuiFormGroup", ["root", "row", "error"]); var formGroupClasses_default = formGroupClasses; // node_modules/@mui/material/FormGroup/FormGroup.js var import_jsx_runtime57 = __toESM(require_jsx_runtime()); var _excluded40 = ["className", "row"]; var useUtilityClasses33 = (ownerState) => { const { classes, row, error } = ownerState; const slots = { root: ["root", row && "row", error && "error"] }; return composeClasses(slots, getFormGroupUtilityClass, classes); }; var FormGroupRoot = styled_default("div", { name: "MuiFormGroup", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.row && styles3.row]; } })(({ ownerState }) => _extends({ display: "flex", flexDirection: "column", flexWrap: "wrap" }, ownerState.row && { flexDirection: "row" })); var FormGroup = React48.forwardRef(function FormGroup2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiFormGroup" }); const { className, row = false } = props, other = _objectWithoutPropertiesLoose(props, _excluded40); const muiFormControl = useFormControl(); const fcs = formControlState({ props, muiFormControl, states: ["error"] }); const ownerState = _extends({}, props, { row, error: fcs.error }); const classes = useUtilityClasses33(ownerState); return (0, import_jsx_runtime57.jsx)(FormGroupRoot, _extends({ className: clsx_default(classes.root, className), ownerState, ref }, other)); }); true ? FormGroup.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types39.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types39.default.object, /** * @ignore */ className: import_prop_types39.default.string, /** * Display group of elements in a compact row. * @default false */ row: import_prop_types39.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types39.default.oneOfType([import_prop_types39.default.arrayOf(import_prop_types39.default.oneOfType([import_prop_types39.default.func, import_prop_types39.default.object, import_prop_types39.default.bool])), import_prop_types39.default.func, import_prop_types39.default.object]) } : void 0; var FormGroup_default = FormGroup; // node_modules/@mui/material/Grid/Grid.js init_extends(); var React50 = __toESM(require_react()); var import_prop_types40 = __toESM(require_prop_types()); // node_modules/@mui/material/Grid/GridContext.js var React49 = __toESM(require_react()); var GridContext = React49.createContext(); if (true) { GridContext.displayName = "GridContext"; } var GridContext_default = GridContext; // node_modules/@mui/material/Grid/gridClasses.js function getGridUtilityClass(slot) { return generateUtilityClass("MuiGrid", slot); } var SPACINGS2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; var DIRECTIONS = ["column-reverse", "column", "row-reverse", "row"]; var WRAPS = ["nowrap", "wrap-reverse", "wrap"]; var GRID_SIZES = ["auto", true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; var gridClasses = generateUtilityClasses("MuiGrid", [ "root", "container", "item", "zeroMinWidth", // spacings ...SPACINGS2.map((spacing) => `spacing-xs-${spacing}`), // direction values ...DIRECTIONS.map((direction) => `direction-xs-${direction}`), // wrap values ...WRAPS.map((wrap) => `wrap-xs-${wrap}`), // grid sizes for all breakpoints ...GRID_SIZES.map((size) => `grid-xs-${size}`), ...GRID_SIZES.map((size) => `grid-sm-${size}`), ...GRID_SIZES.map((size) => `grid-md-${size}`), ...GRID_SIZES.map((size) => `grid-lg-${size}`), ...GRID_SIZES.map((size) => `grid-xl-${size}`) ]); var gridClasses_default = gridClasses; // node_modules/@mui/material/Grid/Grid.js var import_jsx_runtime58 = __toESM(require_jsx_runtime()); var _excluded41 = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"]; function getOffset(val) { const parse = parseFloat(val); return `${parse}${String(val).replace(String(parse), "") || "px"}`; } function generateGrid({ theme, ownerState }) { let size; return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => { let styles3 = {}; if (ownerState[breakpoint]) { size = ownerState[breakpoint]; } if (!size) { return globalStyles; } if (size === true) { styles3 = { flexBasis: 0, flexGrow: 1, maxWidth: "100%" }; } else if (size === "auto") { styles3 = { flexBasis: "auto", flexGrow: 0, flexShrink: 0, maxWidth: "none", width: "auto" }; } else { const columnsBreakpointValues = resolveBreakpointValues({ values: ownerState.columns, breakpoints: theme.breakpoints.values }); const columnValue = typeof columnsBreakpointValues === "object" ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues; if (columnValue === void 0 || columnValue === null) { return globalStyles; } const width = `${Math.round(size / columnValue * 1e8) / 1e6}%`; let more = {}; if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) { const themeSpacing = theme.spacing(ownerState.columnSpacing); if (themeSpacing !== "0px") { const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`; more = { flexBasis: fullWidth, maxWidth: fullWidth }; } } styles3 = _extends({ flexBasis: width, flexGrow: 0, maxWidth: width }, more); } if (theme.breakpoints.values[breakpoint] === 0) { Object.assign(globalStyles, styles3); } else { globalStyles[theme.breakpoints.up(breakpoint)] = styles3; } return globalStyles; }, {}); } function generateDirection({ theme, ownerState }) { const directionValues = resolveBreakpointValues({ values: ownerState.direction, breakpoints: theme.breakpoints.values }); return handleBreakpoints({ theme }, directionValues, (propValue) => { const output = { flexDirection: propValue }; if (propValue.indexOf("column") === 0) { output[`& > .${gridClasses_default.item}`] = { maxWidth: "none" }; } return output; }); } function extractZeroValueBreakpointKeys({ breakpoints, values }) { let nonZeroKey = ""; Object.keys(values).forEach((key) => { if (nonZeroKey !== "") { return; } if (values[key] !== 0) { nonZeroKey = key; } }); const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => { return breakpoints[a] - breakpoints[b]; }); return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey)); } function generateRowGap({ theme, ownerState }) { const { container, rowSpacing } = ownerState; let styles3 = {}; if (container && rowSpacing !== 0) { const rowSpacingValues = resolveBreakpointValues({ values: rowSpacing, breakpoints: theme.breakpoints.values }); let zeroValueBreakpointKeys; if (typeof rowSpacingValues === "object") { zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({ breakpoints: theme.breakpoints.values, values: rowSpacingValues }); } styles3 = handleBreakpoints({ theme }, rowSpacingValues, (propValue, breakpoint) => { var _zeroValueBreakpointK; const themeSpacing = theme.spacing(propValue); if (themeSpacing !== "0px") { return { marginTop: `-${getOffset(themeSpacing)}`, [`& > .${gridClasses_default.item}`]: { paddingTop: getOffset(themeSpacing) } }; } if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) { return {}; } return { marginTop: 0, [`& > .${gridClasses_default.item}`]: { paddingTop: 0 } }; }); } return styles3; } function generateColumnGap({ theme, ownerState }) { const { container, columnSpacing } = ownerState; let styles3 = {}; if (container && columnSpacing !== 0) { const columnSpacingValues = resolveBreakpointValues({ values: columnSpacing, breakpoints: theme.breakpoints.values }); let zeroValueBreakpointKeys; if (typeof columnSpacingValues === "object") { zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({ breakpoints: theme.breakpoints.values, values: columnSpacingValues }); } styles3 = handleBreakpoints({ theme }, columnSpacingValues, (propValue, breakpoint) => { var _zeroValueBreakpointK2; const themeSpacing = theme.spacing(propValue); if (themeSpacing !== "0px") { return { width: `calc(100% + ${getOffset(themeSpacing)})`, marginLeft: `-${getOffset(themeSpacing)}`, [`& > .${gridClasses_default.item}`]: { paddingLeft: getOffset(themeSpacing) } }; } if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) { return {}; } return { width: "100%", marginLeft: 0, [`& > .${gridClasses_default.item}`]: { paddingLeft: 0 } }; }); } return styles3; } function resolveSpacingStyles(spacing, breakpoints, styles3 = {}) { if (!spacing || spacing <= 0) { return []; } if (typeof spacing === "string" && !Number.isNaN(Number(spacing)) || typeof spacing === "number") { return [styles3[`spacing-xs-${String(spacing)}`]]; } const spacingStyles = []; breakpoints.forEach((breakpoint) => { const value = spacing[breakpoint]; if (Number(value) > 0) { spacingStyles.push(styles3[`spacing-${breakpoint}-${String(value)}`]); } }); return spacingStyles; } var GridRoot = styled_default("div", { name: "MuiGrid", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; const { container, direction, item, spacing, wrap, zeroMinWidth, breakpoints } = ownerState; let spacingStyles = []; if (container) { spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles3); } const breakpointsStyles = []; breakpoints.forEach((breakpoint) => { const value = ownerState[breakpoint]; if (value) { breakpointsStyles.push(styles3[`grid-${breakpoint}-${String(value)}`]); } }); return [styles3.root, container && styles3.container, item && styles3.item, zeroMinWidth && styles3.zeroMinWidth, ...spacingStyles, direction !== "row" && styles3[`direction-xs-${String(direction)}`], wrap !== "wrap" && styles3[`wrap-xs-${String(wrap)}`], ...breakpointsStyles]; } })(({ ownerState }) => _extends({ boxSizing: "border-box" }, ownerState.container && { display: "flex", flexWrap: "wrap", width: "100%" }, ownerState.item && { margin: 0 // For instance, it's useful when used with a `figure` element. }, ownerState.zeroMinWidth && { minWidth: 0 }, ownerState.wrap !== "wrap" && { flexWrap: ownerState.wrap }), generateDirection, generateRowGap, generateColumnGap, generateGrid); function resolveSpacingClasses(spacing, breakpoints) { if (!spacing || spacing <= 0) { return []; } if (typeof spacing === "string" && !Number.isNaN(Number(spacing)) || typeof spacing === "number") { return [`spacing-xs-${String(spacing)}`]; } const classes = []; breakpoints.forEach((breakpoint) => { const value = spacing[breakpoint]; if (Number(value) > 0) { const className = `spacing-${breakpoint}-${String(value)}`; classes.push(className); } }); return classes; } var useUtilityClasses34 = (ownerState) => { const { classes, container, direction, item, spacing, wrap, zeroMinWidth, breakpoints } = ownerState; let spacingClasses = []; if (container) { spacingClasses = resolveSpacingClasses(spacing, breakpoints); } const breakpointsClasses = []; breakpoints.forEach((breakpoint) => { const value = ownerState[breakpoint]; if (value) { breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`); } }); const slots = { root: ["root", container && "container", item && "item", zeroMinWidth && "zeroMinWidth", ...spacingClasses, direction !== "row" && `direction-xs-${String(direction)}`, wrap !== "wrap" && `wrap-xs-${String(wrap)}`, ...breakpointsClasses] }; return composeClasses(slots, getGridUtilityClass, classes); }; var Grid = React50.forwardRef(function Grid2(inProps, ref) { const themeProps = useDefaultProps({ props: inProps, name: "MuiGrid" }); const { breakpoints } = useTheme(); const props = extendSxProp(themeProps); const { className, columns: columnsProp, columnSpacing: columnSpacingProp, component = "div", container = false, direction = "row", item = false, rowSpacing: rowSpacingProp, spacing = 0, wrap = "wrap", zeroMinWidth = false } = props, other = _objectWithoutPropertiesLoose(props, _excluded41); const rowSpacing = rowSpacingProp || spacing; const columnSpacing = columnSpacingProp || spacing; const columnsContext = React50.useContext(GridContext_default); const columns = container ? columnsProp || 12 : columnsContext; const breakpointsValues = {}; const otherFiltered = _extends({}, other); breakpoints.keys.forEach((breakpoint) => { if (other[breakpoint] != null) { breakpointsValues[breakpoint] = other[breakpoint]; delete otherFiltered[breakpoint]; } }); const ownerState = _extends({}, props, { columns, container, direction, item, rowSpacing, columnSpacing, wrap, zeroMinWidth, spacing }, breakpointsValues, { breakpoints: breakpoints.keys }); const classes = useUtilityClasses34(ownerState); return (0, import_jsx_runtime58.jsx)(GridContext_default.Provider, { value: columns, children: (0, import_jsx_runtime58.jsx)(GridRoot, _extends({ ownerState, className: clsx_default(classes.root, className), as: component, ref }, otherFiltered)) }); }); true ? Grid.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types40.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types40.default.object, /** * @ignore */ className: import_prop_types40.default.string, /** * The number of columns. * @default 12 */ columns: import_prop_types40.default.oneOfType([import_prop_types40.default.arrayOf(import_prop_types40.default.number), import_prop_types40.default.number, import_prop_types40.default.object]), /** * Defines the horizontal space between the type `item` components. * It overrides the value of the `spacing` prop. */ columnSpacing: import_prop_types40.default.oneOfType([import_prop_types40.default.arrayOf(import_prop_types40.default.oneOfType([import_prop_types40.default.number, import_prop_types40.default.string])), import_prop_types40.default.number, import_prop_types40.default.object, import_prop_types40.default.string]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types40.default.elementType, /** * If `true`, the component will have the flex *container* behavior. * You should be wrapping *items* with a *container*. * @default false */ container: import_prop_types40.default.bool, /** * Defines the `flex-direction` style property. * It is applied for all screen sizes. * @default 'row' */ direction: import_prop_types40.default.oneOfType([import_prop_types40.default.oneOf(["column-reverse", "column", "row-reverse", "row"]), import_prop_types40.default.arrayOf(import_prop_types40.default.oneOf(["column-reverse", "column", "row-reverse", "row"])), import_prop_types40.default.object]), /** * If `true`, the component will have the flex *item* behavior. * You should be wrapping *items* with a *container*. * @default false */ item: import_prop_types40.default.bool, /** * If a number, it sets the number of columns the grid item uses. * It can't be greater than the total number of columns of the container (12 by default). * If 'auto', the grid item's width matches its content. * If false, the prop is ignored. * If true, the grid item's width grows to use the space available in the grid container. * The value is applied for the `lg` breakpoint and wider screens if not overridden. * @default false */ lg: import_prop_types40.default.oneOfType([import_prop_types40.default.oneOf(["auto"]), import_prop_types40.default.number, import_prop_types40.default.bool]), /** * If a number, it sets the number of columns the grid item uses. * It can't be greater than the total number of columns of the container (12 by default). * If 'auto', the grid item's width matches its content. * If false, the prop is ignored. * If true, the grid item's width grows to use the space available in the grid container. * The value is applied for the `md` breakpoint and wider screens if not overridden. * @default false */ md: import_prop_types40.default.oneOfType([import_prop_types40.default.oneOf(["auto"]), import_prop_types40.default.number, import_prop_types40.default.bool]), /** * Defines the vertical space between the type `item` components. * It overrides the value of the `spacing` prop. */ rowSpacing: import_prop_types40.default.oneOfType([import_prop_types40.default.arrayOf(import_prop_types40.default.oneOfType([import_prop_types40.default.number, import_prop_types40.default.string])), import_prop_types40.default.number, import_prop_types40.default.object, import_prop_types40.default.string]), /** * If a number, it sets the number of columns the grid item uses. * It can't be greater than the total number of columns of the container (12 by default). * If 'auto', the grid item's width matches its content. * If false, the prop is ignored. * If true, the grid item's width grows to use the space available in the grid container. * The value is applied for the `sm` breakpoint and wider screens if not overridden. * @default false */ sm: import_prop_types40.default.oneOfType([import_prop_types40.default.oneOf(["auto"]), import_prop_types40.default.number, import_prop_types40.default.bool]), /** * Defines the space between the type `item` components. * It can only be used on a type `container` component. * @default 0 */ spacing: import_prop_types40.default.oneOfType([import_prop_types40.default.arrayOf(import_prop_types40.default.oneOfType([import_prop_types40.default.number, import_prop_types40.default.string])), import_prop_types40.default.number, import_prop_types40.default.object, import_prop_types40.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types40.default.oneOfType([import_prop_types40.default.arrayOf(import_prop_types40.default.oneOfType([import_prop_types40.default.func, import_prop_types40.default.object, import_prop_types40.default.bool])), import_prop_types40.default.func, import_prop_types40.default.object]), /** * Defines the `flex-wrap` style property. * It's applied for all screen sizes. * @default 'wrap' */ wrap: import_prop_types40.default.oneOf(["nowrap", "wrap-reverse", "wrap"]), /** * If a number, it sets the number of columns the grid item uses. * It can't be greater than the total number of columns of the container (12 by default). * If 'auto', the grid item's width matches its content. * If false, the prop is ignored. * If true, the grid item's width grows to use the space available in the grid container. * The value is applied for the `xl` breakpoint and wider screens if not overridden. * @default false */ xl: import_prop_types40.default.oneOfType([import_prop_types40.default.oneOf(["auto"]), import_prop_types40.default.number, import_prop_types40.default.bool]), /** * If a number, it sets the number of columns the grid item uses. * It can't be greater than the total number of columns of the container (12 by default). * If 'auto', the grid item's width matches its content. * If false, the prop is ignored. * If true, the grid item's width grows to use the space available in the grid container. * The value is applied for all the screen sizes with the lowest priority. * @default false */ xs: import_prop_types40.default.oneOfType([import_prop_types40.default.oneOf(["auto"]), import_prop_types40.default.number, import_prop_types40.default.bool]), /** * If `true`, it sets `min-width: 0` on the item. * Refer to the limitations section of the documentation to better understand the use case. * @default false */ zeroMinWidth: import_prop_types40.default.bool } : void 0; if (true) { const requireProp = requirePropFactory_default("Grid", Grid); Grid["propTypes"] = _extends({}, Grid.propTypes, { direction: requireProp("container"), lg: requireProp("item"), md: requireProp("item"), sm: requireProp("item"), spacing: requireProp("container"), wrap: requireProp("container"), xs: requireProp("item"), zeroMinWidth: requireProp("item") }); } var Grid_default = Grid; // node_modules/@mui/material/Unstable_Grid2/Grid2.js var import_prop_types41 = __toESM(require_prop_types()); var Grid22 = createGrid({ createStyledComponent: styled_default("div", { name: "MuiGrid2", slot: "Root", overridesResolver: (props, styles3) => styles3.root }), componentName: "MuiGrid2", useThemeProps: (inProps) => useDefaultProps({ props: inProps, name: "MuiGrid2" }) }); true ? Grid22.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types41.default.node, /** * @ignore */ sx: import_prop_types41.default.oneOfType([import_prop_types41.default.arrayOf(import_prop_types41.default.oneOfType([import_prop_types41.default.func, import_prop_types41.default.object, import_prop_types41.default.bool])), import_prop_types41.default.func, import_prop_types41.default.object]) } : void 0; var Grid2_default = Grid22; // node_modules/@mui/material/Unstable_Grid2/grid2Classes.js function getGrid2UtilityClass(slot) { return generateUtilityClass("MuiGrid2", slot); } var SPACINGS3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; var DIRECTIONS2 = ["column-reverse", "column", "row-reverse", "row"]; var WRAPS2 = ["nowrap", "wrap-reverse", "wrap"]; var GRID_SIZES2 = ["auto", true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; var grid2Classes = generateUtilityClasses("MuiGrid2", [ "root", "container", "item", "zeroMinWidth", // spacings ...SPACINGS3.map((spacing) => `spacing-xs-${spacing}`), // direction values ...DIRECTIONS2.map((direction) => `direction-xs-${direction}`), // wrap values ...WRAPS2.map((wrap) => `wrap-xs-${wrap}`), // grid sizes for all breakpoints ...GRID_SIZES2.map((size) => `grid-xs-${size}`), ...GRID_SIZES2.map((size) => `grid-sm-${size}`), ...GRID_SIZES2.map((size) => `grid-md-${size}`), ...GRID_SIZES2.map((size) => `grid-lg-${size}`), ...GRID_SIZES2.map((size) => `grid-xl-${size}`) ]); var grid2Classes_default = grid2Classes; // node_modules/@mui/material/Hidden/Hidden.js init_extends(); var React54 = __toESM(require_react()); var import_prop_types45 = __toESM(require_prop_types()); // node_modules/@mui/material/Hidden/HiddenJs.js var React52 = __toESM(require_react()); var import_prop_types43 = __toESM(require_prop_types()); // node_modules/@mui/material/Hidden/withWidth.js init_extends(); var React51 = __toESM(require_react()); var import_prop_types42 = __toESM(require_prop_types()); init_getDisplayName(); var import_jsx_runtime59 = __toESM(require_jsx_runtime()); var _excluded43 = ["initialWidth", "width"]; var breakpointKeys = ["xs", "sm", "md", "lg", "xl"]; var isWidthUp = (breakpoint, width, inclusive = true) => { if (inclusive) { return breakpointKeys.indexOf(breakpoint) <= breakpointKeys.indexOf(width); } return breakpointKeys.indexOf(breakpoint) < breakpointKeys.indexOf(width); }; var isWidthDown = (breakpoint, width, inclusive = false) => { if (inclusive) { return breakpointKeys.indexOf(width) <= breakpointKeys.indexOf(breakpoint); } return breakpointKeys.indexOf(width) < breakpointKeys.indexOf(breakpoint); }; var withWidth = (options = {}) => (Component) => { const { withTheme: withThemeOption = false, noSSR = false, initialWidth: initialWidthOption } = options; function WithWidth(props) { const contextTheme = useTheme(); const theme = props.theme || contextTheme; const _getThemeProps = getThemeProps({ theme, name: "MuiWithWidth", props }), { initialWidth, width } = _getThemeProps, other = _objectWithoutPropertiesLoose(_getThemeProps, _excluded43); const [mountedState, setMountedState] = React51.useState(false); useEnhancedEffect_default2(() => { setMountedState(true); }, []); const keys = theme.breakpoints.keys.slice().reverse(); const widthComputed = keys.reduce((output, key) => { const matches = useMediaQuery(theme.breakpoints.up(key)); return !output && matches ? key : output; }, null); const more = _extends({ width: width || (mountedState || noSSR ? widthComputed : void 0) || initialWidth || initialWidthOption }, withThemeOption ? { theme } : {}, other); if (more.width === void 0) { return null; } return (0, import_jsx_runtime59.jsx)(Component, _extends({}, more)); } true ? WithWidth.propTypes = { /** * As `window.innerWidth` is unavailable on the server, * we default to rendering an empty component during the first mount. * You might want to use a heuristic to approximate * the screen width of the client browser screen width. * * For instance, you could be using the user-agent or the client-hints. * https://caniuse.com/#search=client%20hint */ initialWidth: import_prop_types42.default.oneOf(["xs", "sm", "md", "lg", "xl"]), /** * @ignore */ theme: import_prop_types42.default.object, /** * Bypass the width calculation logic. */ width: import_prop_types42.default.oneOf(["xs", "sm", "md", "lg", "xl"]) } : void 0; if (true) { WithWidth.displayName = `WithWidth(${getDisplayName(Component)})`; } return WithWidth; }; var withWidth_default = withWidth; // node_modules/@mui/material/Hidden/HiddenJs.js var import_jsx_runtime60 = __toESM(require_jsx_runtime()); function HiddenJs(props) { const { children, only, width } = props; const theme = useTheme(); let visible = true; if (only) { if (Array.isArray(only)) { for (let i = 0; i < only.length; i += 1) { const breakpoint = only[i]; if (width === breakpoint) { visible = false; break; } } } else if (only && width === only) { visible = false; } } if (visible) { for (let i = 0; i < theme.breakpoints.keys.length; i += 1) { const breakpoint = theme.breakpoints.keys[i]; const breakpointUp = props[`${breakpoint}Up`]; const breakpointDown = props[`${breakpoint}Down`]; if (breakpointUp && isWidthUp(breakpoint, width) || breakpointDown && isWidthDown(breakpoint, width)) { visible = false; break; } } } if (!visible) { return null; } return (0, import_jsx_runtime60.jsx)(React52.Fragment, { children }); } true ? HiddenJs.propTypes = { /** * The content of the component. */ children: import_prop_types43.default.node, /** * If `true`, screens this size and down are hidden. */ // eslint-disable-next-line react/no-unused-prop-types lgDown: import_prop_types43.default.bool, /** * If `true`, screens this size and up are hidden. */ // eslint-disable-next-line react/no-unused-prop-types lgUp: import_prop_types43.default.bool, /** * If `true`, screens this size and down are hidden. */ // eslint-disable-next-line react/no-unused-prop-types mdDown: import_prop_types43.default.bool, /** * If `true`, screens this size and up are hidden. */ // eslint-disable-next-line react/no-unused-prop-types mdUp: import_prop_types43.default.bool, /** * Hide the given breakpoint(s). */ only: import_prop_types43.default.oneOfType([import_prop_types43.default.oneOf(["xs", "sm", "md", "lg", "xl"]), import_prop_types43.default.arrayOf(import_prop_types43.default.oneOf(["xs", "sm", "md", "lg", "xl"]))]), /** * If `true`, screens this size and down are hidden. */ // eslint-disable-next-line react/no-unused-prop-types smDown: import_prop_types43.default.bool, /** * If `true`, screens this size and up are hidden. */ // eslint-disable-next-line react/no-unused-prop-types smUp: import_prop_types43.default.bool, /** * @ignore * width prop provided by withWidth decorator. */ width: import_prop_types43.default.string.isRequired, /** * If `true`, screens this size and down are hidden. */ // eslint-disable-next-line react/no-unused-prop-types xlDown: import_prop_types43.default.bool, /** * If `true`, screens this size and up are hidden. */ // eslint-disable-next-line react/no-unused-prop-types xlUp: import_prop_types43.default.bool, /** * If `true`, screens this size and down are hidden. */ // eslint-disable-next-line react/no-unused-prop-types xsDown: import_prop_types43.default.bool, /** * If `true`, screens this size and up are hidden. */ // eslint-disable-next-line react/no-unused-prop-types xsUp: import_prop_types43.default.bool } : void 0; if (true) { true ? HiddenJs.propTypes = exactProp(HiddenJs.propTypes) : void 0; } var HiddenJs_default = withWidth_default()(HiddenJs); // node_modules/@mui/material/Hidden/HiddenCss.js init_extends(); var React53 = __toESM(require_react()); var import_prop_types44 = __toESM(require_prop_types()); // node_modules/@mui/material/Hidden/hiddenCssClasses.js function getHiddenCssUtilityClass(slot) { return generateUtilityClass("PrivateHiddenCss", slot); } var hiddenCssClasses = generateUtilityClasses("PrivateHiddenCss", ["root", "xlDown", "xlUp", "onlyXl", "lgDown", "lgUp", "onlyLg", "mdDown", "mdUp", "onlyMd", "smDown", "smUp", "onlySm", "xsDown", "xsUp", "onlyXs"]); // node_modules/@mui/material/Hidden/HiddenCss.js var import_jsx_runtime61 = __toESM(require_jsx_runtime()); var _excluded44 = ["children", "className", "only"]; var useUtilityClasses35 = (ownerState) => { const { classes, breakpoints } = ownerState; const slots = { root: ["root", ...breakpoints.map(({ breakpoint, dir }) => { return dir === "only" ? `${dir}${capitalize_default(breakpoint)}` : `${breakpoint}${capitalize_default(dir)}`; })] }; return composeClasses(slots, getHiddenCssUtilityClass, classes); }; var HiddenCssRoot = styled_default("div", { name: "PrivateHiddenCss", slot: "Root" })(({ theme, ownerState }) => { const hidden = { display: "none" }; return _extends({}, ownerState.breakpoints.map(({ breakpoint, dir }) => { if (dir === "only") { return { [theme.breakpoints.only(breakpoint)]: hidden }; } return dir === "up" ? { [theme.breakpoints.up(breakpoint)]: hidden } : { [theme.breakpoints.down(breakpoint)]: hidden }; }).reduce((r, o) => { Object.keys(o).forEach((k) => { r[k] = o[k]; }); return r; }, {})); }); function HiddenCss(props) { const { children, className, only } = props, other = _objectWithoutPropertiesLoose(props, _excluded44); const theme = useTheme(); if (true) { const unknownProps = Object.keys(other).filter((propName) => { const isUndeclaredBreakpoint = !theme.breakpoints.keys.some((breakpoint) => { return `${breakpoint}Up` === propName || `${breakpoint}Down` === propName; }); return !["classes", "theme", "isRtl", "sx"].includes(propName) && isUndeclaredBreakpoint; }); if (unknownProps.length > 0) { console.error(`MUI: Unsupported props received by \`\`: ${unknownProps.join(", ")}. Did you forget to wrap this component in a ThemeProvider declaring these breakpoints?`); } } const breakpoints = []; for (let i = 0; i < theme.breakpoints.keys.length; i += 1) { const breakpoint = theme.breakpoints.keys[i]; const breakpointUp = other[`${breakpoint}Up`]; const breakpointDown = other[`${breakpoint}Down`]; if (breakpointUp) { breakpoints.push({ breakpoint, dir: "up" }); } if (breakpointDown) { breakpoints.push({ breakpoint, dir: "down" }); } } if (only) { const onlyBreakpoints = Array.isArray(only) ? only : [only]; onlyBreakpoints.forEach((breakpoint) => { breakpoints.push({ breakpoint, dir: "only" }); }); } const ownerState = _extends({}, props, { breakpoints }); const classes = useUtilityClasses35(ownerState); return (0, import_jsx_runtime61.jsx)(HiddenCssRoot, { className: clsx_default(classes.root, className), ownerState, children }); } true ? HiddenCss.propTypes = { /** * The content of the component. */ children: import_prop_types44.default.node, /** * @ignore */ className: import_prop_types44.default.string, /** * Specify which implementation to use. 'js' is the default, 'css' works better for * server-side rendering. */ implementation: import_prop_types44.default.oneOf(["js", "css"]), /** * If `true`, screens this size and down are hidden. */ lgDown: import_prop_types44.default.bool, /** * If `true`, screens this size and up are hidden. */ lgUp: import_prop_types44.default.bool, /** * If `true`, screens this size and down are hidden. */ mdDown: import_prop_types44.default.bool, /** * If `true`, screens this size and up are hidden. */ mdUp: import_prop_types44.default.bool, /** * Hide the given breakpoint(s). */ only: import_prop_types44.default.oneOfType([import_prop_types44.default.oneOf(["xs", "sm", "md", "lg", "xl"]), import_prop_types44.default.arrayOf(import_prop_types44.default.oneOf(["xs", "sm", "md", "lg", "xl"]))]), /** * If `true`, screens this size and down are hidden. */ smDown: import_prop_types44.default.bool, /** * If `true`, screens this size and up are hidden. */ smUp: import_prop_types44.default.bool, /** * If `true`, screens this size and down are hidden. */ xlDown: import_prop_types44.default.bool, /** * If `true`, screens this size and up are hidden. */ xlUp: import_prop_types44.default.bool, /** * If `true`, screens this size and down are hidden. */ xsDown: import_prop_types44.default.bool, /** * If `true`, screens this size and up are hidden. */ xsUp: import_prop_types44.default.bool } : void 0; var HiddenCss_default = HiddenCss; // node_modules/@mui/material/Hidden/Hidden.js var import_jsx_runtime62 = __toESM(require_jsx_runtime()); var _excluded45 = ["implementation", "lgDown", "lgUp", "mdDown", "mdUp", "smDown", "smUp", "xlDown", "xlUp", "xsDown", "xsUp"]; function Hidden(props) { const { implementation = "js", lgDown = false, lgUp = false, mdDown = false, mdUp = false, smDown = false, smUp = false, xlDown = false, xlUp = false, xsDown = false, xsUp = false } = props, other = _objectWithoutPropertiesLoose(props, _excluded45); if (implementation === "js") { return (0, import_jsx_runtime62.jsx)(HiddenJs_default, _extends({ lgDown, lgUp, mdDown, mdUp, smDown, smUp, xlDown, xlUp, xsDown, xsUp }, other)); } return (0, import_jsx_runtime62.jsx)(HiddenCss_default, _extends({ lgDown, lgUp, mdDown, mdUp, smDown, smUp, xlDown, xlUp, xsDown, xsUp }, other)); } true ? Hidden.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types45.default.node, /** * Specify which implementation to use. 'js' is the default, 'css' works better for * server-side rendering. * @default 'js' */ implementation: import_prop_types45.default.oneOf(["css", "js"]), /** * You can use this prop when choosing the `js` implementation with server-side rendering. * * As `window.innerWidth` is unavailable on the server, * we default to rendering an empty component during the first mount. * You might want to use a heuristic to approximate * the screen width of the client browser screen width. * * For instance, you could be using the user-agent or the client-hints. * https://caniuse.com/#search=client%20hint */ initialWidth: import_prop_types45.default.oneOf(["xs", "sm", "md", "lg", "xl"]), /** * If `true`, component is hidden on screens below (but not including) this size. * @default false */ lgDown: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens this size and above. * @default false */ lgUp: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens below (but not including) this size. * @default false */ mdDown: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens this size and above. * @default false */ mdUp: import_prop_types45.default.bool, /** * Hide the given breakpoint(s). */ only: import_prop_types45.default.oneOfType([import_prop_types45.default.oneOf(["xs", "sm", "md", "lg", "xl"]), import_prop_types45.default.arrayOf(import_prop_types45.default.oneOf(["xs", "sm", "md", "lg", "xl"]).isRequired)]), /** * If `true`, component is hidden on screens below (but not including) this size. * @default false */ smDown: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens this size and above. * @default false */ smUp: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens below (but not including) this size. * @default false */ xlDown: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens this size and above. * @default false */ xlUp: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens below (but not including) this size. * @default false */ xsDown: import_prop_types45.default.bool, /** * If `true`, component is hidden on screens this size and above. * @default false */ xsUp: import_prop_types45.default.bool } : void 0; var Hidden_default = Hidden; // node_modules/@mui/material/Icon/Icon.js init_extends(); var React55 = __toESM(require_react()); var import_prop_types46 = __toESM(require_prop_types()); // node_modules/@mui/material/Icon/iconClasses.js function getIconUtilityClass(slot) { return generateUtilityClass("MuiIcon", slot); } var iconClasses = generateUtilityClasses("MuiIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]); var iconClasses_default = iconClasses; // node_modules/@mui/material/Icon/Icon.js var import_jsx_runtime63 = __toESM(require_jsx_runtime()); var _excluded46 = ["baseClassName", "className", "color", "component", "fontSize"]; var useUtilityClasses36 = (ownerState) => { const { color, fontSize, classes } = ownerState; const slots = { root: ["root", color !== "inherit" && `color${capitalize_default(color)}`, `fontSize${capitalize_default(fontSize)}`] }; return composeClasses(slots, getIconUtilityClass, classes); }; var IconRoot = styled_default("span", { name: "MuiIcon", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.color !== "inherit" && styles3[`color${capitalize_default(ownerState.color)}`], styles3[`fontSize${capitalize_default(ownerState.fontSize)}`]]; } })(({ theme, ownerState }) => ({ userSelect: "none", width: "1em", height: "1em", // Chrome fix for https://bugs.chromium.org/p/chromium/issues/detail?id=820541 // To remove at some point. overflow: "hidden", display: "inline-block", // allow overflow hidden to take action textAlign: "center", // support non-square icon flexShrink: 0, fontSize: { inherit: "inherit", small: theme.typography.pxToRem(20), medium: theme.typography.pxToRem(24), large: theme.typography.pxToRem(36) }[ownerState.fontSize], // TODO v5 deprecate, v6 remove for sx color: { primary: (theme.vars || theme).palette.primary.main, secondary: (theme.vars || theme).palette.secondary.main, info: (theme.vars || theme).palette.info.main, success: (theme.vars || theme).palette.success.main, warning: (theme.vars || theme).palette.warning.main, action: (theme.vars || theme).palette.action.active, error: (theme.vars || theme).palette.error.main, disabled: (theme.vars || theme).palette.action.disabled, inherit: void 0 }[ownerState.color] })); var Icon = React55.forwardRef(function Icon2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiIcon" }); const { baseClassName = "material-icons", className, color = "inherit", component: Component = "span", fontSize = "medium" } = props, other = _objectWithoutPropertiesLoose(props, _excluded46); const ownerState = _extends({}, props, { baseClassName, color, component: Component, fontSize }); const classes = useUtilityClasses36(ownerState); return (0, import_jsx_runtime63.jsx)(IconRoot, _extends({ as: Component, className: clsx_default( baseClassName, // Prevent the translation of the text content. // The font relies on the exact text content to render the icon. "notranslate", classes.root, className ), ownerState, "aria-hidden": true, ref }, other)); }); true ? Icon.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The base class applied to the icon. Defaults to 'material-icons', but can be changed to any * other base class that suits the icon font you're using (for example material-icons-rounded, fas, etc). * @default 'material-icons' */ baseClassName: import_prop_types46.default.string, /** * The name of the icon font ligature. */ children: import_prop_types46.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types46.default.object, /** * @ignore */ className: import_prop_types46.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'inherit' */ color: import_prop_types46.default.oneOfType([import_prop_types46.default.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), import_prop_types46.default.string]), /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types46.default.elementType, /** * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size. * @default 'medium' */ fontSize: import_prop_types46.default.oneOfType([import_prop_types46.default.oneOf(["inherit", "large", "medium", "small"]), import_prop_types46.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types46.default.oneOfType([import_prop_types46.default.arrayOf(import_prop_types46.default.oneOfType([import_prop_types46.default.func, import_prop_types46.default.object, import_prop_types46.default.bool])), import_prop_types46.default.func, import_prop_types46.default.object]) } : void 0; Icon.muiName = "Icon"; var Icon_default = Icon; // node_modules/@mui/material/ImageList/ImageList.js init_extends(); var import_prop_types47 = __toESM(require_prop_types()); var React57 = __toESM(require_react()); // node_modules/@mui/material/ImageList/imageListClasses.js function getImageListUtilityClass(slot) { return generateUtilityClass("MuiImageList", slot); } var imageListClasses = generateUtilityClasses("MuiImageList", ["root", "masonry", "quilted", "standard", "woven"]); var imageListClasses_default = imageListClasses; // node_modules/@mui/material/ImageList/ImageListContext.js var React56 = __toESM(require_react()); var ImageListContext = React56.createContext({}); if (true) { ImageListContext.displayName = "ImageListContext"; } var ImageListContext_default = ImageListContext; // node_modules/@mui/material/ImageList/ImageList.js var import_jsx_runtime64 = __toESM(require_jsx_runtime()); var _excluded47 = ["children", "className", "cols", "component", "rowHeight", "gap", "style", "variant"]; var useUtilityClasses37 = (ownerState) => { const { classes, variant } = ownerState; const slots = { root: ["root", variant] }; return composeClasses(slots, getImageListUtilityClass, classes); }; var ImageListRoot = styled_default("ul", { name: "MuiImageList", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[ownerState.variant]]; } })(({ ownerState }) => { return _extends({ display: "grid", overflowY: "auto", listStyle: "none", padding: 0, // Add iOS momentum scrolling for iOS < 13.0 WebkitOverflowScrolling: "touch" }, ownerState.variant === "masonry" && { display: "block" }); }); var ImageList = React57.forwardRef(function ImageList2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiImageList" }); const { children, className, cols = 2, component = "ul", rowHeight = "auto", gap = 4, style: styleProp, variant = "standard" } = props, other = _objectWithoutPropertiesLoose(props, _excluded47); const contextValue = React57.useMemo(() => ({ rowHeight, gap, variant }), [rowHeight, gap, variant]); React57.useEffect(() => { if (true) { if (document !== void 0 && "objectFit" in document.documentElement.style === false) { console.error(["MUI: ImageList v5+ no longer natively supports Internet Explorer.", "Use v4 of this component instead, or polyfill CSS object-fit."].join("\n")); } } }, []); const style = variant === "masonry" ? _extends({ columnCount: cols, columnGap: gap }, styleProp) : _extends({ gridTemplateColumns: `repeat(${cols}, 1fr)`, gap }, styleProp); const ownerState = _extends({}, props, { component, gap, rowHeight, variant }); const classes = useUtilityClasses37(ownerState); return (0, import_jsx_runtime64.jsx)(ImageListRoot, _extends({ as: component, className: clsx_default(classes.root, classes[variant], className), ref, style, ownerState }, other, { children: (0, import_jsx_runtime64.jsx)(ImageListContext_default.Provider, { value: contextValue, children }) })); }); true ? ImageList.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component, normally `ImageListItem`s. */ children: import_prop_types47.default.node.isRequired, /** * Override or extend the styles applied to the component. */ classes: import_prop_types47.default.object, /** * @ignore */ className: import_prop_types47.default.string, /** * Number of columns. * @default 2 */ cols: integerPropType_default, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types47.default.elementType, /** * The gap between items in px. * @default 4 */ gap: import_prop_types47.default.number, /** * The height of one row in px. * @default 'auto' */ rowHeight: import_prop_types47.default.oneOfType([import_prop_types47.default.oneOf(["auto"]), import_prop_types47.default.number]), /** * @ignore */ style: import_prop_types47.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types47.default.oneOfType([import_prop_types47.default.arrayOf(import_prop_types47.default.oneOfType([import_prop_types47.default.func, import_prop_types47.default.object, import_prop_types47.default.bool])), import_prop_types47.default.func, import_prop_types47.default.object]), /** * The variant to use. * @default 'standard' */ variant: import_prop_types47.default.oneOfType([import_prop_types47.default.oneOf(["masonry", "quilted", "standard", "woven"]), import_prop_types47.default.string]) } : void 0; var ImageList_default = ImageList; // node_modules/@mui/material/ImageListItem/ImageListItem.js init_extends(); var import_prop_types48 = __toESM(require_prop_types()); var React58 = __toESM(require_react()); var import_react_is5 = __toESM(require_react_is()); // node_modules/@mui/material/ImageListItem/imageListItemClasses.js function getImageListItemUtilityClass(slot) { return generateUtilityClass("MuiImageListItem", slot); } var imageListItemClasses = generateUtilityClasses("MuiImageListItem", ["root", "img", "standard", "woven", "masonry", "quilted"]); var imageListItemClasses_default = imageListItemClasses; // node_modules/@mui/material/ImageListItem/ImageListItem.js var import_jsx_runtime65 = __toESM(require_jsx_runtime()); var _excluded48 = ["children", "className", "cols", "component", "rows", "style"]; var useUtilityClasses38 = (ownerState) => { const { classes, variant } = ownerState; const slots = { root: ["root", variant], img: ["img"] }; return composeClasses(slots, getImageListItemUtilityClass, classes); }; var ImageListItemRoot = styled_default("li", { name: "MuiImageListItem", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [{ [`& .${imageListItemClasses_default.img}`]: styles3.img }, styles3.root, styles3[ownerState.variant]]; } })(({ ownerState }) => _extends({ display: "block", position: "relative" }, ownerState.variant === "standard" && { // For titlebar under list item display: "flex", flexDirection: "column" }, ownerState.variant === "woven" && { height: "100%", alignSelf: "center", "&:nth-of-type(even)": { height: "70%" } }, { [`& .${imageListItemClasses_default.img}`]: _extends({ objectFit: "cover", width: "100%", height: "100%", display: "block" }, ownerState.variant === "standard" && { height: "auto", flexGrow: 1 }) })); var ImageListItem = React58.forwardRef(function ImageListItem2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiImageListItem" }); const { children, className, cols = 1, component = "li", rows = 1, style } = props, other = _objectWithoutPropertiesLoose(props, _excluded48); const { rowHeight = "auto", gap, variant } = React58.useContext(ImageListContext_default); let height = "auto"; if (variant === "woven") { height = void 0; } else if (rowHeight !== "auto") { height = rowHeight * rows + gap * (rows - 1); } const ownerState = _extends({}, props, { cols, component, gap, rowHeight, rows, variant }); const classes = useUtilityClasses38(ownerState); return (0, import_jsx_runtime65.jsx)(ImageListItemRoot, _extends({ as: component, className: clsx_default(classes.root, classes[variant], className), ref, style: _extends({ height, gridColumnEnd: variant !== "masonry" ? `span ${cols}` : void 0, gridRowEnd: variant !== "masonry" ? `span ${rows}` : void 0, marginBottom: variant === "masonry" ? gap : void 0, breakInside: variant === "masonry" ? "avoid" : void 0 }, style), ownerState }, other, { children: React58.Children.map(children, (child) => { if (!React58.isValidElement(child)) { return null; } if (true) { if ((0, import_react_is5.isFragment)(child)) { console.error(["MUI: The ImageListItem component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n")); } } if (child.type === "img" || isMuiElement_default(child, ["Image"])) { return React58.cloneElement(child, { className: clsx_default(classes.img, child.props.className) }); } return child; }) })); }); true ? ImageListItem.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component, normally an ``. */ children: import_prop_types48.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types48.default.object, /** * @ignore */ className: import_prop_types48.default.string, /** * Width of the item in number of grid columns. * @default 1 */ cols: integerPropType_default, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types48.default.elementType, /** * Height of the item in number of grid rows. * @default 1 */ rows: integerPropType_default, /** * @ignore */ style: import_prop_types48.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types48.default.oneOfType([import_prop_types48.default.arrayOf(import_prop_types48.default.oneOfType([import_prop_types48.default.func, import_prop_types48.default.object, import_prop_types48.default.bool])), import_prop_types48.default.func, import_prop_types48.default.object]) } : void 0; var ImageListItem_default = ImageListItem; // node_modules/@mui/material/ImageListItemBar/ImageListItemBar.js init_extends(); var import_prop_types49 = __toESM(require_prop_types()); var React59 = __toESM(require_react()); // node_modules/@mui/material/ImageListItemBar/imageListItemBarClasses.js function getImageListItemBarUtilityClass(slot) { return generateUtilityClass("MuiImageListItemBar", slot); } var imageListItemBarClasses = generateUtilityClasses("MuiImageListItemBar", ["root", "positionBottom", "positionTop", "positionBelow", "titleWrap", "titleWrapBottom", "titleWrapTop", "titleWrapBelow", "titleWrapActionPosLeft", "titleWrapActionPosRight", "title", "subtitle", "actionIcon", "actionIconActionPosLeft", "actionIconActionPosRight"]); var imageListItemBarClasses_default = imageListItemBarClasses; // node_modules/@mui/material/ImageListItemBar/ImageListItemBar.js var import_jsx_runtime66 = __toESM(require_jsx_runtime()); var import_jsx_runtime67 = __toESM(require_jsx_runtime()); var _excluded49 = ["actionIcon", "actionPosition", "className", "subtitle", "title", "position"]; var useUtilityClasses39 = (ownerState) => { const { classes, position, actionIcon, actionPosition } = ownerState; const slots = { root: ["root", `position${capitalize_default(position)}`], titleWrap: ["titleWrap", `titleWrap${capitalize_default(position)}`, actionIcon && `titleWrapActionPos${capitalize_default(actionPosition)}`], title: ["title"], subtitle: ["subtitle"], actionIcon: ["actionIcon", `actionIconActionPos${capitalize_default(actionPosition)}`] }; return composeClasses(slots, getImageListItemBarUtilityClass, classes); }; var ImageListItemBarRoot = styled_default("div", { name: "MuiImageListItemBar", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[`position${capitalize_default(ownerState.position)}`]]; } })(({ theme, ownerState }) => { return _extends({ position: "absolute", left: 0, right: 0, background: "rgba(0, 0, 0, 0.5)", display: "flex", alignItems: "center", fontFamily: theme.typography.fontFamily }, ownerState.position === "bottom" && { bottom: 0 }, ownerState.position === "top" && { top: 0 }, ownerState.position === "below" && { position: "relative", background: "transparent", alignItems: "normal" }); }); var ImageListItemBarTitleWrap = styled_default("div", { name: "MuiImageListItemBar", slot: "TitleWrap", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.titleWrap, styles3[`titleWrap${capitalize_default(ownerState.position)}`], ownerState.actionIcon && styles3[`titleWrapActionPos${capitalize_default(ownerState.actionPosition)}`]]; } })(({ theme, ownerState }) => { return _extends({ flexGrow: 1, padding: "12px 16px", color: (theme.vars || theme).palette.common.white, overflow: "hidden" }, ownerState.position === "below" && { padding: "6px 0 12px", color: "inherit" }, ownerState.actionIcon && ownerState.actionPosition === "left" && { paddingLeft: 0 }, ownerState.actionIcon && ownerState.actionPosition === "right" && { paddingRight: 0 }); }); var ImageListItemBarTitle = styled_default("div", { name: "MuiImageListItemBar", slot: "Title", overridesResolver: (props, styles3) => styles3.title })(({ theme }) => { return { fontSize: theme.typography.pxToRem(16), lineHeight: "24px", textOverflow: "ellipsis", overflow: "hidden", whiteSpace: "nowrap" }; }); var ImageListItemBarSubtitle = styled_default("div", { name: "MuiImageListItemBar", slot: "Subtitle", overridesResolver: (props, styles3) => styles3.subtitle })(({ theme }) => { return { fontSize: theme.typography.pxToRem(12), lineHeight: 1, textOverflow: "ellipsis", overflow: "hidden", whiteSpace: "nowrap" }; }); var ImageListItemBarActionIcon = styled_default("div", { name: "MuiImageListItemBar", slot: "ActionIcon", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.actionIcon, styles3[`actionIconActionPos${capitalize_default(ownerState.actionPosition)}`]]; } })(({ ownerState }) => { return _extends({}, ownerState.actionPosition === "left" && { order: -1 }); }); var ImageListItemBar = React59.forwardRef(function ImageListItemBar2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiImageListItemBar" }); const { actionIcon, actionPosition = "right", className, subtitle, title, position = "bottom" } = props, other = _objectWithoutPropertiesLoose(props, _excluded49); const ownerState = _extends({}, props, { position, actionPosition }); const classes = useUtilityClasses39(ownerState); return (0, import_jsx_runtime67.jsxs)(ImageListItemBarRoot, _extends({ ownerState, className: clsx_default(classes.root, className), ref }, other, { children: [(0, import_jsx_runtime67.jsxs)(ImageListItemBarTitleWrap, { ownerState, className: classes.titleWrap, children: [(0, import_jsx_runtime66.jsx)(ImageListItemBarTitle, { className: classes.title, children: title }), subtitle ? (0, import_jsx_runtime66.jsx)(ImageListItemBarSubtitle, { className: classes.subtitle, children: subtitle }) : null] }), actionIcon ? (0, import_jsx_runtime66.jsx)(ImageListItemBarActionIcon, { ownerState, className: classes.actionIcon, children: actionIcon }) : null] })); }); true ? ImageListItemBar.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * An IconButton element to be used as secondary action target * (primary action target is the item itself). */ actionIcon: import_prop_types49.default.node, /** * Position of secondary action IconButton. * @default 'right' */ actionPosition: import_prop_types49.default.oneOf(["left", "right"]), /** * @ignore */ children: import_prop_types49.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types49.default.object, /** * @ignore */ className: import_prop_types49.default.string, /** * Position of the title bar. * @default 'bottom' */ position: import_prop_types49.default.oneOf(["below", "bottom", "top"]), /** * String or element serving as subtitle (support text). */ subtitle: import_prop_types49.default.node, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types49.default.oneOfType([import_prop_types49.default.arrayOf(import_prop_types49.default.oneOfType([import_prop_types49.default.func, import_prop_types49.default.object, import_prop_types49.default.bool])), import_prop_types49.default.func, import_prop_types49.default.object]), /** * Title to be displayed. */ title: import_prop_types49.default.node } : void 0; var ImageListItemBar_default = ImageListItemBar; // node_modules/@mui/material/LinearProgress/LinearProgress.js init_extends(); var React60 = __toESM(require_react()); var import_prop_types50 = __toESM(require_prop_types()); var import_colorManipulator7 = __toESM(require_colorManipulator()); // node_modules/@mui/material/LinearProgress/linearProgressClasses.js function getLinearProgressUtilityClass(slot) { return generateUtilityClass("MuiLinearProgress", slot); } var linearProgressClasses = generateUtilityClasses("MuiLinearProgress", ["root", "colorPrimary", "colorSecondary", "determinate", "indeterminate", "buffer", "query", "dashed", "dashedColorPrimary", "dashedColorSecondary", "bar", "barColorPrimary", "barColorSecondary", "bar1Indeterminate", "bar1Determinate", "bar1Buffer", "bar2Indeterminate", "bar2Buffer"]); var linearProgressClasses_default = linearProgressClasses; // node_modules/@mui/material/LinearProgress/LinearProgress.js var import_jsx_runtime68 = __toESM(require_jsx_runtime()); var import_jsx_runtime69 = __toESM(require_jsx_runtime()); var _excluded50 = ["className", "color", "value", "valueBuffer", "variant"]; var _2 = (t) => t; var _t5; var _t22; var _t32; var _t42; var _t52; var _t6; var TRANSITION_DURATION = 4; var indeterminate1Keyframe = keyframes(_t5 || (_t5 = _2` 0% { left: -35%; right: 100%; } 60% { left: 100%; right: -90%; } 100% { left: 100%; right: -90%; } `)); var indeterminate2Keyframe = keyframes(_t22 || (_t22 = _2` 0% { left: -200%; right: 100%; } 60% { left: 107%; right: -8%; } 100% { left: 107%; right: -8%; } `)); var bufferKeyframe = keyframes(_t32 || (_t32 = _2` 0% { opacity: 1; background-position: 0 -23px; } 60% { opacity: 0; background-position: 0 -23px; } 100% { opacity: 1; background-position: -200px -23px; } `)); var useUtilityClasses40 = (ownerState) => { const { classes, variant, color } = ownerState; const slots = { root: ["root", `color${capitalize_default(color)}`, variant], dashed: ["dashed", `dashedColor${capitalize_default(color)}`], bar1: ["bar", `barColor${capitalize_default(color)}`, (variant === "indeterminate" || variant === "query") && "bar1Indeterminate", variant === "determinate" && "bar1Determinate", variant === "buffer" && "bar1Buffer"], bar2: ["bar", variant !== "buffer" && `barColor${capitalize_default(color)}`, variant === "buffer" && `color${capitalize_default(color)}`, (variant === "indeterminate" || variant === "query") && "bar2Indeterminate", variant === "buffer" && "bar2Buffer"] }; return composeClasses(slots, getLinearProgressUtilityClass, classes); }; var getColorShade = (theme, color) => { if (color === "inherit") { return "currentColor"; } if (theme.vars) { return theme.vars.palette.LinearProgress[`${color}Bg`]; } return theme.palette.mode === "light" ? (0, import_colorManipulator7.lighten)(theme.palette[color].main, 0.62) : (0, import_colorManipulator7.darken)(theme.palette[color].main, 0.5); }; var LinearProgressRoot = styled_default("span", { name: "MuiLinearProgress", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[`color${capitalize_default(ownerState.color)}`], styles3[ownerState.variant]]; } })(({ ownerState, theme }) => _extends({ position: "relative", overflow: "hidden", display: "block", height: 4, zIndex: 0, // Fix Safari's bug during composition of different paint. "@media print": { colorAdjust: "exact" }, backgroundColor: getColorShade(theme, ownerState.color) }, ownerState.color === "inherit" && ownerState.variant !== "buffer" && { backgroundColor: "none", "&::before": { content: '""', position: "absolute", left: 0, top: 0, right: 0, bottom: 0, backgroundColor: "currentColor", opacity: 0.3 } }, ownerState.variant === "buffer" && { backgroundColor: "transparent" }, ownerState.variant === "query" && { transform: "rotate(180deg)" })); var LinearProgressDashed = styled_default("span", { name: "MuiLinearProgress", slot: "Dashed", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.dashed, styles3[`dashedColor${capitalize_default(ownerState.color)}`]]; } })(({ ownerState, theme }) => { const backgroundColor = getColorShade(theme, ownerState.color); return _extends({ position: "absolute", marginTop: 0, height: "100%", width: "100%" }, ownerState.color === "inherit" && { opacity: 0.3 }, { backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`, backgroundSize: "10px 10px", backgroundPosition: "0 -23px" }); }, css(_t42 || (_t42 = _2` animation: ${0} 3s infinite linear; `), bufferKeyframe)); var LinearProgressBar1 = styled_default("span", { name: "MuiLinearProgress", slot: "Bar1", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.bar, styles3[`barColor${capitalize_default(ownerState.color)}`], (ownerState.variant === "indeterminate" || ownerState.variant === "query") && styles3.bar1Indeterminate, ownerState.variant === "determinate" && styles3.bar1Determinate, ownerState.variant === "buffer" && styles3.bar1Buffer]; } })(({ ownerState, theme }) => _extends({ width: "100%", position: "absolute", left: 0, bottom: 0, top: 0, transition: "transform 0.2s linear", transformOrigin: "left", backgroundColor: ownerState.color === "inherit" ? "currentColor" : (theme.vars || theme).palette[ownerState.color].main }, ownerState.variant === "determinate" && { transition: `transform .${TRANSITION_DURATION}s linear` }, ownerState.variant === "buffer" && { zIndex: 1, transition: `transform .${TRANSITION_DURATION}s linear` }), ({ ownerState }) => (ownerState.variant === "indeterminate" || ownerState.variant === "query") && css(_t52 || (_t52 = _2` width: auto; animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; `), indeterminate1Keyframe)); var LinearProgressBar2 = styled_default("span", { name: "MuiLinearProgress", slot: "Bar2", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.bar, styles3[`barColor${capitalize_default(ownerState.color)}`], (ownerState.variant === "indeterminate" || ownerState.variant === "query") && styles3.bar2Indeterminate, ownerState.variant === "buffer" && styles3.bar2Buffer]; } })(({ ownerState, theme }) => _extends({ width: "100%", position: "absolute", left: 0, bottom: 0, top: 0, transition: "transform 0.2s linear", transformOrigin: "left" }, ownerState.variant !== "buffer" && { backgroundColor: ownerState.color === "inherit" ? "currentColor" : (theme.vars || theme).palette[ownerState.color].main }, ownerState.color === "inherit" && { opacity: 0.3 }, ownerState.variant === "buffer" && { backgroundColor: getColorShade(theme, ownerState.color), transition: `transform .${TRANSITION_DURATION}s linear` }), ({ ownerState }) => (ownerState.variant === "indeterminate" || ownerState.variant === "query") && css(_t6 || (_t6 = _2` width: auto; animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; `), indeterminate2Keyframe)); var LinearProgress = React60.forwardRef(function LinearProgress2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiLinearProgress" }); const { className, color = "primary", value, valueBuffer, variant = "indeterminate" } = props, other = _objectWithoutPropertiesLoose(props, _excluded50); const ownerState = _extends({}, props, { color, variant }); const classes = useUtilityClasses40(ownerState); const isRtl = useRtl(); const rootProps = {}; const inlineStyles = { bar1: {}, bar2: {} }; if (variant === "determinate" || variant === "buffer") { if (value !== void 0) { rootProps["aria-valuenow"] = Math.round(value); rootProps["aria-valuemin"] = 0; rootProps["aria-valuemax"] = 100; let transform = value - 100; if (isRtl) { transform = -transform; } inlineStyles.bar1.transform = `translateX(${transform}%)`; } else if (true) { console.error("MUI: You need to provide a value prop when using the determinate or buffer variant of LinearProgress ."); } } if (variant === "buffer") { if (valueBuffer !== void 0) { let transform = (valueBuffer || 0) - 100; if (isRtl) { transform = -transform; } inlineStyles.bar2.transform = `translateX(${transform}%)`; } else if (true) { console.error("MUI: You need to provide a valueBuffer prop when using the buffer variant of LinearProgress."); } } return (0, import_jsx_runtime69.jsxs)(LinearProgressRoot, _extends({ className: clsx_default(classes.root, className), ownerState, role: "progressbar" }, rootProps, { ref }, other, { children: [variant === "buffer" ? (0, import_jsx_runtime68.jsx)(LinearProgressDashed, { className: classes.dashed, ownerState }) : null, (0, import_jsx_runtime68.jsx)(LinearProgressBar1, { className: classes.bar1, ownerState, style: inlineStyles.bar1 }), variant === "determinate" ? null : (0, import_jsx_runtime68.jsx)(LinearProgressBar2, { className: classes.bar2, ownerState, style: inlineStyles.bar2 })] })); }); true ? LinearProgress.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Override or extend the styles applied to the component. */ classes: import_prop_types50.default.object, /** * @ignore */ className: import_prop_types50.default.string, /** * The color of the component. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'primary' */ color: import_prop_types50.default.oneOfType([import_prop_types50.default.oneOf(["inherit", "primary", "secondary"]), import_prop_types50.default.string]), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types50.default.oneOfType([import_prop_types50.default.arrayOf(import_prop_types50.default.oneOfType([import_prop_types50.default.func, import_prop_types50.default.object, import_prop_types50.default.bool])), import_prop_types50.default.func, import_prop_types50.default.object]), /** * The value of the progress indicator for the determinate and buffer variants. * Value between 0 and 100. */ value: import_prop_types50.default.number, /** * The value for the buffer variant. * Value between 0 and 100. */ valueBuffer: import_prop_types50.default.number, /** * The variant to use. * Use indeterminate or query when there is no progress value. * @default 'indeterminate' */ variant: import_prop_types50.default.oneOf(["buffer", "determinate", "indeterminate", "query"]) } : void 0; var LinearProgress_default = LinearProgress; // node_modules/@mui/material/Link/Link.js init_extends(); var React61 = __toESM(require_react()); var import_prop_types51 = __toESM(require_prop_types()); // node_modules/@mui/material/Link/linkClasses.js function getLinkUtilityClass(slot) { return generateUtilityClass("MuiLink", slot); } var linkClasses = generateUtilityClasses("MuiLink", ["root", "underlineNone", "underlineHover", "underlineAlways", "button", "focusVisible"]); var linkClasses_default = linkClasses; // node_modules/@mui/material/Link/getTextDecoration.js var import_colorManipulator8 = __toESM(require_colorManipulator()); var colorTransformations = { primary: "primary.main", textPrimary: "text.primary", secondary: "secondary.main", textSecondary: "text.secondary", error: "error.main" }; var transformDeprecatedColors = (color) => { return colorTransformations[color] || color; }; var getTextDecoration = ({ theme, ownerState }) => { const transformedColor = transformDeprecatedColors(ownerState.color); const color = getPath(theme, `palette.${transformedColor}`, false) || ownerState.color; const channelColor = getPath(theme, `palette.${transformedColor}Channel`); if ("vars" in theme && channelColor) { return `rgba(${channelColor} / 0.4)`; } return (0, import_colorManipulator8.alpha)(color, 0.4); }; var getTextDecoration_default = getTextDecoration; // node_modules/@mui/material/Link/Link.js var import_jsx_runtime70 = __toESM(require_jsx_runtime()); var _excluded51 = ["className", "color", "component", "onBlur", "onFocus", "TypographyClasses", "underline", "variant", "sx"]; var useUtilityClasses41 = (ownerState) => { const { classes, component, focusVisible, underline } = ownerState; const slots = { root: ["root", `underline${capitalize_default(underline)}`, component === "button" && "button", focusVisible && "focusVisible"] }; return composeClasses(slots, getLinkUtilityClass, classes); }; var LinkRoot = styled_default(Typography_default, { name: "MuiLink", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[`underline${capitalize_default(ownerState.underline)}`], ownerState.component === "button" && styles3.button]; } })(({ theme, ownerState }) => { return _extends({}, ownerState.underline === "none" && { textDecoration: "none" }, ownerState.underline === "hover" && { textDecoration: "none", "&:hover": { textDecoration: "underline" } }, ownerState.underline === "always" && _extends({ textDecoration: "underline" }, ownerState.color !== "inherit" && { textDecorationColor: getTextDecoration_default({ theme, ownerState }) }, { "&:hover": { textDecorationColor: "inherit" } }), ownerState.component === "button" && { position: "relative", WebkitTapHighlightColor: "transparent", backgroundColor: "transparent", // Reset default value // We disable the focus ring for mouse, touch and keyboard users. outline: 0, border: 0, margin: 0, // Remove the margin in Safari borderRadius: 0, padding: 0, // Remove the padding in Firefox cursor: "pointer", userSelect: "none", verticalAlign: "middle", MozAppearance: "none", // Reset WebkitAppearance: "none", // Reset "&::-moz-focus-inner": { borderStyle: "none" // Remove Firefox dotted outline. }, [`&.${linkClasses_default.focusVisible}`]: { outline: "auto" } }); }); var Link = React61.forwardRef(function Link2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiLink" }); const { className, color = "primary", component = "a", onBlur, onFocus, TypographyClasses, underline = "always", variant = "inherit", sx } = props, other = _objectWithoutPropertiesLoose(props, _excluded51); const { isFocusVisibleRef, onBlur: handleBlurVisible, onFocus: handleFocusVisible, ref: focusVisibleRef } = useIsFocusVisible_default(); const [focusVisible, setFocusVisible] = React61.useState(false); const handlerRef = useForkRef_default(ref, focusVisibleRef); const handleBlur = (event) => { handleBlurVisible(event); if (isFocusVisibleRef.current === false) { setFocusVisible(false); } if (onBlur) { onBlur(event); } }; const handleFocus = (event) => { handleFocusVisible(event); if (isFocusVisibleRef.current === true) { setFocusVisible(true); } if (onFocus) { onFocus(event); } }; const ownerState = _extends({}, props, { color, component, focusVisible, underline, variant }); const classes = useUtilityClasses41(ownerState); return (0, import_jsx_runtime70.jsx)(LinkRoot, _extends({ color, className: clsx_default(classes.root, className), classes: TypographyClasses, component, onBlur: handleBlur, onFocus: handleFocus, ref: handlerRef, ownerState, variant, sx: [...!Object.keys(colorTransformations).includes(color) ? [{ color }] : [], ...Array.isArray(sx) ? sx : [sx]] }, other)); }); true ? Link.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component. */ children: import_prop_types51.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types51.default.object, /** * @ignore */ className: import_prop_types51.default.string, /** * The color of the link. * @default 'primary' */ color: import_prop_types51.default.any, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: elementTypeAcceptingRef_default, /** * @ignore */ onBlur: import_prop_types51.default.func, /** * @ignore */ onFocus: import_prop_types51.default.func, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types51.default.oneOfType([import_prop_types51.default.arrayOf(import_prop_types51.default.oneOfType([import_prop_types51.default.func, import_prop_types51.default.object, import_prop_types51.default.bool])), import_prop_types51.default.func, import_prop_types51.default.object]), /** * `classes` prop applied to the [`Typography`](/material-ui/api/typography/) element. */ TypographyClasses: import_prop_types51.default.object, /** * Controls when the link should have an underline. * @default 'always' */ underline: import_prop_types51.default.oneOf(["always", "hover", "none"]), /** * Applies the theme typography styles. * @default 'inherit' */ variant: import_prop_types51.default.oneOfType([import_prop_types51.default.oneOf(["body1", "body2", "button", "caption", "h1", "h2", "h3", "h4", "h5", "h6", "inherit", "overline", "subtitle1", "subtitle2"]), import_prop_types51.default.string]) } : void 0; var Link_default = Link; // node_modules/@mui/material/ListItemAvatar/ListItemAvatar.js init_extends(); var React62 = __toESM(require_react()); var import_prop_types52 = __toESM(require_prop_types()); // node_modules/@mui/material/ListItemAvatar/listItemAvatarClasses.js function getListItemAvatarUtilityClass(slot) { return generateUtilityClass("MuiListItemAvatar", slot); } var listItemAvatarClasses = generateUtilityClasses("MuiListItemAvatar", ["root", "alignItemsFlexStart"]); var listItemAvatarClasses_default = listItemAvatarClasses; // node_modules/@mui/material/ListItemAvatar/ListItemAvatar.js var import_jsx_runtime71 = __toESM(require_jsx_runtime()); var _excluded52 = ["className"]; var useUtilityClasses42 = (ownerState) => { const { alignItems, classes } = ownerState; const slots = { root: ["root", alignItems === "flex-start" && "alignItemsFlexStart"] }; return composeClasses(slots, getListItemAvatarUtilityClass, classes); }; var ListItemAvatarRoot = styled_default("div", { name: "MuiListItemAvatar", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.alignItems === "flex-start" && styles3.alignItemsFlexStart]; } })(({ ownerState }) => _extends({ minWidth: 56, flexShrink: 0 }, ownerState.alignItems === "flex-start" && { marginTop: 8 })); var ListItemAvatar = React62.forwardRef(function ListItemAvatar2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiListItemAvatar" }); const { className } = props, other = _objectWithoutPropertiesLoose(props, _excluded52); const context = React62.useContext(ListContext_default); const ownerState = _extends({}, props, { alignItems: context.alignItems }); const classes = useUtilityClasses42(ownerState); return (0, import_jsx_runtime71.jsx)(ListItemAvatarRoot, _extends({ className: clsx_default(classes.root, className), ownerState, ref }, other)); }); true ? ListItemAvatar.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component, normally an `Avatar`. */ children: import_prop_types52.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types52.default.object, /** * @ignore */ className: import_prop_types52.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types52.default.oneOfType([import_prop_types52.default.arrayOf(import_prop_types52.default.oneOfType([import_prop_types52.default.func, import_prop_types52.default.object, import_prop_types52.default.bool])), import_prop_types52.default.func, import_prop_types52.default.object]) } : void 0; var ListItemAvatar_default = ListItemAvatar; // node_modules/@mui/material/ListItemIcon/ListItemIcon.js init_extends(); var React63 = __toESM(require_react()); var import_prop_types53 = __toESM(require_prop_types()); // node_modules/@mui/material/ListItemIcon/listItemIconClasses.js function getListItemIconUtilityClass(slot) { return generateUtilityClass("MuiListItemIcon", slot); } var listItemIconClasses = generateUtilityClasses("MuiListItemIcon", ["root", "alignItemsFlexStart"]); var listItemIconClasses_default = listItemIconClasses; // node_modules/@mui/material/ListItemIcon/ListItemIcon.js var import_jsx_runtime72 = __toESM(require_jsx_runtime()); var _excluded53 = ["className"]; var useUtilityClasses43 = (ownerState) => { const { alignItems, classes } = ownerState; const slots = { root: ["root", alignItems === "flex-start" && "alignItemsFlexStart"] }; return composeClasses(slots, getListItemIconUtilityClass, classes); }; var ListItemIconRoot = styled_default("div", { name: "MuiListItemIcon", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.alignItems === "flex-start" && styles3.alignItemsFlexStart]; } })(({ theme, ownerState }) => _extends({ minWidth: 56, color: (theme.vars || theme).palette.action.active, flexShrink: 0, display: "inline-flex" }, ownerState.alignItems === "flex-start" && { marginTop: 8 })); var ListItemIcon = React63.forwardRef(function ListItemIcon2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiListItemIcon" }); const { className } = props, other = _objectWithoutPropertiesLoose(props, _excluded53); const context = React63.useContext(ListContext_default); const ownerState = _extends({}, props, { alignItems: context.alignItems }); const classes = useUtilityClasses43(ownerState); return (0, import_jsx_runtime72.jsx)(ListItemIconRoot, _extends({ className: clsx_default(classes.root, className), ownerState, ref }, other)); }); true ? ListItemIcon.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The content of the component, normally `Icon`, `SvgIcon`, * or a `@mui/icons-material` SVG icon element. */ children: import_prop_types53.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types53.default.object, /** * @ignore */ className: import_prop_types53.default.string, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types53.default.oneOfType([import_prop_types53.default.arrayOf(import_prop_types53.default.oneOfType([import_prop_types53.default.func, import_prop_types53.default.object, import_prop_types53.default.bool])), import_prop_types53.default.func, import_prop_types53.default.object]) } : void 0; var ListItemIcon_default = ListItemIcon; // node_modules/@mui/material/ListItemText/ListItemText.js init_extends(); var React64 = __toESM(require_react()); var import_prop_types54 = __toESM(require_prop_types()); // node_modules/@mui/material/ListItemText/listItemTextClasses.js function getListItemTextUtilityClass(slot) { return generateUtilityClass("MuiListItemText", slot); } var listItemTextClasses = generateUtilityClasses("MuiListItemText", ["root", "multiline", "dense", "inset", "primary", "secondary"]); var listItemTextClasses_default = listItemTextClasses; // node_modules/@mui/material/ListItemText/ListItemText.js var import_jsx_runtime73 = __toESM(require_jsx_runtime()); var import_jsx_runtime74 = __toESM(require_jsx_runtime()); var _excluded54 = ["children", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"]; var useUtilityClasses44 = (ownerState) => { const { classes, inset, primary, secondary, dense } = ownerState; const slots = { root: ["root", inset && "inset", dense && "dense", primary && secondary && "multiline"], primary: ["primary"], secondary: ["secondary"] }; return composeClasses(slots, getListItemTextUtilityClass, classes); }; var ListItemTextRoot = styled_default("div", { name: "MuiListItemText", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [{ [`& .${listItemTextClasses_default.primary}`]: styles3.primary }, { [`& .${listItemTextClasses_default.secondary}`]: styles3.secondary }, styles3.root, ownerState.inset && styles3.inset, ownerState.primary && ownerState.secondary && styles3.multiline, ownerState.dense && styles3.dense]; } })(({ ownerState }) => _extends({ flex: "1 1 auto", minWidth: 0, marginTop: 4, marginBottom: 4 }, ownerState.primary && ownerState.secondary && { marginTop: 6, marginBottom: 6 }, ownerState.inset && { paddingLeft: 56 })); var ListItemText = React64.forwardRef(function ListItemText2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiListItemText" }); const { children, className, disableTypography = false, inset = false, primary: primaryProp, primaryTypographyProps, secondary: secondaryProp, secondaryTypographyProps } = props, other = _objectWithoutPropertiesLoose(props, _excluded54); const { dense } = React64.useContext(ListContext_default); let primary = primaryProp != null ? primaryProp : children; let secondary = secondaryProp; const ownerState = _extends({}, props, { disableTypography, inset, primary: !!primary, secondary: !!secondary, dense }); const classes = useUtilityClasses44(ownerState); if (primary != null && primary.type !== Typography_default && !disableTypography) { primary = (0, import_jsx_runtime73.jsx)(Typography_default, _extends({ variant: dense ? "body2" : "body1", className: classes.primary, component: primaryTypographyProps != null && primaryTypographyProps.variant ? void 0 : "span", display: "block" }, primaryTypographyProps, { children: primary })); } if (secondary != null && secondary.type !== Typography_default && !disableTypography) { secondary = (0, import_jsx_runtime73.jsx)(Typography_default, _extends({ variant: "body2", className: classes.secondary, color: "text.secondary", display: "block" }, secondaryTypographyProps, { children: secondary })); } return (0, import_jsx_runtime74.jsxs)(ListItemTextRoot, _extends({ className: clsx_default(classes.root, className), ownerState, ref }, other, { children: [primary, secondary] })); }); true ? ListItemText.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Alias for the `primary` prop. */ children: import_prop_types54.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types54.default.object, /** * @ignore */ className: import_prop_types54.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: import_prop_types54.default.bool, /** * If `true`, the children are indented. * This should be used if there is no left avatar or left icon. * @default false */ inset: import_prop_types54.default.bool, /** * The main content element. */ primary: import_prop_types54.default.node, /** * These props will be forwarded to the primary typography component * (as long as disableTypography is not `true`). */ primaryTypographyProps: import_prop_types54.default.object, /** * The secondary content element. */ secondary: import_prop_types54.default.node, /** * These props will be forwarded to the secondary typography component * (as long as disableTypography is not `true`). */ secondaryTypographyProps: import_prop_types54.default.object, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types54.default.oneOfType([import_prop_types54.default.arrayOf(import_prop_types54.default.oneOfType([import_prop_types54.default.func, import_prop_types54.default.object, import_prop_types54.default.bool])), import_prop_types54.default.func, import_prop_types54.default.object]) } : void 0; var ListItemText_default = ListItemText; // node_modules/@mui/material/MenuItem/MenuItem.js init_extends(); var React65 = __toESM(require_react()); var import_prop_types55 = __toESM(require_prop_types()); var import_colorManipulator9 = __toESM(require_colorManipulator()); // node_modules/@mui/material/MenuItem/menuItemClasses.js function getMenuItemUtilityClass(slot) { return generateUtilityClass("MuiMenuItem", slot); } var menuItemClasses = generateUtilityClasses("MuiMenuItem", ["root", "focusVisible", "dense", "disabled", "divider", "gutters", "selected"]); var menuItemClasses_default = menuItemClasses; // node_modules/@mui/material/MenuItem/MenuItem.js var import_jsx_runtime75 = __toESM(require_jsx_runtime()); var _excluded55 = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"]; var overridesResolver3 = (props, styles3) => { const { ownerState } = props; return [styles3.root, ownerState.dense && styles3.dense, ownerState.divider && styles3.divider, !ownerState.disableGutters && styles3.gutters]; }; var useUtilityClasses45 = (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 = composeClasses(slots, getMenuItemUtilityClass, classes); return _extends({}, classes, composedClasses); }; var MenuItemRoot = styled_default(ButtonBase_default, { shouldForwardProp: (prop) => rootShouldForwardProp_default(prop) || prop === "classes", name: "MuiMenuItem", slot: "Root", overridesResolver: overridesResolver3 })(({ theme, ownerState }) => _extends({}, 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.vars || theme).palette.divider}`, backgroundClip: "padding-box" }, { "&:hover": { textDecoration: "none", backgroundColor: (theme.vars || theme).palette.action.hover, // Reset on touch devices, it doesn't add specificity "@media (hover: none)": { backgroundColor: "transparent" } }, [`&.${menuItemClasses_default.selected}`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, import_colorManipulator9.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity), [`&.${menuItemClasses_default.focusVisible}`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, import_colorManipulator9.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity) } }, [`&.${menuItemClasses_default.selected}:hover`]: { backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0, import_colorManipulator9.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: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, import_colorManipulator9.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity) } }, [`&.${menuItemClasses_default.focusVisible}`]: { backgroundColor: (theme.vars || theme).palette.action.focus }, [`&.${menuItemClasses_default.disabled}`]: { opacity: (theme.vars || theme).palette.action.disabledOpacity }, [`& + .${dividerClasses_default.root}`]: { marginTop: theme.spacing(1), marginBottom: theme.spacing(1) }, [`& + .${dividerClasses_default.inset}`]: { marginLeft: 52 }, [`& .${listItemTextClasses_default.root}`]: { marginTop: 0, marginBottom: 0 }, [`& .${listItemTextClasses_default.inset}`]: { paddingLeft: 36 }, [`& .${listItemIconClasses_default.root}`]: { minWidth: 36 } }, !ownerState.dense && { [theme.breakpoints.up("sm")]: { minHeight: "auto" } }, ownerState.dense && _extends({ minHeight: 32, // https://m2.material.io/components/menus#specs > Dense paddingTop: 4, paddingBottom: 4 }, theme.typography.body2, { [`& .${listItemIconClasses_default.root} svg`]: { fontSize: "1.25rem" } }))); var MenuItem = React65.forwardRef(function MenuItem2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiMenuItem" }); const { autoFocus = false, component = "li", dense = false, divider = false, disableGutters = false, focusVisibleClassName, role = "menuitem", tabIndex: tabIndexProp, className } = props, other = _objectWithoutPropertiesLoose(props, _excluded55); const context = React65.useContext(ListContext_default); const childContext = React65.useMemo(() => ({ dense: dense || context.dense || false, disableGutters }), [context.dense, dense, disableGutters]); const menuItemRef = React65.useRef(null); useEnhancedEffect_default2(() => { 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 = _extends({}, props, { dense: childContext.dense, divider, disableGutters }); const classes = useUtilityClasses45(props); const handleRef = useForkRef_default(menuItemRef, ref); let tabIndex; if (!props.disabled) { tabIndex = tabIndexProp !== void 0 ? tabIndexProp : -1; } return (0, import_jsx_runtime75.jsx)(ListContext_default.Provider, { value: childContext, children: (0, import_jsx_runtime75.jsx)(MenuItemRoot, _extends({ ref: handleRef, role, tabIndex, component, focusVisibleClassName: clsx_default(classes.focusVisible, focusVisibleClassName), className: clsx_default(classes.root, className) }, other, { ownerState, classes })) }); }); true ? MenuItem.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm 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: import_prop_types55.default.bool, /** * The content of the component. */ children: import_prop_types55.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types55.default.object, /** * @ignore */ className: import_prop_types55.default.string, /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: import_prop_types55.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: import_prop_types55.default.bool, /** * @ignore */ disabled: import_prop_types55.default.bool, /** * If `true`, the left and right padding is removed. * @default false */ disableGutters: import_prop_types55.default.bool, /** * If `true`, a 1px light border is added to the bottom of the menu item. * @default false */ divider: import_prop_types55.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: import_prop_types55.default.string, /** * @ignore */ role: import_prop_types55.default.string, /** * If `true`, the component is selected. * @default false */ selected: import_prop_types55.default.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types55.default.oneOfType([import_prop_types55.default.arrayOf(import_prop_types55.default.oneOfType([import_prop_types55.default.func, import_prop_types55.default.object, import_prop_types55.default.bool])), import_prop_types55.default.func, import_prop_types55.default.object]), /** * @default 0 */ tabIndex: import_prop_types55.default.number } : void 0; var MenuItem_default = MenuItem; // node_modules/@mui/material/MobileStepper/MobileStepper.js init_extends(); var React66 = __toESM(require_react()); var import_prop_types56 = __toESM(require_prop_types()); // node_modules/@mui/material/MobileStepper/mobileStepperClasses.js function getMobileStepperUtilityClass(slot) { return generateUtilityClass("MuiMobileStepper", slot); } var mobileStepperClasses = generateUtilityClasses("MuiMobileStepper", ["root", "positionBottom", "positionTop", "positionStatic", "dots", "dot", "dotActive", "progress"]); var mobileStepperClasses_default = mobileStepperClasses; // node_modules/@mui/material/MobileStepper/MobileStepper.js var import_jsx_runtime76 = __toESM(require_jsx_runtime()); var import_jsx_runtime77 = __toESM(require_jsx_runtime()); var _excluded56 = ["activeStep", "backButton", "className", "LinearProgressProps", "nextButton", "position", "steps", "variant"]; var useUtilityClasses46 = (ownerState) => { const { classes, position } = ownerState; const slots = { root: ["root", `position${capitalize_default(position)}`], dots: ["dots"], dot: ["dot"], dotActive: ["dotActive"], progress: ["progress"] }; return composeClasses(slots, getMobileStepperUtilityClass, classes); }; var MobileStepperRoot = styled_default(Paper_default, { name: "MuiMobileStepper", slot: "Root", overridesResolver: (props, styles3) => { const { ownerState } = props; return [styles3.root, styles3[`position${capitalize_default(ownerState.position)}`]]; } })(({ theme, ownerState }) => _extends({ display: "flex", flexDirection: "row", justifyContent: "space-between", alignItems: "center", background: (theme.vars || theme).palette.background.default, padding: 8 }, ownerState.position === "bottom" && { position: "fixed", bottom: 0, left: 0, right: 0, zIndex: (theme.vars || theme).zIndex.mobileStepper }, ownerState.position === "top" && { position: "fixed", top: 0, left: 0, right: 0, zIndex: (theme.vars || theme).zIndex.mobileStepper })); var MobileStepperDots = styled_default("div", { name: "MuiMobileStepper", slot: "Dots", overridesResolver: (props, styles3) => styles3.dots })(({ ownerState }) => _extends({}, ownerState.variant === "dots" && { display: "flex", flexDirection: "row" })); var MobileStepperDot = styled_default("div", { name: "MuiMobileStepper", slot: "Dot", shouldForwardProp: (prop) => slotShouldForwardProp_default(prop) && prop !== "dotActive", overridesResolver: (props, styles3) => { const { dotActive } = props; return [styles3.dot, dotActive && styles3.dotActive]; } })(({ theme, ownerState, dotActive }) => _extends({}, ownerState.variant === "dots" && _extends({ transition: theme.transitions.create("background-color", { duration: theme.transitions.duration.shortest }), backgroundColor: (theme.vars || theme).palette.action.disabled, borderRadius: "50%", width: 8, height: 8, margin: "0 2px" }, dotActive && { backgroundColor: (theme.vars || theme).palette.primary.main }))); var MobileStepperProgress = styled_default(LinearProgress_default, { name: "MuiMobileStepper", slot: "Progress", overridesResolver: (props, styles3) => styles3.progress })(({ ownerState }) => _extends({}, ownerState.variant === "progress" && { width: "50%" })); var MobileStepper = React66.forwardRef(function MobileStepper2(inProps, ref) { const props = useDefaultProps({ props: inProps, name: "MuiMobileStepper" }); const { activeStep = 0, backButton, className, LinearProgressProps, nextButton, position = "bottom", steps, variant = "dots" } = props, other = _objectWithoutPropertiesLoose(props, _excluded56); const ownerState = _extends({}, props, { activeStep, position, variant }); let value; if (variant === "progress") { if (steps === 1) { value = 100; } else { value = Math.ceil(activeStep / (steps - 1) * 100); } } const classes = useUtilityClasses46(ownerState); return (0, import_jsx_runtime76.jsxs)(MobileStepperRoot, _extends({ square: true, elevation: 0, className: clsx_default(classes.root, className), ref, ownerState }, other, { children: [backButton, variant === "text" && (0, import_jsx_runtime76.jsxs)(React66.Fragment, { children: [activeStep + 1, " / ", steps] }), variant === "dots" && (0, import_jsx_runtime77.jsx)(MobileStepperDots, { ownerState, className: classes.dots, children: [...new Array(steps)].map((_4, index) => (0, import_jsx_runtime77.jsx)(MobileStepperDot, { className: clsx_default(classes.dot, index === activeStep && classes.dotActive), ownerState, dotActive: index === activeStep }, index)) }), variant === "progress" && (0, import_jsx_runtime77.jsx)(MobileStepperProgress, _extends({ ownerState, className: classes.progress, variant: "determinate", value }, LinearProgressProps)), nextButton] })); }); true ? MobileStepper.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * Set the active step (zero based index). * Defines which dot is highlighted when the variant is 'dots'. * @default 0 */ activeStep: integerPropType_default, /** * A back button element. For instance, it can be a `Button` or an `IconButton`. */ backButton: import_prop_types56.default.node, /** * Override or extend the styles applied to the component. */ classes: import_prop_types56.default.object, /** * @ignore */ className: import_prop_types56.default.string, /** * Props applied to the `LinearProgress` element. */ LinearProgressProps: import_prop_types56.default.object, /** * A next button element. For instance, it can be a `Button` or an `IconButton`. */ nextButton: import_prop_types56.default.node, /** * Set the positioning type. * @default 'bottom' */ position: import_prop_types56.default.oneOf(["bottom", "static", "top"]), /** * The total steps. */ steps: integerPropType_default.isRequired, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: import_prop_types56.default.oneOfType([import_prop_types56.default.arrayOf(import_prop_types56.default.oneOfType([import_prop_types56.default.func, import_prop_types56.default.object, import_prop_types56.default.bool])), import_prop_types56.default.func, import_prop_types56.default.object]), /** * The variant to use. * @default 'dots' */ variant: import_prop_types56.default.oneOf(["dots", "progress", "text"]) } : void 0; var MobileStepper_default = MobileStepper; // node_modules/@mui/material/NativeSelect/NativeSelect.js init_extends(); var React67 = __toESM(require_react()); var import_prop_types57 = __toESM(require_prop_types()); var import_jsx_runtime78 = __toESM(require_jsx_runtime()); var _excluded57 = ["className", "children", "classes", "IconComponent", "input", "inputProps", "variant"]; var _excluded211 = ["root"]; var useUtilityClasses47 = (ownerState) => { const { classes } = ownerState; const slots = { root: ["root"] }; return composeClasses(slots, getNativeSelectUtilityClasses, classes); }; var defaultInput = (0, import_jsx_runtime78.jsx)(Input_default, {}); var NativeSelect = React67.forwardRef(function NativeSelect2(inProps, ref) { const props = useDefaultProps({ name: "MuiNativeSelect", props: inProps }); const { className, children, classes: classesProp = {}, IconComponent = ArrowDropDown_default, input = defaultInput, inputProps } = props, other = _objectWithoutPropertiesLoose(props, _excluded57); const muiFormControl = useFormControl(); const fcs = formControlState({ props, muiFormControl, states: ["variant"] }); const ownerState = _extends({}, props, { classes: classesProp }); const classes = useUtilityClasses47(ownerState); const otherClasses = _objectWithoutPropertiesLoose(classesProp, _excluded211); return (0, import_jsx_runtime78.jsx)(React67.Fragment, { children: React67.cloneElement(input, _extends({ // Most of the logic is implemented in `NativeSelectInput`. // The `Select` component is a simple API wrapper to expose something better to play with. inputComponent: NativeSelectInput_default, inputProps: _extends({ children, classes: otherClasses, IconComponent, variant: fcs.variant, type: void 0 }, inputProps, input ? input.props.inputProps : {}), ref }, other, { className: clsx_default(classes.root, input.props.className, className) })) }); }); true ? NativeSelect.propTypes = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * The option elements to populate the select with. * Can be some `