@erpsquad/common 1.10.10-test → 1.10.11-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.
Files changed (81) hide show
  1. package/dist/chunks/{android-12-switch-jj9sZdHr.esm.js → android-12-switch-CAuiT5Pz.esm.js} +7 -7
  2. package/dist/chunks/{android-12-switch-jj9sZdHr.esm.js.map → android-12-switch-CAuiT5Pz.esm.js.map} +1 -1
  3. package/dist/chunks/{android-12-switch-DXCSLxql.js → android-12-switch-E6mXBkCx.js} +7 -7
  4. package/dist/chunks/{android-12-switch-DXCSLxql.js.map → android-12-switch-E6mXBkCx.js.map} +1 -1
  5. package/dist/chunks/{apiHelper-CnW4mhWd.esm.js → apiHelper-73EBSKIp.esm.js} +5 -5
  6. package/dist/chunks/{apiHelper-CnW4mhWd.esm.js.map → apiHelper-73EBSKIp.esm.js.map} +1 -1
  7. package/dist/chunks/{apiHelper-Nwi6vehP.js → apiHelper-BVJa3_k8.js} +5 -5
  8. package/dist/chunks/{apiHelper-Nwi6vehP.js.map → apiHelper-BVJa3_k8.js.map} +1 -1
  9. package/dist/chunks/{appbar-DM2iBqb4.esm.js → appbar-CqjkuAGQ.esm.js} +3 -3
  10. package/dist/chunks/{appbar-DM2iBqb4.esm.js.map → appbar-CqjkuAGQ.esm.js.map} +1 -1
  11. package/dist/chunks/{appbar-rfkAYQdQ.js → appbar-pTs1Yhzo.js} +3 -3
  12. package/dist/chunks/{appbar-rfkAYQdQ.js.map → appbar-pTs1Yhzo.js.map} +1 -1
  13. package/dist/chunks/{default-data-B9vVQV5Y.js → default-data-Mq-52KPT.js} +7 -7
  14. package/dist/chunks/{default-data-B9vVQV5Y.js.map → default-data-Mq-52KPT.js.map} +1 -1
  15. package/dist/chunks/{default-data-CTj0tV-U.esm.js → default-data-uGbtWbX3.esm.js} +7 -7
  16. package/dist/chunks/{default-data-CTj0tV-U.esm.js.map → default-data-uGbtWbX3.esm.js.map} +1 -1
  17. package/dist/chunks/{form-builder-deconversion-v5GvXDZ9.js → form-builder-deconversion-C4DFp-Jv.js} +2 -2
  18. package/dist/chunks/{form-builder-deconversion-v5GvXDZ9.js.map → form-builder-deconversion-C4DFp-Jv.js.map} +1 -1
  19. package/dist/chunks/{form-builder-deconversion-CUwBfP4C.esm.js → form-builder-deconversion-CIJWMHun.esm.js} +2 -2
  20. package/dist/chunks/{form-builder-deconversion-CUwBfP4C.esm.js.map → form-builder-deconversion-CIJWMHun.esm.js.map} +1 -1
  21. package/dist/chunks/{fullScreen-Bfrr-bT2.js → fullScreen-BNlY6F_Z.js} +2 -2
  22. package/dist/chunks/{fullScreen-Bfrr-bT2.js.map → fullScreen-BNlY6F_Z.js.map} +1 -1
  23. package/dist/chunks/{fullScreen-BO0UA3Zr.esm.js → fullScreen-CV8aHM8J.esm.js} +2 -2
  24. package/dist/chunks/{fullScreen-BO0UA3Zr.esm.js.map → fullScreen-CV8aHM8J.esm.js.map} +1 -1
  25. package/dist/chunks/{languageContext-BP7EvzMv.js → languageContext-BSEvKGy9.js} +2 -2
  26. package/dist/chunks/{languageContext-BP7EvzMv.js.map → languageContext-BSEvKGy9.js.map} +1 -1
  27. package/dist/chunks/{languageContext-DM_LTp53.esm.js → languageContext-D_khAb2z.esm.js} +2 -2
  28. package/dist/chunks/{languageContext-DM_LTp53.esm.js.map → languageContext-D_khAb2z.esm.js.map} +1 -1
  29. package/dist/chunks/{migration-utils-CnzZeXcT.esm.js → migration-utils-ChJDhzct.esm.js} +2 -2
  30. package/dist/chunks/{migration-utils-CnzZeXcT.esm.js.map → migration-utils-ChJDhzct.esm.js.map} +1 -1
  31. package/dist/chunks/{migration-utils-BWRj500E.js → migration-utils-D_sKDk5V.js} +2 -2
  32. package/dist/chunks/{migration-utils-BWRj500E.js.map → migration-utils-D_sKDk5V.js.map} +1 -1
  33. package/dist/chunks/{page-context-BXcrnujq.esm.js → page-context-D0QJui88.esm.js} +46 -58
  34. package/dist/chunks/page-context-D0QJui88.esm.js.map +1 -0
  35. package/dist/chunks/{page-context-qX5XKOOF.js → page-context-fgpShY8H.js} +45 -57
  36. package/dist/chunks/page-context-fgpShY8H.js.map +1 -0
  37. package/dist/chunks/{sidebar-l49eLo8p.esm.js → sidebar-DGGqCL8z.esm.js} +4 -4
  38. package/dist/chunks/{sidebar-l49eLo8p.esm.js.map → sidebar-DGGqCL8z.esm.js.map} +1 -1
  39. package/dist/chunks/{sidebar-C2zkLZyA.js → sidebar-DZ3SNJU4.js} +4 -4
  40. package/dist/chunks/{sidebar-C2zkLZyA.js.map → sidebar-DZ3SNJU4.js.map} +1 -1
  41. package/dist/chunks/{sidebarScreen-BQN2N8jx.esm.js → sidebarScreen-D0v7aHxc.esm.js} +4 -4
  42. package/dist/chunks/{sidebarScreen-BQN2N8jx.esm.js.map → sidebarScreen-D0v7aHxc.esm.js.map} +1 -1
  43. package/dist/chunks/{sidebarScreen-PoYXto7E.js → sidebarScreen-usZhvsdA.js} +4 -4
  44. package/dist/chunks/{sidebarScreen-PoYXto7E.js.map → sidebarScreen-usZhvsdA.js.map} +1 -1
  45. package/dist/chunks/{uom-field-wrapper-Cef0lqA7.esm.js → uom-field-wrapper-DNgu7XcT.esm.js} +10 -10
  46. package/dist/chunks/{uom-field-wrapper-Cef0lqA7.esm.js.map → uom-field-wrapper-DNgu7XcT.esm.js.map} +1 -1
  47. package/dist/chunks/{uom-field-wrapper-DXNgxYwv.js → uom-field-wrapper-PUawuRbz.js} +10 -10
  48. package/dist/chunks/{uom-field-wrapper-DXNgxYwv.js.map → uom-field-wrapper-PUawuRbz.js.map} +1 -1
  49. package/dist/chunks/{useAccountSetting-Bo-BSaTa.js → useAccountSetting-BUtKbR7D.js} +2 -2
  50. package/dist/chunks/{useAccountSetting-Bo-BSaTa.js.map → useAccountSetting-BUtKbR7D.js.map} +1 -1
  51. package/dist/chunks/{useAccountSetting-BZQ6ceiU.esm.js → useAccountSetting-YwdjGrxs.esm.js} +2 -2
  52. package/dist/chunks/{useAccountSetting-BZQ6ceiU.esm.js.map → useAccountSetting-YwdjGrxs.esm.js.map} +1 -1
  53. package/dist/chunks/{useAuth-HvZ6U960.js → useAuth-Bn-Dk5iL.js} +3 -1
  54. package/dist/chunks/{useAuth-HvZ6U960.js.map → useAuth-Bn-Dk5iL.js.map} +1 -1
  55. package/dist/chunks/{useAuth-Tfx2guEJ.esm.js → useAuth-DatwJNOz.esm.js} +3 -1
  56. package/dist/chunks/{useAuth-Tfx2guEJ.esm.js.map → useAuth-DatwJNOz.esm.js.map} +1 -1
  57. package/dist/chunks/{useLangauge-DwsR1jcv.js → useLangauge-CZdmpat2.js} +2 -2
  58. package/dist/chunks/{useLangauge-DwsR1jcv.js.map → useLangauge-CZdmpat2.js.map} +1 -1
  59. package/dist/chunks/{useLangauge-BU_fP3ZM.esm.js → useLangauge-ko-Wm4Qq.esm.js} +2 -2
  60. package/dist/chunks/{useLangauge-BU_fP3ZM.esm.js.map → useLangauge-ko-Wm4Qq.esm.js.map} +1 -1
  61. package/dist/chunks/{useReduxIntegration-DOk8SnPC.esm.js → useReduxIntegration-B8otN3ek.esm.js} +3 -3
  62. package/dist/chunks/{useReduxIntegration-DOk8SnPC.esm.js.map → useReduxIntegration-B8otN3ek.esm.js.map} +1 -1
  63. package/dist/chunks/{useReduxIntegration-Dx22DWpG.js → useReduxIntegration-CZkiPDYL.js} +3 -3
  64. package/dist/chunks/{useReduxIntegration-Dx22DWpG.js.map → useReduxIntegration-CZkiPDYL.js.map} +1 -1
  65. package/dist/components/index.esm.js +8 -8
  66. package/dist/components/index.js +8 -8
  67. package/dist/contexts/index.esm.js +3 -3
  68. package/dist/contexts/index.js +3 -3
  69. package/dist/hooks/index.esm.js +5 -5
  70. package/dist/hooks/index.js +5 -5
  71. package/dist/index.esm.js +16 -16
  72. package/dist/index.js +16 -16
  73. package/dist/layout/index.esm.js +2 -2
  74. package/dist/layout/index.js +2 -2
  75. package/dist/utils/index.esm.js +3 -3
  76. package/dist/utils/index.js +3 -3
  77. package/dist/views/index.esm.js +6 -6
  78. package/dist/views/index.js +5 -5
  79. package/package.json +1 -1
  80. package/dist/chunks/page-context-BXcrnujq.esm.js.map +0 -1
  81. package/dist/chunks/page-context-qX5XKOOF.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-ClFauRgV.esm.js";
2
2
  import { useMemo, useState, useCallback, useEffect } from "react";
3
- import { u as useTheme, f as Box, a as AppBarWrapper, A as ActivityArea } from "./appbar-DM2iBqb4.esm.js";
4
- import { S as Sidebar } from "./sidebar-l49eLo8p.esm.js";
3
+ import { u as useTheme, f as Box, a as AppBarWrapper, A as ActivityArea } from "./appbar-CqjkuAGQ.esm.js";
4
+ import { S as Sidebar } from "./sidebar-DGGqCL8z.esm.js";
5
5
  import { d as drawerWidth } from "./mui.constants-BFBzxaiA.esm.js";
6
- import { u as useLanguage } from "./useLangauge-BU_fP3ZM.esm.js";
6
+ import { u as useLanguage } from "./useLangauge-ko-Wm4Qq.esm.js";
7
7
  import { ar as getToken } from "./common-B6euWODJ.esm.js";
8
8
  import { m as getV1Settings } from "./api-BAbF3OU7.esm.js";
9
9
  import { useLocation } from "react-router-dom";
@@ -197,4 +197,4 @@ const SidebarLayout = (props) => {
197
197
  export {
198
198
  SidebarLayout as S
199
199
  };
200
- //# sourceMappingURL=sidebarScreen-BQN2N8jx.esm.js.map
200
+ //# sourceMappingURL=sidebarScreen-D0v7aHxc.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebarScreen-BQN2N8jx.esm.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\r\n\r\nimport { useTheme } from '@mui/material/styles';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport SideBar from '../../components/sidebar/sidebar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n// const drawerWidth = 240;\r\nimport { useLanguage } from '../../hooks/useLangauge';\r\nimport { getToken } from '@/utils';\r\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// Local storage key for drawer state\r\nconst DRAWER_STATE_KEY = '_is_drawer_open';\r\n\r\n// Interface for better type safety\r\nexport interface ISidebarLayoutProps {\r\n\tmenu: any[];\r\n\tchildren: React.ReactNode;\r\n\tdashboardPath?: string;\r\n}\r\n\r\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\r\n\tconst theme = useTheme();\r\n\tconst { currentLanguage } = useLanguage();\r\n\tconst isRtl = useMemo(\r\n\t\t() => currentLanguage?.direction === 'rtl',\r\n\t\t[currentLanguage]\r\n\t);\r\n\t// Enhanced state management\r\n\tconst [forcedOpen, setForcedOpen] = useState(true);\r\n\tconst [hoverOpen, setHoverOpen] = useState(false);\r\n\tconst [isInitialized, setIsInitialized] = useState(false);\r\n\tconst location = useLocation();\r\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\r\n\r\n\t// Memoized computed state for actual drawer open status\r\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\r\n\r\n\t// Enhanced drawer control functions with better state management\r\n\tconst handleDrawerOpen = useCallback(() => {\r\n\t\tsetForcedOpen(true);\r\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\r\n\t\ttry {\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleDrawerClose = useCallback(() => {\r\n\t\tsetForcedOpen(false);\r\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\r\n\t}, []);\r\n\r\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\r\n\r\n\tconst getSettings = useCallback(async () => {\r\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\r\n\t\tconst tokenData = getToken();\r\n\t\tconst apiParams = {\r\n\t\t\t'x-token': tokenData['x-token'],\r\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\r\n\t\t};\r\n\t\tconst response = await getV1Settings(apiParams);\r\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\r\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\r\n\t\tsetWipSettingsData(data);\r\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\r\n\t}, []);\r\n\tuseEffect(() => {\r\n\t\tif(curPathName?.includes('manufacturing')) {\r\n\t\t\tgetSettings();\r\n\t\t}\r\n\t}, [getSettings, curPathName]);\r\n\r\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\r\n\t\tprops.menu\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\r\n\t\t\tconsole.log('wipSettingsData: ', wipSettingsData);\r\n\t\t\tconst _new = props.menu.filter((item) => {\r\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\r\n\t\t\t\t\treturn item.label !== 'Plans';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetManufacturingSubmenu(_new);\r\n\t\t}\r\n\t}, [wipSettingsData, props.menu]);\r\n\t// const module_type = '';\r\n\r\n\tconst handleMouseEnter = () => {\r\n\t\tif (!forcedOpen) {\r\n\t\t\tsetOpen(true);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleMouseLeave = useCallback(() => {\r\n\t\tif (!forcedOpen && isInitialized) {\r\n\t\t\tsetHoverOpen(false);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\r\n\t\t}\r\n\t}, [forcedOpen, isInitialized]);\r\n\r\n\t// Toggle function for programmatic control\r\n\tconst toggleDrawer = useCallback(() => {\r\n\t\tif (forcedOpen) {\r\n\t\t\thandleDrawerClose();\r\n\t\t} else {\r\n\t\t\thandleDrawerOpen();\r\n\t\t}\r\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\r\n\r\n\t// Enhanced initialization with error handling\r\n\tuseEffect(() => {\r\n\t\tconst initializeDrawerState = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback for environments without localStorage\r\n\t\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\r\n\t\t\t\t// Fallback to default state\r\n\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\tsetIsInitialized(true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tinitializeDrawerState();\r\n\t}, []);\r\n\r\n\t// Handle window focus to sync state across tabs\r\n\tuseEffect(() => {\r\n\t\tconst handleWindowFocus = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\r\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\t\tsetHoverOpen(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('focus', handleWindowFocus);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\r\n\t\t};\r\n\t}, [forcedOpen]);\r\n\r\n\t// Prevent rendering until initialization is complete\r\n\tif (!isInitialized) {\r\n\t\treturn (\r\n\t\t\t<Box\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\tminHeight: '100vh',\r\n\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\tjustifyContent: 'center'\r\n\t\t\t\t}}>\r\n\t\t\t\t{/* Optional loading indicator */}\r\n\t\t\t\t<Box>Loading...</Box>\r\n\t\t\t</Box>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Box\r\n\t\t\tsx={{\r\n\t\t\t\tdisplay: 'flex',\r\n\t\t\t\tminHeight: '100vh',\r\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\r\n\t\t\t}}>\r\n\t\t\t<AppBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t/>\r\n\r\n\t\t\t<SideBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\ttheme={theme}\r\n\t\t\t\tmenu={manufacturingSubmenu}\r\n\t\t\t\thandleMouseEnter={handleMouseEnter}\r\n\t\t\t\thandleMouseLeave={handleMouseLeave}\r\n\t\t\t\tisInitialized={isInitialized}\r\n\t\t\t\tdashboardPath={props.dashboardPath}\r\n\t\t\t/>\r\n\r\n\t\t\t<ActivityArea\r\n\t\t\t\tisDrawerOpen={isDrawerOpen}\r\n\t\t\t\tdrawerWidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}>\r\n\t\t\t\t{props.children}\r\n\t\t\t</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default SidebarLayout;\r\n"],"names":["jsx","jsxs","AppBar","SideBar"],"mappings":"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"}
1
+ {"version":3,"file":"sidebarScreen-D0v7aHxc.esm.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\r\n\r\nimport { useTheme } from '@mui/material/styles';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport SideBar from '../../components/sidebar/sidebar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n// const drawerWidth = 240;\r\nimport { useLanguage } from '../../hooks/useLangauge';\r\nimport { getToken } from '@/utils';\r\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// Local storage key for drawer state\r\nconst DRAWER_STATE_KEY = '_is_drawer_open';\r\n\r\n// Interface for better type safety\r\nexport interface ISidebarLayoutProps {\r\n\tmenu: any[];\r\n\tchildren: React.ReactNode;\r\n\tdashboardPath?: string;\r\n}\r\n\r\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\r\n\tconst theme = useTheme();\r\n\tconst { currentLanguage } = useLanguage();\r\n\tconst isRtl = useMemo(\r\n\t\t() => currentLanguage?.direction === 'rtl',\r\n\t\t[currentLanguage]\r\n\t);\r\n\t// Enhanced state management\r\n\tconst [forcedOpen, setForcedOpen] = useState(true);\r\n\tconst [hoverOpen, setHoverOpen] = useState(false);\r\n\tconst [isInitialized, setIsInitialized] = useState(false);\r\n\tconst location = useLocation();\r\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\r\n\r\n\t// Memoized computed state for actual drawer open status\r\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\r\n\r\n\t// Enhanced drawer control functions with better state management\r\n\tconst handleDrawerOpen = useCallback(() => {\r\n\t\tsetForcedOpen(true);\r\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\r\n\t\ttry {\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleDrawerClose = useCallback(() => {\r\n\t\tsetForcedOpen(false);\r\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\r\n\t}, []);\r\n\r\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\r\n\r\n\tconst getSettings = useCallback(async () => {\r\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\r\n\t\tconst tokenData = getToken();\r\n\t\tconst apiParams = {\r\n\t\t\t'x-token': tokenData['x-token'],\r\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\r\n\t\t};\r\n\t\tconst response = await getV1Settings(apiParams);\r\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\r\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\r\n\t\tsetWipSettingsData(data);\r\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\r\n\t}, []);\r\n\tuseEffect(() => {\r\n\t\tif(curPathName?.includes('manufacturing')) {\r\n\t\t\tgetSettings();\r\n\t\t}\r\n\t}, [getSettings, curPathName]);\r\n\r\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\r\n\t\tprops.menu\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\r\n\t\t\tconsole.log('wipSettingsData: ', wipSettingsData);\r\n\t\t\tconst _new = props.menu.filter((item) => {\r\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\r\n\t\t\t\t\treturn item.label !== 'Plans';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetManufacturingSubmenu(_new);\r\n\t\t}\r\n\t}, [wipSettingsData, props.menu]);\r\n\t// const module_type = '';\r\n\r\n\tconst handleMouseEnter = () => {\r\n\t\tif (!forcedOpen) {\r\n\t\t\tsetOpen(true);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleMouseLeave = useCallback(() => {\r\n\t\tif (!forcedOpen && isInitialized) {\r\n\t\t\tsetHoverOpen(false);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\r\n\t\t}\r\n\t}, [forcedOpen, isInitialized]);\r\n\r\n\t// Toggle function for programmatic control\r\n\tconst toggleDrawer = useCallback(() => {\r\n\t\tif (forcedOpen) {\r\n\t\t\thandleDrawerClose();\r\n\t\t} else {\r\n\t\t\thandleDrawerOpen();\r\n\t\t}\r\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\r\n\r\n\t// Enhanced initialization with error handling\r\n\tuseEffect(() => {\r\n\t\tconst initializeDrawerState = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback for environments without localStorage\r\n\t\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\r\n\t\t\t\t// Fallback to default state\r\n\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\tsetIsInitialized(true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tinitializeDrawerState();\r\n\t}, []);\r\n\r\n\t// Handle window focus to sync state across tabs\r\n\tuseEffect(() => {\r\n\t\tconst handleWindowFocus = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\r\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\t\tsetHoverOpen(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('focus', handleWindowFocus);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\r\n\t\t};\r\n\t}, [forcedOpen]);\r\n\r\n\t// Prevent rendering until initialization is complete\r\n\tif (!isInitialized) {\r\n\t\treturn (\r\n\t\t\t<Box\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\tminHeight: '100vh',\r\n\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\tjustifyContent: 'center'\r\n\t\t\t\t}}>\r\n\t\t\t\t{/* Optional loading indicator */}\r\n\t\t\t\t<Box>Loading...</Box>\r\n\t\t\t</Box>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Box\r\n\t\t\tsx={{\r\n\t\t\t\tdisplay: 'flex',\r\n\t\t\t\tminHeight: '100vh',\r\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\r\n\t\t\t}}>\r\n\t\t\t<AppBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t/>\r\n\r\n\t\t\t<SideBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\ttheme={theme}\r\n\t\t\t\tmenu={manufacturingSubmenu}\r\n\t\t\t\thandleMouseEnter={handleMouseEnter}\r\n\t\t\t\thandleMouseLeave={handleMouseLeave}\r\n\t\t\t\tisInitialized={isInitialized}\r\n\t\t\t\tdashboardPath={props.dashboardPath}\r\n\t\t\t/>\r\n\r\n\t\t\t<ActivityArea\r\n\t\t\t\tisDrawerOpen={isDrawerOpen}\r\n\t\t\t\tdrawerWidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}>\r\n\t\t\t\t{props.children}\r\n\t\t\t</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default SidebarLayout;\r\n"],"names":["jsx","jsxs","AppBar","SideBar"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("./jsx-runtime-B6vEU3CM.js");
3
3
  const React = require("react");
4
- const appbar = require("./appbar-rfkAYQdQ.js");
5
- const sidebar = require("./sidebar-C2zkLZyA.js");
4
+ const appbar = require("./appbar-pTs1Yhzo.js");
5
+ const sidebar = require("./sidebar-DZ3SNJU4.js");
6
6
  const mui_constants = require("./mui.constants-CJEIUmWO.js");
7
- const useLangauge = require("./useLangauge-DwsR1jcv.js");
7
+ const useLangauge = require("./useLangauge-CZdmpat2.js");
8
8
  const common = require("./common-6VUrYJDq.js");
9
9
  const api = require("./api-DJMpbRRM.js");
10
10
  const reactRouterDom = require("react-router-dom");
@@ -196,4 +196,4 @@ const SidebarLayout = (props) => {
196
196
  );
197
197
  };
198
198
  exports.SidebarLayout = SidebarLayout;
199
- //# sourceMappingURL=sidebarScreen-PoYXto7E.js.map
199
+ //# sourceMappingURL=sidebarScreen-usZhvsdA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebarScreen-PoYXto7E.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\r\n\r\nimport { useTheme } from '@mui/material/styles';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport SideBar from '../../components/sidebar/sidebar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n// const drawerWidth = 240;\r\nimport { useLanguage } from '../../hooks/useLangauge';\r\nimport { getToken } from '@/utils';\r\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// Local storage key for drawer state\r\nconst DRAWER_STATE_KEY = '_is_drawer_open';\r\n\r\n// Interface for better type safety\r\nexport interface ISidebarLayoutProps {\r\n\tmenu: any[];\r\n\tchildren: React.ReactNode;\r\n\tdashboardPath?: string;\r\n}\r\n\r\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\r\n\tconst theme = useTheme();\r\n\tconst { currentLanguage } = useLanguage();\r\n\tconst isRtl = useMemo(\r\n\t\t() => currentLanguage?.direction === 'rtl',\r\n\t\t[currentLanguage]\r\n\t);\r\n\t// Enhanced state management\r\n\tconst [forcedOpen, setForcedOpen] = useState(true);\r\n\tconst [hoverOpen, setHoverOpen] = useState(false);\r\n\tconst [isInitialized, setIsInitialized] = useState(false);\r\n\tconst location = useLocation();\r\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\r\n\r\n\t// Memoized computed state for actual drawer open status\r\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\r\n\r\n\t// Enhanced drawer control functions with better state management\r\n\tconst handleDrawerOpen = useCallback(() => {\r\n\t\tsetForcedOpen(true);\r\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\r\n\t\ttry {\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleDrawerClose = useCallback(() => {\r\n\t\tsetForcedOpen(false);\r\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\r\n\t}, []);\r\n\r\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\r\n\r\n\tconst getSettings = useCallback(async () => {\r\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\r\n\t\tconst tokenData = getToken();\r\n\t\tconst apiParams = {\r\n\t\t\t'x-token': tokenData['x-token'],\r\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\r\n\t\t};\r\n\t\tconst response = await getV1Settings(apiParams);\r\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\r\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\r\n\t\tsetWipSettingsData(data);\r\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\r\n\t}, []);\r\n\tuseEffect(() => {\r\n\t\tif(curPathName?.includes('manufacturing')) {\r\n\t\t\tgetSettings();\r\n\t\t}\r\n\t}, [getSettings, curPathName]);\r\n\r\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\r\n\t\tprops.menu\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\r\n\t\t\tconsole.log('wipSettingsData: ', wipSettingsData);\r\n\t\t\tconst _new = props.menu.filter((item) => {\r\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\r\n\t\t\t\t\treturn item.label !== 'Plans';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetManufacturingSubmenu(_new);\r\n\t\t}\r\n\t}, [wipSettingsData, props.menu]);\r\n\t// const module_type = '';\r\n\r\n\tconst handleMouseEnter = () => {\r\n\t\tif (!forcedOpen) {\r\n\t\t\tsetOpen(true);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleMouseLeave = useCallback(() => {\r\n\t\tif (!forcedOpen && isInitialized) {\r\n\t\t\tsetHoverOpen(false);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\r\n\t\t}\r\n\t}, [forcedOpen, isInitialized]);\r\n\r\n\t// Toggle function for programmatic control\r\n\tconst toggleDrawer = useCallback(() => {\r\n\t\tif (forcedOpen) {\r\n\t\t\thandleDrawerClose();\r\n\t\t} else {\r\n\t\t\thandleDrawerOpen();\r\n\t\t}\r\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\r\n\r\n\t// Enhanced initialization with error handling\r\n\tuseEffect(() => {\r\n\t\tconst initializeDrawerState = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback for environments without localStorage\r\n\t\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\r\n\t\t\t\t// Fallback to default state\r\n\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\tsetIsInitialized(true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tinitializeDrawerState();\r\n\t}, []);\r\n\r\n\t// Handle window focus to sync state across tabs\r\n\tuseEffect(() => {\r\n\t\tconst handleWindowFocus = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\r\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\t\tsetHoverOpen(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('focus', handleWindowFocus);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\r\n\t\t};\r\n\t}, [forcedOpen]);\r\n\r\n\t// Prevent rendering until initialization is complete\r\n\tif (!isInitialized) {\r\n\t\treturn (\r\n\t\t\t<Box\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\tminHeight: '100vh',\r\n\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\tjustifyContent: 'center'\r\n\t\t\t\t}}>\r\n\t\t\t\t{/* Optional loading indicator */}\r\n\t\t\t\t<Box>Loading...</Box>\r\n\t\t\t</Box>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Box\r\n\t\t\tsx={{\r\n\t\t\t\tdisplay: 'flex',\r\n\t\t\t\tminHeight: '100vh',\r\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\r\n\t\t\t}}>\r\n\t\t\t<AppBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t/>\r\n\r\n\t\t\t<SideBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\ttheme={theme}\r\n\t\t\t\tmenu={manufacturingSubmenu}\r\n\t\t\t\thandleMouseEnter={handleMouseEnter}\r\n\t\t\t\thandleMouseLeave={handleMouseLeave}\r\n\t\t\t\tisInitialized={isInitialized}\r\n\t\t\t\tdashboardPath={props.dashboardPath}\r\n\t\t\t/>\r\n\r\n\t\t\t<ActivityArea\r\n\t\t\t\tisDrawerOpen={isDrawerOpen}\r\n\t\t\t\tdrawerWidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}>\r\n\t\t\t\t{props.children}\r\n\t\t\t</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default SidebarLayout;\r\n"],"names":["useTheme","useLanguage","useMemo","useState","useLocation","useCallback","getToken","getV1Settings","useEffect","jsx","Box","jsxs","AppBar","drawerWidth","SideBar","ActivityArea"],"mappings":"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"}
1
+ {"version":3,"file":"sidebarScreen-usZhvsdA.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\r\n\r\nimport { useTheme } from '@mui/material/styles';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport SideBar from '../../components/sidebar/sidebar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n// const drawerWidth = 240;\r\nimport { useLanguage } from '../../hooks/useLangauge';\r\nimport { getToken } from '@/utils';\r\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// Local storage key for drawer state\r\nconst DRAWER_STATE_KEY = '_is_drawer_open';\r\n\r\n// Interface for better type safety\r\nexport interface ISidebarLayoutProps {\r\n\tmenu: any[];\r\n\tchildren: React.ReactNode;\r\n\tdashboardPath?: string;\r\n}\r\n\r\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\r\n\tconst theme = useTheme();\r\n\tconst { currentLanguage } = useLanguage();\r\n\tconst isRtl = useMemo(\r\n\t\t() => currentLanguage?.direction === 'rtl',\r\n\t\t[currentLanguage]\r\n\t);\r\n\t// Enhanced state management\r\n\tconst [forcedOpen, setForcedOpen] = useState(true);\r\n\tconst [hoverOpen, setHoverOpen] = useState(false);\r\n\tconst [isInitialized, setIsInitialized] = useState(false);\r\n\tconst location = useLocation();\r\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\r\n\r\n\t// Memoized computed state for actual drawer open status\r\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\r\n\r\n\t// Enhanced drawer control functions with better state management\r\n\tconst handleDrawerOpen = useCallback(() => {\r\n\t\tsetForcedOpen(true);\r\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\r\n\t\ttry {\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleDrawerClose = useCallback(() => {\r\n\t\tsetForcedOpen(false);\r\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\r\n\t}, []);\r\n\r\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\r\n\r\n\tconst getSettings = useCallback(async () => {\r\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\r\n\t\tconst tokenData = getToken();\r\n\t\tconst apiParams = {\r\n\t\t\t'x-token': tokenData['x-token'],\r\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\r\n\t\t};\r\n\t\tconst response = await getV1Settings(apiParams);\r\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\r\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\r\n\t\tsetWipSettingsData(data);\r\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\r\n\t}, []);\r\n\tuseEffect(() => {\r\n\t\tif(curPathName?.includes('manufacturing')) {\r\n\t\t\tgetSettings();\r\n\t\t}\r\n\t}, [getSettings, curPathName]);\r\n\r\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\r\n\t\tprops.menu\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\r\n\t\t\tconsole.log('wipSettingsData: ', wipSettingsData);\r\n\t\t\tconst _new = props.menu.filter((item) => {\r\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\r\n\t\t\t\t\treturn item.label !== 'Plans';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetManufacturingSubmenu(_new);\r\n\t\t}\r\n\t}, [wipSettingsData, props.menu]);\r\n\t// const module_type = '';\r\n\r\n\tconst handleMouseEnter = () => {\r\n\t\tif (!forcedOpen) {\r\n\t\t\tsetOpen(true);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleMouseLeave = useCallback(() => {\r\n\t\tif (!forcedOpen && isInitialized) {\r\n\t\t\tsetHoverOpen(false);\r\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\r\n\t\t}\r\n\t}, [forcedOpen, isInitialized]);\r\n\r\n\t// Toggle function for programmatic control\r\n\tconst toggleDrawer = useCallback(() => {\r\n\t\tif (forcedOpen) {\r\n\t\t\thandleDrawerClose();\r\n\t\t} else {\r\n\t\t\thandleDrawerOpen();\r\n\t\t}\r\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\r\n\r\n\t// Enhanced initialization with error handling\r\n\tuseEffect(() => {\r\n\t\tconst initializeDrawerState = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fallback for environments without localStorage\r\n\t\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\t\tsetIsInitialized(true);\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\r\n\t\t\t\t// Fallback to default state\r\n\t\t\t\tsetForcedOpen(true);\r\n\t\t\t\tsetIsInitialized(true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tinitializeDrawerState();\r\n\t}, []);\r\n\r\n\t// Handle window focus to sync state across tabs\r\n\tuseEffect(() => {\r\n\t\tconst handleWindowFocus = () => {\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\r\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\r\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\r\n\r\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\r\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\r\n\t\t\t\t\t\tsetHoverOpen(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('focus', handleWindowFocus);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\r\n\t\t};\r\n\t}, [forcedOpen]);\r\n\r\n\t// Prevent rendering until initialization is complete\r\n\tif (!isInitialized) {\r\n\t\treturn (\r\n\t\t\t<Box\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\tminHeight: '100vh',\r\n\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\tjustifyContent: 'center'\r\n\t\t\t\t}}>\r\n\t\t\t\t{/* Optional loading indicator */}\r\n\t\t\t\t<Box>Loading...</Box>\r\n\t\t\t</Box>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Box\r\n\t\t\tsx={{\r\n\t\t\t\tdisplay: 'flex',\r\n\t\t\t\tminHeight: '100vh',\r\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\r\n\t\t\t}}>\r\n\t\t\t<AppBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t/>\r\n\r\n\t\t\t<SideBar\r\n\t\t\t\topen={forcedOpen}\r\n\t\t\t\tforcedOpen={forcedOpen}\r\n\t\t\t\thoverOpen={hoverOpen}\r\n\t\t\t\thandleDrawerClose={handleDrawerClose}\r\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\r\n\t\t\t\ttoggleDrawer={toggleDrawer}\r\n\t\t\t\twidth={drawerWidth}\r\n\t\t\t\ttheme={theme}\r\n\t\t\t\tmenu={manufacturingSubmenu}\r\n\t\t\t\thandleMouseEnter={handleMouseEnter}\r\n\t\t\t\thandleMouseLeave={handleMouseLeave}\r\n\t\t\t\tisInitialized={isInitialized}\r\n\t\t\t\tdashboardPath={props.dashboardPath}\r\n\t\t\t/>\r\n\r\n\t\t\t<ActivityArea\r\n\t\t\t\tisDrawerOpen={isDrawerOpen}\r\n\t\t\t\tdrawerWidth={drawerWidth}\r\n\t\t\t\tforcedOpen={forcedOpen}>\r\n\t\t\t\t{props.children}\r\n\t\t\t</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default SidebarLayout;\r\n"],"names":["useTheme","useLanguage","useMemo","useState","useLocation","useCallback","getToken","getV1Settings","useEffect","jsx","Box","jsxs","AppBar","drawerWidth","SideBar","ActivityArea"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-ClFauRgV.esm.js";
2
2
  import { useFieldArray, Controller, useForm, useFormContext } from "react-hook-form";
3
3
  import { P as PropTypes, e as _objectWithoutPropertiesLoose, _ as _extends$1, g as generateUtilityClass, j as capitalize, u as useDefaultProps, k as interopRequireDefaultExports, w as lighten_1, x as darken_1, f as alpha_1 } from "./identifier-u4E_J1of.esm.js";
4
- import { i as default_1$3, T as Typography, e as useForkRef, o as ownerWindow, d as useEnhancedEffect, h as debounce, p as isMuiElement, u as useAuth, q as useControlled, r as requireCreateSvgIcon } from "./useAuth-Tfx2guEJ.esm.js";
5
- import { an as default_1$4, w as DynamicSelect, i as DateTimePicker, D as DatePicker$1, ao as useThemeProps, A as Accordion$1, C as Checkbox$1, g as ChipOrPlaceholder$1, j as DropdownButton, ad as TitleDropdownButton, T as HeaderCard, ab as TabBar, ap as default_1$5, a6 as SearchableSelect, aq as Chip$1, ac as TimePicker, ah as UploadMedia, a3 as PhoneInput, Z as ModalLoader, Y as MaterialTable, u as DynamicSearchSelect, n as DynamicDate, z as DynamicTime, f as ChipGenerator, l as DynamicCheckBox, M as Footer, F as Fallback, ar as TabContext, as as TabList, at as Tab, au as TabPanel, av as default_1$9, a as ActionBar, aw as SwitchBase } from "./android-12-switch-jj9sZdHr.esm.js";
6
- import { D as DynamicInput, E as Typography$1, b as Avatar, G as o, M as Modal, c as Select, B as Button, C as ConfirmPopUp, f as Box$1, d as Toast, u as useTheme$1, S as SearchBar, I as resolveComponentProps, J as mergeSlotProps, K as appendOwnerState, P as Paper$1, o as chainPropTypes, h as ButtonBase$1, y as default_1$6, T as TextField$1, e as Tooltip$1, F as default_1$7, x as default_1$8, N as Menu$2, O as MenuItem$1, Q as IconButton$1, q as useRtl, z as List$1, v as ListItem, U as ListItemText$1, V as refType } from "./appbar-DM2iBqb4.esm.js";
4
+ import { i as default_1$3, T as Typography, e as useForkRef, o as ownerWindow, d as useEnhancedEffect, h as debounce, p as isMuiElement, u as useAuth, q as useControlled, r as requireCreateSvgIcon } from "./useAuth-DatwJNOz.esm.js";
5
+ import { an as default_1$4, w as DynamicSelect, i as DateTimePicker, D as DatePicker$1, ao as useThemeProps, A as Accordion$1, C as Checkbox$1, g as ChipOrPlaceholder$1, j as DropdownButton, ad as TitleDropdownButton, T as HeaderCard, ab as TabBar, ap as default_1$5, a6 as SearchableSelect, aq as Chip$1, ac as TimePicker, ah as UploadMedia, a3 as PhoneInput, Z as ModalLoader, Y as MaterialTable, u as DynamicSearchSelect, n as DynamicDate, z as DynamicTime, f as ChipGenerator, l as DynamicCheckBox, M as Footer, F as Fallback, ar as TabContext, as as TabList, at as Tab, au as TabPanel, av as default_1$9, a as ActionBar, aw as SwitchBase } from "./android-12-switch-CAuiT5Pz.esm.js";
6
+ import { D as DynamicInput, E as Typography$1, b as Avatar, G as o, M as Modal, c as Select, B as Button, C as ConfirmPopUp, f as Box$1, d as Toast, u as useTheme$1, S as SearchBar, I as resolveComponentProps, J as mergeSlotProps, K as appendOwnerState, P as Paper$1, o as chainPropTypes, h as ButtonBase$1, y as default_1$6, T as TextField$1, e as Tooltip$1, F as default_1$7, x as default_1$8, N as Menu$2, O as MenuItem$1, Q as IconButton$1, q as useRtl, z as List$1, v as ListItem, U as ListItemText$1, V as refType } from "./appbar-CqjkuAGQ.esm.js";
7
7
  import * as React from "react";
8
8
  import React__default, { useState, lazy, useMemo, useRef, useEffect, useCallback, useContext, createElement, useLayoutEffect, createContext, cloneElement } from "react";
9
9
  import DatePicker from "react-datepicker";
@@ -11,7 +11,7 @@ import DatePicker from "react-datepicker";
11
11
  import { C as CalenderIcon, i as images } from "./images-BY6aQF32.esm.js";
12
12
  import { KeyboardArrowLeft, KeyboardArrowRight, Close, ChevronLeft, ChevronRight, Add, AccessTimeRounded, KeyboardArrowUp, KeyboardArrowDown, Clear } from "@mui/icons-material";
13
13
  import { Box, styled as styled$1, TextField, DialogTitle, IconButton, DialogContent, MenuItem, DialogActions, CircularProgress, FormControlLabel, Checkbox as Checkbox$2, ButtonBase, useTheme, useMediaQuery, Drawer, Grid, Tooltip, Collapse, Divider, ButtonGroup, Button as Button$1, Popper, Grow, Paper, ClickAwayListener, Menu as Menu$1, ListItemIcon, ListItemText, OutlinedInput, InputAdornment, Dialog, FormHelperText, Card as Card$1, CardContent as CardContent$1, TableRow, TableCell, TableContainer, Table, TableHead, TableBody } from "@mui/material";
14
- import { u as useLanguage } from "./useLangauge-BU_fP3ZM.esm.js";
14
+ import { u as useLanguage } from "./useLangauge-ko-Wm4Qq.esm.js";
15
15
  import dayjs from "dayjs";
16
16
  /* empty css */
17
17
  import { aU as formatText, ar as getToken, W as formatLabel, a1 as generateFields, G as fetchRentalResponseItems, H as fetchRfqItemsByIdForResponse, a8 as getErrorMessage, aI as responseItemDetailsColumns, _ as formatTimeForPayload, R as formatDateForPayload, ay as mapApiPayload, Q as formatDate, r as createdOnAndBy, aO as toFixedWithNumbers } from "./common-B6euWODJ.esm.js";
@@ -20,12 +20,12 @@ import { g as generateUtilityClasses, a as clsx, b as composeClasses, s as style
20
20
  import { AlertTriangle, Clock, TrendingUp, Sparkles, ChevronDown, Check, Copy, ChevronUp } from "lucide-react";
21
21
  import * as d3 from "d3";
22
22
  import * as Yup from "yup";
23
- import { C as Chip, M as Menu, t as transformTableColumns, b as formateValueByType, r as renderEmptyRowsFallback } from "./form-builder-deconversion-CUwBfP4C.esm.js";
23
+ import { C as Chip, M as Menu, t as transformTableColumns, b as formateValueByType, r as renderEmptyRowsFallback } from "./form-builder-deconversion-CIJWMHun.esm.js";
24
24
  import { M as MoreIcon, s as Filter, e as Close$1, b as ArrowUpDown, q as RecgtangleIcon, C as CheckBoxIcon$1, T as Trash, h as Export, r as Calendar$1, E as Edit } from "./trash-jodcm4T5.esm.js";
25
25
  import { bc as getV1User, bd as getV1ReportsScheduleReport, M as getV1ReportsReportList, be as deleteV1ReportsScheduleReportId, bf as putV1ReportsUpdateScheduleReportId, bg as postV1ReportsScheduleReport, x as getV1FormBuilder } from "./api-BAbF3OU7.esm.js";
26
26
  import { enqueueSnackbar, SnackbarProvider, useSnackbar } from "notistack";
27
27
  import { useDispatch } from "react-redux";
28
- import { a as apiHelper, c as useGenericDataFetcher, b as useAppTranslations } from "./apiHelper-CnW4mhWd.esm.js";
28
+ import { a as apiHelper, c as useGenericDataFetcher, b as useAppTranslations } from "./apiHelper-73EBSKIp.esm.js";
29
29
  import Board from "@asseinfo/react-kanban";
30
30
  import { c as calculateEntries, g as getEntityId, R as RANGE, a as handleCompareDateRangeSync, h as handleCompareDateRange } from "./navigation-utils-DvSBvB6q.esm.js";
31
31
  import FullCalendar from "@fullcalendar/react";
@@ -39,17 +39,17 @@ import resourceTimelinePlugin from "@fullcalendar/resource-timeline";
39
39
  import { E as Eye, a as EyeOff, A as ArrowDown } from "./tick-CRp4S9uN.esm.js";
40
40
  import ReactFlagsSelect from "react-flags-select";
41
41
  import { useParams, useLocation, useNavigate, Navigate } from "react-router-dom";
42
- import { E as ErpLoader } from "./page-context-BXcrnujq.esm.js";
42
+ import { E as ErpLoader } from "./page-context-D0QJui88.esm.js";
43
43
  import { Gantt, ViewMode } from "gantt-task-react";
44
44
  import { DateRange, Calendar } from "react-date-range";
45
45
  import { v as viewTypes } from "./action-bar-BsXTcYpL.esm.js";
46
46
  import DataEditor, { GridCellKind } from "@glideapps/glide-data-grid";
47
47
  import { useExtraCells } from "@glideapps/glide-data-grid-cells";
48
48
  import { createPortal } from "react-dom";
49
- import { C as Collapse$1 } from "./sidebar-l49eLo8p.esm.js";
49
+ import { C as Collapse$1 } from "./sidebar-DGGqCL8z.esm.js";
50
50
  import { useMaterialReactTable, MaterialReactTable } from "material-react-table";
51
51
  import _$1 from "lodash";
52
- import { f as usePages, b as useDeepMemo, g as usePermissions, a as useApi } from "./useAccountSetting-BZQ6ceiU.esm.js";
52
+ import { f as usePages, b as useDeepMemo, g as usePermissions, a as useApi } from "./useAccountSetting-YwdjGrxs.esm.js";
53
53
  import { P as PathnameDocument } from "./modules-D5_hDIg9.esm.js";
54
54
  import { f as PathnameRental, b as PathnameCrm, e as PathnamePurchase, d as PathnameManufacturing, c as PathnameInventory, a as PathnameAccounting } from "./pathname.rental-VYOFVGX6.esm.js";
55
55
  import { a as PathnameUsers } from "./pathname.hrms-C5ojsho0.esm.js";
@@ -15974,4 +15974,4 @@ export {
15974
15974
  DynamicDateTime as y,
15975
15975
  DynamicLayoutWrapper as z
15976
15976
  };
15977
- //# sourceMappingURL=uom-field-wrapper-Cef0lqA7.esm.js.map
15977
+ //# sourceMappingURL=uom-field-wrapper-DNgu7XcT.esm.js.map