@erpsquad/common 1.10.1-test → 1.10.2-test
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/{Tooltip-0Msd6gJs.js → Tooltip-BWIywPIG.js} +2 -2
- package/dist/{Tooltip-0Msd6gJs.js.map → Tooltip-BWIywPIG.js.map} +1 -1
- package/dist/{Tooltip-DBg9E0nY.esm.js → Tooltip-BuKMQR27.esm.js} +5 -5
- package/dist/{Tooltip-DBg9E0nY.esm.js.map → Tooltip-BuKMQR27.esm.js.map} +1 -1
- package/dist/{android-12-switch-C2yR_ny0.js → android-12-switch-Cwoy0lqC.js} +2 -2
- package/dist/{android-12-switch-C2yR_ny0.js.map → android-12-switch-Cwoy0lqC.js.map} +1 -1
- package/dist/{android-12-switch-CFHHRoXl.esm.js → android-12-switch-DIRd6Hz1.esm.js} +10 -10
- package/dist/{android-12-switch-CFHHRoXl.esm.js.map → android-12-switch-DIRd6Hz1.esm.js.map} +1 -1
- package/dist/{apiHelper-C7xLzw2l.esm.js → apiHelper-BLkPhudw.esm.js} +5 -5
- package/dist/{apiHelper-C7xLzw2l.esm.js.map → apiHelper-BLkPhudw.esm.js.map} +1 -1
- package/dist/{apiHelper-uNnzNGPt.js → apiHelper-DurABKEn.js} +2 -2
- package/dist/{apiHelper-uNnzNGPt.js.map → apiHelper-DurABKEn.js.map} +1 -1
- package/dist/{arrow-up-RDVMEaNg.esm.js → arrow-up-BYufujcs.esm.js} +47 -48
- package/dist/arrow-up-BYufujcs.esm.js.map +1 -0
- package/dist/{arrow-up-CZCTjL2a.js → arrow-up-u2i6ArLB.js} +47 -47
- package/dist/arrow-up-u2i6ArLB.js.map +1 -0
- package/dist/components/icons/create-custom-icon.d.ts +16 -0
- package/dist/components/index.esm.js +14 -14
- package/dist/components/index.js +1 -1
- package/dist/contexts/index.esm.js +3 -3
- package/dist/contexts/index.js +1 -1
- package/dist/{dashboard-BU3Ivh-m.esm.js → dashboard-BHs900IA.esm.js} +3 -3
- package/dist/dashboard-BHs900IA.esm.js.map +1 -0
- package/dist/{dashboard-DC1wsH2n.js → dashboard-ecHBMV8C.js} +3 -3
- package/dist/dashboard-ecHBMV8C.js.map +1 -0
- package/dist/{default-data-DMRyIpbS.js → default-data-kq9UR-LT.js} +2 -2
- package/dist/{default-data-DMRyIpbS.js.map → default-data-kq9UR-LT.js.map} +1 -1
- package/dist/{default-data-DZ7_2K9V.esm.js → default-data-rqQOC7ed.esm.js} +10 -10
- package/dist/{default-data-DZ7_2K9V.esm.js.map → default-data-rqQOC7ed.esm.js.map} +1 -1
- package/dist/{document-MTw-RQlt.js → document-Dat2mYKY.js} +7 -7
- package/dist/document-Dat2mYKY.js.map +1 -0
- package/dist/{document-jQDTo49w.esm.js → document-Dc0e4Wgt.esm.js} +3 -4
- package/dist/document-Dc0e4Wgt.esm.js.map +1 -0
- package/dist/{form-builder-deconversion-DUwJpbWi.js → form-builder-deconversion-Bt6_FHty.js} +2 -2
- package/dist/{form-builder-deconversion-DUwJpbWi.js.map → form-builder-deconversion-Bt6_FHty.js.map} +1 -1
- package/dist/{form-builder-deconversion-BmnMG6UA.esm.js → form-builder-deconversion-CjCls618.esm.js} +3 -3
- package/dist/{form-builder-deconversion-BmnMG6UA.esm.js.map → form-builder-deconversion-CjCls618.esm.js.map} +1 -1
- package/dist/{fullScreen-bLbPf_Sx.esm.js → fullScreen-B7NBNLnc.esm.js} +2 -2
- package/dist/{fullScreen-bLbPf_Sx.esm.js.map → fullScreen-B7NBNLnc.esm.js.map} +1 -1
- package/dist/{fullScreen-z8Ci7IBM.js → fullScreen-Bk29OQHQ.js} +2 -2
- package/dist/{fullScreen-z8Ci7IBM.js.map → fullScreen-Bk29OQHQ.js.map} +1 -1
- package/dist/hooks/index.esm.js +5 -5
- package/dist/hooks/index.js +1 -1
- package/dist/icons/index.esm.js +7 -7
- package/dist/icons/index.js +1 -1
- package/dist/{index-abVANnYO.esm.js → index-CasNCevI.esm.js} +3 -3
- package/dist/{index-abVANnYO.esm.js.map → index-CasNCevI.esm.js.map} +1 -1
- package/dist/{index-C2m4EKMw.js → index-D6O6Gc88.js} +2 -2
- package/dist/{index-C2m4EKMw.js.map → index-D6O6Gc88.js.map} +1 -1
- package/dist/index.esm.js +19 -19
- package/dist/index.js +1 -1
- package/dist/{languageContext-z0EIAM7m.esm.js → languageContext-BqGnL8Sv.esm.js} +2 -2
- package/dist/{languageContext-z0EIAM7m.esm.js.map → languageContext-BqGnL8Sv.esm.js.map} +1 -1
- package/dist/{languageContext-7DprjT6b.js → languageContext-hAPMY56Y.js} +2 -2
- package/dist/{languageContext-7DprjT6b.js.map → languageContext-hAPMY56Y.js.map} +1 -1
- package/dist/layout/index.esm.js +4 -4
- package/dist/layout/index.js +1 -1
- package/dist/{migration-utils-DRGPH-n4.js → migration-utils-Bh98qTkC.js} +2 -2
- package/dist/{migration-utils-DRGPH-n4.js.map → migration-utils-Bh98qTkC.js.map} +1 -1
- package/dist/{migration-utils-BzRKOUW0.esm.js → migration-utils-byCdwgkF.esm.js} +2 -2
- package/dist/{migration-utils-BzRKOUW0.esm.js.map → migration-utils-byCdwgkF.esm.js.map} +1 -1
- package/dist/notification-BsWK2s3n.js +7 -0
- package/dist/notification-BsWK2s3n.js.map +1 -0
- package/dist/{notification-BNeR5Dyl.esm.js → notification-Dbo3l5Vw.esm.js} +27 -5
- package/dist/notification-Dbo3l5Vw.esm.js.map +1 -0
- package/dist/{sidebar-C6-wzTTF.esm.js → sidebar-DTv1DxTn.esm.js} +5 -5
- package/dist/{sidebar-C6-wzTTF.esm.js.map → sidebar-DTv1DxTn.esm.js.map} +1 -1
- package/dist/{sidebar-BT_zTOCc.js → sidebar-U2vsFarM.js} +2 -2
- package/dist/{sidebar-BT_zTOCc.js.map → sidebar-U2vsFarM.js.map} +1 -1
- package/dist/src/components/icons/create-custom-icon.d.ts +16 -0
- package/dist/{tick-CcyPwRXL.esm.js → tick-Cogsd5aG.esm.js} +8 -9
- package/dist/tick-Cogsd5aG.esm.js.map +1 -0
- package/dist/{tick-Ct-Ir-1S.js → tick-XKXM5oTD.js} +22 -22
- package/dist/tick-XKXM5oTD.js.map +1 -0
- package/dist/{toggle-switch-FMTO6609.esm.js → toggle-switch-Day9cZg5.esm.js} +3 -4
- package/dist/toggle-switch-Day9cZg5.esm.js.map +1 -0
- package/dist/{toggle-switch-BghzgMG8.js → toggle-switch-P3dX3iMp.js} +5 -5
- package/dist/toggle-switch-P3dX3iMp.js.map +1 -0
- package/dist/{trash-BTwzTBYO.esm.js → trash-cWyby5W5.esm.js} +36 -37
- package/dist/trash-cWyby5W5.esm.js.map +1 -0
- package/dist/{trash-5CZCQE4a.js → trash-iM5WzuPQ.js} +124 -124
- package/dist/trash-iM5WzuPQ.js.map +1 -0
- package/dist/{uom-field-wrapper-6F9MCc0-.js → uom-field-wrapper-D4vafbb3.js} +2 -2
- package/dist/{uom-field-wrapper-6F9MCc0-.js.map → uom-field-wrapper-D4vafbb3.js.map} +1 -1
- package/dist/{uom-field-wrapper-3usHZZm1.esm.js → uom-field-wrapper-DHzy94__.esm.js} +12 -12
- package/dist/{uom-field-wrapper-3usHZZm1.esm.js.map → uom-field-wrapper-DHzy94__.esm.js.map} +1 -1
- package/dist/{useAccountSetting-ChWt7JwC.js → useAccountSetting-CNoWakIN.js} +2 -2
- package/dist/{useAccountSetting-ChWt7JwC.js.map → useAccountSetting-CNoWakIN.js.map} +1 -1
- package/dist/{useAccountSetting-BEKGFdbo.esm.js → useAccountSetting-D2gUGGca.esm.js} +2 -2
- package/dist/{useAccountSetting-BEKGFdbo.esm.js.map → useAccountSetting-D2gUGGca.esm.js.map} +1 -1
- package/dist/{useAuth-C18aZa1n.esm.js → useAuth-Bvid1bpz.esm.js} +2 -2
- package/dist/{useAuth-C18aZa1n.esm.js.map → useAuth-Bvid1bpz.esm.js.map} +1 -1
- package/dist/{useAuth-Dpe5kDa6.js → useAuth-CVokk6Ra.js} +2 -2
- package/dist/{useAuth-Dpe5kDa6.js.map → useAuth-CVokk6Ra.js.map} +1 -1
- package/dist/{useLangauge-DKPl4qKr.esm.js → useLangauge-BQjH-l_B.esm.js} +2 -2
- package/dist/{useLangauge-DKPl4qKr.esm.js.map → useLangauge-BQjH-l_B.esm.js.map} +1 -1
- package/dist/{useLangauge-DaCaybJt.js → useLangauge-ySJIB0GV.js} +2 -2
- package/dist/{useLangauge-DaCaybJt.js.map → useLangauge-ySJIB0GV.js.map} +1 -1
- package/dist/utils/index.esm.js +3 -3
- package/dist/utils/index.js +1 -1
- package/dist/views/index.esm.js +5 -5
- package/dist/views/index.js +1 -1
- package/package.json +1 -1
- package/dist/arrow-up-CZCTjL2a.js.map +0 -1
- package/dist/arrow-up-RDVMEaNg.esm.js.map +0 -1
- package/dist/dashboard-BU3Ivh-m.esm.js.map +0 -1
- package/dist/dashboard-DC1wsH2n.js.map +0 -1
- package/dist/document-MTw-RQlt.js.map +0 -1
- package/dist/document-jQDTo49w.esm.js.map +0 -1
- package/dist/notification-BNeR5Dyl.esm.js.map +0 -1
- package/dist/notification-BmKHaKZF.js +0 -6
- package/dist/notification-BmKHaKZF.js.map +0 -1
- package/dist/tick-CcyPwRXL.esm.js.map +0 -1
- package/dist/tick-Ct-Ir-1S.js.map +0 -1
- package/dist/toggle-switch-BghzgMG8.js.map +0 -1
- package/dist/toggle-switch-FMTO6609.esm.js.map +0 -1
- package/dist/trash-5CZCQE4a.js.map +0 -1
- package/dist/trash-BTwzTBYO.esm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-C6-wzTTF.esm.js","sources":["../src/assets/dynamic-svg-icon/dynamic-svg-icon.tsx","../src/components/sidebar/sidebar.tsx"],"sourcesContent":["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 */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport { matchRoutes, useLocation, useNavigate } from 'react-router-dom'\r\n\r\nimport { styled, Theme, CSSObject } from '@mui/material/styles'\r\nimport MuiDrawer from '@mui/material/Drawer'\r\nimport List from '@mui/material/List'\r\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft'\r\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\r\nimport ListItem from '@mui/material/ListItem'\r\nimport ListItemButton from '@mui/material/ListItemButton'\r\nimport ListItemIcon from '@mui/material/ListItemIcon'\r\nimport IconExpandLess from '@mui/icons-material/ExpandLess'\r\nimport IconExpandMore from '@mui/icons-material/ExpandMore'\r\nimport Typography from '@mui/material/Typography'\r\nimport Box from '@mui/material/Box'\r\nimport { Icon, IconButton, Popover, Paper, ClickAwayListener } from '@mui/material'\r\nimport Collapse from '@mui/material/Collapse'\r\n\r\nimport Text from '../typography/typography'\r\nimport images from '../../assets/images'\r\n\r\nimport './sidebar.scss'\r\nimport SearchBar from '../search-bar/search-bar'\r\nimport Tooltip from '../tooltip/Tooltip'\r\nimport { useLanguage } from '../../hooks/useLangauge'\r\nimport DynamicSvgIcon from '../../assets/dynamic-svg-icon/dynamic-svg-icon'\r\nimport { Search, SearchStatus } from '../icons'\r\nimport { Pathname } from '../../constants/pathnames'\r\nimport { getApiConfig } from '@/utils'\r\n\r\n// Types\r\ninterface MenuItem {\r\n\tlabel: string\r\n\tlink: string\r\n\ticon?: string\r\n\tsubmenu?: MenuItem[]\r\n\tconnectedRoutes?: string[]\r\n}\r\n\r\ninterface CollapsedSubmenuState {\r\n\topen: boolean\r\n\tanchorEl: HTMLElement | null\r\n\tmenu: MenuItem | null\r\n\tbreadcrumb: MenuItem[]\r\n}\r\n\r\nlet drawerWidth: any\r\n\r\nconst openedMixin = (theme: Theme): CSSObject => ({\r\n\twidth: drawerWidth,\r\n\ttransition: theme.transitions.create('width', {\r\n\t\teasing: theme.transitions.easing.sharp,\r\n\t\tduration: theme.transitions.duration.enteringScreen,\r\n\t}),\r\n\toverflowX: 'hidden',\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'space-between',\r\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\r\n\tbackgroundColor: theme.palette.theme?.secondary[100],\r\n})\r\n\r\nconst closedMixin = (theme: Theme): CSSObject => ({\r\n\ttransition: theme.transitions.create('width', {\r\n\t\teasing: theme.transitions.easing.sharp,\r\n\t\tduration: theme.transitions.duration.leavingScreen,\r\n\t}),\r\n\toverflowX: 'hidden',\r\n\twidth: `calc(${theme.spacing(7)} + 1px)`,\r\n\t[theme.breakpoints.up('sm')]: {\r\n\t\twidth: `calc(${theme.spacing(8)} + 1px)`,\r\n\t},\r\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\r\n\tbackgroundColor: theme.palette.theme?.secondary[100],\r\n})\r\n\r\nconst Drawer = styled(MuiDrawer, {\r\n\tshouldForwardProp: (prop) => prop !== 'open',\r\n})(({ theme, open }) => ({\r\n\twidth: drawerWidth,\r\n\tflexShrink: 0,\r\n\twhiteSpace: 'nowrap',\r\n\tboxSizing: 'border-box',\r\n\t'.MuiDrawer-paper': {\r\n\t\tbackgroundColor: theme?.palette?.theme?.secondary?.[100],\r\n\t\toverflow: 'visible !important',\r\n\t\tzIndex: 1201,\r\n\t},\r\n\t...(open && {\r\n\t\t...openedMixin(theme),\r\n\t\t'& .MuiDrawer-paper': openedMixin(theme),\r\n\t}),\r\n\t...(!open && {\r\n\t\t...closedMixin(theme),\r\n\t\t'& .MuiDrawer-paper': closedMixin(theme),\r\n\t}),\r\n}))\r\n\r\nconst DrawerHeader = styled('div')(({ theme }) => ({\r\n\tdisplay: 'flex',\r\n\talignItems: 'center',\r\n\tjustifyContent: 'center',\r\n\tpadding: theme.spacing(0, 2),\r\n\t...theme.mixins.toolbar,\r\n\tminHeight: 64,\r\n}))\r\n\r\nconst SubmenuPopover = styled(Paper)(({ theme }) => ({\r\n\tminWidth: 250,\r\n\tmaxWidth: 350,\r\n\tmaxHeight: '80vh',\r\n\toverflowY: 'auto',\r\n\tbackgroundColor: theme.palette.theme?.secondary?.[100] || theme.palette.background.paper,\r\n\tborderRadius: 12,\r\n\tboxShadow: '0 8px 32px rgba(0, 0, 0, 0.12)',\r\n\tborder: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\r\n\t'&.MuiPaper-root': {\r\n\t\ttransformOrigin: 'top left',\r\n\t},\r\n\t'&::-webkit-scrollbar': {\r\n\t\twidth: 6,\r\n\t},\r\n\t'&::-webkit-scrollbar-track': {\r\n\t\tbackgroundColor: 'transparent',\r\n\t},\r\n\t'&::-webkit-scrollbar-thumb': {\r\n\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\r\n\t\tborderRadius: 3,\r\n\t},\r\n}))\r\n\r\nconst BreadcrumbContainer = styled(Box)(({ theme }) => ({\r\n\tpadding: theme.spacing(1, 2),\r\n\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\r\n\tbackgroundColor: theme.palette.theme?.secondary?.[50] || theme.palette.grey[50],\r\n}))\r\n\r\n// Enhanced CollapsedSubmenu component with nested support\r\nconst CollapsedSubmenu: React.FC<{\r\n\tmenu: MenuItem\r\n\tanchorEl: HTMLElement | null\r\n\topen: boolean\r\n\tonClose: () => void\r\n\tonItemClick: (item: MenuItem) => void\r\n\tonSubmenuClick: (item: MenuItem, event: React.MouseEvent<HTMLElement>) => void\r\n\tgetActiveClassIf: (paths: string[] | string) => boolean\r\n\tbreadcrumb: MenuItem[]\r\n\tonBreadcrumbClick: (item: MenuItem, index: number) => void\r\n}> = ({\r\n\tmenu,\r\n\tanchorEl,\r\n\topen,\r\n\tonClose,\r\n\tonItemClick,\r\n\tonSubmenuClick,\r\n\tgetActiveClassIf,\r\n\tbreadcrumb,\r\n\tonBreadcrumbClick,\r\n}) => {\r\n\t\tconst renderBreadcrumb = () => {\r\n\t\t\tif (breadcrumb.length <= 1) return null\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<BreadcrumbContainer>\r\n\t\t\t\t\t<Box sx={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: 0.5 }}>\r\n\t\t\t\t\t\t{breadcrumb.map((item, index) => (\r\n\t\t\t\t\t\t\t<React.Fragment key={index}>\r\n\t\t\t\t\t\t\t\t{index > 0 && <ChevronRightIcon sx={{ fontSize: 14, color: 'theme.secondary.400' }} />}\r\n\t\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\t\tvariant=\"caption\"\r\n\t\t\t\t\t\t\t\t\tonClick={() => onBreadcrumbClick(item, index)}\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcursor: index < breadcrumb.length - 1 ? 'pointer' : 'default',\r\n\t\t\t\t\t\t\t\t\t\tcolor: index < breadcrumb.length - 1 ? 'primary.main' : 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\tfontWeight: index === breadcrumb.length - 1 ? 600 : 400,\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\r\n\t\t\t\t\t\t\t\t\t\t'&:hover':\r\n\t\t\t\t\t\t\t\t\t\t\tindex < breadcrumb.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'underline',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t: {},\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t</React.Fragment>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</Box>\r\n\t\t\t\t</BreadcrumbContainer>\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<ClickAwayListener onClickAway={onClose}>\r\n\t\t\t\t<Popover\r\n\t\t\t\t\topen={open}\r\n\t\t\t\t\tanchorEl={anchorEl}\r\n\t\t\t\t\tonClose={onClose}\r\n\t\t\t\t\tanchorOrigin={{\r\n\t\t\t\t\t\tvertical: 'center',\r\n\t\t\t\t\t\thorizontal: 'right',\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttransformOrigin={{\r\n\t\t\t\t\t\tvertical: 'center',\r\n\t\t\t\t\t\thorizontal: 'left',\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tPaperComponent={SubmenuPopover}\r\n\t\t\t\t\televation={1}\r\n\t\t\t\t\tdisableRestoreFocus\r\n\t\t\t\t\tdisableAutoFocus\r\n\t\t\t\t\tdisableEnforceFocus\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tml: 0.5,\r\n\t\t\t\t\t\t'& .MuiPopover-paper': {\r\n\t\t\t\t\t\t\t// overflow: 'visible',\r\n\t\t\t\t\t\t\tmarginTop: 0,\r\n\t\t\t\t\t\t\tpointerEvents: 'auto',\r\n\t\t\t\t\t\t\t// border: '1px solid',\r\n\t\t\t\t\t\t\t// borderColor: 'theme.secondary.200',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttransitionDuration={200}\r\n\t\t\t\t>\r\n\t\t\t\t\t<Box>\r\n\t\t\t\t\t\t{renderBreadcrumb()}\r\n\r\n\t\t\t\t\t\t<Box>\r\n\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\tvariant=\"subtitle2\"\r\n\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\tpx: 2,\r\n\t\t\t\t\t\t\t\t\tpy: 1,\r\n\t\t\t\t\t\t\t\t\tfontWeight: 600,\r\n\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.1000',\r\n\t\t\t\t\t\t\t\t\tborderBottom: breadcrumb.length > 1 ? 'none' : '1px solid',\r\n\t\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\r\n\t\t\t\t\t\t\t\t\tmb: 0.5,\r\n\t\t\t\t\t\t\t\t\tfontSize: '0.875rem',\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{menu.label}\r\n\t\t\t\t\t\t\t</Typography>\r\n\r\n\t\t\t\t\t\t\t<List component=\"div\" sx={{ py: 0 }}>\r\n\t\t\t\t\t\t\t\t{menu.submenu?.map((subItem: MenuItem, index: number) => {\r\n\t\t\t\t\t\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<ListItem key={index} disablePadding>\r\n\t\t\t\t\t\t\t\t\t\t\t<ListItemButton\r\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (subItem.submenu?.length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSubmenuClick(subItem, e)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonItemClick(subItem)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselected={isActive}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tminHeight: 32,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t// px: 2,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t// py: 0.75,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 1.5,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t// mx: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmb: 0.25,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{subItem.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ListItemIcon sx={{ minWidth: 32 }}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={subItem.icon}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt={subItem.label + ' icon'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// width={20}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// height={20}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ opacity: 0.8 }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ListItemIcon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tweight=\"normal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '0.875rem',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{subItem.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{subItem.submenu?.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 18,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.500',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t</ListItemButton>\r\n\t\t\t\t\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</List>\r\n\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t</Box>\r\n\t\t\t\t</Popover>\r\n\t\t\t</ClickAwayListener>\r\n\t\t)\r\n\t}\r\n\r\ninterface SidebarProps {\r\n\twidth: number\r\n\topen: boolean\r\n\tmenu: MenuItem[]\r\n\ttheme: any\r\n\tforcedOpen: boolean\r\n\thandleMouseEnter: () => void\r\n\thandleMouseLeave: () => void\r\n\thandleDrawerClose: () => void\r\n\thandleDrawerOpen: () => void\r\n\tdashboardPath?: string\r\n}\r\n\r\nexport const Sidebar: React.FC<SidebarProps> = (props) => {\r\n\tconst navigate = useNavigate()\r\n\tconst currentLocation = useLocation()\r\n\tconst { currentLanguage } = useLanguage()\r\n\tconst isRtl = useMemo(() => currentLanguage?.direction === 'rtl', [currentLanguage])\r\n\tconst [collapsedSubmenuState, setCollapsedSubmenuState] = useState<CollapsedSubmenuState>({\r\n\t\topen: false,\r\n\t\tanchorEl: null,\r\n\t\tmenu: null,\r\n\t\tbreadcrumb: [],\r\n\t})\r\n\r\n\tconst [menus, setMenus] = useState<MenuItem[]>([])\r\n\tconst [search, setSearch] = useState<string>('')\r\n\tconst [openSubmenuArray, setOpenSubmenuArray] = useState<string[]>([])\r\n\tconst [isOpenSearchTooltop, setIsOpenSearchTooltop] = useState<boolean>(false)\r\n\r\n\t// Enhanced active class checker\r\n\tconst getActiveClassIf = useCallback(\r\n\t\t(paths: string[] | string) => {\r\n\t\t\tconst shouldMatch: { path: string }[] = Array.isArray(paths)\r\n\t\t\t\t? paths.map((path: string) => ({ path }))\r\n\t\t\t\t: [{ path: paths }]\r\n\r\n\t\t\treturn Boolean(matchRoutes(shouldMatch, currentLocation))\r\n\t\t},\r\n\t\t[currentLocation]\r\n\t)\r\n\r\n\t// Find if any submenu item is active (for parent selection when collapsed)\r\n\tconst isSubmenuActive = useCallback(\r\n\t\t(menu: MenuItem): boolean => {\r\n\t\t\tif (!menu.submenu?.length) return false\r\n\r\n\t\t\tfor (const subItem of menu.submenu) {\r\n\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\r\n\r\n\t\t\t\tif (isActive || isSubmenuActive(subItem)) {\r\n\t\t\t\t\treturn true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false\r\n\t\t},\r\n\t\t[getActiveClassIf]\r\n\t)\r\n\r\n\t// Get all menu paths for a menu item (including nested)\r\n\tconst getAllMenuPaths = useCallback((menu: MenuItem): string[] => {\r\n\t\tconst paths: string[] = []\r\n\r\n\t\tif (menu.link) {\r\n\t\t\tpaths.push(menu.link)\r\n\t\t}\r\n\r\n\t\tif (menu.connectedRoutes?.length) {\r\n\t\t\tpaths.push(...menu.connectedRoutes)\r\n\t\t}\r\n\r\n\t\tif (menu.submenu?.length) {\r\n\t\t\tmenu.submenu.forEach((subItem) => {\r\n\t\t\t\tpaths.push(...getAllMenuPaths(subItem))\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\treturn paths\r\n\t}, [])\r\n\r\n\t// Enhanced collapsed menu click handler\r\n\tconst handleCollapsedMenuClick = useCallback(\r\n\t\t(event: React.MouseEvent<HTMLElement>, menu: MenuItem) => {\r\n\t\t\tevent.stopPropagation()\r\n\r\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\r\n\t\t\t\tif (collapsedSubmenuState.open && collapsedSubmenuState.menu?.label === menu.label) {\r\n\t\t\t\t\tsetCollapsedSubmenuState({\r\n\t\t\t\t\t\topen: false,\r\n\t\t\t\t\t\tanchorEl: null,\r\n\t\t\t\t\t\tmenu: null,\r\n\t\t\t\t\t\tbreadcrumb: [],\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetCollapsedSubmenuState({\r\n\t\t\t\t\t\topen: true,\r\n\t\t\t\t\t\tanchorEl: event.currentTarget,\r\n\t\t\t\t\t\tmenu: menu,\r\n\t\t\t\t\t\tbreadcrumb: [menu],\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t[props.open, collapsedSubmenuState]\r\n\t)\r\n\r\n\t// Handle submenu navigation in collapsed mode\r\n\tconst handleCollapsedSubmenuClick = useCallback((item: MenuItem, event: React.MouseEvent<HTMLElement>) => {\r\n\t\tif (item.submenu?.length) {\r\n\t\t\tsetCollapsedSubmenuState((prev) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tmenu: item,\r\n\t\t\t\tbreadcrumb: [...prev.breadcrumb, item],\r\n\t\t\t}))\r\n\t\t}\r\n\t}, [])\r\n\r\n\t// Handle breadcrumb navigation\r\n\tconst handleBreadcrumbClick = useCallback((item: MenuItem, index: number) => {\r\n\t\tsetCollapsedSubmenuState((prev) => ({\r\n\t\t\t...prev,\r\n\t\t\tmenu: item,\r\n\t\t\tbreadcrumb: prev.breadcrumb.slice(0, index + 1),\r\n\t\t}))\r\n\t}, [])\r\n\r\n\tconst handleCollapsedSubmenuClose = useCallback(() => {\r\n\t\tsetCollapsedSubmenuState({\r\n\t\t\topen: false,\r\n\t\t\tanchorEl: null,\r\n\t\t\tmenu: null,\r\n\t\t\tbreadcrumb: [],\r\n\t\t})\r\n\t}, [])\r\n\r\n\tconst handleSubmenuItemClick = useCallback(\r\n\t\t(item: MenuItem) => {\r\n\t\t\tnavigate(item.link)\r\n\t\t},\r\n\t\t[navigate]\r\n\t)\r\n\r\n\t// Enhanced menu click handler\r\n\tconst handleMenuClick = useCallback(\r\n\t\t(menu: MenuItem, parent: MenuItem | null, index: number) => {\r\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tif (!menu.submenu?.length) {\r\n\t\t\t\tnavigate(menu.link)\r\n\t\t\t\tif (!parent) {\r\n\t\t\t\t\tsetOpenSubmenuArray([])\r\n\t\t\t\t}\r\n\t\t\t} else if (menu.submenu?.length && menu.submenu[index]?.link) {\r\n\t\t\t\tnavigate(`${menu.link}${menu.submenu[index].link}`)\r\n\t\t\t} else {\r\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\r\n\r\n\t\t\t\tif (openSubmenuArray.includes(menuKey)) {\r\n\t\t\t\t\tif (parent) {\r\n\t\t\t\t\t\tconst newSubArray = openSubmenuArray.filter((f) => f !== menuKey)\r\n\t\t\t\t\t\tsetOpenSubmenuArray([...newSubArray])\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetOpenSubmenuArray([])\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (parent) {\r\n\t\t\t\t\t\tsetOpenSubmenuArray([...openSubmenuArray, menuKey])\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetOpenSubmenuArray([menuKey])\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t[props.open, navigate, openSubmenuArray]\r\n\t)\r\n\r\n\t// Enhanced search functionality\r\n\tconst filterMenuOnSearch = useCallback((menu: MenuItem[], search: string): MenuItem[] => {\r\n\t\treturn menu\r\n\t\t\t.filter((m: MenuItem) => {\r\n\t\t\t\tif (m?.label?.toLowerCase()?.includes(search)) {\r\n\t\t\t\t\treturn m\r\n\t\t\t\t} else if (m?.submenu?.length) {\r\n\t\t\t\t\tm.submenu = filterMenuOnSearch(m?.submenu, search)\r\n\t\t\t\t\treturn m.submenu?.length > 0 ? m : null\r\n\t\t\t\t}\r\n\t\t\t\treturn null\r\n\t\t\t})\r\n\t\t\t.filter(Boolean)\r\n\t}, [])\r\n\r\n\tconst handleSidebarSearch = useCallback(\r\n\t\t(search: string) => {\r\n\t\t\tif (!search) {\r\n\t\t\t\tsetMenus(props.menu || [])\r\n\t\t\t} else {\r\n\t\t\t\tconst searchTerm = search.toLowerCase()\r\n\t\t\t\tconst menuItems = props?.menu ? JSON.parse(JSON.stringify(props.menu)) : []\r\n\t\t\t\tconst filteredMenu = filterMenuOnSearch(menuItems, searchTerm)\r\n\t\t\t\tsetMenus(filteredMenu)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[props.menu, filterMenuOnSearch]\r\n\t)\r\n\r\n\tconst handleOpenSearchTooltip = useCallback(() => setIsOpenSearchTooltop(true), []);\r\n\tconst handleCloseSearchTooltip = useCallback(() => setIsOpenSearchTooltop(false), []);\r\n\r\n\t// Enhanced menu renderer with better nested support\r\n\tconst renderMenu = useCallback(\r\n\t\t(menus: MenuItem[], parent: MenuItem | null, level: number) => {\r\n\t\t\treturn menus?.map((menu: MenuItem, index: number) => {\r\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\r\n\t\t\t\tconst isMenuActive = getActiveClassIf([...(menu?.connectedRoutes || []), ...[menu.link]])\r\n\r\n\t\t\t\t// Check if any nested submenu is active (for collapsed state parent selection)\r\n\t\t\t\tconst hasActiveSubmenu = !props.open && isSubmenuActive(menu)\r\n\t\t\t\tconst shouldHighlightParent = isMenuActive || hasActiveSubmenu\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Tooltip\r\n\t\t\t\t\t\ttitle={menu.label}\r\n\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\tarrow\r\n\t\t\t\t\t\tkey={`${menu.label}-${index}`}\r\n\t\t\t\t\t\tdisableHoverListener={props.open}\r\n\t\t\t\t\t\tdisableFocusListener={props.open}\r\n\t\t\t\t\t\tdisableTouchListener={props.open}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<ListItem\r\n\t\t\t\t\t\t\tdisablePadding\r\n\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\tdisplay: 'block',\r\n\t\t\t\t\t\t\t\t// mb: 0.5,\r\n\t\t\t\t\t\t\t\t...(isRtl && {\r\n\t\t\t\t\t\t\t\t\tpadding: 0,\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<ListItemButton\r\n\t\t\t\t\t\t\t\tonClick={(e) => {\r\n\t\t\t\t\t\t\t\t\tif (!props.open && menu.submenu?.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\thandleCollapsedMenuClick(e, menu)\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\thandleMenuClick(menu, parent, menu?.submenu ? -1 : index)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tselected={shouldHighlightParent}\r\n\t\t\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\t\t\tminHeight: props.open ? 32 : 32,\r\n\t\t\t\t\t\t\t\t\tjustifyContent: props.open ? 'initial' : 'center',\r\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\tborderRadius: 2,\r\n\t\t\t\t\t\t\t\t\tgap: 1,\r\n\t\t\t\t\t\t\t\t\t// mx: props.open ? 1 : 0.5,\r\n\t\t\t\t\t\t\t\t\t// px: props.open ? 2 : 1,\r\n\t\t\t\t\t\t\t\t\t// py: 1,\r\n\t\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\r\n\r\n\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\r\n\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t'& .MuiTypography-root': {\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\r\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t'&:hover': {\r\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)',\r\n\t\t\t\t\t\t\t\t\t\ttransform: props.open ? 'none' : 'scale(1.02)',\r\n\t\t\t\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\t\t\t\t...(!props.open &&\r\n\t\t\t\t\t\t\t\t\t\tmenu.submenu?.length > 0 && {\r\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\r\n\t\t\t\t\t\t\t\t\t\t'&::after': {\r\n\t\t\t\t\t\t\t\t\t\t\tcontent: '\"\"',\r\n\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\r\n\t\t\t\t\t\t\t\t\t\t\t...(isRtl\r\n\t\t\t\t\t\t\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tleft: 8,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderRight: '5px solid',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tright: 8,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderLeft: '5px solid',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\ttop: '25%',\r\n\t\t\t\t\t\t\t\t\t\t\ttransform: 'translateY(-50%)',\r\n\t\t\t\t\t\t\t\t\t\t\twidth: 0,\r\n\t\t\t\t\t\t\t\t\t\t\theight: 0,\r\n\t\t\t\t\t\t\t\t\t\t\tborderTop: '4px solid transparent',\r\n\t\t\t\t\t\t\t\t\t\t\tborderBottom: '4px solid transparent',\r\n\t\t\t\t\t\t\t\t\t\t\tborderColor: 'currentColor transparent transparent transparent',\r\n\t\t\t\t\t\t\t\t\t\t\topacity: 0.7,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<ListItemIcon\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tminWidth: props.open ? 'auto' : 0,\r\n\t\t\t\t\t\t\t\t\t\t// mr: props.open ? 1 : 'auto',\r\n\t\t\t\t\t\t\t\t\t\t...(isRtl ? { ml: 0 } : {}),\r\n\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{menu.icon ? (\r\n\t\t\t\t\t\t\t\t\t\t<DynamicSvgIcon svgPath={menu.icon} color={shouldHighlightParent ? 'primary' : 'grey'} fontSize={props.open ? 'small' : 'medium'} />\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: props.open ? 24 : 28,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</ListItemIcon>\r\n\r\n\t\t\t\t\t\t\t\t{props.open && (\r\n\t\t\t\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<Text\r\n\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\r\n\t\t\t\t\t\t\t\t\t\t\tweight={level === 0 ? 'medium' : 'normal'}\r\n\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\tpl: level * 1.5,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: level === 0 ? '0.875rem' : '0.8125rem',\r\n\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\r\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\r\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\r\n\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{menu.label}\r\n\t\t\t\t\t\t\t\t\t\t</Text>\r\n\r\n\t\t\t\t\t\t\t\t\t\t{menu.submenu?.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'transform 0.2s ease-in-out',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandLess\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandMore\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</ListItemButton>\r\n\r\n\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) && menu.submenu?.length > 0 && props.open && (\r\n\t\t\t\t\t\t\t\t<Collapse in={openSubmenuArray.includes(menuKey)} timeout=\"auto\" unmountOnExit>\r\n\t\t\t\t\t\t\t\t\t<List component=\"div\" disablePadding sx={{ mt: 0.5 }}>\r\n\t\t\t\t\t\t\t\t\t\t{renderMenu(menu.submenu, menu, level + 1)}\r\n\t\t\t\t\t\t\t\t\t</List>\r\n\t\t\t\t\t\t\t\t</Collapse>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t</Tooltip>\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t},\r\n\t\t[props.open, openSubmenuArray, getActiveClassIf, handleCollapsedMenuClick, handleMenuClick, isSubmenuActive, isRtl]\r\n\t)\r\n\r\n\t// Enhanced useEffect for auto-expanding active menus\r\n\tuseEffect(() => {\r\n\t\thandleSidebarSearch(search)\r\n\r\n\t\tif (props.menu?.length) {\r\n\t\t\tconst expandedMenus: string[] = []\r\n\r\n\t\t\tconst checkAndExpandMenu = (menuItems: MenuItem[], parentLabel = '') => {\r\n\t\t\t\tmenuItems.forEach((menu) => {\r\n\t\t\t\t\tif (menu?.submenu?.length) {\r\n\t\t\t\t\t\tconst menuKey = `${parentLabel}-${menu.label}`\r\n\t\t\t\t\t\tconst allPaths = getAllMenuPaths(menu)\r\n\r\n\t\t\t\t\t\tif (getActiveClassIf(allPaths)) {\r\n\t\t\t\t\t\t\texpandedMenus.push(menuKey)\r\n\t\t\t\t\t\t\tcheckAndExpandMenu(menu.submenu, menu.label)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tcheckAndExpandMenu(props.menu)\r\n\t\t\tsetOpenSubmenuArray(expandedMenus)\r\n\t\t}\r\n\t}, [getActiveClassIf, handleSidebarSearch, props.menu, search, getAllMenuPaths])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (props.open) {\r\n\t\t\thandleCollapsedSubmenuClose()\r\n\t\t}\r\n\t}, [props.open, handleCollapsedSubmenuClose])\r\n\r\n\tdrawerWidth = props.width\r\n\r\n\tconst appLogo = getApiConfig().appLogo || images.logo\r\n\tconst appFavicon = getApiConfig().appFavicon || images.favicon\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Drawer\r\n\t\t\t\tvariant=\"permanent\"\r\n\t\t\t\topen={props.open}\r\n\t\t\t\tanchor={document.body.dir === 'rtl' ? 'right' : 'left'}\r\n\t\t\t\tonMouseEnter={props.handleMouseEnter}\r\n\t\t\t\tonMouseLeave={props.handleMouseLeave}\r\n\t\t\t>\r\n\t\t\t\t<Box\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\tflexDirection: 'column',\r\n\t\t\t\t\t\theight: '100%',\r\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t<Box\r\n\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<DrawerHeader>\r\n\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\tsrc={props.open ? appLogo : appFavicon}\r\n\t\t\t\t\t\t\t\talt={props.open ? 'logo' : 'favicon'}\r\n\t\t\t\t\t\t\t\twidth={!props.open && 40}\r\n\t\t\t\t\t\t\t\theight={55}\r\n\t\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\r\n\t\t\t\t\t\t\t\t\tfilter: 'brightness(1.1)',\r\n\t\t\t\t\t\t\t\t\tcursor: 'pointer',\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonClick={() => navigate(props.dashboardPath || Pathname.DASHBOARD)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</DrawerHeader>\r\n\t\t\t\t\t</Box>\r\n\r\n\t\t\t\t\t{/* Search Bar */}\r\n\t\t\t\t\t{props.open ? (\r\n\t\t\t\t\t\t<Box sx={{ px: 1.5, py: 1.5, borderBottom: '1px solid', borderColor: 'theme.secondary.200' }}>\r\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 } }} />\r\n\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<ClickAwayListener onClickAway={handleCloseSearchTooltip}>\r\n\t\t\t\t\t\t\t<Box sx={{ p: 1, pb: 0, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\r\n\t\t\t\t\t\t\t\t<Tooltip\r\n\t\t\t\t\t\t\t\t\ttitle={\r\n\t\t\t\t\t\t\t\t\t\t<SearchBar\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sidebar-search\"\r\n\t\t\t\t\t\t\t\t\t\t\thandleSearch={setSearch}\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Search menu...\"\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={search}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{ '&.MuiTextField-root': { backgroundColor: 'transparent' } }}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\t\t\t\tarrow\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tp: 0,\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'grey.200',\r\n\t\t\t\t\t\t\t\t\t\tborder: '1px solid',\r\n\t\t\t\t\t\t\t\t\t\tborderColor: 'grey.300',\r\n\t\t\t\t\t\t\t\t\t\t'& .MuiTooltip-arrow': {\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: 'grey.300',\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\tml: '8px !important'\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\topen={isOpenSearchTooltop}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<IconButton color='inherit' sx={{ borderRadius: 2, p: 1.5, backgroundColor: isOpenSearchTooltop ? 'grey.200' : 'inherit' }} onClick={handleOpenSearchTooltip}>\r\n\t\t\t\t\t\t\t\t\t\t{search.trim() ? <SearchStatus /> : <Search />}\r\n\t\t\t\t\t\t\t\t\t</IconButton>\r\n\t\t\t\t\t\t\t\t</Tooltip>\r\n\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t</ClickAwayListener>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{/* Menu List */}\r\n\t\t\t\t\t<Box\r\n\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\toverflowY: 'auto',\r\n\t\t\t\t\t\t\tpy: 1,\r\n\t\t\t\t\t\t\t'&::-webkit-scrollbar': {\r\n\t\t\t\t\t\t\t\twidth: 6,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-track': {\r\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-thumb': {\r\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\r\n\t\t\t\t\t\t\t\tborderRadius: 3,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<List className=\"sidebar-list\" sx={{ p: 0 }}>\r\n\t\t\t\t\t\t\t{renderMenu(menus, null, 0)}\r\n\t\t\t\t\t\t</List>\r\n\t\t\t\t\t</Box>\r\n\r\n\t\t\t\t\t{/* Footer */}\r\n\t\t\t\t\t{props.open && (\r\n\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\tborderTop: '1px solid',\r\n\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\r\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(255, 255, 255, 0.5)',\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\tpadding: '.75rem 1.5rem',\r\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\talignItems: 'self-start',\r\n\t\t\t\t\t\t\t\t\tgap: 0.5,\r\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '.85rem',\r\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tCrafted with\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.error.500',\r\n\t\t\t\t\t\t\t\t\t\twidth: '1rem',\r\n\t\t\t\t\t\t\t\t\t\theight: '1rem',\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t❤️\r\n\t\t\t\t\t\t\t\t</Icon>\r\n\t\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\r\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<img src={images.erp_logo} />\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</Box>\r\n\t\t\t</Drawer>\r\n\t\t\t<IconButton\r\n\t\t\t\tsize=\"small\"\r\n\t\t\t\tonClick={() => (props.forcedOpen ? props.handleDrawerClose() : props.handleDrawerOpen())}\r\n\t\t\t\tclassName={isRtl ? 'drawer-expand-btn_rtl' : 'drawer-expand-btn'}\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tml: 'auto',\r\n\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\r\n\t\t\t\t\t'&:hover': {\r\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t// transition: 'all 0.2s ease-in-out',\r\n\t\t\t\t\twidth: '30px',\r\n\t\t\t\t\theight: '30px',\r\n\t\t\t\t\tborderRadius: `8px`,\r\n\t\t\t\t\tborderTopLeftRadius: 0,\r\n\t\t\t\t\tborderBottomLeftRadius: 0,\r\n\t\t\t\t\tborderColor: 'grey.500',\r\n\t\t\t\t\t...(isRtl\r\n\t\t\t\t\t\t? !props.forcedOpen\r\n\t\t\t\t\t\t\t? { right: '63px !important', left: 'auto' }\r\n\t\t\t\t\t\t\t: { right: '299px', left: 'auto' }\r\n\t\t\t\t\t\t: !props.forcedOpen\r\n\t\t\t\t\t\t\t? { left: '63px !important', right: 'auto' }\r\n\t\t\t\t\t\t\t: { left: '299px', right: 'auto' }),\r\n\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\t{props.theme.direction === 'rtl' ? (\r\n\t\t\t\t\tprops.forcedOpen ? (\r\n\t\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\r\n\t\t\t\t\t)\r\n\t\t\t\t) : props.forcedOpen ? (\r\n\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\r\n\t\t\t\t)}\r\n\t\t\t</IconButton>\r\n\t\t\t{/* Collapsed Submenu Popover */}\r\n\t\t\t{collapsedSubmenuState.menu && (\r\n\t\t\t\t<CollapsedSubmenu\r\n\t\t\t\t\tmenu={collapsedSubmenuState.menu}\r\n\t\t\t\t\tanchorEl={collapsedSubmenuState.anchorEl}\r\n\t\t\t\t\topen={collapsedSubmenuState.open}\r\n\t\t\t\t\tonClose={handleCollapsedSubmenuClose}\r\n\t\t\t\t\tonItemClick={handleSubmenuItemClick}\r\n\t\t\t\t\tonSubmenuClick={handleCollapsedSubmenuClick}\r\n\t\t\t\t\tgetActiveClassIf={getActiveClassIf}\r\n\t\t\t\t\tbreadcrumb={collapsedSubmenuState.breadcrumb}\r\n\t\t\t\t\tonBreadcrumbClick={handleBreadcrumbClick}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t</>\r\n\t)\r\n}\r\n\r\nexport default Sidebar\r\n"],"names":["props","React","Typography","_a","Text","search","menus","_b","IconExpandMore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidebar-DTv1DxTn.esm.js","sources":["../src/assets/dynamic-svg-icon/dynamic-svg-icon.tsx","../src/components/sidebar/sidebar.tsx"],"sourcesContent":["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 */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport { matchRoutes, useLocation, useNavigate } from 'react-router-dom'\r\n\r\nimport { styled, Theme, CSSObject } from '@mui/material/styles'\r\nimport MuiDrawer from '@mui/material/Drawer'\r\nimport List from '@mui/material/List'\r\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft'\r\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\r\nimport ListItem from '@mui/material/ListItem'\r\nimport ListItemButton from '@mui/material/ListItemButton'\r\nimport ListItemIcon from '@mui/material/ListItemIcon'\r\nimport IconExpandLess from '@mui/icons-material/ExpandLess'\r\nimport IconExpandMore from '@mui/icons-material/ExpandMore'\r\nimport Typography from '@mui/material/Typography'\r\nimport Box from '@mui/material/Box'\r\nimport { Icon, IconButton, Popover, Paper, ClickAwayListener } from '@mui/material'\r\nimport Collapse from '@mui/material/Collapse'\r\n\r\nimport Text from '../typography/typography'\r\nimport images from '../../assets/images'\r\n\r\nimport './sidebar.scss'\r\nimport SearchBar from '../search-bar/search-bar'\r\nimport Tooltip from '../tooltip/Tooltip'\r\nimport { useLanguage } from '../../hooks/useLangauge'\r\nimport DynamicSvgIcon from '../../assets/dynamic-svg-icon/dynamic-svg-icon'\r\nimport { Search, SearchStatus } from '../icons'\r\nimport { Pathname } from '../../constants/pathnames'\r\nimport { getApiConfig } from '@/utils'\r\n\r\n// Types\r\ninterface MenuItem {\r\n\tlabel: string\r\n\tlink: string\r\n\ticon?: string\r\n\tsubmenu?: MenuItem[]\r\n\tconnectedRoutes?: string[]\r\n}\r\n\r\ninterface CollapsedSubmenuState {\r\n\topen: boolean\r\n\tanchorEl: HTMLElement | null\r\n\tmenu: MenuItem | null\r\n\tbreadcrumb: MenuItem[]\r\n}\r\n\r\nlet drawerWidth: any\r\n\r\nconst openedMixin = (theme: Theme): CSSObject => ({\r\n\twidth: drawerWidth,\r\n\ttransition: theme.transitions.create('width', {\r\n\t\teasing: theme.transitions.easing.sharp,\r\n\t\tduration: theme.transitions.duration.enteringScreen,\r\n\t}),\r\n\toverflowX: 'hidden',\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'space-between',\r\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\r\n\tbackgroundColor: theme.palette.theme?.secondary[100],\r\n})\r\n\r\nconst closedMixin = (theme: Theme): CSSObject => ({\r\n\ttransition: theme.transitions.create('width', {\r\n\t\teasing: theme.transitions.easing.sharp,\r\n\t\tduration: theme.transitions.duration.leavingScreen,\r\n\t}),\r\n\toverflowX: 'hidden',\r\n\twidth: `calc(${theme.spacing(7)} + 1px)`,\r\n\t[theme.breakpoints.up('sm')]: {\r\n\t\twidth: `calc(${theme.spacing(8)} + 1px)`,\r\n\t},\r\n\tborderRight: `1px solid ${theme.palette.theme?.secondary[200]}`,\r\n\tbackgroundColor: theme.palette.theme?.secondary[100],\r\n})\r\n\r\nconst Drawer = styled(MuiDrawer, {\r\n\tshouldForwardProp: (prop) => prop !== 'open',\r\n})(({ theme, open }) => ({\r\n\twidth: drawerWidth,\r\n\tflexShrink: 0,\r\n\twhiteSpace: 'nowrap',\r\n\tboxSizing: 'border-box',\r\n\t'.MuiDrawer-paper': {\r\n\t\tbackgroundColor: theme?.palette?.theme?.secondary?.[100],\r\n\t\toverflow: 'visible !important',\r\n\t\tzIndex: 1201,\r\n\t},\r\n\t...(open && {\r\n\t\t...openedMixin(theme),\r\n\t\t'& .MuiDrawer-paper': openedMixin(theme),\r\n\t}),\r\n\t...(!open && {\r\n\t\t...closedMixin(theme),\r\n\t\t'& .MuiDrawer-paper': closedMixin(theme),\r\n\t}),\r\n}))\r\n\r\nconst DrawerHeader = styled('div')(({ theme }) => ({\r\n\tdisplay: 'flex',\r\n\talignItems: 'center',\r\n\tjustifyContent: 'center',\r\n\tpadding: theme.spacing(0, 2),\r\n\t...theme.mixins.toolbar,\r\n\tminHeight: 64,\r\n}))\r\n\r\nconst SubmenuPopover = styled(Paper)(({ theme }) => ({\r\n\tminWidth: 250,\r\n\tmaxWidth: 350,\r\n\tmaxHeight: '80vh',\r\n\toverflowY: 'auto',\r\n\tbackgroundColor: theme.palette.theme?.secondary?.[100] || theme.palette.background.paper,\r\n\tborderRadius: 12,\r\n\tboxShadow: '0 8px 32px rgba(0, 0, 0, 0.12)',\r\n\tborder: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\r\n\t'&.MuiPaper-root': {\r\n\t\ttransformOrigin: 'top left',\r\n\t},\r\n\t'&::-webkit-scrollbar': {\r\n\t\twidth: 6,\r\n\t},\r\n\t'&::-webkit-scrollbar-track': {\r\n\t\tbackgroundColor: 'transparent',\r\n\t},\r\n\t'&::-webkit-scrollbar-thumb': {\r\n\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\r\n\t\tborderRadius: 3,\r\n\t},\r\n}))\r\n\r\nconst BreadcrumbContainer = styled(Box)(({ theme }) => ({\r\n\tpadding: theme.spacing(1, 2),\r\n\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\r\n\tbackgroundColor: theme.palette.theme?.secondary?.[50] || theme.palette.grey[50],\r\n}))\r\n\r\n// Enhanced CollapsedSubmenu component with nested support\r\nconst CollapsedSubmenu: React.FC<{\r\n\tmenu: MenuItem\r\n\tanchorEl: HTMLElement | null\r\n\topen: boolean\r\n\tonClose: () => void\r\n\tonItemClick: (item: MenuItem) => void\r\n\tonSubmenuClick: (item: MenuItem, event: React.MouseEvent<HTMLElement>) => void\r\n\tgetActiveClassIf: (paths: string[] | string) => boolean\r\n\tbreadcrumb: MenuItem[]\r\n\tonBreadcrumbClick: (item: MenuItem, index: number) => void\r\n}> = ({\r\n\tmenu,\r\n\tanchorEl,\r\n\topen,\r\n\tonClose,\r\n\tonItemClick,\r\n\tonSubmenuClick,\r\n\tgetActiveClassIf,\r\n\tbreadcrumb,\r\n\tonBreadcrumbClick,\r\n}) => {\r\n\t\tconst renderBreadcrumb = () => {\r\n\t\t\tif (breadcrumb.length <= 1) return null\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<BreadcrumbContainer>\r\n\t\t\t\t\t<Box sx={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: 0.5 }}>\r\n\t\t\t\t\t\t{breadcrumb.map((item, index) => (\r\n\t\t\t\t\t\t\t<React.Fragment key={index}>\r\n\t\t\t\t\t\t\t\t{index > 0 && <ChevronRightIcon sx={{ fontSize: 14, color: 'theme.secondary.400' }} />}\r\n\t\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\t\tvariant=\"caption\"\r\n\t\t\t\t\t\t\t\t\tonClick={() => onBreadcrumbClick(item, index)}\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcursor: index < breadcrumb.length - 1 ? 'pointer' : 'default',\r\n\t\t\t\t\t\t\t\t\t\tcolor: index < breadcrumb.length - 1 ? 'primary.main' : 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\tfontWeight: index === breadcrumb.length - 1 ? 600 : 400,\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\r\n\t\t\t\t\t\t\t\t\t\t'&:hover':\r\n\t\t\t\t\t\t\t\t\t\t\tindex < breadcrumb.length - 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextDecoration: 'underline',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t: {},\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t</React.Fragment>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</Box>\r\n\t\t\t\t</BreadcrumbContainer>\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<ClickAwayListener onClickAway={onClose}>\r\n\t\t\t\t<Popover\r\n\t\t\t\t\topen={open}\r\n\t\t\t\t\tanchorEl={anchorEl}\r\n\t\t\t\t\tonClose={onClose}\r\n\t\t\t\t\tanchorOrigin={{\r\n\t\t\t\t\t\tvertical: 'center',\r\n\t\t\t\t\t\thorizontal: 'right',\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttransformOrigin={{\r\n\t\t\t\t\t\tvertical: 'center',\r\n\t\t\t\t\t\thorizontal: 'left',\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tPaperComponent={SubmenuPopover}\r\n\t\t\t\t\televation={1}\r\n\t\t\t\t\tdisableRestoreFocus\r\n\t\t\t\t\tdisableAutoFocus\r\n\t\t\t\t\tdisableEnforceFocus\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tml: 0.5,\r\n\t\t\t\t\t\t'& .MuiPopover-paper': {\r\n\t\t\t\t\t\t\t// overflow: 'visible',\r\n\t\t\t\t\t\t\tmarginTop: 0,\r\n\t\t\t\t\t\t\tpointerEvents: 'auto',\r\n\t\t\t\t\t\t\t// border: '1px solid',\r\n\t\t\t\t\t\t\t// borderColor: 'theme.secondary.200',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttransitionDuration={200}\r\n\t\t\t\t>\r\n\t\t\t\t\t<Box>\r\n\t\t\t\t\t\t{renderBreadcrumb()}\r\n\r\n\t\t\t\t\t\t<Box>\r\n\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\tvariant=\"subtitle2\"\r\n\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\tpx: 2,\r\n\t\t\t\t\t\t\t\t\tpy: 1,\r\n\t\t\t\t\t\t\t\t\tfontWeight: 600,\r\n\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.1000',\r\n\t\t\t\t\t\t\t\t\tborderBottom: breadcrumb.length > 1 ? 'none' : '1px solid',\r\n\t\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\r\n\t\t\t\t\t\t\t\t\tmb: 0.5,\r\n\t\t\t\t\t\t\t\t\tfontSize: '0.875rem',\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{menu.label}\r\n\t\t\t\t\t\t\t</Typography>\r\n\r\n\t\t\t\t\t\t\t<List component=\"div\" sx={{ py: 0 }}>\r\n\t\t\t\t\t\t\t\t{menu.submenu?.map((subItem: MenuItem, index: number) => {\r\n\t\t\t\t\t\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<ListItem key={index} disablePadding>\r\n\t\t\t\t\t\t\t\t\t\t\t<ListItemButton\r\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (subItem.submenu?.length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSubmenuClick(subItem, e)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonItemClick(subItem)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselected={isActive}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tminHeight: 32,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t// px: 2,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t// py: 0.75,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 1.5,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t// mx: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmb: 0.25,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'primary.main',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{subItem.icon && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ListItemIcon sx={{ minWidth: 32 }}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={subItem.icon}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt={subItem.label + ' icon'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// width={20}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// height={20}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ opacity: 0.8 }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ListItemIcon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tweight=\"normal\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '0.875rem',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{subItem.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{subItem.submenu?.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 18,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.500',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t</ListItemButton>\r\n\t\t\t\t\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</List>\r\n\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t</Box>\r\n\t\t\t\t</Popover>\r\n\t\t\t</ClickAwayListener>\r\n\t\t)\r\n\t}\r\n\r\ninterface SidebarProps {\r\n\twidth: number\r\n\topen: boolean\r\n\tmenu: MenuItem[]\r\n\ttheme: any\r\n\tforcedOpen: boolean\r\n\thandleMouseEnter: () => void\r\n\thandleMouseLeave: () => void\r\n\thandleDrawerClose: () => void\r\n\thandleDrawerOpen: () => void\r\n\tdashboardPath?: string\r\n}\r\n\r\nexport const Sidebar: React.FC<SidebarProps> = (props) => {\r\n\tconst navigate = useNavigate()\r\n\tconst currentLocation = useLocation()\r\n\tconst { currentLanguage } = useLanguage()\r\n\tconst isRtl = useMemo(() => currentLanguage?.direction === 'rtl', [currentLanguage])\r\n\tconst [collapsedSubmenuState, setCollapsedSubmenuState] = useState<CollapsedSubmenuState>({\r\n\t\topen: false,\r\n\t\tanchorEl: null,\r\n\t\tmenu: null,\r\n\t\tbreadcrumb: [],\r\n\t})\r\n\r\n\tconst [menus, setMenus] = useState<MenuItem[]>([])\r\n\tconst [search, setSearch] = useState<string>('')\r\n\tconst [openSubmenuArray, setOpenSubmenuArray] = useState<string[]>([])\r\n\tconst [isOpenSearchTooltop, setIsOpenSearchTooltop] = useState<boolean>(false)\r\n\r\n\t// Enhanced active class checker\r\n\tconst getActiveClassIf = useCallback(\r\n\t\t(paths: string[] | string) => {\r\n\t\t\tconst shouldMatch: { path: string }[] = Array.isArray(paths)\r\n\t\t\t\t? paths.map((path: string) => ({ path }))\r\n\t\t\t\t: [{ path: paths }]\r\n\r\n\t\t\treturn Boolean(matchRoutes(shouldMatch, currentLocation))\r\n\t\t},\r\n\t\t[currentLocation]\r\n\t)\r\n\r\n\t// Find if any submenu item is active (for parent selection when collapsed)\r\n\tconst isSubmenuActive = useCallback(\r\n\t\t(menu: MenuItem): boolean => {\r\n\t\t\tif (!menu.submenu?.length) return false\r\n\r\n\t\t\tfor (const subItem of menu.submenu) {\r\n\t\t\t\tconst isActive = getActiveClassIf([...(subItem?.connectedRoutes || []), ...[subItem.link]])\r\n\r\n\t\t\t\tif (isActive || isSubmenuActive(subItem)) {\r\n\t\t\t\t\treturn true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false\r\n\t\t},\r\n\t\t[getActiveClassIf]\r\n\t)\r\n\r\n\t// Get all menu paths for a menu item (including nested)\r\n\tconst getAllMenuPaths = useCallback((menu: MenuItem): string[] => {\r\n\t\tconst paths: string[] = []\r\n\r\n\t\tif (menu.link) {\r\n\t\t\tpaths.push(menu.link)\r\n\t\t}\r\n\r\n\t\tif (menu.connectedRoutes?.length) {\r\n\t\t\tpaths.push(...menu.connectedRoutes)\r\n\t\t}\r\n\r\n\t\tif (menu.submenu?.length) {\r\n\t\t\tmenu.submenu.forEach((subItem) => {\r\n\t\t\t\tpaths.push(...getAllMenuPaths(subItem))\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\treturn paths\r\n\t}, [])\r\n\r\n\t// Enhanced collapsed menu click handler\r\n\tconst handleCollapsedMenuClick = useCallback(\r\n\t\t(event: React.MouseEvent<HTMLElement>, menu: MenuItem) => {\r\n\t\t\tevent.stopPropagation()\r\n\r\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\r\n\t\t\t\tif (collapsedSubmenuState.open && collapsedSubmenuState.menu?.label === menu.label) {\r\n\t\t\t\t\tsetCollapsedSubmenuState({\r\n\t\t\t\t\t\topen: false,\r\n\t\t\t\t\t\tanchorEl: null,\r\n\t\t\t\t\t\tmenu: null,\r\n\t\t\t\t\t\tbreadcrumb: [],\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetCollapsedSubmenuState({\r\n\t\t\t\t\t\topen: true,\r\n\t\t\t\t\t\tanchorEl: event.currentTarget,\r\n\t\t\t\t\t\tmenu: menu,\r\n\t\t\t\t\t\tbreadcrumb: [menu],\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t[props.open, collapsedSubmenuState]\r\n\t)\r\n\r\n\t// Handle submenu navigation in collapsed mode\r\n\tconst handleCollapsedSubmenuClick = useCallback((item: MenuItem, event: React.MouseEvent<HTMLElement>) => {\r\n\t\tif (item.submenu?.length) {\r\n\t\t\tsetCollapsedSubmenuState((prev) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tmenu: item,\r\n\t\t\t\tbreadcrumb: [...prev.breadcrumb, item],\r\n\t\t\t}))\r\n\t\t}\r\n\t}, [])\r\n\r\n\t// Handle breadcrumb navigation\r\n\tconst handleBreadcrumbClick = useCallback((item: MenuItem, index: number) => {\r\n\t\tsetCollapsedSubmenuState((prev) => ({\r\n\t\t\t...prev,\r\n\t\t\tmenu: item,\r\n\t\t\tbreadcrumb: prev.breadcrumb.slice(0, index + 1),\r\n\t\t}))\r\n\t}, [])\r\n\r\n\tconst handleCollapsedSubmenuClose = useCallback(() => {\r\n\t\tsetCollapsedSubmenuState({\r\n\t\t\topen: false,\r\n\t\t\tanchorEl: null,\r\n\t\t\tmenu: null,\r\n\t\t\tbreadcrumb: [],\r\n\t\t})\r\n\t}, [])\r\n\r\n\tconst handleSubmenuItemClick = useCallback(\r\n\t\t(item: MenuItem) => {\r\n\t\t\tnavigate(item.link)\r\n\t\t},\r\n\t\t[navigate]\r\n\t)\r\n\r\n\t// Enhanced menu click handler\r\n\tconst handleMenuClick = useCallback(\r\n\t\t(menu: MenuItem, parent: MenuItem | null, index: number) => {\r\n\t\t\tif (!props.open && menu.submenu?.length > 0) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tif (!menu.submenu?.length) {\r\n\t\t\t\tnavigate(menu.link)\r\n\t\t\t\tif (!parent) {\r\n\t\t\t\t\tsetOpenSubmenuArray([])\r\n\t\t\t\t}\r\n\t\t\t} else if (menu.submenu?.length && menu.submenu[index]?.link) {\r\n\t\t\t\tnavigate(`${menu.link}${menu.submenu[index].link}`)\r\n\t\t\t} else {\r\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\r\n\r\n\t\t\t\tif (openSubmenuArray.includes(menuKey)) {\r\n\t\t\t\t\tif (parent) {\r\n\t\t\t\t\t\tconst newSubArray = openSubmenuArray.filter((f) => f !== menuKey)\r\n\t\t\t\t\t\tsetOpenSubmenuArray([...newSubArray])\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetOpenSubmenuArray([])\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (parent) {\r\n\t\t\t\t\t\tsetOpenSubmenuArray([...openSubmenuArray, menuKey])\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetOpenSubmenuArray([menuKey])\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t[props.open, navigate, openSubmenuArray]\r\n\t)\r\n\r\n\t// Enhanced search functionality\r\n\tconst filterMenuOnSearch = useCallback((menu: MenuItem[], search: string): MenuItem[] => {\r\n\t\treturn menu\r\n\t\t\t.filter((m: MenuItem) => {\r\n\t\t\t\tif (m?.label?.toLowerCase()?.includes(search)) {\r\n\t\t\t\t\treturn m\r\n\t\t\t\t} else if (m?.submenu?.length) {\r\n\t\t\t\t\tm.submenu = filterMenuOnSearch(m?.submenu, search)\r\n\t\t\t\t\treturn m.submenu?.length > 0 ? m : null\r\n\t\t\t\t}\r\n\t\t\t\treturn null\r\n\t\t\t})\r\n\t\t\t.filter(Boolean)\r\n\t}, [])\r\n\r\n\tconst handleSidebarSearch = useCallback(\r\n\t\t(search: string) => {\r\n\t\t\tif (!search) {\r\n\t\t\t\tsetMenus(props.menu || [])\r\n\t\t\t} else {\r\n\t\t\t\tconst searchTerm = search.toLowerCase()\r\n\t\t\t\tconst menuItems = props?.menu ? JSON.parse(JSON.stringify(props.menu)) : []\r\n\t\t\t\tconst filteredMenu = filterMenuOnSearch(menuItems, searchTerm)\r\n\t\t\t\tsetMenus(filteredMenu)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[props.menu, filterMenuOnSearch]\r\n\t)\r\n\r\n\tconst handleOpenSearchTooltip = useCallback(() => setIsOpenSearchTooltop(true), []);\r\n\tconst handleCloseSearchTooltip = useCallback(() => setIsOpenSearchTooltop(false), []);\r\n\r\n\t// Enhanced menu renderer with better nested support\r\n\tconst renderMenu = useCallback(\r\n\t\t(menus: MenuItem[], parent: MenuItem | null, level: number) => {\r\n\t\t\treturn menus?.map((menu: MenuItem, index: number) => {\r\n\t\t\t\tconst menuKey = `${parent?.label || ''}-${menu.label}`\r\n\t\t\t\tconst isMenuActive = getActiveClassIf([...(menu?.connectedRoutes || []), ...[menu.link]])\r\n\r\n\t\t\t\t// Check if any nested submenu is active (for collapsed state parent selection)\r\n\t\t\t\tconst hasActiveSubmenu = !props.open && isSubmenuActive(menu)\r\n\t\t\t\tconst shouldHighlightParent = isMenuActive || hasActiveSubmenu\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Tooltip\r\n\t\t\t\t\t\ttitle={menu.label}\r\n\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\tarrow\r\n\t\t\t\t\t\tkey={`${menu.label}-${index}`}\r\n\t\t\t\t\t\tdisableHoverListener={props.open}\r\n\t\t\t\t\t\tdisableFocusListener={props.open}\r\n\t\t\t\t\t\tdisableTouchListener={props.open}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<ListItem\r\n\t\t\t\t\t\t\tdisablePadding\r\n\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\tdisplay: 'block',\r\n\t\t\t\t\t\t\t\t// mb: 0.5,\r\n\t\t\t\t\t\t\t\t...(isRtl && {\r\n\t\t\t\t\t\t\t\t\tpadding: 0,\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<ListItemButton\r\n\t\t\t\t\t\t\t\tonClick={(e) => {\r\n\t\t\t\t\t\t\t\t\tif (!props.open && menu.submenu?.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\thandleCollapsedMenuClick(e, menu)\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\thandleMenuClick(menu, parent, menu?.submenu ? -1 : index)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tselected={shouldHighlightParent}\r\n\t\t\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\t\t\tminHeight: props.open ? 32 : 32,\r\n\t\t\t\t\t\t\t\t\tjustifyContent: props.open ? 'initial' : 'center',\r\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\tborderRadius: 2,\r\n\t\t\t\t\t\t\t\t\tgap: 1,\r\n\t\t\t\t\t\t\t\t\t// mx: props.open ? 1 : 0.5,\r\n\t\t\t\t\t\t\t\t\t// px: props.open ? 2 : 1,\r\n\t\t\t\t\t\t\t\t\t// py: 1,\r\n\t\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\r\n\r\n\t\t\t\t\t\t\t\t\t'&.Mui-selected': {\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[100],\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\r\n\t\t\t\t\t\t\t\t\t\t'& .MuiListItemIcon-root': {\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t'& .MuiTypography-root': {\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.theme?.primary[800],\r\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t'&.Mui-selected:hover': {\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.theme?.primary[200],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t'&:hover': {\r\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)',\r\n\t\t\t\t\t\t\t\t\t\ttransform: props.open ? 'none' : 'scale(1.02)',\r\n\t\t\t\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\t\t\t\t...(!props.open &&\r\n\t\t\t\t\t\t\t\t\t\tmenu.submenu?.length > 0 && {\r\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\r\n\t\t\t\t\t\t\t\t\t\t'&::after': {\r\n\t\t\t\t\t\t\t\t\t\t\tcontent: '\"\"',\r\n\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\r\n\t\t\t\t\t\t\t\t\t\t\t...(isRtl\r\n\t\t\t\t\t\t\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tleft: 8,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderRight: '5px solid',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tright: 8,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderLeft: '5px solid',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\ttop: '25%',\r\n\t\t\t\t\t\t\t\t\t\t\ttransform: 'translateY(-50%)',\r\n\t\t\t\t\t\t\t\t\t\t\twidth: 0,\r\n\t\t\t\t\t\t\t\t\t\t\theight: 0,\r\n\t\t\t\t\t\t\t\t\t\t\tborderTop: '4px solid transparent',\r\n\t\t\t\t\t\t\t\t\t\t\tborderBottom: '4px solid transparent',\r\n\t\t\t\t\t\t\t\t\t\t\tborderColor: 'currentColor transparent transparent transparent',\r\n\t\t\t\t\t\t\t\t\t\t\topacity: 0.7,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<ListItemIcon\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tminWidth: props.open ? 'auto' : 0,\r\n\t\t\t\t\t\t\t\t\t\t// mr: props.open ? 1 : 'auto',\r\n\t\t\t\t\t\t\t\t\t\t...(isRtl ? { ml: 0 } : {}),\r\n\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{menu.icon ? (\r\n\t\t\t\t\t\t\t\t\t\t<DynamicSvgIcon svgPath={menu.icon} color={shouldHighlightParent ? 'primary' : 'grey'} fontSize={props.open ? 'small' : 'medium'} />\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<ChevronRightIcon\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: props.open ? 24 : 28,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease-in-out',\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</ListItemIcon>\r\n\r\n\t\t\t\t\t\t\t\t{props.open && (\r\n\t\t\t\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<Text\r\n\t\t\t\t\t\t\t\t\t\t\ttype={'s3'}\r\n\t\t\t\t\t\t\t\t\t\t\tweight={level === 0 ? 'medium' : 'normal'}\r\n\t\t\t\t\t\t\t\t\t\t\tcolor={'theme.secondary.1000'}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\tpl: level * 1.5,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: level === 0 ? '0.875rem' : '0.8125rem',\r\n\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\r\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\r\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\r\n\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: 'ellipsis',\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{menu.label}\r\n\t\t\t\t\t\t\t\t\t\t</Text>\r\n\r\n\t\t\t\t\t\t\t\t\t\t{menu.submenu?.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tml: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'transform 0.2s ease-in-out',\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandLess\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconExpandMore\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 20,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</ListItemButton>\r\n\r\n\t\t\t\t\t\t\t{openSubmenuArray.includes(menuKey) && menu.submenu?.length > 0 && props.open && (\r\n\t\t\t\t\t\t\t\t<Collapse in={openSubmenuArray.includes(menuKey)} timeout=\"auto\" unmountOnExit>\r\n\t\t\t\t\t\t\t\t\t<List component=\"div\" disablePadding sx={{ mt: 0.5 }}>\r\n\t\t\t\t\t\t\t\t\t\t{renderMenu(menu.submenu, menu, level + 1)}\r\n\t\t\t\t\t\t\t\t\t</List>\r\n\t\t\t\t\t\t\t\t</Collapse>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t</Tooltip>\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t},\r\n\t\t[props.open, openSubmenuArray, getActiveClassIf, handleCollapsedMenuClick, handleMenuClick, isSubmenuActive, isRtl]\r\n\t)\r\n\r\n\t// Enhanced useEffect for auto-expanding active menus\r\n\tuseEffect(() => {\r\n\t\thandleSidebarSearch(search)\r\n\r\n\t\tif (props.menu?.length) {\r\n\t\t\tconst expandedMenus: string[] = []\r\n\r\n\t\t\tconst checkAndExpandMenu = (menuItems: MenuItem[], parentLabel = '') => {\r\n\t\t\t\tmenuItems.forEach((menu) => {\r\n\t\t\t\t\tif (menu?.submenu?.length) {\r\n\t\t\t\t\t\tconst menuKey = `${parentLabel}-${menu.label}`\r\n\t\t\t\t\t\tconst allPaths = getAllMenuPaths(menu)\r\n\r\n\t\t\t\t\t\tif (getActiveClassIf(allPaths)) {\r\n\t\t\t\t\t\t\texpandedMenus.push(menuKey)\r\n\t\t\t\t\t\t\tcheckAndExpandMenu(menu.submenu, menu.label)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tcheckAndExpandMenu(props.menu)\r\n\t\t\tsetOpenSubmenuArray(expandedMenus)\r\n\t\t}\r\n\t}, [getActiveClassIf, handleSidebarSearch, props.menu, search, getAllMenuPaths])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (props.open) {\r\n\t\t\thandleCollapsedSubmenuClose()\r\n\t\t}\r\n\t}, [props.open, handleCollapsedSubmenuClose])\r\n\r\n\tdrawerWidth = props.width\r\n\r\n\tconst appLogo = getApiConfig().appLogo || images.logo\r\n\tconst appFavicon = getApiConfig().appFavicon || images.favicon\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Drawer\r\n\t\t\t\tvariant=\"permanent\"\r\n\t\t\t\topen={props.open}\r\n\t\t\t\tanchor={document.body.dir === 'rtl' ? 'right' : 'left'}\r\n\t\t\t\tonMouseEnter={props.handleMouseEnter}\r\n\t\t\t\tonMouseLeave={props.handleMouseLeave}\r\n\t\t\t>\r\n\t\t\t\t<Box\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\tflexDirection: 'column',\r\n\t\t\t\t\t\theight: '100%',\r\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t{/* Header */}\r\n\t\t\t\t\t<Box\r\n\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\tborderBottom: `1px solid ${theme.palette.theme?.secondary?.[200] || theme.palette.divider}`,\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<DrawerHeader>\r\n\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\tsrc={props.open ? appLogo : appFavicon}\r\n\t\t\t\t\t\t\t\talt={props.open ? 'logo' : 'favicon'}\r\n\t\t\t\t\t\t\t\twidth={!props.open && 40}\r\n\t\t\t\t\t\t\t\theight={55}\r\n\t\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\r\n\t\t\t\t\t\t\t\t\tfilter: 'brightness(1.1)',\r\n\t\t\t\t\t\t\t\t\tcursor: 'pointer',\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonClick={() => navigate(props.dashboardPath || Pathname.DASHBOARD)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</DrawerHeader>\r\n\t\t\t\t\t</Box>\r\n\r\n\t\t\t\t\t{/* Search Bar */}\r\n\t\t\t\t\t{props.open ? (\r\n\t\t\t\t\t\t<Box sx={{ px: 1.5, py: 1.5, borderBottom: '1px solid', borderColor: 'theme.secondary.200' }}>\r\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 } }} />\r\n\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<ClickAwayListener onClickAway={handleCloseSearchTooltip}>\r\n\t\t\t\t\t\t\t<Box sx={{ p: 1, pb: 0, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\r\n\t\t\t\t\t\t\t\t<Tooltip\r\n\t\t\t\t\t\t\t\t\ttitle={\r\n\t\t\t\t\t\t\t\t\t\t<SearchBar\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sidebar-search\"\r\n\t\t\t\t\t\t\t\t\t\t\thandleSearch={setSearch}\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Search menu...\"\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={search}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{ '&.MuiTextField-root': { backgroundColor: 'transparent' } }}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\t\t\t\tarrow\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tp: 0,\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'grey.200',\r\n\t\t\t\t\t\t\t\t\t\tborder: '1px solid',\r\n\t\t\t\t\t\t\t\t\t\tborderColor: 'grey.300',\r\n\t\t\t\t\t\t\t\t\t\t'& .MuiTooltip-arrow': {\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: 'grey.300',\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\tml: '8px !important'\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\topen={isOpenSearchTooltop}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<IconButton color='inherit' sx={{ borderRadius: 2, p: 1.5, backgroundColor: isOpenSearchTooltop ? 'grey.200' : 'inherit' }} onClick={handleOpenSearchTooltip}>\r\n\t\t\t\t\t\t\t\t\t\t{search.trim() ? <SearchStatus /> : <Search />}\r\n\t\t\t\t\t\t\t\t\t</IconButton>\r\n\t\t\t\t\t\t\t\t</Tooltip>\r\n\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t</ClickAwayListener>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{/* Menu List */}\r\n\t\t\t\t\t<Box\r\n\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\tflexGrow: 1,\r\n\t\t\t\t\t\t\toverflowY: 'auto',\r\n\t\t\t\t\t\t\tpy: 1,\r\n\t\t\t\t\t\t\t'&::-webkit-scrollbar': {\r\n\t\t\t\t\t\t\t\twidth: 6,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-track': {\r\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t'&::-webkit-scrollbar-thumb': {\r\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.2)',\r\n\t\t\t\t\t\t\t\tborderRadius: 3,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<List className=\"sidebar-list\" sx={{ p: 0 }}>\r\n\t\t\t\t\t\t\t{renderMenu(menus, null, 0)}\r\n\t\t\t\t\t\t</List>\r\n\t\t\t\t\t</Box>\r\n\r\n\t\t\t\t\t{/* Footer */}\r\n\t\t\t\t\t{props.open && (\r\n\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\tborderTop: '1px solid',\r\n\t\t\t\t\t\t\t\tborderColor: 'theme.secondary.200',\r\n\t\t\t\t\t\t\t\tbackgroundColor: 'rgba(255, 255, 255, 0.5)',\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Box\r\n\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\tpadding: '.75rem 1.5rem',\r\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\t\talignItems: 'self-start',\r\n\t\t\t\t\t\t\t\t\tgap: 0.5,\r\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '.85rem',\r\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tCrafted with\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.error.500',\r\n\t\t\t\t\t\t\t\t\t\twidth: '1rem',\r\n\t\t\t\t\t\t\t\t\t\theight: '1rem',\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t❤️\r\n\t\t\t\t\t\t\t\t</Icon>\r\n\t\t\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'theme.secondary.600',\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '.75rem',\r\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<img src={images.erp_logo} />\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t\t</Box>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</Box>\r\n\t\t\t</Drawer>\r\n\t\t\t<IconButton\r\n\t\t\t\tsize=\"small\"\r\n\t\t\t\tonClick={() => (props.forcedOpen ? props.handleDrawerClose() : props.handleDrawerOpen())}\r\n\t\t\t\tclassName={isRtl ? 'drawer-expand-btn_rtl' : 'drawer-expand-btn'}\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tml: 'auto',\r\n\t\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.04)',\r\n\t\t\t\t\t'&:hover': {\r\n\t\t\t\t\t\tbackgroundColor: 'grey.100',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t// transition: 'all 0.2s ease-in-out',\r\n\t\t\t\t\twidth: '30px',\r\n\t\t\t\t\theight: '30px',\r\n\t\t\t\t\tborderRadius: `8px`,\r\n\t\t\t\t\tborderTopLeftRadius: 0,\r\n\t\t\t\t\tborderBottomLeftRadius: 0,\r\n\t\t\t\t\tborderColor: 'grey.500',\r\n\t\t\t\t\t...(isRtl\r\n\t\t\t\t\t\t? !props.forcedOpen\r\n\t\t\t\t\t\t\t? { right: '63px !important', left: 'auto' }\r\n\t\t\t\t\t\t\t: { right: '299px', left: 'auto' }\r\n\t\t\t\t\t\t: !props.forcedOpen\r\n\t\t\t\t\t\t\t? { left: '63px !important', right: 'auto' }\r\n\t\t\t\t\t\t\t: { left: '299px', right: 'auto' }),\r\n\t\t\t\t\ttransition: 'all 0.3s ease-in-out',\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\t{props.theme.direction === 'rtl' ? (\r\n\t\t\t\t\tprops.forcedOpen ? (\r\n\t\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\r\n\t\t\t\t\t)\r\n\t\t\t\t) : props.forcedOpen ? (\r\n\t\t\t\t\t<ChevronLeftIcon fontSize=\"small\" />\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<ChevronRightIcon fontSize=\"small\" />\r\n\t\t\t\t)}\r\n\t\t\t</IconButton>\r\n\t\t\t{/* Collapsed Submenu Popover */}\r\n\t\t\t{collapsedSubmenuState.menu && (\r\n\t\t\t\t<CollapsedSubmenu\r\n\t\t\t\t\tmenu={collapsedSubmenuState.menu}\r\n\t\t\t\t\tanchorEl={collapsedSubmenuState.anchorEl}\r\n\t\t\t\t\topen={collapsedSubmenuState.open}\r\n\t\t\t\t\tonClose={handleCollapsedSubmenuClose}\r\n\t\t\t\t\tonItemClick={handleSubmenuItemClick}\r\n\t\t\t\t\tonSubmenuClick={handleCollapsedSubmenuClick}\r\n\t\t\t\t\tgetActiveClassIf={getActiveClassIf}\r\n\t\t\t\t\tbreadcrumb={collapsedSubmenuState.breadcrumb}\r\n\t\t\t\t\tonBreadcrumbClick={handleBreadcrumbClick}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t</>\r\n\t)\r\n}\r\n\r\nexport default Sidebar\r\n"],"names":["props","React","Typography","_a","Text","search","menus","_b","IconExpandMore"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),r=require("react"),n=require("react-router-dom"),o=require("@mui/material/styles"),t=require("@mui/material/Drawer"),l=require("@mui/material/List"),i=require("@mui/icons-material/ChevronLeft"),a=require("@mui/icons-material/ChevronRight"),s=require("@mui/material/ListItem"),u=require("@mui/material/ListItemButton"),c=require("@mui/material/ListItemIcon"),d=require("@mui/icons-material/ExpandLess"),m=require("@mui/icons-material/ExpandMore"),p=require("@mui/material/Typography"),h=require("@mui/material/Box"),b=require("@mui/material"),g=require("@mui/material/Collapse"),x=require("./useAuth-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),r=require("react"),n=require("react-router-dom"),o=require("@mui/material/styles"),t=require("@mui/material/Drawer"),l=require("@mui/material/List"),i=require("@mui/icons-material/ChevronLeft"),a=require("@mui/icons-material/ChevronRight"),s=require("@mui/material/ListItem"),u=require("@mui/material/ListItemButton"),c=require("@mui/material/ListItemIcon"),d=require("@mui/icons-material/ExpandLess"),m=require("@mui/icons-material/ExpandMore"),p=require("@mui/material/Typography"),h=require("@mui/material/Box"),b=require("@mui/material"),g=require("@mui/material/Collapse"),x=require("./useAuth-CVokk6Ra.js"),v=require("./images-E5-7PC4V.js");;/* empty css */const f=require("./Tooltip-BWIywPIG.js"),y=require("./useLangauge-ySJIB0GV.js"),C=require("./api-config-C9BF5LFu.js"),j=require("./pathname.rental-hhA3jITb.js"),k=require("./tick-XKXM5oTD.js");function w(e){return e&&e.__esModule?e.default:e}const S=/* @__PURE__ */w(r),z=/* @__PURE__ */w(t),L=/* @__PURE__ */w(l),I=/* @__PURE__ */w(i),q=/* @__PURE__ */w(a),M=/* @__PURE__ */w(s),E=/* @__PURE__ */w(u),R=/* @__PURE__ */w(c),$=/* @__PURE__ */w(d),B=/* @__PURE__ */w(m),T=/* @__PURE__ */w(p),A=/* @__PURE__ */w(h),O=/* @__PURE__ */w(g),P=({svgPath:n,sx:o={},color:t="inherit",fontSize:l="medium",...i})=>{const[a,s]=r.useState(null),[u,c]=r.useState(!0),[d,m]=r.useState(!1),p=b.useTheme(),h="inherit"===(g=t)?"currentColor":"primary"===g?p.palette.primary.main:"secondary"===g?p.palette.secondary.main:"action"===g?p.palette.action.active:"disabled"===g?p.palette.action.disabled:"error"===g?p.palette.error.main:"info"===g?p.palette.info.main:"success"===g?p.palette.success.main:"warning"===g?p.palette.warning.main:"grey"===g?p.palette.grey.main:g;var g;r.useEffect(()=>{if(!n)return;(async()=>{try{c(!0),m(!1);const e=await fetch(n);if(!e.ok)throw new Error("Failed to fetch SVG");const r=await e.text();s(r)}catch(e){m(!0)}finally{c(!1)}})()},[n]);const x=r.useMemo(()=>{if(!a)return null;try{const e=new DOMParser,r=e.parseFromString(a,"image/svg+xml").querySelector("svg");if(!r)return null;const n=(e,r=0)=>{const o=e.tagName.toLowerCase(),t={};Array.from(e.attributes).forEach(e=>{let r=e.name;"class"===r&&(r="className"),r.includes("-")&&(r=r.replace(/-([a-z])/g,(e,r)=>r.toUpperCase()));let n=e.value;h&&"currentColor"!==h&&("fill"===r&&"none"!==n&&(n=h),"stroke"===r&&"none"!==n&&(n=h)),t[r]=n}),t.key=r;const l=Array.from(e.children).map((e,o)=>n(e,`${r}-${o}`));return 1===e.childNodes.length&&3===e.childNodes[0].nodeType&&l.push(e.textContent),S.createElement(o,t,l.length>0?l:null)};return Array.from(r.children).map((e,r)=>n(e,r))}catch(e){return null}},[a,h]);return u?/* @__PURE__ */e.jsx(b.SvgIcon,{sx:{width:24,height:24,...o},color:t,fontSize:l,...i,children:/* @__PURE__ */e.jsx("circle",{cx:"12",cy:"12",r:"8",fill:"currentColor",opacity:"0.3"})}):d||!x?/* @__PURE__ */e.jsx(b.SvgIcon,{sx:{width:24,height:24,...o},color:t,fontSize:l,...i,children:/* @__PURE__ */e.jsx("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"})}):/* @__PURE__ */e.jsx(b.SvgIcon,{sx:{color:h,fill:"none",...o},fontSize:l,fontWeight:500,viewBox:"0 0 16 16",...i,children:x})};let D;const F=e=>{var r,n;return{width:D,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen}),overflowX:"hidden",display:"flex",flexDirection:"column",justifyContent:"space-between",borderRight:`1px solid ${null==(r=e.palette.theme)?void 0:r.secondary[200]}`,backgroundColor:null==(n=e.palette.theme)?void 0:n.secondary[100]}},N=e=>{var r,n;return{transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),overflowX:"hidden",width:`calc(${e.spacing(7)} + 1px)`,[e.breakpoints.up("sm")]:{width:`calc(${e.spacing(8)} + 1px)`},borderRight:`1px solid ${null==(r=e.palette.theme)?void 0:r.secondary[200]}`,backgroundColor:null==(n=e.palette.theme)?void 0:n.secondary[100]}},W=o.styled(z,{shouldForwardProp:e=>"open"!==e})(({theme:e,open:r})=>{var n,o,t;return{width:D,flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",".MuiDrawer-paper":{backgroundColor:null==(t=null==(o=null==(n=null==e?void 0:e.palette)?void 0:n.theme)?void 0:o.secondary)?void 0:t[100],overflow:"visible !important",zIndex:1201},...r&&{...F(e),"& .MuiDrawer-paper":F(e)},...!r&&{...N(e),"& .MuiDrawer-paper":N(e)}}}),H=o.styled("div")(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"center",padding:e.spacing(0,2),...e.mixins.toolbar,minHeight:64})),G=o.styled(b.Paper)(({theme:e})=>{var r,n,o,t;return{minWidth:250,maxWidth:350,maxHeight:"80vh",overflowY:"auto",backgroundColor:(null==(n=null==(r=e.palette.theme)?void 0:r.secondary)?void 0:n[100])||e.palette.background.paper,borderRadius:12,boxShadow:"0 8px 32px rgba(0, 0, 0, 0.12)",border:`1px solid ${(null==(t=null==(o=e.palette.theme)?void 0:o.secondary)?void 0:t[200])||e.palette.divider}`,"&.MuiPaper-root":{transformOrigin:"top left"},"&::-webkit-scrollbar":{width:6},"&::-webkit-scrollbar-track":{backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:"rgba(0, 0, 0, 0.2)",borderRadius:3}}}),_=o.styled(A)(({theme:e})=>{var r,n,o,t;return{padding:e.spacing(1,2),borderBottom:`1px solid ${(null==(n=null==(r=e.palette.theme)?void 0:r.secondary)?void 0:n[200])||e.palette.divider}`,backgroundColor:(null==(t=null==(o=e.palette.theme)?void 0:o.secondary)?void 0:t[50])||e.palette.grey[50]}}),Y=({menu:r,anchorEl:n,open:o,onClose:t,onItemClick:l,onSubmenuClick:i,getActiveClassIf:a,breadcrumb:s,onBreadcrumbClick:u})=>{var c;/* @__PURE__ */
|
|
2
2
|
return e.jsx(b.ClickAwayListener,{onClickAway:t,children:/* @__PURE__ */e.jsx(b.Popover,{open:o,anchorEl:n,onClose:t,anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},PaperComponent:G,elevation:1,disableRestoreFocus:!0,disableAutoFocus:!0,disableEnforceFocus:!0,sx:{ml:.5,"& .MuiPopover-paper":{marginTop:0,pointerEvents:"auto"}},transitionDuration:200,children:/* @__PURE__ */e.jsxs(A,{children:[s.length<=1?null:/* @__PURE__ */e.jsx(_,{children:/* @__PURE__ */e.jsx(A,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:.5},children:s.map((r,n)=>/* @__PURE__ */e.jsxs(S.Fragment,{children:[n>0&&/* @__PURE__ */e.jsx(q,{sx:{fontSize:14,color:"theme.secondary.400"}}),
|
|
3
3
|
/* @__PURE__ */e.jsx(T,{variant:"caption",onClick:()=>u(r,n),sx:{cursor:n<s.length-1?"pointer":"default",color:n<s.length-1?"primary.main":"theme.secondary.600",fontWeight:n===s.length-1?600:400,fontSize:"0.75rem","&:hover":n<s.length-1?{textDecoration:"underline"}:{}},children:r.label})]},n))})}),
|
|
4
4
|
/* @__PURE__ */e.jsxs(A,{children:[
|
|
@@ -18,4 +18,4 @@ return e.jsxs(e.Fragment,{children:[
|
|
|
18
18
|
/* @__PURE__ */e.jsx(b.Icon,{sx:{color:"theme.error.500",width:"1rem",height:"1rem",fontSize:".75rem"},children:"❤️"}),
|
|
19
19
|
/* @__PURE__ */e.jsx(T,{sx:{color:"theme.secondary.600",fontSize:".75rem",fontWeight:500},children:/* @__PURE__ */e.jsx("img",{src:v.images.erp_logo})})]})})]})}),
|
|
20
20
|
/* @__PURE__ */e.jsx(b.IconButton,{size:"small",onClick:()=>o.forcedOpen?o.handleDrawerClose():o.handleDrawerOpen(),className:a?"drawer-expand-btn_rtl":"drawer-expand-btn",sx:{ml:"auto",backgroundColor:"rgba(0, 0, 0, 0.04)","&:hover":{backgroundColor:"grey.100"},width:"30px",height:"30px",borderRadius:"8px",borderTopLeftRadius:0,borderBottomLeftRadius:0,borderColor:"grey.500",...a?o.forcedOpen?{right:"299px",left:"auto"}:{right:"63px !important",left:"auto"}:o.forcedOpen?{left:"299px",right:"auto"}:{left:"63px !important",right:"auto"},transition:"all 0.3s ease-in-out"},children:"rtl"===o.theme.direction?o.forcedOpen?/* @__PURE__ */e.jsx(q,{fontSize:"small"}):/* @__PURE__ */e.jsx(I,{fontSize:"small"}):o.forcedOpen?/* @__PURE__ */e.jsx(I,{fontSize:"small"}):/* @__PURE__ */e.jsx(q,{fontSize:"small"})}),s.menu&&/* @__PURE__ */e.jsx(Y,{menu:s.menu,anchorEl:s.anchorEl,open:s.open,onClose:X,onItemClick:U,onSubmenuClick:_,getActiveClassIf:z,breadcrumb:s.breadcrumb,onBreadcrumbClick:J})]})};
|
|
21
|
-
//# sourceMappingURL=sidebar-
|
|
21
|
+
//# sourceMappingURL=sidebar-U2vsFarM.js.map
|