@erpsquad/common 1.8.200 → 1.8.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{article-cell-editor-JDI676YI-BcU3XJLW.esm.js → article-cell-editor-JDI676YI-DG9HKaGJ.esm.js} +2 -2
- package/dist/{article-cell-editor-JDI676YI-BcU3XJLW.esm.js.map → article-cell-editor-JDI676YI-DG9HKaGJ.esm.js.map} +1 -1
- package/dist/{article-cell-editor-JDI676YI-IC1VlXUo.js → article-cell-editor-JDI676YI-DvxQa_0-.js} +2 -2
- package/dist/{article-cell-editor-JDI676YI-IC1VlXUo.js.map → article-cell-editor-JDI676YI-DvxQa_0-.js.map} +1 -1
- package/dist/components/index.esm.js +2 -2
- package/dist/components/index.js +1 -1
- package/dist/index.esm.js +2 -2
- package/dist/index.js +1 -1
- package/dist/layout/index.esm.js +1 -1
- package/dist/layout/index.js +1 -1
- package/dist/{sidebar-Dy1q-MFJ.esm.js → sidebar-B2Nut4Gj.esm.js} +2 -2
- package/dist/{sidebar-Dy1q-MFJ.esm.js.map → sidebar-B2Nut4Gj.esm.js.map} +1 -1
- package/dist/{sidebar-1Mxz_Kzl.js → sidebar-bR1I3DVS.js} +2 -2
- package/dist/{sidebar-1Mxz_Kzl.js.map → sidebar-bR1I3DVS.js.map} +1 -1
- package/dist/{uom-field-wrapper-60CxVj57.esm.js → uom-field-wrapper-BHtObzM-.esm.js} +3 -3
- package/dist/{uom-field-wrapper-60CxVj57.esm.js.map → uom-field-wrapper-BHtObzM-.esm.js.map} +1 -1
- package/dist/{uom-field-wrapper-DZ_Odc9C.js → uom-field-wrapper-DQgBrGts.js} +3 -3
- package/dist/{uom-field-wrapper-DZ_Odc9C.js.map → uom-field-wrapper-DQgBrGts.js.map} +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-Dy1q-MFJ.esm.js","sources":["../node_modules/@mui/material/Slide/Slide.js","../node_modules/@mui/material/Drawer/drawerClasses.js","../node_modules/@mui/material/Drawer/Drawer.js","../node_modules/@mui/material/Icon/iconClasses.js","../node_modules/@mui/material/Icon/Icon.js","../node_modules/@mui/material/ListItemButton/ListItemButton.js","../node_modules/@mui/icons-material/ExpandLess.js","../src/assets/dynamic-svg-icon/dynamic-svg-icon.tsx","../src/components/sidebar/sidebar.tsx"],"sourcesContent":["'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"container\", \"direction\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport { ownerWindow } from '../utils';\n\n// Translate the node so it can't be seen on the screen.\n// Later, we're going to translate the node back to its original location with `none`.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getTranslateValue(direction, node, resolvedContainer) {\n const rect = node.getBoundingClientRect();\n const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();\n const containerWindow = ownerWindow(node);\n let transform;\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n const computedStyle = containerWindow.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n let offsetX = 0;\n let offsetY = 0;\n if (transform && transform !== 'none' && typeof transform === 'string') {\n const transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n if (direction === 'left') {\n if (containerRect) {\n return `translateX(${containerRect.right + offsetX - rect.left}px)`;\n }\n return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;\n }\n if (direction === 'right') {\n if (containerRect) {\n return `translateX(-${rect.right - containerRect.left - offsetX}px)`;\n }\n return `translateX(-${rect.left + rect.width - offsetX}px)`;\n }\n if (direction === 'up') {\n if (containerRect) {\n return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;\n }\n return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;\n }\n\n // direction === 'down'\n if (containerRect) {\n return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;\n }\n return `translateY(-${rect.top + rect.height - offsetY}px)`;\n}\nfunction resolveContainer(containerPropProp) {\n return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp;\n}\nexport function setTranslateValue(direction, node, containerProp) {\n const resolvedContainer = resolveContainer(containerProp);\n const transform = getTranslateValue(direction, node, resolvedContainer);\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\n\n/**\n * The Slide transition is used by the [Drawer](/material-ui/react-drawer/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n const theme = useTheme();\n const defaultEasing = {\n enter: theme.transitions.easing.easeOut,\n exit: theme.transitions.easing.sharp\n };\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n container: containerProp,\n direction = 'down',\n easing: easingProp = defaultEasing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const childrenRef = React.useRef(null);\n const handleRef = useForkRef(getReactElementRef(children), childrenRef, ref);\n const normalizedTransitionCallback = callback => isAppearing => {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n setTranslateValue(direction, node, containerProp);\n reflow(node);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n setTranslateValue(direction, node, containerProp);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(node => {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n if (onExited) {\n onExited(node);\n }\n });\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(childrenRef.current, next);\n }\n };\n const updatePosition = React.useCallback(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n }, [direction, containerProp]);\n React.useEffect(() => {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n const handleResize = debounce(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n });\n const containerWindow = ownerWindow(childrenRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp, containerProp]);\n React.useEffect(() => {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n appear: appear,\n in: inProp,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the container the Slide is transitioning from.\n */\n container: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open) {\n const resolvedContainer = resolveContainer(props.container);\n if (resolvedContainer && resolvedContainer.nodeType === 1) {\n const box = resolvedContainer.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n 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'));\n }\n } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Direction the child node will enter from.\n * @default 'down'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n * @default {\n * enter: theme.transitions.easing.easeOut,\n * exit: theme.transitions.easing.sharp,\n * }\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDrawerUtilityClass(slot) {\n return generateUtilityClass('MuiDrawer', slot);\n}\nconst drawerClasses = generateUtilityClasses('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']);\nexport default drawerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropProps\"],\n _excluded2 = [\"anchor\", \"BackdropProps\", \"children\", \"className\", \"elevation\", \"hideBackdrop\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport Modal from '../Modal';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getDrawerUtilityClass } from './drawerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchor,\n variant\n } = ownerState;\n const slots = {\n root: ['root'],\n docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'],\n modal: ['modal'],\n paper: ['paper', `paperAnchor${capitalize(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${capitalize(anchor)}`]\n };\n return composeClasses(slots, getDrawerUtilityClass, classes);\n};\nconst DrawerRoot = styled(Modal, {\n name: 'MuiDrawer',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.drawer\n}));\nconst DrawerDockedRoot = styled('div', {\n shouldForwardProp: rootShouldForwardProp,\n name: 'MuiDrawer',\n slot: 'Docked',\n skipVariantsResolver: false,\n overridesResolver\n})({\n flex: '0 0 auto'\n});\nconst DrawerPaper = styled(Paper, {\n name: 'MuiDrawer',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: (theme.vars || theme).zIndex.drawer,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n}, ownerState.anchor === 'left' && {\n left: 0\n}, ownerState.anchor === 'top' && {\n top: 0,\n left: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'right' && {\n right: 0\n}, ownerState.anchor === 'bottom' && {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {\n borderRight: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\nconst oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor({\n direction\n}, anchor) {\n return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\n\n/**\n * The props of the [Modal](/material-ui/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\nconst Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDrawer'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n anchor: anchorProp = 'left',\n BackdropProps,\n children,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps: {\n BackdropProps: BackdropPropsProp\n } = {},\n onClose,\n open = false,\n PaperProps = {},\n SlideProps,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Slide,\n transitionDuration = defaultTransitionDuration,\n variant = 'temporary'\n } = props,\n ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n const mounted = React.useRef(false);\n React.useEffect(() => {\n mounted.current = true;\n }, []);\n const anchorInvariant = getAnchor({\n direction: isRtl ? 'rtl' : 'ltr'\n }, anchorProp);\n const anchor = anchorProp;\n const ownerState = _extends({}, props, {\n anchor,\n elevation,\n open,\n variant\n }, other);\n const classes = useUtilityClasses(ownerState);\n const drawer = /*#__PURE__*/_jsx(DrawerPaper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: children\n }));\n if (variant === 'permanent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: drawer\n }));\n }\n const slidingDrawer = /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchorInvariant],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps, {\n children: drawer\n }));\n if (variant === 'persistent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: slidingDrawer\n }));\n }\n\n // variant === temporary\n return /*#__PURE__*/_jsx(DrawerRoot, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration\n }),\n className: clsx(classes.root, classes.modal, className),\n open: open,\n ownerState: ownerState,\n onClose: onClose,\n hideBackdrop: hideBackdrop,\n ref: ref\n }, other, ModalProps, {\n children: slidingDrawer\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Side from which the drawer will appear.\n * @default 'left'\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The elevation of the drawer.\n * @default 16\n */\n elevation: integerPropType,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Props applied to the [`Modal`](/material-ui/api/modal/) element.\n * @default {}\n */\n ModalProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Props applied to the [`Slide`](/material-ui/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * The variant to use.\n * @default 'temporary'\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default Drawer;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconUtilityClass(slot) {\n return generateUtilityClass('MuiIcon', slot);\n}\nconst iconClasses = generateUtilityClasses('MuiIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default iconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"baseClassName\", \"className\", \"color\", \"component\", \"fontSize\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport { getIconUtilityClass } from './iconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getIconUtilityClass, classes);\n};\nconst IconRoot = styled('span', {\n name: 'MuiIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n // Chrome fix for https://bugs.chromium.org/p/chromium/issues/detail?id=820541\n // To remove at some point.\n overflow: 'hidden',\n display: 'inline-block',\n // allow overflow hidden to take action\n textAlign: 'center',\n // support non-square icon\n flexShrink: 0,\n fontSize: {\n inherit: 'inherit',\n small: theme.typography.pxToRem(20),\n medium: theme.typography.pxToRem(24),\n large: theme.typography.pxToRem(36)\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: {\n primary: (theme.vars || theme).palette.primary.main,\n secondary: (theme.vars || theme).palette.secondary.main,\n info: (theme.vars || theme).palette.info.main,\n success: (theme.vars || theme).palette.success.main,\n warning: (theme.vars || theme).palette.warning.main,\n action: (theme.vars || theme).palette.action.active,\n error: (theme.vars || theme).palette.error.main,\n disabled: (theme.vars || theme).palette.action.disabled,\n inherit: undefined\n }[ownerState.color]\n}));\nconst Icon = /*#__PURE__*/React.forwardRef(function Icon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiIcon'\n });\n const {\n baseClassName = 'material-icons',\n className,\n color = 'inherit',\n component: Component = 'span',\n fontSize = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n baseClassName,\n color,\n component: Component,\n fontSize\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconRoot, _extends({\n as: Component,\n className: clsx(baseClassName,\n // Prevent the translation of the text content.\n // The font relies on the exact text content to render the icon.\n 'notranslate', classes.root, className),\n ownerState: ownerState,\n \"aria-hidden\": true,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Icon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The base class applied to the icon. Defaults to 'material-icons', but can be changed to any\n * other base class that suits the icon font you're using (for example material-icons-rounded, fas, etc).\n * @default 'material-icons'\n */\n baseClassName: PropTypes.string,\n /**\n * The name of the icon font ligature.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nIcon.muiName = 'Icon';\nexport default Icon;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\n}), 'ExpandLess');","import React, { useState, useEffect, useMemo } from 'react';\nimport { SvgIcon, useTheme } from '@mui/material';\n\n// Fixed DynamicSvgIcon without dangerouslySetInnerHTML conflict\nconst DynamicSvgIcon = ({ \n svgPath, \n sx = {}, \n color = 'inherit', \n fontSize = 'medium',\n ...props \n}) => {\n const [svgContent, setSvgContent] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const theme = useTheme();\n\n // Get the actual color value from theme\n const getColorValue = (colorProp) => {\n if (colorProp === 'inherit') return 'currentColor';\n if (colorProp === 'primary') return theme.palette.primary.main;\n if (colorProp === 'secondary') return theme.palette.secondary.main;\n if (colorProp === 'action') return theme.palette.action.active;\n if (colorProp === 'disabled') return theme.palette.action.disabled;\n if (colorProp === 'error') return theme.palette.error.main;\n if (colorProp === 'info') return theme.palette.info.main;\n if (colorProp === 'success') return theme.palette.success.main;\n if (colorProp === 'warning') return theme.palette.warning.main;\n if (colorProp === 'grey') return theme.palette.grey.main;\n return colorProp; // Assume it's a custom color value\n };\n\n const actualColor = getColorValue(color);\n\n useEffect(() => {\n if (!svgPath) return;\n\n const fetchSvg = async () => {\n try {\n setLoading(true);\n setError(false);\n \n const response = await fetch(svgPath);\n if (!response.ok) throw new Error('Failed to fetch SVG');\n \n const svgText = await response.text();\n setSvgContent(svgText);\n } catch (err) {\n console.error('Error loading SVG:', err);\n setError(true);\n } finally {\n setLoading(false);\n }\n };\n\n fetchSvg();\n }, [svgPath]);\n\n // Parse SVG content and create React elements\n const svgElements = useMemo(() => {\n if (!svgContent) return null;\n\n try {\n // Create a temporary DOM element to parse the SVG\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(svgContent, 'image/svg+xml');\n const svgElement = svgDoc.querySelector('svg');\n \n if (!svgElement) return null;\n\n // Convert SVG children to React elements\n const convertToReactElement = (element, index = 0) => {\n const tagName = element.tagName.toLowerCase();\n const props = {};\n \n // Copy attributes\n Array.from(element.attributes).forEach(attr => {\n let propName = attr.name;\n \n // Convert attribute names to React props\n if (propName === 'class') propName = 'className';\n if (propName.includes('-')) {\n propName = propName.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());\n }\n \n let propValue = attr.value;\n \n // Apply color overrides\n if (actualColor && actualColor !== 'currentColor') {\n if (propName === 'fill' && propValue !== 'none') {\n propValue = actualColor;\n }\n if (propName === 'stroke' && propValue !== 'none') {\n propValue = actualColor;\n }\n }\n \n props[propName] = propValue;\n });\n\n props.key = index;\n\n // Handle children\n const children = Array.from(element.children).map((child, childIndex) =>\n convertToReactElement(child, `${index}-${childIndex}`)\n );\n\n // Handle text content\n if (element.childNodes.length === 1 && element.childNodes[0].nodeType === 3) {\n children.push(element.textContent);\n }\n\n return React.createElement(tagName, props, children.length > 0 ? children : null);\n };\n\n // Convert all children of the SVG element\n return Array.from(svgElement.children).map((child, index) =>\n convertToReactElement(child, index)\n );\n } catch (err) {\n console.error('Error parsing SVG:', err);\n return null;\n }\n }, [svgContent, actualColor]);\n\n if (loading) {\n return (\n <SvgIcon \n sx={{ \n width: 24, \n height: 24,\n ...sx \n }}\n color={color}\n fontSize={fontSize}\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"currentColor\" opacity=\"0.3\" />\n </SvgIcon>\n );\n }\n\n if (error || !svgElements) {\n return (\n <SvgIcon \n sx={{ \n width: 24, \n height: 24,\n ...sx \n }}\n color={color}\n fontSize={fontSize}\n {...props}\n >\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\" />\n </SvgIcon>\n );\n }\n\n return (\n <SvgIcon \n sx={{ \n color: actualColor,\n fill:'none',\n ...sx \n }}\n fontSize={fontSize}\n fontWeight={500}\n viewBox='0 0 16 16'\n {...props}\n >\n {svgElements}\n </SvgIcon>\n );\n};\n\nexport { DynamicSvgIcon };\nexport default DynamicSvgIcon","/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { matchRoutes, useLocation, useNavigate } from 'react-router-dom'\n\nimport { styled, Theme, CSSObject } from '@mui/material/styles'\nimport MuiDrawer from '@mui/material/Drawer'\nimport List from '@mui/material/List'\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft'\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport IconExpandLess from '@mui/icons-material/ExpandLess'\nimport IconExpandMore from '@mui/icons-material/ExpandMore'\nimport Typography from '@mui/material/Typography'\nimport Box from '@mui/material/Box'\nimport { Icon, IconButton, Popover, Paper, ClickAwayListener } from '@mui/material'\nimport Collapse from '@mui/material/Collapse'\n\nimport Text from '../typography/typography'\nimport images from '../../assets/images'\n\nimport './sidebar.scss'\nimport SearchBar from '../search-bar/search-bar'\nimport Tooltip from '../tooltip/Tooltip'\nimport { useLanguage } from '../../hooks/useLangauge'\nimport DynamicSvgIcon from '../../assets/dynamic-svg-icon/dynamic-svg-icon'\nimport { Search, SearchStatus } from '../icons'\nimport { Pathname } from '../../constants/pathnames'\n\n// Types\ninterface MenuItem {\n\tlabel: string\n\tlink: string\n\ticon?: string\n\tsubmenu?: MenuItem[]\n\tconnectedRoutes?: string[]\n}\n\ninterface CollapsedSubmenuState {\n\topen: boolean\n\tanchorEl: HTMLElement | null\n\tmenu: MenuItem | null\n\tbreadcrumb: MenuItem[]\n}\n\nlet drawerWidth: any\n\nconst openedMixin = (theme: Theme): CSSObject => ({\n\twidth: drawerWidth,\n\ttransition: theme.transitions.create('width', {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.enteringScreen,\n\t}),\n\toverflowX: 'hidden',\n\tdisplay: 'flex',\n\tflexDirection: 'column',\n\tjustifyContent: 'space-between',\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\n\tbackgroundColor: theme.palette.theme?.secondary[100],\n})\n\nconst closedMixin = (theme: Theme): CSSObject => ({\n\ttransition: theme.transitions.create('width', {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.leavingScreen,\n\t}),\n\toverflowX: 'hidden',\n\twidth: `calc(${theme.spacing(7)} + 1px)`,\n\t[theme.breakpoints.up('sm')]: {\n\t\twidth: `calc(${theme.spacing(8)} + 1px)`,\n\t},\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\n\tbackgroundColor: theme.palette.theme?.secondary[100],\n})\n\nconst Drawer = styled(MuiDrawer, {\n\tshouldForwardProp: (prop) => prop !== 'open',\n})(({ theme, open }) => ({\n\twidth: drawerWidth,\n\tflexShrink: 0,\n\twhiteSpace: 'nowrap',\n\tboxSizing: 'border-box',\n\t'.MuiDrawer-paper': {\n\t\tbackgroundColor: theme?.palette?.theme?.secondary?.[100],\n\t\toverflow: 'visible !important',\n\t\tzIndex: 1201,\n\t},\n\t...(open && {\n\t\t...openedMixin(theme),\n\t\t'& .MuiDrawer-paper': openedMixin(theme),\n\t}),\n\t...(!open && {\n\t\t...closedMixin(theme),\n\t\t'& .MuiDrawer-paper': closedMixin(theme),\n\t}),\n}))\n\nconst DrawerHeader = styled('div')(({ theme }) => ({\n\tdisplay: 'flex',\n\talignItems: 'center',\n\tjustifyContent: 'center',\n\tpadding: theme.spacing(0, 2),\n\t...theme.mixins.toolbar,\n\tminHeight: 64,\n}))\n\nconst SubmenuPopover = styled(Paper)(({ theme }) => ({\n\tminWidth: 250,\n\tmaxWidth: 350,\n\tmaxHeight: '80vh',\n\toverflowY: 'auto',\n\tbackgroundColor: theme.palette.theme?.secondary?.[100] || theme.palette.background.paper,\n\tborderRadius: 12,\n\tboxShadow: '0 8px 32px rgba(0, 0, 0, 0.12)',\n\tborder: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\n\t'&.MuiPaper-root': {\n\t\ttransformOrigin: 'top left',\n\t},\n\t'&::-webkit-scrollbar': {\n\t\twidth: 6,\n\t},\n\t'&::-webkit-scrollbar-track': {\n\t\tbackgroundColor: 'transparent',\n\t},\n\t'&::-webkit-scrollbar-thumb': {\n\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\n\t\tborderRadius: 3,\n\t},\n}))\n\nconst BreadcrumbContainer = styled(Box)(({ theme }) => ({\n\tpadding: theme.spacing(1, 2),\n\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\n\tbackgroundColor: theme.palette.theme?.secondary?.[50] || theme.palette.grey[50],\n}))\n\n// Enhanced CollapsedSubmenu component with nested support\nconst CollapsedSubmenu: React.FC<{\n\tmenu: MenuItem\n\tanchorEl: HTMLElement | null\n\topen: boolean\n\tonClose: () => void\n\tonItemClick: (item: MenuItem) => void\n\tonSubmenuClick: (item: MenuItem, event: React.MouseEvent<HTMLElement>) => void\n\tgetActiveClassIf: (paths: string[] | string) => boolean\n\tbreadcrumb: MenuItem[]\n\tonBreadcrumbClick: (item: MenuItem, index: number) => void\n}> = ({\n\tmenu,\n\tanchorEl,\n\topen,\n\tonClose,\n\tonItemClick,\n\tonSubmenuClick,\n\tgetActiveClassIf,\n\tbreadcrumb,\n\tonBreadcrumbClick,\n}) => {\n\tconst renderBreadcrumb = () => {\n\t\tif (breadcrumb.length <= 1) return null\n\n\t\treturn (\n\t\t\t<BreadcrumbContainer>\n\t\t\t\t<Box sx={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: 0.5 }}>\n\t\t\t\t\t{breadcrumb.map((item, index) => (\n\t\t\t\t\t\t<React.Fragment key={index}>\n\t\t\t\t\t\t\t{index > 0 && <ChevronRightIcon sx={{ fontSize: 14, color: 'theme.secondary.400' }} />}\n\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\tvariant=\"caption\"\n\t\t\t\t\t\t\t\tonClick={() => onBreadcrumbClick(item, index)}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tcursor: index < breadcrumb.length - 1 ? 'pointer' : 'default',\n\t\t\t\t\t\t\t\t\tcolor: index < breadcrumb.length - 1 ? 'primary.main' : 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\tfontWeight: index === breadcrumb.length - 1 ? 600 : 400,\n\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\t\t'&:hover':\n\t\t\t\t\t\t\t\t\t\tindex < breadcrumb.length - 1\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t: {},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t))}\n\t\t\t\t</Box>\n\t\t\t</BreadcrumbContainer>\n\t\t)\n\t}\n\n\treturn (\n\t\t<ClickAwayListener onClickAway={onClose}>\n\t\t\t<Popover\n\t\t\t\topen={open}\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\tonClose={onClose}\n\t\t\t\tanchorOrigin={{\n\t\t\t\t\tvertical: 'center',\n\t\t\t\t\thorizontal: 'right',\n\t\t\t\t}}\n\t\t\t\ttransformOrigin={{\n\t\t\t\t\tvertical: 'center',\n\t\t\t\t\thorizontal: 'left',\n\t\t\t\t}}\n\t\t\t\tPaperComponent={SubmenuPopover}\n\t\t\t\televation={1}\n\t\t\t\tdisableRestoreFocus\n\t\t\t\tdisableAutoFocus\n\t\t\t\tdisableEnforceFocus\n\t\t\t\tsx={{\n\t\t\t\t\tml: 0.5,\n\t\t\t\t\t'& .MuiPopover-paper': {\n\t\t\t\t\t\t// overflow: 'visible',\n\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t\t\t// border: '1px solid',\n\t\t\t\t\t\t// borderColor: 'theme.secondary.200',\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ttransitionDuration={200}\n\t\t\t>\n\t\t\t\t<Box>\n\t\t\t\t\t{renderBreadcrumb()}\n\n\t\t\t\t\t<Box>\n\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\tvariant=\"subtitle2\"\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tpx: 2,\n\t\t\t\t\t\t\t\tpy: 1,\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: 'theme.secondary.1000',\n\t\t\t\t\t\t\t\tborderBottom: breadcrumb.length > 1 ? 'none' : '1px solid',\n\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\n\t\t\t\t\t\t\t\tmb: 0.5,\n\t\t\t\t\t\t\t\tfontSize: '0.875rem',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{menu.label}\n\t\t\t\t\t\t</Typography>\n\n\t\t\t\t\t\t<List component=\"div\" sx={{ py: 0 }}>\n\t\t\t\t\t\t\t{menu.submenu?.map((subItem: MenuItem, index: number) => {\n\t\t\t\t\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ListItem key={index} disablePadding>\n\t\t\t\t\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (subItem.submenu?.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSubmenuClick(subItem, e)\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonItemClick(subItem)\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose()\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tselected={isActive}\n\t\t\t\t\t\t\t\t\t\t\tsx={(theme) => ({\n\t\t\t\t\t\t\t\t\t\t\t\tminHeight: 40,\n\t\t\t\t\t\t\t\t\t\t\t\t// px: 2,\n\t\t\t\t\t\t\t\t\t\t\t\t// py: 0.75,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\t\t\t\t\t\t\t// mx: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tmb: 0.25,\n\t\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{subItem.icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t<ListItemIcon sx={{ minWidth: 32 }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={subItem.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talt={subItem.label + ' icon'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// width={20}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// height={20}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ opacity: 0.8 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\n\t\t\t\t\t\t\t\t\t\t\t\tweight=\"normal\"\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '0.875rem',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{subItem.label}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t\t\t\t{subItem.submenu?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 18,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.500',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</ListItemButton>\n\t\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</List>\n\t\t\t\t\t</Box>\n\t\t\t\t</Box>\n\t\t\t</Popover>\n\t\t</ClickAwayListener>\n\t)\n}\n\ninterface SidebarProps {\n\twidth: number\n\topen: boolean\n\tmenu: MenuItem[]\n\ttheme: any\n\tforcedOpen: boolean\n\thandleMouseEnter: () => void\n\thandleMouseLeave: () => void\n\thandleDrawerClose: () => void\n\thandleDrawerOpen: () => void\n\tdashboardPath?: string\n}\n\nexport const Sidebar: React.FC<SidebarProps> = (props) => {\n\tconst navigate = useNavigate()\n\tconst currentLocation = useLocation()\n\tconst { currentLanguage } = useLanguage()\n\tconst isRtl = useMemo(() => currentLanguage?.direction === 'rtl', [currentLanguage])\n\tconst [collapsedSubmenuState, setCollapsedSubmenuState] = useState<CollapsedSubmenuState>({\n\t\topen: false,\n\t\tanchorEl: null,\n\t\tmenu: null,\n\t\tbreadcrumb: [],\n\t})\n\n\tconst [menus, setMenus] = useState<MenuItem[]>([])\n\tconst [search, setSearch] = useState<string>('')\n\tconst [openSubmenuArray, setOpenSubmenuArray] = useState<string[]>([])\n\tconst [isOpenSearchTooltop, setIsOpenSearchTooltop] = useState<boolean>(false)\n\n\t// Enhanced active class checker\n\tconst getActiveClassIf = useCallback(\n\t\t(paths: string[] | string) => {\n\t\t\tconst shouldMatch: { path: string }[] = Array.isArray(paths)\n\t\t\t\t? paths.map((path: string) => ({ path }))\n\t\t\t\t: [{ path: paths }]\n\n\t\t\treturn Boolean(matchRoutes(shouldMatch, currentLocation))\n\t\t},\n\t\t[currentLocation]\n\t)\n\n\t// Find if any submenu item is active (for parent selection when collapsed)\n\tconst isSubmenuActive = useCallback(\n\t\t(menu: MenuItem): boolean => {\n\t\t\tif (!menu.submenu?.length) return false\n\n\t\t\tfor (const subItem of menu.submenu) {\n\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\n\n\t\t\t\tif (isActive || isSubmenuActive(subItem)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false\n\t\t},\n\t\t[getActiveClassIf]\n\t)\n\n\t// Get all menu paths for a menu item (including nested)\n\tconst getAllMenuPaths = useCallback((menu: MenuItem): string[] => {\n\t\tconst paths: string[] = []\n\n\t\tif (menu.link) {\n\t\t\tpaths.push(menu.link)\n\t\t}\n\n\t\tif (menu.connectedRoutes?.length) {\n\t\t\tpaths.push(...menu.connectedRoutes)\n\t\t}\n\n\t\tif (menu.submenu?.length) {\n\t\t\tmenu.submenu.forEach((subItem) => {\n\t\t\t\tpaths.push(...getAllMenuPaths(subItem))\n\t\t\t})\n\t\t}\n\n\t\treturn paths\n\t}, [])\n\n\t// Enhanced collapsed menu click handler\n\tconst handleCollapsedMenuClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLElement>, menu: MenuItem) => {\n\t\t\tevent.stopPropagation()\n\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\n\t\t\t\tif (collapsedSubmenuState.open && collapsedSubmenuState.menu?.label === menu.label) {\n\t\t\t\t\tsetCollapsedSubmenuState({\n\t\t\t\t\t\topen: false,\n\t\t\t\t\t\tanchorEl: null,\n\t\t\t\t\t\tmenu: null,\n\t\t\t\t\t\tbreadcrumb: [],\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tsetCollapsedSubmenuState({\n\t\t\t\t\t\topen: true,\n\t\t\t\t\t\tanchorEl: event.currentTarget,\n\t\t\t\t\t\tmenu: menu,\n\t\t\t\t\t\tbreadcrumb: [menu],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[props.open, collapsedSubmenuState]\n\t)\n\n\t// Handle submenu navigation in collapsed mode\n\tconst handleCollapsedSubmenuClick = useCallback((item: MenuItem, event: React.MouseEvent<HTMLElement>) => {\n\t\tif (item.submenu?.length) {\n\t\t\tsetCollapsedSubmenuState((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\tmenu: item,\n\t\t\t\tbreadcrumb: [...prev.breadcrumb, item],\n\t\t\t}))\n\t\t}\n\t}, [])\n\n\t// Handle breadcrumb navigation\n\tconst handleBreadcrumbClick = useCallback((item: MenuItem, index: number) => {\n\t\tsetCollapsedSubmenuState((prev) => ({\n\t\t\t...prev,\n\t\t\tmenu: item,\n\t\t\tbreadcrumb: prev.breadcrumb.slice(0, index + 1),\n\t\t}))\n\t}, [])\n\n\tconst handleCollapsedSubmenuClose = useCallback(() => {\n\t\tsetCollapsedSubmenuState({\n\t\t\topen: false,\n\t\t\tanchorEl: null,\n\t\t\tmenu: null,\n\t\t\tbreadcrumb: [],\n\t\t})\n\t}, [])\n\n\tconst handleSubmenuItemClick = useCallback(\n\t\t(item: MenuItem) => {\n\t\t\tnavigate(item.link)\n\t\t},\n\t\t[navigate]\n\t)\n\n\t// Enhanced menu click handler\n\tconst handleMenuClick = useCallback(\n\t\t(menu: MenuItem, parent: MenuItem | null, index: number) => {\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!menu.submenu?.length) {\n\t\t\t\tnavigate(menu.link)\n\t\t\t\tif (!parent) {\n\t\t\t\t\tsetOpenSubmenuArray([])\n\t\t\t\t}\n\t\t\t} else if (menu.submenu?.length && menu.submenu[index]?.link) {\n\t\t\t\tnavigate(`${menu.link}${menu.submenu[index].link}`)\n\t\t\t} else {\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\n\n\t\t\t\tif (openSubmenuArray.includes(menuKey)) {\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tconst newSubArray = openSubmenuArray.filter((f) => f !== menuKey)\n\t\t\t\t\t\tsetOpenSubmenuArray([...newSubArray])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetOpenSubmenuArray([])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tsetOpenSubmenuArray([...openSubmenuArray, menuKey])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetOpenSubmenuArray([menuKey])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[props.open, navigate, openSubmenuArray]\n\t)\n\n\t// Enhanced search functionality\n\tconst filterMenuOnSearch = useCallback((menu: MenuItem[], search: string): MenuItem[] => {\n\t\treturn menu\n\t\t\t.filter((m: MenuItem) => {\n\t\t\t\tif (m?.label?.toLowerCase()?.includes(search)) {\n\t\t\t\t\treturn m\n\t\t\t\t} else if (m?.submenu?.length) {\n\t\t\t\t\tm.submenu = filterMenuOnSearch(m?.submenu, search)\n\t\t\t\t\treturn m.submenu?.length > 0 ? m : null\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\t.filter(Boolean)\n\t}, [])\n\n\tconst handleSidebarSearch = useCallback(\n\t\t(search: string) => {\n\t\t\tif (!search) {\n\t\t\t\tsetMenus(props.menu || [])\n\t\t\t} else {\n\t\t\t\tconst searchTerm = search.toLowerCase()\n\t\t\t\tconst menuItems = props?.menu ? JSON.parse(JSON.stringify(props.menu)) : []\n\t\t\t\tconst filteredMenu = filterMenuOnSearch(menuItems, searchTerm)\n\t\t\t\tsetMenus(filteredMenu)\n\t\t\t}\n\t\t},\n\t\t[props.menu, filterMenuOnSearch]\n\t)\n\n const handleOpenSearchTooltip = useCallback(() => setIsOpenSearchTooltop(true), []);\n const handleCloseSearchTooltip = useCallback(() => setIsOpenSearchTooltop(false), []);\n\n\t// Enhanced menu renderer with better nested support\n\tconst renderMenu = useCallback(\n\t\t(menus: MenuItem[], parent: MenuItem | null, level: number) => {\n\t\t\treturn menus?.map((menu: MenuItem, index: number) => {\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\n\t\t\t\tconst isMenuActive = getActiveClassIf([...(menu?.connectedRoutes || []), ...[menu.link]])\n\n\t\t\t\t// Check if any nested submenu is active (for collapsed state parent selection)\n\t\t\t\tconst hasActiveSubmenu = !props.open && isSubmenuActive(menu)\n\t\t\t\tconst shouldHighlightParent = isMenuActive || hasActiveSubmenu\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttitle={menu.label}\n\t\t\t\t\t\tplacement=\"right\"\n\t\t\t\t\t\tarrow\n\t\t\t\t\t\tkey={`${menu.label}-${index}`}\n\t\t\t\t\t\tdisableHoverListener={props.open}\n\t\t\t\t\t\tdisableFocusListener={props.open}\n\t\t\t\t\t\tdisableTouchListener={props.open}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\tdisablePadding\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\t\t\t// mb: 0.5,\n\t\t\t\t\t\t\t\t...(isRtl && {\n\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\tif (!props.open && menu.submenu?.length > 0) {\n\t\t\t\t\t\t\t\t\t\thandleCollapsedMenuClick(e, menu)\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\thandleMenuClick(menu, parent, menu?.submenu ? -1 : index)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tselected={shouldHighlightParent}\n\t\t\t\t\t\t\t\tsx={(theme) => ({\n\t\t\t\t\t\t\t\t\tminHeight: props.open ? 40 : 44,\n\t\t\t\t\t\t\t\t\tjustifyContent: props.open ? 'initial' : 'center',\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tborderRadius: 2,\n gap: 1,\n\t\t\t\t\t\t\t\t\t// mx: props.open ? 1 : 0.5,\n\t\t\t\t\t\t\t\t\t// px: props.open ? 2 : 1,\n\t\t\t\t\t\t\t\t\t// py: 1,\n\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\n\n\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\n\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t'& .MuiTypography-root': {\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: props.open ? 'rgba(0, 0, 0, 0.04)' : 'rgba(0, 0, 0, 0.08)',\n\t\t\t\t\t\t\t\t\t\ttransform: props.open ? 'none' : 'scale(1.02)',\n\t\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t\t...(!props.open &&\n\t\t\t\t\t\t\t\t\t\tmenu.submenu?.length > 0 && {\n\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t'&::after': {\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: '\"\"',\n\t\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\t\t...(isRtl\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tleft: 8,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderRight: '5px solid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tright: 8,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderLeft: '5px solid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\ttop: '25%',\n\t\t\t\t\t\t\t\t\t\t\t\ttransform: 'translateY(-50%)',\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\t\t\t\tborderTop: '4px solid transparent',\n\t\t\t\t\t\t\t\t\t\t\t\tborderBottom: '4px solid transparent',\n\t\t\t\t\t\t\t\t\t\t\t\tborderColor: 'currentColor transparent transparent transparent',\n\t\t\t\t\t\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ListItemIcon\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tminWidth: props.open ? 'auto' : 0,\n\t\t\t\t\t\t\t\t\t\t// mr: props.open ? 1 : 'auto',\n\t\t\t\t\t\t\t\t\t\t...(isRtl ? { ml: 0 } : {}),\n\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{menu.icon ? (\n\t\t\t\t\t\t\t\t\t\t<DynamicSvgIcon svgPath={menu.icon} color={shouldHighlightParent ? 'primary' : 'grey'} fontSize={props.open ? 'small': 'medium'}/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: props.open ? 24 : 28,\n\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\n\t\t\t\t\t\t\t\t{props.open && (\n\t\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\n\t\t\t\t\t\t\t\t\t\t\tweight={level === 0 ? 'medium' : 'normal'}\n\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\n\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tpl: level * 1.5,\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: level === 0 ? '0.875rem' : '0.8125rem',\n\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{menu.label}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t\t\t{menu.submenu?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'transform 0.2s ease-in-out',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandLess\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandMore\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ListItemButton>\n\n\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) && menu.submenu?.length > 0 && props.open && (\n\t\t\t\t\t\t\t\t<Collapse in={openSubmenuArray.includes(menuKey)} timeout=\"auto\" unmountOnExit>\n\t\t\t\t\t\t\t\t\t<List component=\"div\" disablePadding sx={{ mt: 0.5 }}>\n\t\t\t\t\t\t\t\t\t\t{renderMenu(menu.submenu, menu, level + 1)}\n\t\t\t\t\t\t\t\t\t</List>\n\t\t\t\t\t\t\t\t</Collapse>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)\n\t\t\t})\n\t\t},\n\t\t[props.open, openSubmenuArray, getActiveClassIf, handleCollapsedMenuClick, handleMenuClick, isSubmenuActive, isRtl]\n\t)\n\n\t// Enhanced useEffect for auto-expanding active menus\n\tuseEffect(() => {\n\t\thandleSidebarSearch(search)\n\n\t\tif (props.menu?.length) {\n\t\t\tconst expandedMenus: string[] = []\n\n\t\t\tconst checkAndExpandMenu = (menuItems: MenuItem[], parentLabel = '') => {\n\t\t\t\tmenuItems.forEach((menu) => {\n\t\t\t\t\tif (menu?.submenu?.length) {\n\t\t\t\t\t\tconst menuKey = `${parentLabel}-${menu.label}`\n\t\t\t\t\t\tconst allPaths = getAllMenuPaths(menu)\n\n\t\t\t\t\t\tif (getActiveClassIf(allPaths)) {\n\t\t\t\t\t\t\texpandedMenus.push(menuKey)\n\t\t\t\t\t\t\tcheckAndExpandMenu(menu.submenu, menu.label)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tcheckAndExpandMenu(props.menu)\n\t\t\tsetOpenSubmenuArray(expandedMenus)\n\t\t}\n\t}, [getActiveClassIf, handleSidebarSearch, props.menu, search, getAllMenuPaths])\n\n\tuseEffect(() => {\n\t\tif (props.open) {\n\t\t\thandleCollapsedSubmenuClose()\n\t\t}\n\t}, [props.open, handleCollapsedSubmenuClose])\n\n\tdrawerWidth = props.width\n\n\treturn (\n\t\t<>\n\t\t\t<Drawer\n\t\t\t\tvariant=\"permanent\"\n\t\t\t\topen={props.open}\n\t\t\t\tanchor={document.body.dir === 'rtl' ? 'right' : 'left'}\n\t\t\t\tonMouseEnter={props.handleMouseEnter}\n\t\t\t\tonMouseLeave={props.handleMouseLeave}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={(theme) => ({\n\t\t\t\t\t\t\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DrawerHeader>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={props.open ? images.logo : images.favicon}\n\t\t\t\t\t\t\t\talt={props.open ? 'logo' : 'favicon'}\n\t\t\t\t\t\t\t\twidth={!props.open && 40}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\n\t\t\t\t\t\t\t\t\tfilter: 'brightness(1.1)',\n\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={() => navigate(props.dashboardPath || Pathname.DASHBOARD)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</DrawerHeader>\n\t\t\t\t\t</Box>\n\n\t\t\t\t\t{/* Search Bar */}\n\t\t\t\t\t{props.open ? (\n\t\t\t\t\t\t<Box sx={{ px: 1.5, py: 1.5, borderBottom: '1px solid', borderColor: 'theme.secondary.200' }}>\n\t\t\t\t\t\t\t<SearchBar className=\"sidebar-search\" handleSearch={setSearch} placeholder=\"Search menu...\" value={search} sx={{ '&.MuiTextField-root': { backgroundColor: 'grey.200', border:'1px solid', borderColor: 'grey.200', borderRadius: 1 }}}/>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t) : (\n <ClickAwayListener onClickAway={handleCloseSearchTooltip}>\n <Box sx={{ p:1, pb: 0, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <Tooltip\n title={\n <SearchBar\n className=\"sidebar-search\"\n handleSearch={setSearch}\n placeholder=\"Search menu...\"\n value={search}\n sx={{ '&.MuiTextField-root': { backgroundColor: 'transparent' } }}\n />\n }\n placement=\"right\"\n arrow\n sx={{\n p:0,\n backgroundColor: 'grey.200',\n border: '1px solid',\n borderColor: 'grey.300',\n '& .MuiTooltip-arrow': {\n color: 'grey.300',\n },\n ml: '8px !important'\n }}\n open={isOpenSearchTooltop}\n >\n <IconButton color='inherit' sx={{ borderRadius: 2, p: 1.5, backgroundColor: isOpenSearchTooltop ? 'grey.200' : 'inherit' }} onClick={handleOpenSearchTooltip}>\n {search.trim() ? <SearchStatus/> : <Search />}\n </IconButton>\n </Tooltip>\n </Box>\n </ClickAwayListener>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Menu List */}\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\toverflowY: 'auto',\n\t\t\t\t\t\t\tpy: 1,\n\t\t\t\t\t\t\t'&::-webkit-scrollbar': {\n\t\t\t\t\t\t\t\twidth: 6,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-track': {\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-thumb': {\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\n\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<List className=\"sidebar-list\" sx={{ p: 0 }}>\n\t\t\t\t\t\t\t{renderMenu(menus, null, 0)}\n\t\t\t\t\t\t</List>\n\t\t\t\t\t</Box>\n\n\t\t\t\t\t{/* Footer */}\n\t\t\t\t\t{props.open && (\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tborderTop: '1px solid',\n\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(255, 255, 255, 0.5)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tpadding: '.75rem 1.5rem',\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'self-start',\n\t\t\t\t\t\t\t\t\tgap: 0.5,\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\tfontSize: '.85rem',\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCrafted with\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.error.500',\n\t\t\t\t\t\t\t\t\t\twidth: '1rem',\n\t\t\t\t\t\t\t\t\t\theight: '1rem',\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t❤️\n\t\t\t\t\t\t\t\t</Icon>\n\t\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src={images.erp_logo} />\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t</Drawer>\n\t\t\t<IconButton\n\t\t\t\tsize=\"small\"\n\t\t\t\tonClick={() => (props.forcedOpen ? props.handleDrawerClose() : props.handleDrawerOpen())}\n\t\t\t\tclassName={isRtl ? 'drawer-expand-btn_rtl' : 'drawer-expand-btn'}\n\t\t\t\tsx={{\n\t\t\t\t\tml: 'auto',\n\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\n\t\t\t\t\t},\n\t\t\t\t\t// transition: 'all 0.2s ease-in-out',\n\t\t\t\t\twidth: '30px',\n\t\t\t\t\theight: '30px',\n\t\t\t\t\tborderRadius: `8px`,\n\t\t\t\t\tborderTopLeftRadius: 0,\n\t\t\t\t\tborderBottomLeftRadius: 0,\n\t\t\t\t\tborderColor: 'grey.500',\n\t\t\t\t\t...(isRtl\n\t\t\t\t\t\t? !props.forcedOpen\n\t\t\t\t\t\t\t? { right: '63px !important', left: 'auto' }\n\t\t\t\t\t\t\t: { right: '299px', left: 'auto' }\n\t\t\t\t\t\t: !props.forcedOpen\n\t\t\t\t\t\t\t? { left: '63px !important', right: 'auto' }\n\t\t\t\t\t\t\t: { left: '299px', right: 'auto' }),\n\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{props.theme.direction === 'rtl' ? (\n\t\t\t\t\tprops.forcedOpen ? (\n\t\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\n\t\t\t\t\t)\n\t\t\t\t) : props.forcedOpen ? (\n\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\n\t\t\t\t)}\n\t\t\t</IconButton>\n\t\t\t{/* Collapsed Submenu Popover */}\n\t\t\t{collapsedSubmenuState.menu && (\n\t\t\t\t<CollapsedSubmenu\n\t\t\t\t\tmenu={collapsedSubmenuState.menu}\n\t\t\t\t\tanchorEl={collapsedSubmenuState.anchorEl}\n\t\t\t\t\topen={collapsedSubmenuState.open}\n\t\t\t\t\tonClose={handleCollapsedSubmenuClose}\n\t\t\t\t\tonItemClick={handleSubmenuItemClick}\n\t\t\t\t\tonSubmenuClick={handleCollapsedSubmenuClick}\n\t\t\t\t\tgetActiveClassIf={getActiveClassIf}\n\t\t\t\t\tbreadcrumb={collapsedSubmenuState.breadcrumb}\n\t\t\t\t\tonBreadcrumbClick={handleBreadcrumbClick}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t)\n}\n\nexport default Sidebar\n"],"names":["_excluded","Slide","_jsx","overridesResolver","useUtilityClasses","Drawer","Icon","alpha","ListItemButton","require$$0","require$$1","props","React","MuiDrawer","ChevronRightIcon","Typography","_a","Text","search","menus","_b","IconExpandLess","IconExpandMore","ChevronLeftIcon"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
1
|
+
{"version":3,"file":"sidebar-B2Nut4Gj.esm.js","sources":["../node_modules/@mui/material/Slide/Slide.js","../node_modules/@mui/material/Drawer/drawerClasses.js","../node_modules/@mui/material/Drawer/Drawer.js","../node_modules/@mui/material/Icon/iconClasses.js","../node_modules/@mui/material/Icon/Icon.js","../node_modules/@mui/material/ListItemButton/ListItemButton.js","../node_modules/@mui/icons-material/ExpandLess.js","../src/assets/dynamic-svg-icon/dynamic-svg-icon.tsx","../src/components/sidebar/sidebar.tsx"],"sourcesContent":["'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"container\", \"direction\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport { ownerWindow } from '../utils';\n\n// Translate the node so it can't be seen on the screen.\n// Later, we're going to translate the node back to its original location with `none`.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getTranslateValue(direction, node, resolvedContainer) {\n const rect = node.getBoundingClientRect();\n const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();\n const containerWindow = ownerWindow(node);\n let transform;\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n const computedStyle = containerWindow.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n let offsetX = 0;\n let offsetY = 0;\n if (transform && transform !== 'none' && typeof transform === 'string') {\n const transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n if (direction === 'left') {\n if (containerRect) {\n return `translateX(${containerRect.right + offsetX - rect.left}px)`;\n }\n return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;\n }\n if (direction === 'right') {\n if (containerRect) {\n return `translateX(-${rect.right - containerRect.left - offsetX}px)`;\n }\n return `translateX(-${rect.left + rect.width - offsetX}px)`;\n }\n if (direction === 'up') {\n if (containerRect) {\n return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;\n }\n return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;\n }\n\n // direction === 'down'\n if (containerRect) {\n return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;\n }\n return `translateY(-${rect.top + rect.height - offsetY}px)`;\n}\nfunction resolveContainer(containerPropProp) {\n return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp;\n}\nexport function setTranslateValue(direction, node, containerProp) {\n const resolvedContainer = resolveContainer(containerProp);\n const transform = getTranslateValue(direction, node, resolvedContainer);\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\n\n/**\n * The Slide transition is used by the [Drawer](/material-ui/react-drawer/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n const theme = useTheme();\n const defaultEasing = {\n enter: theme.transitions.easing.easeOut,\n exit: theme.transitions.easing.sharp\n };\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n container: containerProp,\n direction = 'down',\n easing: easingProp = defaultEasing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const childrenRef = React.useRef(null);\n const handleRef = useForkRef(getReactElementRef(children), childrenRef, ref);\n const normalizedTransitionCallback = callback => isAppearing => {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n setTranslateValue(direction, node, containerProp);\n reflow(node);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n setTranslateValue(direction, node, containerProp);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(node => {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n if (onExited) {\n onExited(node);\n }\n });\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(childrenRef.current, next);\n }\n };\n const updatePosition = React.useCallback(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n }, [direction, containerProp]);\n React.useEffect(() => {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n const handleResize = debounce(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n });\n const containerWindow = ownerWindow(childrenRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp, containerProp]);\n React.useEffect(() => {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n appear: appear,\n in: inProp,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the container the Slide is transitioning from.\n */\n container: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open) {\n const resolvedContainer = resolveContainer(props.container);\n if (resolvedContainer && resolvedContainer.nodeType === 1) {\n const box = resolvedContainer.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n 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'));\n }\n } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Direction the child node will enter from.\n * @default 'down'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n * @default {\n * enter: theme.transitions.easing.easeOut,\n * exit: theme.transitions.easing.sharp,\n * }\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDrawerUtilityClass(slot) {\n return generateUtilityClass('MuiDrawer', slot);\n}\nconst drawerClasses = generateUtilityClasses('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']);\nexport default drawerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropProps\"],\n _excluded2 = [\"anchor\", \"BackdropProps\", \"children\", \"className\", \"elevation\", \"hideBackdrop\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport Modal from '../Modal';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getDrawerUtilityClass } from './drawerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchor,\n variant\n } = ownerState;\n const slots = {\n root: ['root'],\n docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'],\n modal: ['modal'],\n paper: ['paper', `paperAnchor${capitalize(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${capitalize(anchor)}`]\n };\n return composeClasses(slots, getDrawerUtilityClass, classes);\n};\nconst DrawerRoot = styled(Modal, {\n name: 'MuiDrawer',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.drawer\n}));\nconst DrawerDockedRoot = styled('div', {\n shouldForwardProp: rootShouldForwardProp,\n name: 'MuiDrawer',\n slot: 'Docked',\n skipVariantsResolver: false,\n overridesResolver\n})({\n flex: '0 0 auto'\n});\nconst DrawerPaper = styled(Paper, {\n name: 'MuiDrawer',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: (theme.vars || theme).zIndex.drawer,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n}, ownerState.anchor === 'left' && {\n left: 0\n}, ownerState.anchor === 'top' && {\n top: 0,\n left: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'right' && {\n right: 0\n}, ownerState.anchor === 'bottom' && {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {\n borderRight: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\nconst oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor({\n direction\n}, anchor) {\n return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\n\n/**\n * The props of the [Modal](/material-ui/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\nconst Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDrawer'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n anchor: anchorProp = 'left',\n BackdropProps,\n children,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps: {\n BackdropProps: BackdropPropsProp\n } = {},\n onClose,\n open = false,\n PaperProps = {},\n SlideProps,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Slide,\n transitionDuration = defaultTransitionDuration,\n variant = 'temporary'\n } = props,\n ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n const mounted = React.useRef(false);\n React.useEffect(() => {\n mounted.current = true;\n }, []);\n const anchorInvariant = getAnchor({\n direction: isRtl ? 'rtl' : 'ltr'\n }, anchorProp);\n const anchor = anchorProp;\n const ownerState = _extends({}, props, {\n anchor,\n elevation,\n open,\n variant\n }, other);\n const classes = useUtilityClasses(ownerState);\n const drawer = /*#__PURE__*/_jsx(DrawerPaper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: children\n }));\n if (variant === 'permanent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: drawer\n }));\n }\n const slidingDrawer = /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchorInvariant],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps, {\n children: drawer\n }));\n if (variant === 'persistent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: slidingDrawer\n }));\n }\n\n // variant === temporary\n return /*#__PURE__*/_jsx(DrawerRoot, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration\n }),\n className: clsx(classes.root, classes.modal, className),\n open: open,\n ownerState: ownerState,\n onClose: onClose,\n hideBackdrop: hideBackdrop,\n ref: ref\n }, other, ModalProps, {\n children: slidingDrawer\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Side from which the drawer will appear.\n * @default 'left'\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The elevation of the drawer.\n * @default 16\n */\n elevation: integerPropType,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Props applied to the [`Modal`](/material-ui/api/modal/) element.\n * @default {}\n */\n ModalProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Props applied to the [`Slide`](/material-ui/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * The variant to use.\n * @default 'temporary'\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default Drawer;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconUtilityClass(slot) {\n return generateUtilityClass('MuiIcon', slot);\n}\nconst iconClasses = generateUtilityClasses('MuiIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default iconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"baseClassName\", \"className\", \"color\", \"component\", \"fontSize\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport { getIconUtilityClass } from './iconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getIconUtilityClass, classes);\n};\nconst IconRoot = styled('span', {\n name: 'MuiIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n // Chrome fix for https://bugs.chromium.org/p/chromium/issues/detail?id=820541\n // To remove at some point.\n overflow: 'hidden',\n display: 'inline-block',\n // allow overflow hidden to take action\n textAlign: 'center',\n // support non-square icon\n flexShrink: 0,\n fontSize: {\n inherit: 'inherit',\n small: theme.typography.pxToRem(20),\n medium: theme.typography.pxToRem(24),\n large: theme.typography.pxToRem(36)\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: {\n primary: (theme.vars || theme).palette.primary.main,\n secondary: (theme.vars || theme).palette.secondary.main,\n info: (theme.vars || theme).palette.info.main,\n success: (theme.vars || theme).palette.success.main,\n warning: (theme.vars || theme).palette.warning.main,\n action: (theme.vars || theme).palette.action.active,\n error: (theme.vars || theme).palette.error.main,\n disabled: (theme.vars || theme).palette.action.disabled,\n inherit: undefined\n }[ownerState.color]\n}));\nconst Icon = /*#__PURE__*/React.forwardRef(function Icon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiIcon'\n });\n const {\n baseClassName = 'material-icons',\n className,\n color = 'inherit',\n component: Component = 'span',\n fontSize = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n baseClassName,\n color,\n component: Component,\n fontSize\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconRoot, _extends({\n as: Component,\n className: clsx(baseClassName,\n // Prevent the translation of the text content.\n // The font relies on the exact text content to render the icon.\n 'notranslate', classes.root, className),\n ownerState: ownerState,\n \"aria-hidden\": true,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Icon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The base class applied to the icon. Defaults to 'material-icons', but can be changed to any\n * other base class that suits the icon font you're using (for example material-icons-rounded, fas, etc).\n * @default 'material-icons'\n */\n baseClassName: PropTypes.string,\n /**\n * The name of the icon font ligature.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nIcon.muiName = 'Icon';\nexport default Icon;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\n}), 'ExpandLess');","import React, { useState, useEffect, useMemo } from 'react';\nimport { SvgIcon, useTheme } from '@mui/material';\n\n// Fixed DynamicSvgIcon without dangerouslySetInnerHTML conflict\nconst DynamicSvgIcon = ({ \n svgPath, \n sx = {}, \n color = 'inherit', \n fontSize = 'medium',\n ...props \n}) => {\n const [svgContent, setSvgContent] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const theme = useTheme();\n\n // Get the actual color value from theme\n const getColorValue = (colorProp) => {\n if (colorProp === 'inherit') return 'currentColor';\n if (colorProp === 'primary') return theme.palette.primary.main;\n if (colorProp === 'secondary') return theme.palette.secondary.main;\n if (colorProp === 'action') return theme.palette.action.active;\n if (colorProp === 'disabled') return theme.palette.action.disabled;\n if (colorProp === 'error') return theme.palette.error.main;\n if (colorProp === 'info') return theme.palette.info.main;\n if (colorProp === 'success') return theme.palette.success.main;\n if (colorProp === 'warning') return theme.palette.warning.main;\n if (colorProp === 'grey') return theme.palette.grey.main;\n return colorProp; // Assume it's a custom color value\n };\n\n const actualColor = getColorValue(color);\n\n useEffect(() => {\n if (!svgPath) return;\n\n const fetchSvg = async () => {\n try {\n setLoading(true);\n setError(false);\n \n const response = await fetch(svgPath);\n if (!response.ok) throw new Error('Failed to fetch SVG');\n \n const svgText = await response.text();\n setSvgContent(svgText);\n } catch (err) {\n console.error('Error loading SVG:', err);\n setError(true);\n } finally {\n setLoading(false);\n }\n };\n\n fetchSvg();\n }, [svgPath]);\n\n // Parse SVG content and create React elements\n const svgElements = useMemo(() => {\n if (!svgContent) return null;\n\n try {\n // Create a temporary DOM element to parse the SVG\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(svgContent, 'image/svg+xml');\n const svgElement = svgDoc.querySelector('svg');\n \n if (!svgElement) return null;\n\n // Convert SVG children to React elements\n const convertToReactElement = (element, index = 0) => {\n const tagName = element.tagName.toLowerCase();\n const props = {};\n \n // Copy attributes\n Array.from(element.attributes).forEach(attr => {\n let propName = attr.name;\n \n // Convert attribute names to React props\n if (propName === 'class') propName = 'className';\n if (propName.includes('-')) {\n propName = propName.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());\n }\n \n let propValue = attr.value;\n \n // Apply color overrides\n if (actualColor && actualColor !== 'currentColor') {\n if (propName === 'fill' && propValue !== 'none') {\n propValue = actualColor;\n }\n if (propName === 'stroke' && propValue !== 'none') {\n propValue = actualColor;\n }\n }\n \n props[propName] = propValue;\n });\n\n props.key = index;\n\n // Handle children\n const children = Array.from(element.children).map((child, childIndex) =>\n convertToReactElement(child, `${index}-${childIndex}`)\n );\n\n // Handle text content\n if (element.childNodes.length === 1 && element.childNodes[0].nodeType === 3) {\n children.push(element.textContent);\n }\n\n return React.createElement(tagName, props, children.length > 0 ? children : null);\n };\n\n // Convert all children of the SVG element\n return Array.from(svgElement.children).map((child, index) =>\n convertToReactElement(child, index)\n );\n } catch (err) {\n console.error('Error parsing SVG:', err);\n return null;\n }\n }, [svgContent, actualColor]);\n\n if (loading) {\n return (\n <SvgIcon \n sx={{ \n width: 24, \n height: 24,\n ...sx \n }}\n color={color}\n fontSize={fontSize}\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"currentColor\" opacity=\"0.3\" />\n </SvgIcon>\n );\n }\n\n if (error || !svgElements) {\n return (\n <SvgIcon \n sx={{ \n width: 24, \n height: 24,\n ...sx \n }}\n color={color}\n fontSize={fontSize}\n {...props}\n >\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\" />\n </SvgIcon>\n );\n }\n\n return (\n <SvgIcon \n sx={{ \n color: actualColor,\n fill:'none',\n ...sx \n }}\n fontSize={fontSize}\n fontWeight={500}\n viewBox='0 0 16 16'\n {...props}\n >\n {svgElements}\n </SvgIcon>\n );\n};\n\nexport { DynamicSvgIcon };\nexport default DynamicSvgIcon","/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { matchRoutes, useLocation, useNavigate } from 'react-router-dom'\n\nimport { styled, Theme, CSSObject } from '@mui/material/styles'\nimport MuiDrawer from '@mui/material/Drawer'\nimport List from '@mui/material/List'\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft'\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport IconExpandLess from '@mui/icons-material/ExpandLess'\nimport IconExpandMore from '@mui/icons-material/ExpandMore'\nimport Typography from '@mui/material/Typography'\nimport Box from '@mui/material/Box'\nimport { Icon, IconButton, Popover, Paper, ClickAwayListener } from '@mui/material'\nimport Collapse from '@mui/material/Collapse'\n\nimport Text from '../typography/typography'\nimport images from '../../assets/images'\n\nimport './sidebar.scss'\nimport SearchBar from '../search-bar/search-bar'\nimport Tooltip from '../tooltip/Tooltip'\nimport { useLanguage } from '../../hooks/useLangauge'\nimport DynamicSvgIcon from '../../assets/dynamic-svg-icon/dynamic-svg-icon'\nimport { Search, SearchStatus } from '../icons'\nimport { Pathname } from '../../constants/pathnames'\n\n// Types\ninterface MenuItem {\n\tlabel: string\n\tlink: string\n\ticon?: string\n\tsubmenu?: MenuItem[]\n\tconnectedRoutes?: string[]\n}\n\ninterface CollapsedSubmenuState {\n\topen: boolean\n\tanchorEl: HTMLElement | null\n\tmenu: MenuItem | null\n\tbreadcrumb: MenuItem[]\n}\n\nlet drawerWidth: any\n\nconst openedMixin = (theme: Theme): CSSObject => ({\n\twidth: drawerWidth,\n\ttransition: theme.transitions.create('width', {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.enteringScreen,\n\t}),\n\toverflowX: 'hidden',\n\tdisplay: 'flex',\n\tflexDirection: 'column',\n\tjustifyContent: 'space-between',\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\n\tbackgroundColor: theme.palette.theme?.secondary[100],\n})\n\nconst closedMixin = (theme: Theme): CSSObject => ({\n\ttransition: theme.transitions.create('width', {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.leavingScreen,\n\t}),\n\toverflowX: 'hidden',\n\twidth: `calc(${theme.spacing(7)} + 1px)`,\n\t[theme.breakpoints.up('sm')]: {\n\t\twidth: `calc(${theme.spacing(8)} + 1px)`,\n\t},\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\n\tbackgroundColor: theme.palette.theme?.secondary[100],\n})\n\nconst Drawer = styled(MuiDrawer, {\n\tshouldForwardProp: (prop) => prop !== 'open',\n})(({ theme, open }) => ({\n\twidth: drawerWidth,\n\tflexShrink: 0,\n\twhiteSpace: 'nowrap',\n\tboxSizing: 'border-box',\n\t'.MuiDrawer-paper': {\n\t\tbackgroundColor: theme?.palette?.theme?.secondary?.[100],\n\t\toverflow: 'visible !important',\n\t\tzIndex: 1201,\n\t},\n\t...(open && {\n\t\t...openedMixin(theme),\n\t\t'& .MuiDrawer-paper': openedMixin(theme),\n\t}),\n\t...(!open && {\n\t\t...closedMixin(theme),\n\t\t'& .MuiDrawer-paper': closedMixin(theme),\n\t}),\n}))\n\nconst DrawerHeader = styled('div')(({ theme }) => ({\n\tdisplay: 'flex',\n\talignItems: 'center',\n\tjustifyContent: 'center',\n\tpadding: theme.spacing(0, 2),\n\t...theme.mixins.toolbar,\n\tminHeight: 64,\n}))\n\nconst SubmenuPopover = styled(Paper)(({ theme }) => ({\n\tminWidth: 250,\n\tmaxWidth: 350,\n\tmaxHeight: '80vh',\n\toverflowY: 'auto',\n\tbackgroundColor: theme.palette.theme?.secondary?.[100] || theme.palette.background.paper,\n\tborderRadius: 12,\n\tboxShadow: '0 8px 32px rgba(0, 0, 0, 0.12)',\n\tborder: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\n\t'&.MuiPaper-root': {\n\t\ttransformOrigin: 'top left',\n\t},\n\t'&::-webkit-scrollbar': {\n\t\twidth: 6,\n\t},\n\t'&::-webkit-scrollbar-track': {\n\t\tbackgroundColor: 'transparent',\n\t},\n\t'&::-webkit-scrollbar-thumb': {\n\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\n\t\tborderRadius: 3,\n\t},\n}))\n\nconst BreadcrumbContainer = styled(Box)(({ theme }) => ({\n\tpadding: theme.spacing(1, 2),\n\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\n\tbackgroundColor: theme.palette.theme?.secondary?.[50] || theme.palette.grey[50],\n}))\n\n// Enhanced CollapsedSubmenu component with nested support\nconst CollapsedSubmenu: React.FC<{\n\tmenu: MenuItem\n\tanchorEl: HTMLElement | null\n\topen: boolean\n\tonClose: () => void\n\tonItemClick: (item: MenuItem) => void\n\tonSubmenuClick: (item: MenuItem, event: React.MouseEvent<HTMLElement>) => void\n\tgetActiveClassIf: (paths: string[] | string) => boolean\n\tbreadcrumb: MenuItem[]\n\tonBreadcrumbClick: (item: MenuItem, index: number) => void\n}> = ({\n\tmenu,\n\tanchorEl,\n\topen,\n\tonClose,\n\tonItemClick,\n\tonSubmenuClick,\n\tgetActiveClassIf,\n\tbreadcrumb,\n\tonBreadcrumbClick,\n}) => {\n\tconst renderBreadcrumb = () => {\n\t\tif (breadcrumb.length <= 1) return null\n\n\t\treturn (\n\t\t\t<BreadcrumbContainer>\n\t\t\t\t<Box sx={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: 0.5 }}>\n\t\t\t\t\t{breadcrumb.map((item, index) => (\n\t\t\t\t\t\t<React.Fragment key={index}>\n\t\t\t\t\t\t\t{index > 0 && <ChevronRightIcon sx={{ fontSize: 14, color: 'theme.secondary.400' }} />}\n\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\tvariant=\"caption\"\n\t\t\t\t\t\t\t\tonClick={() => onBreadcrumbClick(item, index)}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tcursor: index < breadcrumb.length - 1 ? 'pointer' : 'default',\n\t\t\t\t\t\t\t\t\tcolor: index < breadcrumb.length - 1 ? 'primary.main' : 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\tfontWeight: index === breadcrumb.length - 1 ? 600 : 400,\n\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\t\t'&:hover':\n\t\t\t\t\t\t\t\t\t\tindex < breadcrumb.length - 1\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t: {},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t))}\n\t\t\t\t</Box>\n\t\t\t</BreadcrumbContainer>\n\t\t)\n\t}\n\n\treturn (\n\t\t<ClickAwayListener onClickAway={onClose}>\n\t\t\t<Popover\n\t\t\t\topen={open}\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\tonClose={onClose}\n\t\t\t\tanchorOrigin={{\n\t\t\t\t\tvertical: 'center',\n\t\t\t\t\thorizontal: 'right',\n\t\t\t\t}}\n\t\t\t\ttransformOrigin={{\n\t\t\t\t\tvertical: 'center',\n\t\t\t\t\thorizontal: 'left',\n\t\t\t\t}}\n\t\t\t\tPaperComponent={SubmenuPopover}\n\t\t\t\televation={1}\n\t\t\t\tdisableRestoreFocus\n\t\t\t\tdisableAutoFocus\n\t\t\t\tdisableEnforceFocus\n\t\t\t\tsx={{\n\t\t\t\t\tml: 0.5,\n\t\t\t\t\t'& .MuiPopover-paper': {\n\t\t\t\t\t\t// overflow: 'visible',\n\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t\t\t// border: '1px solid',\n\t\t\t\t\t\t// borderColor: 'theme.secondary.200',\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ttransitionDuration={200}\n\t\t\t>\n\t\t\t\t<Box>\n\t\t\t\t\t{renderBreadcrumb()}\n\n\t\t\t\t\t<Box>\n\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\tvariant=\"subtitle2\"\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tpx: 2,\n\t\t\t\t\t\t\t\tpy: 1,\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: 'theme.secondary.1000',\n\t\t\t\t\t\t\t\tborderBottom: breadcrumb.length > 1 ? 'none' : '1px solid',\n\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\n\t\t\t\t\t\t\t\tmb: 0.5,\n\t\t\t\t\t\t\t\tfontSize: '0.875rem',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{menu.label}\n\t\t\t\t\t\t</Typography>\n\n\t\t\t\t\t\t<List component=\"div\" sx={{ py: 0 }}>\n\t\t\t\t\t\t\t{menu.submenu?.map((subItem: MenuItem, index: number) => {\n\t\t\t\t\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ListItem key={index} disablePadding>\n\t\t\t\t\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (subItem.submenu?.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSubmenuClick(subItem, e)\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonItemClick(subItem)\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose()\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tselected={isActive}\n\t\t\t\t\t\t\t\t\t\t\tsx={(theme) => ({\n\t\t\t\t\t\t\t\t\t\t\t\tminHeight: 32,\n\t\t\t\t\t\t\t\t\t\t\t\t// px: 2,\n\t\t\t\t\t\t\t\t\t\t\t\t// py: 0.75,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 1.5,\n\t\t\t\t\t\t\t\t\t\t\t\t// mx: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tmb: 0.25,\n\t\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{subItem.icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t<ListItemIcon sx={{ minWidth: 32 }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={subItem.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talt={subItem.label + ' icon'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// width={20}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// height={20}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ opacity: 0.8 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\n\t\t\t\t\t\t\t\t\t\t\t\tweight=\"normal\"\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '0.875rem',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{subItem.label}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t\t\t\t{subItem.submenu?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 18,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.500',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</ListItemButton>\n\t\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</List>\n\t\t\t\t\t</Box>\n\t\t\t\t</Box>\n\t\t\t</Popover>\n\t\t</ClickAwayListener>\n\t)\n}\n\ninterface SidebarProps {\n\twidth: number\n\topen: boolean\n\tmenu: MenuItem[]\n\ttheme: any\n\tforcedOpen: boolean\n\thandleMouseEnter: () => void\n\thandleMouseLeave: () => void\n\thandleDrawerClose: () => void\n\thandleDrawerOpen: () => void\n\tdashboardPath?: string\n}\n\nexport const Sidebar: React.FC<SidebarProps> = (props) => {\n\tconst navigate = useNavigate()\n\tconst currentLocation = useLocation()\n\tconst { currentLanguage } = useLanguage()\n\tconst isRtl = useMemo(() => currentLanguage?.direction === 'rtl', [currentLanguage])\n\tconst [collapsedSubmenuState, setCollapsedSubmenuState] = useState<CollapsedSubmenuState>({\n\t\topen: false,\n\t\tanchorEl: null,\n\t\tmenu: null,\n\t\tbreadcrumb: [],\n\t})\n\n\tconst [menus, setMenus] = useState<MenuItem[]>([])\n\tconst [search, setSearch] = useState<string>('')\n\tconst [openSubmenuArray, setOpenSubmenuArray] = useState<string[]>([])\n\tconst [isOpenSearchTooltop, setIsOpenSearchTooltop] = useState<boolean>(false)\n\n\t// Enhanced active class checker\n\tconst getActiveClassIf = useCallback(\n\t\t(paths: string[] | string) => {\n\t\t\tconst shouldMatch: { path: string }[] = Array.isArray(paths)\n\t\t\t\t? paths.map((path: string) => ({ path }))\n\t\t\t\t: [{ path: paths }]\n\n\t\t\treturn Boolean(matchRoutes(shouldMatch, currentLocation))\n\t\t},\n\t\t[currentLocation]\n\t)\n\n\t// Find if any submenu item is active (for parent selection when collapsed)\n\tconst isSubmenuActive = useCallback(\n\t\t(menu: MenuItem): boolean => {\n\t\t\tif (!menu.submenu?.length) return false\n\n\t\t\tfor (const subItem of menu.submenu) {\n\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\n\n\t\t\t\tif (isActive || isSubmenuActive(subItem)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false\n\t\t},\n\t\t[getActiveClassIf]\n\t)\n\n\t// Get all menu paths for a menu item (including nested)\n\tconst getAllMenuPaths = useCallback((menu: MenuItem): string[] => {\n\t\tconst paths: string[] = []\n\n\t\tif (menu.link) {\n\t\t\tpaths.push(menu.link)\n\t\t}\n\n\t\tif (menu.connectedRoutes?.length) {\n\t\t\tpaths.push(...menu.connectedRoutes)\n\t\t}\n\n\t\tif (menu.submenu?.length) {\n\t\t\tmenu.submenu.forEach((subItem) => {\n\t\t\t\tpaths.push(...getAllMenuPaths(subItem))\n\t\t\t})\n\t\t}\n\n\t\treturn paths\n\t}, [])\n\n\t// Enhanced collapsed menu click handler\n\tconst handleCollapsedMenuClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLElement>, menu: MenuItem) => {\n\t\t\tevent.stopPropagation()\n\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\n\t\t\t\tif (collapsedSubmenuState.open && collapsedSubmenuState.menu?.label === menu.label) {\n\t\t\t\t\tsetCollapsedSubmenuState({\n\t\t\t\t\t\topen: false,\n\t\t\t\t\t\tanchorEl: null,\n\t\t\t\t\t\tmenu: null,\n\t\t\t\t\t\tbreadcrumb: [],\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tsetCollapsedSubmenuState({\n\t\t\t\t\t\topen: true,\n\t\t\t\t\t\tanchorEl: event.currentTarget,\n\t\t\t\t\t\tmenu: menu,\n\t\t\t\t\t\tbreadcrumb: [menu],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[props.open, collapsedSubmenuState]\n\t)\n\n\t// Handle submenu navigation in collapsed mode\n\tconst handleCollapsedSubmenuClick = useCallback((item: MenuItem, event: React.MouseEvent<HTMLElement>) => {\n\t\tif (item.submenu?.length) {\n\t\t\tsetCollapsedSubmenuState((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\tmenu: item,\n\t\t\t\tbreadcrumb: [...prev.breadcrumb, item],\n\t\t\t}))\n\t\t}\n\t}, [])\n\n\t// Handle breadcrumb navigation\n\tconst handleBreadcrumbClick = useCallback((item: MenuItem, index: number) => {\n\t\tsetCollapsedSubmenuState((prev) => ({\n\t\t\t...prev,\n\t\t\tmenu: item,\n\t\t\tbreadcrumb: prev.breadcrumb.slice(0, index + 1),\n\t\t}))\n\t}, [])\n\n\tconst handleCollapsedSubmenuClose = useCallback(() => {\n\t\tsetCollapsedSubmenuState({\n\t\t\topen: false,\n\t\t\tanchorEl: null,\n\t\t\tmenu: null,\n\t\t\tbreadcrumb: [],\n\t\t})\n\t}, [])\n\n\tconst handleSubmenuItemClick = useCallback(\n\t\t(item: MenuItem) => {\n\t\t\tnavigate(item.link)\n\t\t},\n\t\t[navigate]\n\t)\n\n\t// Enhanced menu click handler\n\tconst handleMenuClick = useCallback(\n\t\t(menu: MenuItem, parent: MenuItem | null, index: number) => {\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!menu.submenu?.length) {\n\t\t\t\tnavigate(menu.link)\n\t\t\t\tif (!parent) {\n\t\t\t\t\tsetOpenSubmenuArray([])\n\t\t\t\t}\n\t\t\t} else if (menu.submenu?.length && menu.submenu[index]?.link) {\n\t\t\t\tnavigate(`${menu.link}${menu.submenu[index].link}`)\n\t\t\t} else {\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\n\n\t\t\t\tif (openSubmenuArray.includes(menuKey)) {\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tconst newSubArray = openSubmenuArray.filter((f) => f !== menuKey)\n\t\t\t\t\t\tsetOpenSubmenuArray([...newSubArray])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetOpenSubmenuArray([])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tsetOpenSubmenuArray([...openSubmenuArray, menuKey])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetOpenSubmenuArray([menuKey])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[props.open, navigate, openSubmenuArray]\n\t)\n\n\t// Enhanced search functionality\n\tconst filterMenuOnSearch = useCallback((menu: MenuItem[], search: string): MenuItem[] => {\n\t\treturn menu\n\t\t\t.filter((m: MenuItem) => {\n\t\t\t\tif (m?.label?.toLowerCase()?.includes(search)) {\n\t\t\t\t\treturn m\n\t\t\t\t} else if (m?.submenu?.length) {\n\t\t\t\t\tm.submenu = filterMenuOnSearch(m?.submenu, search)\n\t\t\t\t\treturn m.submenu?.length > 0 ? m : null\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\t.filter(Boolean)\n\t}, [])\n\n\tconst handleSidebarSearch = useCallback(\n\t\t(search: string) => {\n\t\t\tif (!search) {\n\t\t\t\tsetMenus(props.menu || [])\n\t\t\t} else {\n\t\t\t\tconst searchTerm = search.toLowerCase()\n\t\t\t\tconst menuItems = props?.menu ? JSON.parse(JSON.stringify(props.menu)) : []\n\t\t\t\tconst filteredMenu = filterMenuOnSearch(menuItems, searchTerm)\n\t\t\t\tsetMenus(filteredMenu)\n\t\t\t}\n\t\t},\n\t\t[props.menu, filterMenuOnSearch]\n\t)\n\n const handleOpenSearchTooltip = useCallback(() => setIsOpenSearchTooltop(true), []);\n const handleCloseSearchTooltip = useCallback(() => setIsOpenSearchTooltop(false), []);\n\n\t// Enhanced menu renderer with better nested support\n\tconst renderMenu = useCallback(\n\t\t(menus: MenuItem[], parent: MenuItem | null, level: number) => {\n\t\t\treturn menus?.map((menu: MenuItem, index: number) => {\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\n\t\t\t\tconst isMenuActive = getActiveClassIf([...(menu?.connectedRoutes || []), ...[menu.link]])\n\n\t\t\t\t// Check if any nested submenu is active (for collapsed state parent selection)\n\t\t\t\tconst hasActiveSubmenu = !props.open && isSubmenuActive(menu)\n\t\t\t\tconst shouldHighlightParent = isMenuActive || hasActiveSubmenu\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttitle={menu.label}\n\t\t\t\t\t\tplacement=\"right\"\n\t\t\t\t\t\tarrow\n\t\t\t\t\t\tkey={`${menu.label}-${index}`}\n\t\t\t\t\t\tdisableHoverListener={props.open}\n\t\t\t\t\t\tdisableFocusListener={props.open}\n\t\t\t\t\t\tdisableTouchListener={props.open}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\tdisablePadding\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\t\t\t// mb: 0.5,\n\t\t\t\t\t\t\t\t...(isRtl && {\n\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\tif (!props.open && menu.submenu?.length > 0) {\n\t\t\t\t\t\t\t\t\t\thandleCollapsedMenuClick(e, menu)\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\thandleMenuClick(menu, parent, menu?.submenu ? -1 : index)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tselected={shouldHighlightParent}\n\t\t\t\t\t\t\t\tsx={(theme) => ({\n\t\t\t\t\t\t\t\t\tminHeight: props.open ? 40 : 44,\n\t\t\t\t\t\t\t\t\tjustifyContent: props.open ? 'initial' : 'center',\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tborderRadius: 2,\n gap: 1,\n\t\t\t\t\t\t\t\t\t// mx: props.open ? 1 : 0.5,\n\t\t\t\t\t\t\t\t\t// px: props.open ? 2 : 1,\n\t\t\t\t\t\t\t\t\t// py: 1,\n\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\n\n\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\n\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t'& .MuiTypography-root': {\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: props.open ? 'rgba(0, 0, 0, 0.04)' : 'rgba(0, 0, 0, 0.08)',\n\t\t\t\t\t\t\t\t\t\ttransform: props.open ? 'none' : 'scale(1.02)',\n\t\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t\t...(!props.open &&\n\t\t\t\t\t\t\t\t\t\tmenu.submenu?.length > 0 && {\n\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t'&::after': {\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: '\"\"',\n\t\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\t\t...(isRtl\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tleft: 8,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderRight: '5px solid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tright: 8,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderLeft: '5px solid',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\ttop: '25%',\n\t\t\t\t\t\t\t\t\t\t\t\ttransform: 'translateY(-50%)',\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\t\t\t\tborderTop: '4px solid transparent',\n\t\t\t\t\t\t\t\t\t\t\t\tborderBottom: '4px solid transparent',\n\t\t\t\t\t\t\t\t\t\t\t\tborderColor: 'currentColor transparent transparent transparent',\n\t\t\t\t\t\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ListItemIcon\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tminWidth: props.open ? 'auto' : 0,\n\t\t\t\t\t\t\t\t\t\t// mr: props.open ? 1 : 'auto',\n\t\t\t\t\t\t\t\t\t\t...(isRtl ? { ml: 0 } : {}),\n\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{menu.icon ? (\n\t\t\t\t\t\t\t\t\t\t<DynamicSvgIcon svgPath={menu.icon} color={shouldHighlightParent ? 'primary' : 'grey'} fontSize={props.open ? 'small': 'medium'}/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: props.open ? 24 : 28,\n\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\n\t\t\t\t\t\t\t\t{props.open && (\n\t\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\n\t\t\t\t\t\t\t\t\t\t\tweight={level === 0 ? 'medium' : 'normal'}\n\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\n\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tpl: level * 1.5,\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: level === 0 ? '0.875rem' : '0.8125rem',\n\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{menu.label}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t\t\t\t{menu.submenu?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'transform 0.2s ease-in-out',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandLess\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandMore\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ListItemButton>\n\n\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) && menu.submenu?.length > 0 && props.open && (\n\t\t\t\t\t\t\t\t<Collapse in={openSubmenuArray.includes(menuKey)} timeout=\"auto\" unmountOnExit>\n\t\t\t\t\t\t\t\t\t<List component=\"div\" disablePadding sx={{ mt: 0.5 }}>\n\t\t\t\t\t\t\t\t\t\t{renderMenu(menu.submenu, menu, level + 1)}\n\t\t\t\t\t\t\t\t\t</List>\n\t\t\t\t\t\t\t\t</Collapse>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)\n\t\t\t})\n\t\t},\n\t\t[props.open, openSubmenuArray, getActiveClassIf, handleCollapsedMenuClick, handleMenuClick, isSubmenuActive, isRtl]\n\t)\n\n\t// Enhanced useEffect for auto-expanding active menus\n\tuseEffect(() => {\n\t\thandleSidebarSearch(search)\n\n\t\tif (props.menu?.length) {\n\t\t\tconst expandedMenus: string[] = []\n\n\t\t\tconst checkAndExpandMenu = (menuItems: MenuItem[], parentLabel = '') => {\n\t\t\t\tmenuItems.forEach((menu) => {\n\t\t\t\t\tif (menu?.submenu?.length) {\n\t\t\t\t\t\tconst menuKey = `${parentLabel}-${menu.label}`\n\t\t\t\t\t\tconst allPaths = getAllMenuPaths(menu)\n\n\t\t\t\t\t\tif (getActiveClassIf(allPaths)) {\n\t\t\t\t\t\t\texpandedMenus.push(menuKey)\n\t\t\t\t\t\t\tcheckAndExpandMenu(menu.submenu, menu.label)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tcheckAndExpandMenu(props.menu)\n\t\t\tsetOpenSubmenuArray(expandedMenus)\n\t\t}\n\t}, [getActiveClassIf, handleSidebarSearch, props.menu, search, getAllMenuPaths])\n\n\tuseEffect(() => {\n\t\tif (props.open) {\n\t\t\thandleCollapsedSubmenuClose()\n\t\t}\n\t}, [props.open, handleCollapsedSubmenuClose])\n\n\tdrawerWidth = props.width\n\n\treturn (\n\t\t<>\n\t\t\t<Drawer\n\t\t\t\tvariant=\"permanent\"\n\t\t\t\topen={props.open}\n\t\t\t\tanchor={document.body.dir === 'rtl' ? 'right' : 'left'}\n\t\t\t\tonMouseEnter={props.handleMouseEnter}\n\t\t\t\tonMouseLeave={props.handleMouseLeave}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={(theme) => ({\n\t\t\t\t\t\t\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DrawerHeader>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={props.open ? images.logo : images.favicon}\n\t\t\t\t\t\t\t\talt={props.open ? 'logo' : 'favicon'}\n\t\t\t\t\t\t\t\twidth={!props.open && 40}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\n\t\t\t\t\t\t\t\t\tfilter: 'brightness(1.1)',\n\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={() => navigate(props.dashboardPath || Pathname.DASHBOARD)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</DrawerHeader>\n\t\t\t\t\t</Box>\n\n\t\t\t\t\t{/* Search Bar */}\n\t\t\t\t\t{props.open ? (\n\t\t\t\t\t\t<Box sx={{ px: 1.5, py: 1.5, borderBottom: '1px solid', borderColor: 'theme.secondary.200' }}>\n\t\t\t\t\t\t\t<SearchBar className=\"sidebar-search\" handleSearch={setSearch} placeholder=\"Search menu...\" value={search} sx={{ '&.MuiTextField-root': { backgroundColor: 'grey.200', border:'1px solid', borderColor: 'grey.200', borderRadius: 1 }}}/>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t) : (\n <ClickAwayListener onClickAway={handleCloseSearchTooltip}>\n <Box sx={{ p:1, pb: 0, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <Tooltip\n title={\n <SearchBar\n className=\"sidebar-search\"\n handleSearch={setSearch}\n placeholder=\"Search menu...\"\n value={search}\n sx={{ '&.MuiTextField-root': { backgroundColor: 'transparent' } }}\n />\n }\n placement=\"right\"\n arrow\n sx={{\n p:0,\n backgroundColor: 'grey.200',\n border: '1px solid',\n borderColor: 'grey.300',\n '& .MuiTooltip-arrow': {\n color: 'grey.300',\n },\n ml: '8px !important'\n }}\n open={isOpenSearchTooltop}\n >\n <IconButton color='inherit' sx={{ borderRadius: 2, p: 1.5, backgroundColor: isOpenSearchTooltop ? 'grey.200' : 'inherit' }} onClick={handleOpenSearchTooltip}>\n {search.trim() ? <SearchStatus/> : <Search />}\n </IconButton>\n </Tooltip>\n </Box>\n </ClickAwayListener>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Menu List */}\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\toverflowY: 'auto',\n\t\t\t\t\t\t\tpy: 1,\n\t\t\t\t\t\t\t'&::-webkit-scrollbar': {\n\t\t\t\t\t\t\t\twidth: 6,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-track': {\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-thumb': {\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\n\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<List className=\"sidebar-list\" sx={{ p: 0 }}>\n\t\t\t\t\t\t\t{renderMenu(menus, null, 0)}\n\t\t\t\t\t\t</List>\n\t\t\t\t\t</Box>\n\n\t\t\t\t\t{/* Footer */}\n\t\t\t\t\t{props.open && (\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tborderTop: '1px solid',\n\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(255, 255, 255, 0.5)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tpadding: '.75rem 1.5rem',\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'self-start',\n\t\t\t\t\t\t\t\t\tgap: 0.5,\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\tfontSize: '.85rem',\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCrafted with\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.error.500',\n\t\t\t\t\t\t\t\t\t\twidth: '1rem',\n\t\t\t\t\t\t\t\t\t\theight: '1rem',\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t❤️\n\t\t\t\t\t\t\t\t</Icon>\n\t\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src={images.erp_logo} />\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t</Drawer>\n\t\t\t<IconButton\n\t\t\t\tsize=\"small\"\n\t\t\t\tonClick={() => (props.forcedOpen ? props.handleDrawerClose() : props.handleDrawerOpen())}\n\t\t\t\tclassName={isRtl ? 'drawer-expand-btn_rtl' : 'drawer-expand-btn'}\n\t\t\t\tsx={{\n\t\t\t\t\tml: 'auto',\n\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\n\t\t\t\t\t},\n\t\t\t\t\t// transition: 'all 0.2s ease-in-out',\n\t\t\t\t\twidth: '30px',\n\t\t\t\t\theight: '30px',\n\t\t\t\t\tborderRadius: `8px`,\n\t\t\t\t\tborderTopLeftRadius: 0,\n\t\t\t\t\tborderBottomLeftRadius: 0,\n\t\t\t\t\tborderColor: 'grey.500',\n\t\t\t\t\t...(isRtl\n\t\t\t\t\t\t? !props.forcedOpen\n\t\t\t\t\t\t\t? { right: '63px !important', left: 'auto' }\n\t\t\t\t\t\t\t: { right: '299px', left: 'auto' }\n\t\t\t\t\t\t: !props.forcedOpen\n\t\t\t\t\t\t\t? { left: '63px !important', right: 'auto' }\n\t\t\t\t\t\t\t: { left: '299px', right: 'auto' }),\n\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{props.theme.direction === 'rtl' ? (\n\t\t\t\t\tprops.forcedOpen ? (\n\t\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\n\t\t\t\t\t)\n\t\t\t\t) : props.forcedOpen ? (\n\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\n\t\t\t\t)}\n\t\t\t</IconButton>\n\t\t\t{/* Collapsed Submenu Popover */}\n\t\t\t{collapsedSubmenuState.menu && (\n\t\t\t\t<CollapsedSubmenu\n\t\t\t\t\tmenu={collapsedSubmenuState.menu}\n\t\t\t\t\tanchorEl={collapsedSubmenuState.anchorEl}\n\t\t\t\t\topen={collapsedSubmenuState.open}\n\t\t\t\t\tonClose={handleCollapsedSubmenuClose}\n\t\t\t\t\tonItemClick={handleSubmenuItemClick}\n\t\t\t\t\tonSubmenuClick={handleCollapsedSubmenuClick}\n\t\t\t\t\tgetActiveClassIf={getActiveClassIf}\n\t\t\t\t\tbreadcrumb={collapsedSubmenuState.breadcrumb}\n\t\t\t\t\tonBreadcrumbClick={handleBreadcrumbClick}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t)\n}\n\nexport default Sidebar\n"],"names":["_excluded","Slide","_jsx","overridesResolver","useUtilityClasses","Drawer","Icon","alpha","ListItemButton","require$$0","require$$1","props","React","MuiDrawer","ChevronRightIcon","Typography","_a","Text","search","menus","_b","IconExpandLess","IconExpandMore","ChevronLeftIcon"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|