} param0.domTreeShapes
*/
function computeHasNativeHandler({
domTreeShapes,
start,
current,
anchor
}) {
// Adapted from https://github.com/oliviertassinari/react-swipeable-views/blob/7666de1dba253b896911adf2790ce51467670856/packages/react-swipeable-views/src/SwipeableViews.js#L175
const axisProperties = {
scrollPosition: {
x: 'scrollLeft',
y: 'scrollTop'
},
scrollLength: {
x: 'scrollWidth',
y: 'scrollHeight'
},
clientLength: {
x: 'clientWidth',
y: 'clientHeight'
}
};
return domTreeShapes.some(shape => {
// Determine if we are going backward or forward.
let goingForward = current >= start;
if (anchor === 'top' || anchor === 'left') {
goingForward = !goingForward;
}
const axis = anchor === 'left' || anchor === 'right' ? 'x' : 'y';
const scrollPosition = Math.round(shape[axisProperties.scrollPosition[axis]]);
const areNotAtStart = scrollPosition > 0;
const areNotAtEnd = scrollPosition + shape[axisProperties.clientLength[axis]] < shape[axisProperties.scrollLength[axis]];
if (goingForward && areNotAtEnd || !goingForward && areNotAtStart) {
return true;
}
return false;
});
}
const iOS = typeof navigator !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent);
const SwipeableDrawer = /*#__PURE__*/external_React_.forwardRef(function SwipeableDrawer(inProps, ref) {
const props = useThemeProps({
name: 'MuiSwipeableDrawer',
props: inProps
});
const theme = styles_useTheme_useTheme();
const transitionDurationDefault = {
enter: theme.transitions.duration.enteringScreen,
exit: theme.transitions.duration.leavingScreen
};
const {
anchor = 'left',
disableBackdropTransition = false,
disableDiscovery = false,
disableSwipeToOpen = iOS,
hideBackdrop,
hysteresis = 0.52,
minFlingVelocity = 450,
ModalProps: {
BackdropProps
} = {},
onClose,
onOpen,
open = false,
PaperProps = {},
SwipeAreaProps,
swipeAreaWidth = 20,
transitionDuration = transitionDurationDefault,
variant = 'temporary'
} = props,
ModalPropsProp = _objectWithoutPropertiesLoose(props.ModalProps, SwipeableDrawer_excluded),
other = _objectWithoutPropertiesLoose(props, SwipeableDrawer_excluded2);
const [maybeSwiping, setMaybeSwiping] = external_React_.useState(false);
const swipeInstance = external_React_.useRef({
isSwiping: null
});
const swipeAreaRef = external_React_.useRef();
const backdropRef = external_React_.useRef();
const paperRef = external_React_.useRef();
const handleRef = utils_useForkRef(PaperProps.ref, paperRef);
const touchDetected = external_React_.useRef(false);
// Ref for transition duration based on / to match swipe speed
const calculatedDurationRef = external_React_.useRef();
// Use a ref so the open value used is always up to date inside useCallback.
utils_useEnhancedEffect(() => {
calculatedDurationRef.current = null;
}, [open]);
const setPosition = external_React_.useCallback((translate, options = {}) => {
const {
mode = null,
changeTransition = true
} = options;
const anchorRtl = getAnchor(theme, anchor);
const rtlTranslateMultiplier = ['right', 'bottom'].indexOf(anchorRtl) !== -1 ? 1 : -1;
const horizontalSwipe = isHorizontal(anchor);
const transform = horizontalSwipe ? `translate(${rtlTranslateMultiplier * translate}px, 0)` : `translate(0, ${rtlTranslateMultiplier * translate}px)`;
const drawerStyle = paperRef.current.style;
drawerStyle.webkitTransform = transform;
drawerStyle.transform = transform;
let transition = '';
if (mode) {
transition = theme.transitions.create('all', getTransitionProps({
easing: undefined,
style: undefined,
timeout: transitionDuration
}, {
mode
}));
}
if (changeTransition) {
drawerStyle.webkitTransition = transition;
drawerStyle.transition = transition;
}
if (!disableBackdropTransition && !hideBackdrop) {
const backdropStyle = backdropRef.current.style;
backdropStyle.opacity = 1 - translate / getMaxTranslate(horizontalSwipe, paperRef.current);
if (changeTransition) {
backdropStyle.webkitTransition = transition;
backdropStyle.transition = transition;
}
}
}, [anchor, disableBackdropTransition, hideBackdrop, theme, transitionDuration]);
const handleBodyTouchEnd = utils_useEventCallback(nativeEvent => {
if (!touchDetected.current) {
return;
}
claimedSwipeInstance = null;
touchDetected.current = false;
(0,external_ReactDOM_namespaceObject.flushSync)(() => {
setMaybeSwiping(false);
});
// The swipe wasn't started.
if (!swipeInstance.current.isSwiping) {
swipeInstance.current.isSwiping = null;
return;
}
swipeInstance.current.isSwiping = null;
const anchorRtl = getAnchor(theme, anchor);
const horizontal = isHorizontal(anchor);
let current;
if (horizontal) {
current = calculateCurrentX(anchorRtl, nativeEvent.changedTouches, utils_ownerDocument(nativeEvent.currentTarget));
} else {
current = calculateCurrentY(anchorRtl, nativeEvent.changedTouches, utils_ownerWindow(nativeEvent.currentTarget));
}
const startLocation = horizontal ? swipeInstance.current.startX : swipeInstance.current.startY;
const maxTranslate = getMaxTranslate(horizontal, paperRef.current);
const currentTranslate = getTranslate(current, startLocation, open, maxTranslate);
const translateRatio = currentTranslate / maxTranslate;
if (Math.abs(swipeInstance.current.velocity) > minFlingVelocity) {
// Calculate transition duration to match swipe speed
calculatedDurationRef.current = Math.abs((maxTranslate - currentTranslate) / swipeInstance.current.velocity) * 1000;
}
if (open) {
if (swipeInstance.current.velocity > minFlingVelocity || translateRatio > hysteresis) {
onClose();
} else {
// Reset the position, the swipe was aborted.
setPosition(0, {
mode: 'exit'
});
}
return;
}
if (swipeInstance.current.velocity < -minFlingVelocity || 1 - translateRatio > hysteresis) {
onOpen();
} else {
// Reset the position, the swipe was aborted.
setPosition(getMaxTranslate(horizontal, paperRef.current), {
mode: 'enter'
});
}
});
const handleBodyTouchMove = utils_useEventCallback(nativeEvent => {
// the ref may be null when a parent component updates while swiping
if (!paperRef.current || !touchDetected.current) {
return;
}
// We are not supposed to handle this touch move because the swipe was started in a scrollable container in the drawer
if (claimedSwipeInstance !== null && claimedSwipeInstance !== swipeInstance.current) {
return;
}
const anchorRtl = getAnchor(theme, anchor);
const horizontalSwipe = isHorizontal(anchor);
const currentX = calculateCurrentX(anchorRtl, nativeEvent.touches, utils_ownerDocument(nativeEvent.currentTarget));
const currentY = calculateCurrentY(anchorRtl, nativeEvent.touches, utils_ownerWindow(nativeEvent.currentTarget));
if (open && paperRef.current.contains(nativeEvent.target) && claimedSwipeInstance === null) {
const domTreeShapes = getDomTreeShapes(nativeEvent.target, paperRef.current);
const hasNativeHandler = computeHasNativeHandler({
domTreeShapes,
start: horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY,
current: horizontalSwipe ? currentX : currentY,
anchor
});
if (hasNativeHandler) {
claimedSwipeInstance = true;
return;
}
claimedSwipeInstance = swipeInstance.current;
}
// We don't know yet.
if (swipeInstance.current.isSwiping == null) {
const dx = Math.abs(currentX - swipeInstance.current.startX);
const dy = Math.abs(currentY - swipeInstance.current.startY);
const definitelySwiping = horizontalSwipe ? dx > dy && dx > UNCERTAINTY_THRESHOLD : dy > dx && dy > UNCERTAINTY_THRESHOLD;
if (definitelySwiping && nativeEvent.cancelable) {
nativeEvent.preventDefault();
}
if (definitelySwiping === true || (horizontalSwipe ? dy > UNCERTAINTY_THRESHOLD : dx > UNCERTAINTY_THRESHOLD)) {
swipeInstance.current.isSwiping = definitelySwiping;
if (!definitelySwiping) {
handleBodyTouchEnd(nativeEvent);
return;
}
// Shift the starting point.
swipeInstance.current.startX = currentX;
swipeInstance.current.startY = currentY;
// Compensate for the part of the drawer displayed on touch start.
if (!disableDiscovery && !open) {
if (horizontalSwipe) {
swipeInstance.current.startX -= DRAG_STARTED_SIGNAL;
} else {
swipeInstance.current.startY -= DRAG_STARTED_SIGNAL;
}
}
}
}
if (!swipeInstance.current.isSwiping) {
return;
}
const maxTranslate = getMaxTranslate(horizontalSwipe, paperRef.current);
let startLocation = horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY;
if (open && !swipeInstance.current.paperHit) {
startLocation = Math.min(startLocation, maxTranslate);
}
const translate = getTranslate(horizontalSwipe ? currentX : currentY, startLocation, open, maxTranslate);
if (open) {
if (!swipeInstance.current.paperHit) {
const paperHit = horizontalSwipe ? currentX < maxTranslate : currentY < maxTranslate;
if (paperHit) {
swipeInstance.current.paperHit = true;
swipeInstance.current.startX = currentX;
swipeInstance.current.startY = currentY;
} else {
return;
}
} else if (translate === 0) {
swipeInstance.current.startX = currentX;
swipeInstance.current.startY = currentY;
}
}
if (swipeInstance.current.lastTranslate === null) {
swipeInstance.current.lastTranslate = translate;
swipeInstance.current.lastTime = performance.now() + 1;
}
const velocity = (translate - swipeInstance.current.lastTranslate) / (performance.now() - swipeInstance.current.lastTime) * 1e3;
// Low Pass filter.
swipeInstance.current.velocity = swipeInstance.current.velocity * 0.4 + velocity * 0.6;
swipeInstance.current.lastTranslate = translate;
swipeInstance.current.lastTime = performance.now();
// We are swiping, let's prevent the scroll event on iOS.
if (nativeEvent.cancelable) {
nativeEvent.preventDefault();
}
setPosition(translate);
});
const handleBodyTouchStart = utils_useEventCallback(nativeEvent => {
// We are not supposed to handle this touch move.
// Example of use case: ignore the event if there is a Slider.
if (nativeEvent.defaultPrevented) {
return;
}
// We can only have one node at the time claiming ownership for handling the swipe.
if (nativeEvent.defaultMuiPrevented) {
return;
}
// At least one element clogs the drawer interaction zone.
if (open && (hideBackdrop || !backdropRef.current.contains(nativeEvent.target)) && !paperRef.current.contains(nativeEvent.target)) {
return;
}
const anchorRtl = getAnchor(theme, anchor);
const horizontalSwipe = isHorizontal(anchor);
const currentX = calculateCurrentX(anchorRtl, nativeEvent.touches, utils_ownerDocument(nativeEvent.currentTarget));
const currentY = calculateCurrentY(anchorRtl, nativeEvent.touches, utils_ownerWindow(nativeEvent.currentTarget));
if (!open) {
if (disableSwipeToOpen || nativeEvent.target !== swipeAreaRef.current) {
return;
}
if (horizontalSwipe) {
if (currentX > swipeAreaWidth) {
return;
}
} else if (currentY > swipeAreaWidth) {
return;
}
}
nativeEvent.defaultMuiPrevented = true;
claimedSwipeInstance = null;
swipeInstance.current.startX = currentX;
swipeInstance.current.startY = currentY;
(0,external_ReactDOM_namespaceObject.flushSync)(() => {
setMaybeSwiping(true);
});
if (!open && paperRef.current) {
// The ref may be null when a parent component updates while swiping.
setPosition(getMaxTranslate(horizontalSwipe, paperRef.current) + (disableDiscovery ? 15 : -DRAG_STARTED_SIGNAL), {
changeTransition: false
});
}
swipeInstance.current.velocity = 0;
swipeInstance.current.lastTime = null;
swipeInstance.current.lastTranslate = null;
swipeInstance.current.paperHit = false;
touchDetected.current = true;
});
external_React_.useEffect(() => {
if (variant === 'temporary') {
const doc = utils_ownerDocument(paperRef.current);
doc.addEventListener('touchstart', handleBodyTouchStart);
// A blocking listener prevents Firefox's navbar to auto-hide on scroll.
// It only needs to prevent scrolling on the drawer's content when open.
// When closed, the overlay prevents scrolling.
doc.addEventListener('touchmove', handleBodyTouchMove, {
passive: !open
});
doc.addEventListener('touchend', handleBodyTouchEnd);
return () => {
doc.removeEventListener('touchstart', handleBodyTouchStart);
doc.removeEventListener('touchmove', handleBodyTouchMove, {
passive: !open
});
doc.removeEventListener('touchend', handleBodyTouchEnd);
};
}
return undefined;
}, [variant, open, handleBodyTouchStart, handleBodyTouchMove, handleBodyTouchEnd]);
external_React_.useEffect(() => () => {
// We need to release the lock.
if (claimedSwipeInstance === swipeInstance.current) {
claimedSwipeInstance = null;
}
}, []);
external_React_.useEffect(() => {
if (!open) {
setMaybeSwiping(false);
}
}, [open]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)(external_React_.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Drawer_Drawer, extends_extends({
open: variant === 'temporary' && maybeSwiping ? true : open,
variant: variant,
ModalProps: extends_extends({
BackdropProps: extends_extends({}, BackdropProps, {
ref: backdropRef
})
}, variant === 'temporary' && {
keepMounted: true
}, ModalPropsProp),
hideBackdrop: hideBackdrop,
PaperProps: extends_extends({}, PaperProps, {
style: extends_extends({
pointerEvents: variant === 'temporary' && !open ? 'none' : ''
}, PaperProps.style),
ref: handleRef
}),
anchor: anchor,
transitionDuration: calculatedDurationRef.current || transitionDuration,
onClose: onClose,
ref: ref
}, other)), !disableSwipeToOpen && variant === 'temporary' && /*#__PURE__*/(0,jsx_runtime.jsx)(NoSsr_NoSsr, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(SwipeableDrawer_SwipeArea, extends_extends({
anchor: anchor,
ref: swipeAreaRef,
width: swipeAreaWidth
}, SwipeAreaProps))
})]
});
});
false ? 0 : void 0;
/* harmony default export */ var SwipeableDrawer_SwipeableDrawer = (SwipeableDrawer);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Switch/switchClasses.js
function getSwitchUtilityClass(slot) {
return generateUtilityClass('MuiSwitch', slot);
}
const switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);
/* harmony default export */ var Switch_switchClasses = (switchClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Switch/Switch.js
const Switch_excluded = ["className", "color", "edge", "size", "sx"];
// @inheritedComponent IconButton
const Switch_useUtilityClasses = ownerState => {
const {
classes,
edge,
size,
color,
checked,
disabled
} = ownerState;
const slots = {
root: ['root', edge && `edge${utils_capitalize(edge)}`, `size${utils_capitalize(size)}`],
switchBase: ['switchBase', `color${utils_capitalize(color)}`, checked && 'checked', disabled && 'disabled'],
thumb: ['thumb'],
track: ['track'],
input: ['input']
};
const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);
return extends_extends({}, classes, composedClasses);
};
const SwitchRoot = styles_styled('span', {
name: 'MuiSwitch',
slot: 'Root',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.root, ownerState.edge && styles[`edge${utils_capitalize(ownerState.edge)}`], styles[`size${utils_capitalize(ownerState.size)}`]];
}
})(({
ownerState
}) => extends_extends({
display: 'inline-flex',
width: 34 + 12 * 2,
height: 14 + 12 * 2,
overflow: 'hidden',
padding: 12,
boxSizing: 'border-box',
position: 'relative',
flexShrink: 0,
zIndex: 0,
// Reset the stacking context.
verticalAlign: 'middle',
// For correct alignment with the text.
'@media print': {
colorAdjust: 'exact'
}
}, ownerState.edge === 'start' && {
marginLeft: -8
}, ownerState.edge === 'end' && {
marginRight: -8
}, ownerState.size === 'small' && {
width: 40,
height: 24,
padding: 7,
[`& .${Switch_switchClasses.thumb}`]: {
width: 16,
height: 16
},
[`& .${Switch_switchClasses.switchBase}`]: {
padding: 4,
[`&.${Switch_switchClasses.checked}`]: {
transform: 'translateX(16px)'
}
}
}));
const SwitchSwitchBase = styles_styled(internal_SwitchBase, {
name: 'MuiSwitch',
slot: 'SwitchBase',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.switchBase, {
[`& .${Switch_switchClasses.input}`]: styles.input
}, ownerState.color !== 'default' && styles[`color${utils_capitalize(ownerState.color)}`]];
}
})(({
theme
}) => ({
position: 'absolute',
top: 0,
left: 0,
zIndex: 1,
// Render above the focus ripple.
color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,
transition: theme.transitions.create(['left', 'transform'], {
duration: theme.transitions.duration.shortest
}),
[`&.${Switch_switchClasses.checked}`]: {
transform: 'translateX(20px)'
},
[`&.${Switch_switchClasses.disabled}`]: {
color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`
},
[`&.${Switch_switchClasses.checked} + .${Switch_switchClasses.track}`]: {
opacity: 0.5
},
[`&.${Switch_switchClasses.disabled} + .${Switch_switchClasses.track}`]: {
opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`
},
[`& .${Switch_switchClasses.input}`]: {
left: '-100%',
width: '300%'
}
}), ({
theme,
ownerState
}) => extends_extends({
'&:hover': {
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: 'transparent'
}
}
}, ownerState.color !== 'default' && {
[`&.${Switch_switchClasses.checked}`]: {
color: (theme.vars || theme).palette[ownerState.color].main,
'&:hover': {
backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
'@media (hover: none)': {
backgroundColor: 'transparent'
}
},
[`&.${Switch_switchClasses.disabled}`]: {
color: theme.vars ? theme.vars.palette.Switch[`${ownerState.color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)}`
}
},
[`&.${Switch_switchClasses.checked} + .${Switch_switchClasses.track}`]: {
backgroundColor: (theme.vars || theme).palette[ownerState.color].main
}
}));
const SwitchTrack = styles_styled('span', {
name: 'MuiSwitch',
slot: 'Track',
overridesResolver: (props, styles) => styles.track
})(({
theme
}) => ({
height: '100%',
width: '100%',
borderRadius: 14 / 2,
zIndex: -1,
transition: theme.transitions.create(['opacity', 'background-color'], {
duration: theme.transitions.duration.shortest
}),
backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,
opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`
}));
const SwitchThumb = styles_styled('span', {
name: 'MuiSwitch',
slot: 'Thumb',
overridesResolver: (props, styles) => styles.thumb
})(({
theme
}) => ({
boxShadow: (theme.vars || theme).shadows[1],
backgroundColor: 'currentColor',
width: 20,
height: 20,
borderRadius: '50%'
}));
const Switch = /*#__PURE__*/external_React_.forwardRef(function Switch(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiSwitch'
});
const {
className,
color = 'primary',
edge = false,
size = 'medium',
sx
} = props,
other = _objectWithoutPropertiesLoose(props, Switch_excluded);
const ownerState = extends_extends({}, props, {
color,
edge,
size
});
const classes = Switch_useUtilityClasses(ownerState);
const icon = /*#__PURE__*/(0,jsx_runtime.jsx)(SwitchThumb, {
className: classes.thumb,
ownerState: ownerState
});
return /*#__PURE__*/(0,jsx_runtime.jsxs)(SwitchRoot, {
className: clsx_m(classes.root, className),
sx: sx,
ownerState: ownerState,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(SwitchSwitchBase, extends_extends({
type: "checkbox",
icon: icon,
checkedIcon: icon,
ref: ref,
ownerState: ownerState
}, other, {
classes: extends_extends({}, classes, {
root: classes.switchBase
})
})), /*#__PURE__*/(0,jsx_runtime.jsx)(SwitchTrack, {
className: classes.track,
ownerState: ownerState
})]
});
});
false ? 0 : void 0;
/* harmony default export */ var Switch_Switch = (Switch);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Switch/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/Tab/tabClasses.js
function getTabUtilityClass(slot) {
return generateUtilityClass('MuiTab', slot);
}
const tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);
/* harmony default export */ var Tab_tabClasses = (tabClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Tab/Tab.js
const Tab_excluded = ["className", "disabled", "disableFocusRipple", "fullWidth", "icon", "iconPosition", "indicator", "label", "onChange", "onClick", "onFocus", "selected", "selectionFollowsFocus", "textColor", "value", "wrapped"];
const Tab_useUtilityClasses = ownerState => {
const {
classes,
textColor,
fullWidth,
wrapped,
icon,
label,
selected,
disabled
} = ownerState;
const slots = {
root: ['root', icon && label && 'labelIcon', `textColor${utils_capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],
iconWrapper: ['iconWrapper']
};
return composeClasses(slots, getTabUtilityClass, classes);
};
const TabRoot = styles_styled(ButtonBase_ButtonBase, {
name: 'MuiTab',
slot: 'Root',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${utils_capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped];
}
})(({
theme,
ownerState
}) => extends_extends({}, theme.typography.button, {
maxWidth: 360,
minWidth: 90,
position: 'relative',
minHeight: 48,
flexShrink: 0,
padding: '12px 16px',
overflow: 'hidden',
whiteSpace: 'normal',
textAlign: 'center'
}, ownerState.label && {
flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'
}, {
lineHeight: 1.25
}, ownerState.icon && ownerState.label && {
minHeight: 72,
paddingTop: 9,
paddingBottom: 9,
[`& > .${Tab_tabClasses.iconWrapper}`]: extends_extends({}, ownerState.iconPosition === 'top' && {
marginBottom: 6
}, ownerState.iconPosition === 'bottom' && {
marginTop: 6
}, ownerState.iconPosition === 'start' && {
marginRight: theme.spacing(1)
}, ownerState.iconPosition === 'end' && {
marginLeft: theme.spacing(1)
})
}, ownerState.textColor === 'inherit' && {
color: 'inherit',
opacity: 0.6,
// same opacity as theme.palette.text.secondary
[`&.${Tab_tabClasses.selected}`]: {
opacity: 1
},
[`&.${Tab_tabClasses.disabled}`]: {
opacity: (theme.vars || theme).palette.action.disabledOpacity
}
}, ownerState.textColor === 'primary' && {
color: (theme.vars || theme).palette.text.secondary,
[`&.${Tab_tabClasses.selected}`]: {
color: (theme.vars || theme).palette.primary.main
},
[`&.${Tab_tabClasses.disabled}`]: {
color: (theme.vars || theme).palette.text.disabled
}
}, ownerState.textColor === 'secondary' && {
color: (theme.vars || theme).palette.text.secondary,
[`&.${Tab_tabClasses.selected}`]: {
color: (theme.vars || theme).palette.secondary.main
},
[`&.${Tab_tabClasses.disabled}`]: {
color: (theme.vars || theme).palette.text.disabled
}
}, ownerState.fullWidth && {
flexShrink: 1,
flexGrow: 1,
flexBasis: 0,
maxWidth: 'none'
}, ownerState.wrapped && {
fontSize: theme.typography.pxToRem(12)
}));
const Tab = /*#__PURE__*/external_React_.forwardRef(function Tab(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTab'
});
const {
className,
disabled = false,
disableFocusRipple = false,
// eslint-disable-next-line react/prop-types
fullWidth,
icon: iconProp,
iconPosition = 'top',
// eslint-disable-next-line react/prop-types
indicator,
label,
onChange,
onClick,
onFocus,
// eslint-disable-next-line react/prop-types
selected,
// eslint-disable-next-line react/prop-types
selectionFollowsFocus,
// eslint-disable-next-line react/prop-types
textColor = 'inherit',
value,
wrapped = false
} = props,
other = _objectWithoutPropertiesLoose(props, Tab_excluded);
const ownerState = extends_extends({}, props, {
disabled,
disableFocusRipple,
selected,
icon: !!iconProp,
iconPosition,
label: !!label,
fullWidth,
textColor,
wrapped
});
const classes = Tab_useUtilityClasses(ownerState);
const icon = iconProp && label && /*#__PURE__*/external_React_.isValidElement(iconProp) ? /*#__PURE__*/external_React_.cloneElement(iconProp, {
className: clsx_m(classes.iconWrapper, iconProp.props.className)
}) : iconProp;
const handleClick = event => {
if (!selected && onChange) {
onChange(event, value);
}
if (onClick) {
onClick(event);
}
};
const handleFocus = event => {
if (selectionFollowsFocus && !selected && onChange) {
onChange(event, value);
}
if (onFocus) {
onFocus(event);
}
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(TabRoot, extends_extends({
focusRipple: !disableFocusRipple,
className: clsx_m(classes.root, className),
ref: ref,
role: "tab",
"aria-selected": selected,
disabled: disabled,
onClick: handleClick,
onFocus: handleFocus,
ownerState: ownerState,
tabIndex: selected ? 0 : -1
}, other, {
children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/(0,jsx_runtime.jsxs)(external_React_.Fragment, {
children: [icon, label]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(external_React_.Fragment, {
children: [label, icon]
}), indicator]
}));
});
false ? 0 : void 0;
/* harmony default export */ var Tab_Tab = (Tab);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Tab/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js
/**
* @ignore - internal component.
*/
/* harmony default export */ var KeyboardArrowLeft = (createSvgIcon( /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
}), 'KeyboardArrowLeft'));
;// CONCATENATED MODULE: ./node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js
/**
* @ignore - internal component.
*/
/* harmony default export */ var KeyboardArrowRight = (createSvgIcon( /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
}), 'KeyboardArrowRight'));
;// CONCATENATED MODULE: ./node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js
function getTabScrollButtonUtilityClass(slot) {
return generateUtilityClass('MuiTabScrollButton', slot);
}
const tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);
/* harmony default export */ var TabScrollButton_tabScrollButtonClasses = (tabScrollButtonClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TabScrollButton/TabScrollButton.js
var _KeyboardArrowLeft, _KeyboardArrowRight;
const TabScrollButton_excluded = ["className", "direction", "orientation", "disabled"];
/* eslint-disable jsx-a11y/aria-role */
const TabScrollButton_useUtilityClasses = ownerState => {
const {
classes,
orientation,
disabled
} = ownerState;
const slots = {
root: ['root', orientation, disabled && 'disabled']
};
return composeClasses(slots, getTabScrollButtonUtilityClass, classes);
};
const TabScrollButtonRoot = styles_styled(ButtonBase_ButtonBase, {
name: 'MuiTabScrollButton',
slot: 'Root',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.root, ownerState.orientation && styles[ownerState.orientation]];
}
})(({
ownerState
}) => extends_extends({
width: 40,
flexShrink: 0,
opacity: 0.8,
[`&.${TabScrollButton_tabScrollButtonClasses.disabled}`]: {
opacity: 0
}
}, ownerState.orientation === 'vertical' && {
width: '100%',
height: 40,
'& svg': {
transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`
}
}));
const TabScrollButton = /*#__PURE__*/external_React_.forwardRef(function TabScrollButton(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTabScrollButton'
});
const {
className,
direction
} = props,
other = _objectWithoutPropertiesLoose(props, TabScrollButton_excluded);
const theme = styles_useTheme_useTheme();
const isRtl = theme.direction === 'rtl';
const ownerState = extends_extends({
isRtl
}, props);
const classes = TabScrollButton_useUtilityClasses(ownerState);
return /*#__PURE__*/(0,jsx_runtime.jsx)(TabScrollButtonRoot, extends_extends({
component: "div",
className: clsx_m(classes.root, className),
ref: ref,
role: null,
ownerState: ownerState,
tabIndex: null
}, other, {
children: direction === 'left' ? _KeyboardArrowLeft || (_KeyboardArrowLeft = /*#__PURE__*/(0,jsx_runtime.jsx)(KeyboardArrowLeft, {
fontSize: "small"
})) : _KeyboardArrowRight || (_KeyboardArrowRight = /*#__PURE__*/(0,jsx_runtime.jsx)(KeyboardArrowRight, {
fontSize: "small"
}))
}));
});
false ? 0 : void 0;
/* harmony default export */ var TabScrollButton_TabScrollButton = (TabScrollButton);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TabScrollButton/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/Table/TableContext.js
/**
* @ignore - internal component.
*/
const TableContext = /*#__PURE__*/external_React_.createContext();
if (false) {}
/* harmony default export */ var Table_TableContext = (TableContext);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Table/tableClasses.js
function getTableUtilityClass(slot) {
return generateUtilityClass('MuiTable', slot);
}
const tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);
/* harmony default export */ var Table_tableClasses = (tableClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Table/Table.js
const Table_excluded = ["className", "component", "padding", "size", "stickyHeader"];
const Table_useUtilityClasses = ownerState => {
const {
classes,
stickyHeader
} = ownerState;
const slots = {
root: ['root', stickyHeader && 'stickyHeader']
};
return composeClasses(slots, getTableUtilityClass, classes);
};
const TableRoot = styles_styled('table', {
name: 'MuiTable',
slot: 'Root',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.root, ownerState.stickyHeader && styles.stickyHeader];
}
})(({
theme,
ownerState
}) => extends_extends({
display: 'table',
width: '100%',
borderCollapse: 'collapse',
borderSpacing: 0,
'& caption': extends_extends({}, theme.typography.body2, {
padding: theme.spacing(2),
color: (theme.vars || theme).palette.text.secondary,
textAlign: 'left',
captionSide: 'bottom'
})
}, ownerState.stickyHeader && {
borderCollapse: 'separate'
}));
const defaultComponent = 'table';
const Table = /*#__PURE__*/external_React_.forwardRef(function Table(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTable'
});
const {
className,
component = defaultComponent,
padding = 'normal',
size = 'medium',
stickyHeader = false
} = props,
other = _objectWithoutPropertiesLoose(props, Table_excluded);
const ownerState = extends_extends({}, props, {
component,
padding,
size,
stickyHeader
});
const classes = Table_useUtilityClasses(ownerState);
const table = external_React_.useMemo(() => ({
padding,
size,
stickyHeader
}), [padding, size, stickyHeader]);
return /*#__PURE__*/(0,jsx_runtime.jsx)(Table_TableContext.Provider, {
value: table,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TableRoot, extends_extends({
as: component,
role: component === defaultComponent ? null : 'table',
ref: ref,
className: clsx_m(classes.root, className),
ownerState: ownerState
}, other))
});
});
false ? 0 : void 0;
/* harmony default export */ var Table_Table = (Table);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Table/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/Table/Tablelvl2Context.js
/**
* @ignore - internal component.
*/
const Tablelvl2Context = /*#__PURE__*/external_React_.createContext();
if (false) {}
/* harmony default export */ var Table_Tablelvl2Context = (Tablelvl2Context);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableBody/tableBodyClasses.js
function getTableBodyUtilityClass(slot) {
return generateUtilityClass('MuiTableBody', slot);
}
const tableBodyClasses = generateUtilityClasses('MuiTableBody', ['root']);
/* harmony default export */ var TableBody_tableBodyClasses = (tableBodyClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableBody/TableBody.js
const TableBody_excluded = ["className", "component"];
const TableBody_useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['root']
};
return composeClasses(slots, getTableBodyUtilityClass, classes);
};
const TableBodyRoot = styles_styled('tbody', {
name: 'MuiTableBody',
slot: 'Root',
overridesResolver: (props, styles) => styles.root
})({
display: 'table-row-group'
});
const tablelvl2 = {
variant: 'body'
};
const TableBody_defaultComponent = 'tbody';
const TableBody = /*#__PURE__*/external_React_.forwardRef(function TableBody(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTableBody'
});
const {
className,
component = TableBody_defaultComponent
} = props,
other = _objectWithoutPropertiesLoose(props, TableBody_excluded);
const ownerState = extends_extends({}, props, {
component
});
const classes = TableBody_useUtilityClasses(ownerState);
return /*#__PURE__*/(0,jsx_runtime.jsx)(Table_Tablelvl2Context.Provider, {
value: tablelvl2,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TableBodyRoot, extends_extends({
className: clsx_m(classes.root, className),
as: component,
ref: ref,
role: component === TableBody_defaultComponent ? null : 'rowgroup',
ownerState: ownerState
}, other))
});
});
false ? 0 : void 0;
/* harmony default export */ var TableBody_TableBody = (TableBody);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableBody/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableCell/tableCellClasses.js
function getTableCellUtilityClass(slot) {
return generateUtilityClass('MuiTableCell', slot);
}
const tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);
/* harmony default export */ var TableCell_tableCellClasses = (tableCellClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableCell/TableCell.js
const TableCell_excluded = ["align", "className", "component", "padding", "scope", "size", "sortDirection", "variant"];
const TableCell_useUtilityClasses = ownerState => {
const {
classes,
variant,
align,
padding,
size,
stickyHeader
} = ownerState;
const slots = {
root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${utils_capitalize(align)}`, padding !== 'normal' && `padding${utils_capitalize(padding)}`, `size${utils_capitalize(size)}`]
};
return composeClasses(slots, getTableCellUtilityClass, classes);
};
const TableCellRoot = styles_styled('td', {
name: 'MuiTableCell',
slot: 'Root',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.root, styles[ownerState.variant], styles[`size${utils_capitalize(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${utils_capitalize(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${utils_capitalize(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];
}
})(({
theme,
ownerState
}) => extends_extends({}, theme.typography.body2, {
display: 'table-cell',
verticalAlign: 'inherit',
// Workaround for a rendering bug with spanned columns in Chrome 62.0.
// Removes the alpha (sets it to 1), and lightens or darkens the theme color.
borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid
${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,
textAlign: 'left',
padding: 16
}, ownerState.variant === 'head' && {
color: (theme.vars || theme).palette.text.primary,
lineHeight: theme.typography.pxToRem(24),
fontWeight: theme.typography.fontWeightMedium
}, ownerState.variant === 'body' && {
color: (theme.vars || theme).palette.text.primary
}, ownerState.variant === 'footer' && {
color: (theme.vars || theme).palette.text.secondary,
lineHeight: theme.typography.pxToRem(21),
fontSize: theme.typography.pxToRem(12)
}, ownerState.size === 'small' && {
padding: '6px 16px',
[`&.${TableCell_tableCellClasses.paddingCheckbox}`]: {
width: 24,
// prevent the checkbox column from growing
padding: '0 12px 0 16px',
'& > *': {
padding: 0
}
}
}, ownerState.padding === 'checkbox' && {
width: 48,
// prevent the checkbox column from growing
padding: '0 0 0 4px'
}, ownerState.padding === 'none' && {
padding: 0
}, ownerState.align === 'left' && {
textAlign: 'left'
}, ownerState.align === 'center' && {
textAlign: 'center'
}, ownerState.align === 'right' && {
textAlign: 'right',
flexDirection: 'row-reverse'
}, ownerState.align === 'justify' && {
textAlign: 'justify'
}, ownerState.stickyHeader && {
position: 'sticky',
top: 0,
zIndex: 2,
backgroundColor: (theme.vars || theme).palette.background.default
}));
/**
* The component renders a `` element when the parent context is a header
* or otherwise a ` | ` element.
*/
const TableCell = /*#__PURE__*/external_React_.forwardRef(function TableCell(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTableCell'
});
const {
align = 'inherit',
className,
component: componentProp,
padding: paddingProp,
scope: scopeProp,
size: sizeProp,
sortDirection,
variant: variantProp
} = props,
other = _objectWithoutPropertiesLoose(props, TableCell_excluded);
const table = external_React_.useContext(Table_TableContext);
const tablelvl2 = external_React_.useContext(Table_Tablelvl2Context);
const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';
let component;
if (componentProp) {
component = componentProp;
} else {
component = isHeadCell ? 'th' : 'td';
}
let scope = scopeProp;
if (!scope && isHeadCell) {
scope = 'col';
}
const variant = variantProp || tablelvl2 && tablelvl2.variant;
const ownerState = extends_extends({}, props, {
align,
component,
padding: paddingProp || (table && table.padding ? table.padding : 'normal'),
size: sizeProp || (table && table.size ? table.size : 'medium'),
sortDirection,
stickyHeader: variant === 'head' && table && table.stickyHeader,
variant
});
const classes = TableCell_useUtilityClasses(ownerState);
let ariaSort = null;
if (sortDirection) {
ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';
}
return /*#__PURE__*/(0,jsx_runtime.jsx)(TableCellRoot, extends_extends({
as: component,
ref: ref,
className: clsx_m(classes.root, className),
"aria-sort": ariaSort,
scope: scope,
ownerState: ownerState
}, other));
});
false ? 0 : void 0;
/* harmony default export */ var TableCell_TableCell = (TableCell);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableCell/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableContainer/tableContainerClasses.js
function getTableContainerUtilityClass(slot) {
return generateUtilityClass('MuiTableContainer', slot);
}
const tableContainerClasses = generateUtilityClasses('MuiTableContainer', ['root']);
/* harmony default export */ var TableContainer_tableContainerClasses = (tableContainerClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableContainer/TableContainer.js
const TableContainer_excluded = ["className", "component"];
const TableContainer_useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['root']
};
return composeClasses(slots, getTableContainerUtilityClass, classes);
};
const TableContainerRoot = styles_styled('div', {
name: 'MuiTableContainer',
slot: 'Root',
overridesResolver: (props, styles) => styles.root
})({
width: '100%',
overflowX: 'auto'
});
const TableContainer = /*#__PURE__*/external_React_.forwardRef(function TableContainer(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTableContainer'
});
const {
className,
component = 'div'
} = props,
other = _objectWithoutPropertiesLoose(props, TableContainer_excluded);
const ownerState = extends_extends({}, props, {
component
});
const classes = TableContainer_useUtilityClasses(ownerState);
return /*#__PURE__*/(0,jsx_runtime.jsx)(TableContainerRoot, extends_extends({
ref: ref,
as: component,
className: clsx_m(classes.root, className),
ownerState: ownerState
}, other));
});
false ? 0 : void 0;
/* harmony default export */ var TableContainer_TableContainer = (TableContainer);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableContainer/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableFooter/tableFooterClasses.js
function getTableFooterUtilityClass(slot) {
return generateUtilityClass('MuiTableFooter', slot);
}
const tableFooterClasses = generateUtilityClasses('MuiTableFooter', ['root']);
/* harmony default export */ var TableFooter_tableFooterClasses = (tableFooterClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableFooter/TableFooter.js
const TableFooter_excluded = ["className", "component"];
const TableFooter_useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['root']
};
return composeClasses(slots, getTableFooterUtilityClass, classes);
};
const TableFooterRoot = styles_styled('tfoot', {
name: 'MuiTableFooter',
slot: 'Root',
overridesResolver: (props, styles) => styles.root
})({
display: 'table-footer-group'
});
const TableFooter_tablelvl2 = {
variant: 'footer'
};
const TableFooter_defaultComponent = 'tfoot';
const TableFooter = /*#__PURE__*/external_React_.forwardRef(function TableFooter(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTableFooter'
});
const {
className,
component = TableFooter_defaultComponent
} = props,
other = _objectWithoutPropertiesLoose(props, TableFooter_excluded);
const ownerState = extends_extends({}, props, {
component
});
const classes = TableFooter_useUtilityClasses(ownerState);
return /*#__PURE__*/(0,jsx_runtime.jsx)(Table_Tablelvl2Context.Provider, {
value: TableFooter_tablelvl2,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TableFooterRoot, extends_extends({
as: component,
className: clsx_m(classes.root, className),
ref: ref,
role: component === TableFooter_defaultComponent ? null : 'rowgroup',
ownerState: ownerState
}, other))
});
});
false ? 0 : void 0;
/* harmony default export */ var TableFooter_TableFooter = (TableFooter);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableFooter/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableHead/tableHeadClasses.js
function getTableHeadUtilityClass(slot) {
return generateUtilityClass('MuiTableHead', slot);
}
const tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);
/* harmony default export */ var TableHead_tableHeadClasses = (tableHeadClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableHead/TableHead.js
const TableHead_excluded = ["className", "component"];
const TableHead_useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['root']
};
return composeClasses(slots, getTableHeadUtilityClass, classes);
};
const TableHeadRoot = styles_styled('thead', {
name: 'MuiTableHead',
slot: 'Root',
overridesResolver: (props, styles) => styles.root
})({
display: 'table-header-group'
});
const TableHead_tablelvl2 = {
variant: 'head'
};
const TableHead_defaultComponent = 'thead';
const TableHead = /*#__PURE__*/external_React_.forwardRef(function TableHead(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiTableHead'
});
const {
className,
component = TableHead_defaultComponent
} = props,
other = _objectWithoutPropertiesLoose(props, TableHead_excluded);
const ownerState = extends_extends({}, props, {
component
});
const classes = TableHead_useUtilityClasses(ownerState);
return /*#__PURE__*/(0,jsx_runtime.jsx)(Table_Tablelvl2Context.Provider, {
value: TableHead_tablelvl2,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TableHeadRoot, extends_extends({
as: component,
className: clsx_m(classes.root, className),
ref: ref,
role: component === TableHead_defaultComponent ? null : 'rowgroup',
ownerState: ownerState
}, other))
});
});
false ? 0 : void 0;
/* harmony default export */ var TableHead_TableHead = (TableHead);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TableHead/index.js
;// CONCATENATED MODULE: ./node_modules/@mui/material/Toolbar/toolbarClasses.js
function getToolbarUtilityClass(slot) {
return generateUtilityClass('MuiToolbar', slot);
}
const toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);
/* harmony default export */ var Toolbar_toolbarClasses = (toolbarClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/Toolbar/Toolbar.js
const Toolbar_excluded = ["className", "component", "disableGutters", "variant"];
const Toolbar_useUtilityClasses = ownerState => {
const {
classes,
disableGutters,
variant
} = ownerState;
const slots = {
root: ['root', !disableGutters && 'gutters', variant]
};
return composeClasses(slots, getToolbarUtilityClass, classes);
};
const ToolbarRoot = styles_styled('div', {
name: 'MuiToolbar',
slot: 'Root',
overridesResolver: (props, styles) => {
const {
ownerState
} = props;
return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];
}
})(({
theme,
ownerState
}) => extends_extends({
position: 'relative',
display: 'flex',
alignItems: 'center'
}, !ownerState.disableGutters && {
paddingLeft: theme.spacing(2),
paddingRight: theme.spacing(2),
[theme.breakpoints.up('sm')]: {
paddingLeft: theme.spacing(3),
paddingRight: theme.spacing(3)
}
}, ownerState.variant === 'dense' && {
minHeight: 48
}), ({
theme,
ownerState
}) => ownerState.variant === 'regular' && theme.mixins.toolbar);
const Toolbar = /*#__PURE__*/external_React_.forwardRef(function Toolbar(inProps, ref) {
const props = useThemeProps_useThemeProps({
props: inProps,
name: 'MuiToolbar'
});
const {
className,
component = 'div',
disableGutters = false,
variant = 'regular'
} = props,
other = _objectWithoutPropertiesLoose(props, Toolbar_excluded);
const ownerState = extends_extends({}, props, {
component,
disableGutters,
variant
});
const classes = Toolbar_useUtilityClasses(ownerState);
return /*#__PURE__*/(0,jsx_runtime.jsx)(ToolbarRoot, extends_extends({
as: component,
className: clsx_m(classes.root, className),
ref: ref,
ownerState: ownerState
}, other));
});
false ? 0 : void 0;
/* harmony default export */ var Toolbar_Toolbar = (Toolbar);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TablePagination/TablePaginationActions.js
var _LastPageIcon, _FirstPageIcon, TablePaginationActions_KeyboardArrowRight, TablePaginationActions_KeyboardArrowLeft, _KeyboardArrowLeft2, _KeyboardArrowRight2, _FirstPageIcon2, _LastPageIcon2;
const TablePaginationActions_excluded = ["backIconButtonProps", "count", "getItemAriaLabel", "nextIconButtonProps", "onPageChange", "page", "rowsPerPage", "showFirstButton", "showLastButton"];
/**
* @ignore - internal component.
*/
const TablePaginationActions = /*#__PURE__*/external_React_.forwardRef(function TablePaginationActions(props, ref) {
const {
backIconButtonProps,
count,
getItemAriaLabel,
nextIconButtonProps,
onPageChange,
page,
rowsPerPage,
showFirstButton,
showLastButton
} = props,
other = _objectWithoutPropertiesLoose(props, TablePaginationActions_excluded);
const theme = styles_useTheme_useTheme();
const handleFirstPageButtonClick = event => {
onPageChange(event, 0);
};
const handleBackButtonClick = event => {
onPageChange(event, page - 1);
};
const handleNextButtonClick = event => {
onPageChange(event, page + 1);
};
const handleLastPageButtonClick = event => {
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", extends_extends({
ref: ref
}, other, {
children: [showFirstButton && /*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton, {
onClick: handleFirstPageButtonClick,
disabled: page === 0,
"aria-label": getItemAriaLabel('first', page),
title: getItemAriaLabel('first', page),
children: theme.direction === 'rtl' ? _LastPageIcon || (_LastPageIcon = /*#__PURE__*/(0,jsx_runtime.jsx)(LastPage, {})) : _FirstPageIcon || (_FirstPageIcon = /*#__PURE__*/(0,jsx_runtime.jsx)(FirstPage, {}))
}), /*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton, extends_extends({
onClick: handleBackButtonClick,
disabled: page === 0,
color: "inherit",
"aria-label": getItemAriaLabel('previous', page),
title: getItemAriaLabel('previous', page)
}, backIconButtonProps, {
children: theme.direction === 'rtl' ? TablePaginationActions_KeyboardArrowRight || (TablePaginationActions_KeyboardArrowRight = /*#__PURE__*/(0,jsx_runtime.jsx)(KeyboardArrowRight, {})) : TablePaginationActions_KeyboardArrowLeft || (TablePaginationActions_KeyboardArrowLeft = /*#__PURE__*/(0,jsx_runtime.jsx)(KeyboardArrowLeft, {}))
})), /*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton, extends_extends({
onClick: handleNextButtonClick,
disabled: count !== -1 ? page >= Math.ceil(count / rowsPerPage) - 1 : false,
color: "inherit",
"aria-label": getItemAriaLabel('next', page),
title: getItemAriaLabel('next', page)
}, nextIconButtonProps, {
children: theme.direction === 'rtl' ? _KeyboardArrowLeft2 || (_KeyboardArrowLeft2 = /*#__PURE__*/(0,jsx_runtime.jsx)(KeyboardArrowLeft, {})) : _KeyboardArrowRight2 || (_KeyboardArrowRight2 = /*#__PURE__*/(0,jsx_runtime.jsx)(KeyboardArrowRight, {}))
})), showLastButton && /*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton, {
onClick: handleLastPageButtonClick,
disabled: page >= Math.ceil(count / rowsPerPage) - 1,
"aria-label": getItemAriaLabel('last', page),
title: getItemAriaLabel('last', page),
children: theme.direction === 'rtl' ? _FirstPageIcon2 || (_FirstPageIcon2 = /*#__PURE__*/(0,jsx_runtime.jsx)(FirstPage, {})) : _LastPageIcon2 || (_LastPageIcon2 = /*#__PURE__*/(0,jsx_runtime.jsx)(LastPage, {}))
})]
}));
});
false ? 0 : void 0;
/* harmony default export */ var TablePagination_TablePaginationActions = (TablePaginationActions);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TablePagination/tablePaginationClasses.js
function getTablePaginationUtilityClass(slot) {
return generateUtilityClass('MuiTablePagination', slot);
}
const tablePaginationClasses = generateUtilityClasses('MuiTablePagination', ['root', 'toolbar', 'spacer', 'selectLabel', 'selectRoot', 'select', 'selectIcon', 'input', 'menuItem', 'displayedRows', 'actions']);
/* harmony default export */ var TablePagination_tablePaginationClasses = (tablePaginationClasses);
;// CONCATENATED MODULE: ./node_modules/@mui/material/TablePagination/TablePagination.js
var _InputBase;
const TablePagination_excluded = ["ActionsComponent", "backIconButtonProps", "className", "colSpan", "component", "count", "getItemAriaLabel", "labelDisplayedRows", "labelRowsPerPage", "nextIconButtonProps", "onPageChange", "onRowsPerPageChange", "page", "rowsPerPage", "rowsPerPageOptions", "SelectProps", "showFirstButton", "showLastButton"];
const TablePaginationRoot = styles_styled(TableCell_TableCell, {
name: 'MuiTablePagination',
slot: 'Root',
overridesResolver: (props, styles) => styles.root
})(({
theme
}) => ({
overflow: 'auto',
color: (theme.vars || theme).palette.text.primary,
fontSize: theme.typography.pxToRem(14),
// Increase the specificity to override TableCell.
'&:last-child': {
padding: 0
}
}));
const TablePaginationToolbar = styles_styled(Toolbar_Toolbar, {
name: 'MuiTablePagination',
slot: 'Toolbar',
overridesResolver: (props, styles) => extends_extends({
[`& .${TablePagination_tablePaginationClasses.actions}`]: styles.actions
}, styles.toolbar)
})(({
theme
}) => ({
minHeight: 52,
paddingRight: 2,
[`${theme.breakpoints.up('xs')} and (orientation: landscape)`]: {
minHeight: 52
},
[theme.breakpoints.up('sm')]: {
minHeight: 52,
paddingRight: 2
},
[`& .${TablePagination_tablePaginationClasses.actions}`]: {
flexShrink: 0,
marginLeft: 20
}
}));
const TablePaginationSpacer = styles_styled('div', {
name: 'MuiTablePagination',
slot: 'Spacer',
overridesResolver: (props, styles) => styles.spacer
})({
flex: '1 1 100%'
});
const TablePaginationSelectLabel = styles_styled('p', {
name: 'MuiTablePagination',
slot: 'SelectLabel',
overridesResolver: (props, styles) => styles.selectLabel
})(({
theme
}) => extends_extends({}, theme.typography.body2, {
flexShrink: 0
}));
const TablePaginationSelect = styles_styled(Select_Select, {
name: 'MuiTablePagination',
slot: 'Select',
overridesResolver: (props, styles) => extends_extends({
[`& .${TablePagination_tablePaginationClasses.selectIcon}`]: styles.selectIcon,
[`& .${TablePagination_tablePaginationClasses.select}`]: styles.select
}, styles.input, styles.selectRoot)
})({
color: 'inherit',
fontSize: 'inherit',
flexShrink: 0,
marginRight: 32,
marginLeft: 8,
[`& .${TablePagination_tablePaginationClasses.select}`]: {
paddingLeft: 8,
paddingRight: 24,
textAlign: 'right',
textAlignLast: 'right' // Align |