{"version":3,"file":"static/chunks/6734-fd9ba7b7ea676d2e.js","mappings":"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","sources":["webpack://_N_E/./src/auth/context/jwt/auth-context.js","webpack://_N_E/./src/auth/hooks/index.js","webpack://_N_E/./src/auth/hooks/use-auth-context.js","webpack://_N_E/./src/auth/hooks/use-current-user-role-description.js","webpack://_N_E/./src/components/animate/variants/path.js","webpack://_N_E/./src/components/animate/variants/transition.js","webpack://_N_E/./src/components/animate/variants/bounce.js","webpack://_N_E/./src/components/animate/variants/actions.js","webpack://_N_E/./src/components/animate/variants/container.js","webpack://_N_E/./src/components/animate/variants/index.js","webpack://_N_E/./src/components/animate/motion-viewport.js","webpack://_N_E/./src/components/animate/motion-container.js","webpack://_N_E/./src/components/animate/index.js","webpack://_N_E/./src/components/logo/logo.js","webpack://_N_E/./src/components/logo/index.js","webpack://_N_E/./src/components/tooltip/index.js","webpack://_N_E/./src/components/tooltip/tooltip.js","webpack://_N_E/./src/config-global.js","webpack://_N_E/./src/hooks/use-boolean.js","webpack://_N_E/./src/hooks/use-off-set-top.js","webpack://_N_E/./src/hooks/use-responsive.js","webpack://_N_E/./src/hooks/useNavigationEvent.js","webpack://_N_E/./src/hooks/use-event-listener.js","webpack://_N_E/./src/components/label/styles.js","webpack://_N_E/./src/components/label/label.js","webpack://_N_E/./src/components/label/index.js","webpack://_N_E/./src/components/search-not-found/search-not-found.js","webpack://_N_E/./src/components/search-not-found/index.js","webpack://_N_E/./src/layouts/_common/searchbar/result-item.js","webpack://_N_E/./src/layouts/_common/searchbar/searchbar.js","webpack://_N_E/./src/layouts/_common/searchbar/index.js","webpack://_N_E/./src/assets/icons/settings.js","webpack://_N_E/./src/layouts/_common/styles.js","webpack://_N_E/./src/layouts/_common/nav-upgrade.js","webpack://_N_E/./src/layouts/_common/login-button.js","webpack://_N_E/./src/layouts/_common/header-shadow.js","webpack://_N_E/./src/layouts/_common/settings-button.js","webpack://_N_E/./src/layouts/_common/header-simple.js","webpack://_N_E/./src/components/custom-popover/use-popover.js","webpack://_N_E/./src/components/custom-popover/utils.js","webpack://_N_E/./src/components/custom-popover/styles.js","webpack://_N_E/./src/components/custom-popover/custom-popover.js","webpack://_N_E/./src/components/custom-popover/index.js","webpack://_N_E/./src/layouts/_common/language-popover.js","webpack://_N_E/./src/assets/icons/tab.js","webpack://_N_E/./src/layouts/_common/nav-toggle-button.js","webpack://_N_E/./src/layouts/_common/index.js","webpack://_N_E/./src/layouts/config-layout.js","webpack://_N_E/./src/layouts/dashboard/config-navigation.js","webpack://_N_E/./src/routes/components/router-link.js","webpack://_N_E/./src/routes/components/index.js","webpack://_N_E/./src/routes/hooks/use-params.js","webpack://_N_E/./src/routes/hooks/use-router.js","webpack://_N_E/./src/routes/hooks/use-pathname.js","webpack://_N_E/./src/routes/hooks/use-search-params.js","webpack://_N_E/./src/routes/hooks/index.js","webpack://_N_E/./src/routes/hooks/use-active-link.js","webpack://_N_E/./src/routes/paths.js","webpack://_N_E/"],"sourcesContent":["'use client';\n\nimport { createContext } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport const AuthContext = createContext({});\n","export { useAuthContext } from './use-auth-context';\nexport { useCurrentUserRoleDescription } from './use-current-user-role-description';\n","'use client';\n\nimport { useContext } from 'react';\n//\nimport { AuthContext } from '../context/jwt/auth-context';\n\n// ----------------------------------------------------------------------\n\nexport const useAuthContext = () => {\n const context = useContext(AuthContext);\n\n if (!context) throw new Error('useAuthContext context must be use inside AuthProvider');\n\n return context;\n};\n","import { useMemo } from 'react';\nimport { bool, shape, oneOf, arrayOf, string } from 'prop-types';\n\nimport { UserRoles } from 'src/constants';\nimport { useAuthContext } from './use-auth-context';\n\n/**\n * @typedef {Object} CurrentUserRoleDescription\n * @property {UserRoles} role\n * @property {Array} applications\n * @property {boolean} isLIS\n * @property {boolean} isLISOnly\n * @property {boolean} isIMS\n * @property {boolean} isIMSOnly\n * @property {boolean} isOfficeUser\n * @property {boolean} isSalesPerson\n * @property {boolean} isPhysician\n * @property {boolean} isBillingUser\n * @property {boolean} isAnyPathologist\n * @property {boolean} isLabManager\n * @property {boolean} isLabAdministrator\n * @property {boolean} isLabHighPositionMember\n * @property {boolean} isTechnician\n * @property {boolean} isLabUser\n * @property {boolean} isBillingStaff\n * @property {boolean} isLabDirector\n * @property {boolean} isPathologist\n * @property {boolean} isSystemAdministrator\n */\n\n/**\n * @returns {CurrentUserRoleDescription}\n */\nexport function useCurrentUserRoleDescription() {\n const { selectedUser } = useAuthContext();\n\n return useMemo(() => {\n return {\n role: selectedUser.role,\n applications: selectedUser.applications,\n\n isLIS: selectedUser.applications.includes('LIS'),\n isLISOnly:\n selectedUser.applications.length === 1 && selectedUser.applications.includes('LIS'),\n isIMS: selectedUser.applications.length\n ? selectedUser.applications.includes('IMS')\n : // If user has no defined applications, we fall back to IMS.\n true,\n isIMSOnly: selectedUser.applications.length === 1 && selectedUser.applications.includes('IMS'),\n\n isOfficeUser: selectedUser.role === UserRoles.OFFICE_USER,\n isSalesPerson: selectedUser.role === UserRoles.SALES_PERSON,\n isPhysician: selectedUser.role === UserRoles.PHYSICIAN,\n isBillingUser:\n UserRoles.BILLING_STAFF === selectedUser.role ||\n UserRoles.BILLING_ADMINISTRATOR === selectedUser.role,\n isAnyPathologist:\n UserRoles.PATHOLOGIST === selectedUser.role ||\n UserRoles.TC_PATHOLOGIST === selectedUser.role,\n isLabManager: UserRoles.LAB_MANAGER === selectedUser.role,\n isLabAdministrator: UserRoles.LAB_ADMINISTRATOR === selectedUser.role,\n isLabHighPositionMember:\n UserRoles.LAB_ADMINISTRATOR === selectedUser.role ||\n UserRoles.LAB_DIRECTOR === selectedUser.role,\n isTechnician: UserRoles.TECHNICIAN === selectedUser.role,\n isLabUser: UserRoles.LAB_USER === selectedUser.role,\n isBillingStaff: UserRoles.BILLING_STAFF === selectedUser.role,\n isLabDirector: UserRoles.LAB_DIRECTOR === selectedUser.role,\n isPathologist: UserRoles.PATHOLOGIST === selectedUser.role,\n isSystemAdministrator: UserRoles.SYSTEM_ADMINISTRATOR === selectedUser.role,\n };\n }, [selectedUser.role, selectedUser.applications]);\n}\n\nexport const CurrentUserRoleDescriptionPropType = shape({\n role: oneOf(Object.values(UserRoles)).isRequired,\n applications: arrayOf(string.isRequired).isRequired,\n\n isLIS: bool.isRequired,\n isLISOnly: bool.isRequired,\n isIMS: bool.isRequired,\n isIMSOnly: bool.isRequired,\n\n isOfficeUser: bool.isRequired,\n isSalesPerson: bool.isRequired,\n isPhysician: bool.isRequired,\n isBillingUser: bool.isRequired,\n isPathologist: bool.isRequired,\n isAnyPathologist: bool.isRequired,\n isLabManager: bool.isRequired,\n isLabAdministrator: bool.isRequired,\n isLabHighPositionMember: bool.isRequired,\n isTechnician: bool.isRequired,\n isLabUser: bool.isRequired,\n isBillingStaff: bool.isRequired,\n isLabDirector: bool.isRequired,\n isSystemAdministrator: bool.isRequired,\n});\n","// ----------------------------------------------------------------------\n\nexport const TRANSITION = {\n duration: 2,\n ease: [0.43, 0.13, 0.23, 0.96],\n};\n\nexport const varPath = {\n animate: {\n fillOpacity: [0, 0, 1],\n pathLength: [1, 0.4, 0],\n transition: TRANSITION,\n },\n};\n","// ----------------------------------------------------------------------\n\nexport const varTranHover = (props) => {\n const duration = props?.duration || 0.32;\n const ease = props?.ease || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n\nexport const varTranEnter = (props) => {\n const duration = props?.durationIn || 0.64;\n const ease = props?.easeIn || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n\nexport const varTranExit = (props) => {\n const duration = props?.durationOut || 0.48;\n const ease = props?.easeOut || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n","//\nimport { varTranEnter, varTranExit } from './transition';\n\n// ----------------------------------------------------------------------\n\nexport const varBounce = (props) => {\n const durationIn = props?.durationIn;\n const durationOut = props?.durationOut;\n const easeIn = props?.easeIn;\n const easeOut = props?.easeOut;\n\n return {\n // IN\n in: {\n initial: {},\n animate: {\n scale: [0.3, 1.1, 0.9, 1.03, 0.97, 1],\n opacity: [0, 1, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n scale: [0.9, 1.1, 0.3],\n opacity: [1, 1, 0],\n },\n },\n inUp: {\n initial: {},\n animate: {\n y: [720, -24, 12, -4, 0],\n scaleY: [4, 0.9, 0.95, 0.985, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: { ...varTranEnter({ durationIn, easeIn }) },\n },\n exit: {\n y: [12, -24, 720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n inDown: {\n initial: {},\n animate: {\n y: [-720, 24, -12, 4, 0],\n scaleY: [4, 0.9, 0.95, 0.985, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n y: [-12, 24, -720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n inLeft: {\n initial: {},\n animate: {\n x: [-720, 24, -12, 4, 0],\n scaleX: [3, 1, 0.98, 0.995, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n x: [0, 24, -720],\n scaleX: [1, 0.9, 2],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n inRight: {\n initial: {},\n animate: {\n x: [720, -24, 12, -4, 0],\n scaleX: [3, 1, 0.98, 0.995, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n x: [0, -24, 720],\n scaleX: [1, 0.9, 2],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n\n // OUT\n out: {\n animate: { scale: [0.9, 1.1, 0.3], opacity: [1, 1, 0] },\n },\n outUp: {\n animate: {\n y: [-12, 24, -720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n },\n },\n outDown: {\n animate: {\n y: [12, -24, 720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n },\n },\n outLeft: {\n animate: { x: [0, 24, -720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] },\n },\n outRight: {\n animate: { x: [0, -24, 720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] },\n },\n };\n};\n","// ----------------------------------------------------------------------\n\nexport const varHover = (hover = 1.09, tap = 0.97) => ({\n hover: { scale: hover },\n tap: { scale: tap },\n});\n","// ----------------------------------------------------------------------\n\nexport const varContainer = (props) => {\n const staggerIn = props?.staggerIn || 0.05;\n const delayIn = props?.staggerIn || 0.05;\n const staggerOut = props?.staggerIn || 0.05;\n\n return {\n animate: {\n transition: {\n staggerChildren: staggerIn,\n delayChildren: delayIn,\n },\n },\n exit: {\n transition: {\n staggerChildren: staggerOut,\n staggerDirection: -1,\n },\n },\n };\n};\n","export * from './path';\nexport * from './fade';\nexport * from './zoom';\nexport * from './flip';\nexport * from './slide';\nexport * from './scale';\nexport * from './bounce';\nexport * from './rotate';\nexport * from './actions';\nexport * from './container';\nexport * from './transition';\nexport * from './background';\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport Box from '@mui/material/Box';\n// hooks\nimport { useResponsive } from 'src/hooks/use-responsive';\n//\nimport { varContainer } from './variants';\n\n// ----------------------------------------------------------------------\n\nexport default function MotionViewport({ children, disableAnimatedMobile = true, ...other }) {\n const smDown = useResponsive('down', 'sm');\n\n if (smDown && disableAnimatedMobile) {\n return {children};\n }\n\n return (\n \n {children}\n \n );\n}\n\nMotionViewport.propTypes = {\n children: PropTypes.node,\n disableAnimatedMobile: PropTypes.bool,\n};\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport Box from '@mui/material/Box';\n//\nimport { varContainer } from './variants';\n\n// ----------------------------------------------------------------------\n\nexport default function MotionContainer({ animate, action = false, children, ...other }) {\n if (action) {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n {children}\n \n );\n}\n\nMotionContainer.propTypes = {\n action: PropTypes.bool,\n animate: PropTypes.bool,\n children: PropTypes.node,\n};\n","// ----------------------------------------------------------------------\n\nexport * from './variants';\n\nexport { default as MotionViewport } from './motion-viewport';\nexport { default as MotionContainer } from './motion-container';\n","import PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nconst Logo = styled((props) => {\n const { variant = defaultProps.variant, ...other } = props;\n\n // const color = variant === 'light' ? '#C1C4D6' : '#5048E5';\n\n return (\n \"logo\"\n // \n // \n // \n // \n // \n );\n})``;\n\nconst defaultProps = {\n variant: 'text',\n};\n\nLogo.propTypes = {\n variant: PropTypes.oneOf(['text', 'icon', 'full']),\n};\n\nexport default Logo;\n","export { default } from './logo';\n","export { default } from './tooltip';\n","import Tooltip, { tooltipClasses } from '@mui/material/Tooltip';\n\nimport { styled } from '@mui/material/styles';\n\nconst StyledTooltip = styled(({ className, ...props }) => (\n \n))(() => ({\n [`& .${tooltipClasses.tooltip}`]: {\n borderRadius: '4px',\n fontSize: '10px',\n letterSpacing: '-0.2px',\n lineHeight: '140%',\n backgroundColor: '#151926',\n marginLeft: '26px !important',\n },\n [`& .${tooltipClasses.arrow}`]: {\n color: '#151926',\n },\n}));\n\nexport default StyledTooltip;\n","// routes\nimport { paths } from 'src/routes/paths';\nimport { UserRoles } from './constants';\n\n// API\n// ----------------------------------------------------------------------\n\nexport const HOST_API = process.env.NEXT_PUBLIC_HOST_API;\nexport const ASSETS_API = process.env.NEXT_PUBLIC_ASSETS_API;\n\nexport const FIREBASE_API = {\n apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,\n authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,\n projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,\n storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,\n messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,\n appId: process.env.NEXT_PUBLIC_FIREBASE_APPID,\n measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,\n};\n\nexport const AMPLIFY_API = {\n userPoolId: process.env.NEXT_PUBLIC_AWS_AMPLIFY_USER_POOL_ID,\n userPoolWebClientId: process.env.NEXT_PUBLIC_AWS_AMPLIFY_USER_POOL_WEB_CLIENT_ID,\n region: process.env.NEXT_PUBLIC_AWS_AMPLIFY_REGION,\n};\n\nexport const AUTH0_API = {\n clientId: process.env.NEXT_PUBLIC_AUTH0_CLIENT_ID,\n domain: process.env.NEXT_PUBLIC_AUTH0_DOMAIN,\n callbackUrl: process.env.NEXT_PUBLIC_AUTH0_CALLBACK_URL,\n};\n\nexport const MAPBOX_API = process.env.NEXT_PUBLIC_MAPBOX_API;\n\n// ROOT PATH AFTER LOGIN SUCCESSFUL\nexport const PATH_AFTER_LOGIN = paths.auth.selectInstance; // as '/select-instance'\nexport const PATH_AFTER_SELECT_INSTANCE = (role) => {\n if (!role) return paths.dashboard.root;\n\n const roleGroups = {\n billing: [UserRoles.BILLING_ADMINISTRATOR, UserRoles.BILLING_STAFF],\n cp: [UserRoles.CP_ADMINISTRATOR, UserRoles.CP_OFFICE_USER, UserRoles.CP_STAFF],\n tech: [UserRoles.TECHNICIAN],\n sysAdmin: [UserRoles.SYSTEM_ADMINISTRATOR],\n };\n\n if (roleGroups.sysAdmin.includes(role)) {\n return paths.dashboard.laboratoryList;\n }\n // if (roleGroups.billing.includes(role)) {\n // return paths.dashboard.billing;\n // }\n if (roleGroups.cp.includes(role)) {\n return paths.dashboard.caseList;\n }\n if (roleGroups.tech.includes(role)) {\n return paths.dashboard.modelReview;\n }\n return paths.dashboard.root;\n};\n","'use client';\n\nimport { useCallback, useState } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport function useBoolean(defaultValue) {\n const [value, setValue] = useState(!!defaultValue);\n\n const onTrue = useCallback(() => {\n setValue(true);\n }, []);\n\n const onFalse = useCallback(() => {\n setValue(false);\n }, []);\n\n const onToggle = useCallback(() => {\n setValue((prev) => !prev);\n }, []);\n\n return {\n value,\n onTrue,\n onFalse,\n onToggle,\n setValue,\n };\n}\n","'use client';\n\nimport { useScroll } from 'framer-motion';\nimport { useState, useEffect, useMemo, useCallback } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport function useOffSetTop(top = 0, options) {\n const { scrollY } = useScroll(options);\n\n const [value, setValue] = useState(false);\n\n const onOffSetTop = useCallback(() => {\n scrollY.on('change', (scrollHeight) => {\n if (scrollHeight > top) {\n setValue(true);\n } else {\n setValue(false);\n }\n });\n }, [scrollY, top]);\n\n useEffect(() => {\n onOffSetTop();\n }, [onOffSetTop]);\n\n const memoizedValue = useMemo(() => value, [value]);\n\n return memoizedValue;\n}\n\n// Usage\n// const offset = useOffSetTop(100);\n\n// Or\n// const offset = useOffSetTop(100, {\n// container: ref,\n// });\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\n// ----------------------------------------------------------------------\n\nexport function useResponsive(query, start, end) {\n const theme = useTheme();\n\n const mediaUp = useMediaQuery(theme.breakpoints.up(start));\n\n const mediaDown = useMediaQuery(theme.breakpoints.down(start));\n\n const mediaBetween = useMediaQuery(theme.breakpoints.between(start, end));\n\n const mediaOnly = useMediaQuery(theme.breakpoints.only(start));\n\n if (query === 'up') {\n return mediaUp;\n }\n\n if (query === 'down') {\n return mediaDown;\n }\n\n if (query === 'between') {\n return mediaBetween;\n }\n\n return mediaOnly;\n}\n\n// ----------------------------------------------------------------------\n\nexport function useWidth() {\n const theme = useTheme();\n\n const keys = [...theme.breakpoints.keys].reverse();\n\n return (\n keys.reduce((output, key) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const matches = useMediaQuery(theme.breakpoints.up(key));\n\n return !output && matches ? key : output;\n }, null) || 'xs'\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useRouter } from 'next/navigation';\nimport { v4 as uuid } from 'uuid';\n\nconst CALLBACK_BY_LISTENER = {};\nfunction acceptActionWhenReady(acceptAction) {\n const listeners = Object.values(CALLBACK_BY_LISTENER);\n if (listeners.length === 0) {\n acceptAction();\n } else {\n listeners.forEach((listener) => {\n listener(acceptAction);\n });\n }\n}\nfunction addListener(callback) {\n const id = uuid();\n CALLBACK_BY_LISTENER[id] = callback;\n return id;\n}\nfunction removeListener(id) {\n delete CALLBACK_BY_LISTENER[id];\n}\n\n/**\n * @param shouldWarn if true, the component will be subscribed to the router push event before navigation.\n * @returns a push function (like next's useRouter().push) and an acceptAction function that the subscribing function can call when ready to navigate.\n */\nexport function useAppRouter(shouldWarn) {\n const [{ acceptAction }, setAcceptAction] = useState({ acceptAction: undefined });\n const { push } = useRouter();\n\n // eslint-disable-next-line consistent-return\n useEffect(() => {\n if (shouldWarn) {\n const id = addListener((acceptAction) => {\n setAcceptAction({ acceptAction });\n });\n return () => {\n removeListener(id);\n };\n }\n }, [shouldWarn]);\n\n return {\n push: (route) => {\n acceptActionWhenReady(() => {\n push(route);\n });\n },\n acceptAction,\n };\n}\n","import { useEffect, useRef, useLayoutEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport function useEventListener(eventName, handler, element, options) {\n // Create a ref that stores handler\n const savedHandler = useRef(handler);\n\n useIsomorphicLayoutEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Define the listening target\n const targetElement = element?.current || window;\n if (!(targetElement && targetElement.addEventListener)) {\n return;\n }\n\n // Create event listener that calls handler function stored in ref\n const eventListener = (event) => savedHandler.current(event);\n\n targetElement.addEventListener(eventName, eventListener, options);\n\n // Remove event listener on cleanup\n // eslint-disable-next-line consistent-return\n return () => {\n targetElement.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element, options]);\n}\n","// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\n\n// ----------------------------------------------------------------------\n\nexport const StyledLabel = styled(Box)(({ theme, ownerState }) => {\n const isLight = theme.palette.mode === 'light';\n\n const filledVariant = ownerState.variant === 'filled';\n\n const outlinedVariant = ownerState.variant === 'outlined';\n\n const softVariant = ownerState.variant === 'soft';\n\n const defaultStyle = {\n ...(ownerState.color === 'default' && {\n // FILLED\n ...(filledVariant && {\n color: isLight ? theme.palette.common.white : theme.palette.grey[800],\n backgroundColor: theme.palette.text.primary,\n }),\n // OUTLINED\n ...(outlinedVariant && {\n backgroundColor: 'transparent',\n color: theme.palette.text.primary,\n border: `2px solid ${theme.palette.text.primary}`,\n }),\n // SOFT\n ...(softVariant && {\n color: theme.palette.text.secondary,\n backgroundColor: alpha(theme.palette.grey[500], 0.16),\n }),\n }),\n };\n\n const colorStyle = {\n ...(ownerState.color !== 'default' && {\n // FILLED\n ...(filledVariant && {\n color: theme.palette[ownerState.color].contrastText,\n backgroundColor: theme.palette[ownerState.color].main,\n }),\n // OUTLINED\n ...(outlinedVariant && {\n backgroundColor: 'transparent',\n color: theme.palette[ownerState.color].main,\n border: `2px solid ${theme.palette[ownerState.color].main}`,\n }),\n // SOFT\n ...(softVariant && {\n color: theme.palette[ownerState.color][isLight ? 'dark' : 'light'],\n backgroundColor: alpha(theme.palette[ownerState.color].main, 0.16),\n }),\n }),\n };\n\n return {\n height: 24,\n minWidth: 24,\n lineHeight: 0,\n borderRadius: 6,\n cursor: 'default',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n display: 'inline-flex',\n justifyContent: 'center',\n textTransform: 'capitalize',\n padding: theme.spacing(0, 0.75),\n fontSize: theme.typography.pxToRem(12),\n fontWeight: theme.typography.fontWeightBold,\n transition: theme.transitions.create('all', {\n duration: theme.transitions.duration.shorter,\n }),\n ...defaultStyle,\n ...colorStyle,\n };\n});\n","import PropTypes from 'prop-types';\nimport { forwardRef } from 'react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\n//\nimport { StyledLabel } from './styles';\n\n// ----------------------------------------------------------------------\n\nconst Label = forwardRef(\n ({ children, color = 'default', variant = 'soft', startIcon, endIcon, sx, ...other }, ref) => {\n const theme = useTheme();\n\n const iconStyle = {\n width: 16,\n height: 16,\n '& svg, img': { width: 1, height: 1, objectFit: 'cover' },\n };\n\n return (\n \n {startIcon && {startIcon} }\n\n {children}\n\n {endIcon && {endIcon} }\n \n );\n }\n);\n\nLabel.propTypes = {\n children: PropTypes.node,\n endIcon: PropTypes.object,\n startIcon: PropTypes.object,\n sx: PropTypes.object,\n variant: PropTypes.oneOf(['filled', 'outlined', 'ghost', 'soft']),\n color: PropTypes.oneOf([\n 'default',\n 'primary',\n 'secondary',\n 'info',\n 'success',\n 'warning',\n 'error',\n ]),\n};\n\nexport default Label;\n","export { default } from './label';\n","import PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport Paper from '@mui/material/Paper';\n\n// ----------------------------------------------------------------------\n\nexport default function SearchNotFound({ query, sx, ...other }) {\n return query ? (\n \n \n Not Found\n \n\n \n No results found for  \n "{query}".\n
Try checking for typos or using complete words.\n
\n \n ) : (\n \n Please enter keywords\n \n );\n}\n\nSearchNotFound.propTypes = {\n query: PropTypes.string,\n sx: PropTypes.object,\n};\n","export { default } from './search-not-found';\n","import PropTypes from 'prop-types';\n// @mui\nimport { alpha } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemButton from '@mui/material/ListItemButton';\n// components\nimport Label from 'src/components/label';\n\n// ----------------------------------------------------------------------\n\nexport default function ResultItem({ title, path, groupLabel, onClickItem }) {\n return (\n theme.palette.divider,\n '&:hover': {\n borderRadius: 1,\n borderColor: (theme) => theme.palette.primary.main,\n backgroundColor: (theme) =>\n alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n },\n }}\n >\n (\n \n {part.text}\n \n ))}\n secondary={path.map((part, index) => (\n \n {part.text}\n \n ))}\n />\n\n {groupLabel && }\n \n );\n}\n\nResultItem.propTypes = {\n groupLabel: PropTypes.string,\n onClickItem: PropTypes.func,\n path: PropTypes.array,\n title: PropTypes.array,\n};\n","'use client';\n\nimport { useState, memo, useCallback } from 'react';\nimport parse from 'autosuggest-highlight/parse';\nimport match from 'autosuggest-highlight/match';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport List from '@mui/material/List';\nimport Stack from '@mui/material/Stack';\nimport InputBase from '@mui/material/InputBase';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Dialog, { dialogClasses } from '@mui/material/Dialog';\n// hooks\nimport { useBoolean } from 'src/hooks/use-boolean';\nimport { useResponsive } from 'src/hooks/use-responsive';\nimport { useEventListener } from 'src/hooks/use-event-listener';\n// components\nimport Label from 'src/components/label';\nimport Iconify from 'src/components/iconify';\nimport Scrollbar from 'src/components/scrollbar';\nimport { useRouter } from 'src/routes/hooks';\nimport SearchNotFound from 'src/components/search-not-found';\n//\nimport ResultItem from './result-item';\nimport { useNavData } from '../../dashboard/config-navigation';\nimport { applyFilter, groupedData, getAllItems } from './utils';\n\n// ----------------------------------------------------------------------\n\nfunction Searchbar() {\n const theme = useTheme();\n\n const router = useRouter();\n\n const search = useBoolean();\n\n const lgUp = useResponsive('up', 'lg');\n\n const [searchQuery, setSearchQuery] = useState('');\n\n const navData = useNavData();\n\n const handleClose = useCallback(() => {\n search.onFalse();\n setSearchQuery('');\n }, [search]);\n\n const handleKeyDown = (event) => {\n if (event.key === 'k' && event.metaKey) {\n search.onToggle();\n setSearchQuery('');\n }\n };\n\n useEventListener('keydown', handleKeyDown);\n\n const handleClick = useCallback(\n (path) => {\n if (path.includes('http')) {\n window.open(path);\n } else {\n router.push(path);\n }\n handleClose();\n },\n [handleClose, router]\n );\n\n const handleSearch = useCallback((event) => {\n setSearchQuery(event.target.value);\n }, []);\n\n const dataFiltered = applyFilter({\n inputData: getAllItems({ data: navData }),\n query: searchQuery,\n });\n\n const notFound = searchQuery && !dataFiltered.length;\n\n const renderItems = () => {\n const data = groupedData(dataFiltered);\n\n return Object.keys(data)\n .sort((a, b) => -b.localeCompare(a))\n .map((group, index) => (\n \n {data[group].map((item) => {\n const { title, path } = item;\n\n const partsTitle = parse(title, match(title, searchQuery));\n\n const partsPath = parse(path, match(path, searchQuery));\n\n return (\n handleClick(path)}\n />\n );\n })}\n \n ));\n };\n\n const renderButton = (\n \n \n \n \n\n {lgUp && }\n \n );\n\n return (\n <>\n {renderButton}\n\n \n \n \n \n \n }\n endAdornment={}\n inputProps={{\n sx: { typography: 'h6' },\n }}\n />\n \n\n \n {notFound ? : renderItems()}\n \n \n \n );\n}\n\nexport default memo(Searchbar);\n","export { default } from './searchbar';\n","import { createSvgIcon } from '@mui/material/utils';\n\nexport const SettingsIcon = createSvgIcon(\n \n \n ,\n 'ChartSquareBar'\n);\n","// @mui\nimport { styled } from '@mui/material/styles';\n\nimport ListItemButton from '@mui/material/ListItemButton';\n\n// ----------------------------------------------------------------------\n\nexport const StyledItem = styled(ListItemButton, {\n shouldForwardProp: (prop) => prop !== 'active',\n})(({ active }) => {\n const activeStyles = {\n root: {\n color: '#ffffff',\n backgroundColor: '#414141',\n '&:hover': {\n // backgroundColor: alpha(theme.palette.primary.main, 0.16),\n },\n },\n sub: {\n // color: theme.palette.text.primary,\n backgroundColor: 'transparent',\n '&:hover': {\n // backgroundColor: theme.palette.action.hover,\n },\n },\n };\n\n return {\n // Root item\n // padding: config.itemPadding,\n // marginBottom: config.itemGap,\n // borderRadius: config.itemRadius,\n // minHeight: config.itemRootHeight,\n color: '#ffffff',\n\n // Active root item\n ...(active && {\n ...activeStyles.root,\n }),\n };\n});\n","import PropTypes from 'prop-types';\n// @mui\nimport Stack from '@mui/material/Stack';\n\nimport Link from '@mui/material/Link';\nimport { RouterLink } from 'src/routes/components';\nimport ListItemText from '@mui/material/ListItemText';\n\nimport { useAppRouter } from 'src/hooks/useNavigationEvent';\nimport { useActiveLink } from 'src/routes/hooks/use-active-link';\n// routes\nimport { paths } from 'src/routes/paths';\n\nimport StyledTooltip from 'src/components/tooltip';\nimport { SettingsIcon } from '../../assets/icons/settings';\n\nimport { StyledItem } from './styles';\n\nexport default function NavUpgrade({ isMini, isAccessionPage }) {\n const settingsPath = paths.dashboard.settings;\n const { push } = useAppRouter();\n\n const active = useActiveLink(settingsPath, false);\n\n return (\n \n \n isAccessionPage && push(settingsPath)}\n underline=\"none\"\n color=\"inherit\"\n >\n \n \n \n \n \n \n \n );\n}\n\nNavUpgrade.propTypes = {\n isMini: PropTypes.bool,\n isAccessionPage: PropTypes.bool,\n};\n","import PropTypes from 'prop-types';\n// @mui\nimport Button from '@mui/material/Button';\n// routes\nimport { RouterLink } from 'src/routes/components';\n// config\nimport { PATH_AFTER_LOGIN } from 'src/config-global';\n\n// ----------------------------------------------------------------------\n\nexport default function LoginButton({ sx }) {\n return (\n \n );\n}\n\nLoginButton.propTypes = {\n sx: PropTypes.object,\n};\n","import PropTypes from 'prop-types'; // @mui\nimport Box from '@mui/material/Box';\n\n// ----------------------------------------------------------------------\n\nexport default function HeaderShadow({ sx, ...other }) {\n return (\n theme.customShadows.z8,\n ...sx,\n }}\n {...other}\n />\n );\n}\n\nHeaderShadow.propTypes = {\n sx: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport Badge, { badgeClasses } from '@mui/material/Badge';\n// components\nimport Iconify from 'src/components/iconify';\nimport { varHover } from 'src/components/animate';\nimport { useSettingsContext } from 'src/components/settings';\n\n// ----------------------------------------------------------------------\n\nexport default function SettingsButton({ sx }) {\n const settings = useSettingsContext();\n\n return (\n \n \n \n \n \n \n \n );\n}\n\nSettingsButton.propTypes = {\n sx: PropTypes.object,\n};\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport Link from '@mui/material/Link';\nimport Stack from '@mui/material/Stack';\nimport AppBar from '@mui/material/AppBar';\nimport Toolbar from '@mui/material/Toolbar';\n// theme\nimport { bgBlur } from 'src/theme/css';\n// hooks\nimport { useOffSetTop } from 'src/hooks/use-off-set-top';\n// components\nimport Logo from 'src/components/logo';\nimport { RouterLink } from 'src/routes/components';\n//\nimport { HEADER } from '../config-layout';\nimport HeaderShadow from './header-shadow';\nimport SettingsButton from './settings-button';\n\n// ----------------------------------------------------------------------\n\nexport default function HeaderSimple() {\n const theme = useTheme();\n\n const offsetTop = useOffSetTop(HEADER.H_DESKTOP);\n\n return (\n \n \n \n\n \n \n\n \n Need help?\n \n \n \n\n {offsetTop && }\n \n );\n}\n","import { useCallback, useState } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function usePopover() {\n const [open, setOpen] = useState(null);\n\n const onOpen = useCallback((event) => {\n setOpen(event.currentTarget);\n }, []);\n\n const onClose = useCallback(() => {\n setOpen(null);\n }, []);\n\n return {\n open,\n onOpen,\n onClose,\n setOpen,\n };\n}\n","// ----------------------------------------------------------------------\n\nexport function getPosition(arrow) {\n let props;\n\n switch (arrow) {\n case 'top-left':\n props = {\n style: { ml: -0.75 },\n anchorOrigin: { vertical: 'bottom', horizontal: 'left' },\n transformOrigin: { vertical: 'top', horizontal: 'left' },\n };\n break;\n case 'top-center':\n props = {\n style: {},\n anchorOrigin: { vertical: 'bottom', horizontal: 'center' },\n transformOrigin: { vertical: 'top', horizontal: 'center' },\n };\n break;\n case 'top-right':\n props = {\n style: { ml: 0.75 },\n anchorOrigin: { vertical: 'bottom', horizontal: 'right' },\n transformOrigin: { vertical: 'top', horizontal: 'right' },\n };\n break;\n case 'bottom-left':\n props = {\n style: { ml: -0.75 },\n anchorOrigin: { vertical: 'top', horizontal: 'left' },\n transformOrigin: { vertical: 'bottom', horizontal: 'left' },\n };\n break;\n case 'bottom-center':\n props = {\n style: {},\n anchorOrigin: { vertical: 'top', horizontal: 'center' },\n transformOrigin: { vertical: 'bottom', horizontal: 'center' },\n };\n break;\n case 'bottom-right':\n props = {\n style: { ml: 0.75 },\n anchorOrigin: { vertical: 'top', horizontal: 'right' },\n transformOrigin: { vertical: 'bottom', horizontal: 'right' },\n };\n break;\n case 'left-top':\n props = {\n style: { mt: -0.75 },\n anchorOrigin: { vertical: 'top', horizontal: 'right' },\n transformOrigin: { vertical: 'top', horizontal: 'left' },\n };\n break;\n case 'left-center':\n props = {\n anchorOrigin: { vertical: 'center', horizontal: 'right' },\n transformOrigin: { vertical: 'center', horizontal: 'left' },\n };\n break;\n case 'left-bottom':\n props = {\n style: { mt: 0.75 },\n anchorOrigin: { vertical: 'bottom', horizontal: 'right' },\n transformOrigin: { vertical: 'bottom', horizontal: 'left' },\n };\n break;\n case 'right-top':\n props = {\n style: { mt: -0.75 },\n anchorOrigin: { vertical: 'top', horizontal: 'left' },\n transformOrigin: { vertical: 'top', horizontal: 'right' },\n };\n break;\n case 'right-center':\n props = {\n anchorOrigin: { vertical: 'center', horizontal: 'left' },\n transformOrigin: { vertical: 'center', horizontal: 'right' },\n };\n break;\n case 'right-bottom':\n props = {\n style: { mt: 0.75 },\n anchorOrigin: { vertical: 'bottom', horizontal: 'left' },\n transformOrigin: { vertical: 'bottom', horizontal: 'right' },\n };\n break;\n\n // top-right\n default:\n props = {\n style: { ml: 0.75 },\n anchorOrigin: { vertical: 'bottom', horizontal: 'right' },\n transformOrigin: { vertical: 'top', horizontal: 'right' },\n };\n }\n\n return props;\n}\n","// @mui\nimport { styled, alpha } from '@mui/material/styles';\n// theme\nimport { bgBlur } from 'src/theme/css';\n\n// ----------------------------------------------------------------------\n\nexport const StyledArrow = styled('span')(({ arrow, theme }) => {\n const SIZE = 14;\n\n const POSITION = -(SIZE / 2) + 0.5;\n\n const topStyle = {\n top: POSITION,\n transform: 'rotate(135deg)',\n };\n\n const bottomStyle = {\n bottom: POSITION,\n transform: 'rotate(-45deg)',\n };\n\n const leftStyle = {\n left: POSITION,\n transform: 'rotate(45deg)',\n };\n\n const rightStyle = {\n right: POSITION,\n transform: 'rotate(-135deg)',\n };\n\n return {\n width: SIZE,\n height: SIZE,\n position: 'absolute',\n borderBottomLeftRadius: SIZE / 4,\n clipPath: 'polygon(0% 0%, 100% 100%, 0% 100%)',\n border: `solid 1px ${alpha(\n theme.palette.mode === 'light' ? theme.palette.grey[500] : theme.palette.common.black,\n 0.12\n )}`,\n ...bgBlur({\n color: theme.palette.background.paper,\n }),\n // Top\n ...(arrow === 'top-left' && { ...topStyle, left: 20 }),\n ...(arrow === 'top-center' && {\n ...topStyle,\n left: 0,\n right: 0,\n margin: 'auto',\n }),\n ...(arrow === 'top-right' && { ...topStyle, right: 20 }),\n // Bottom\n ...(arrow === 'bottom-left' && { ...bottomStyle, left: 20 }),\n ...(arrow === 'bottom-center' && {\n ...bottomStyle,\n left: 0,\n right: 0,\n margin: 'auto',\n }),\n ...(arrow === 'bottom-right' && { ...bottomStyle, right: 20 }),\n // Left\n ...(arrow === 'left-top' && { ...leftStyle, top: 20 }),\n ...(arrow === 'left-center' && {\n ...leftStyle,\n top: 0,\n bottom: 0,\n margin: 'auto',\n }),\n ...(arrow === 'left-bottom' && { ...leftStyle, bottom: 20 }),\n // Right\n ...(arrow === 'right-top' && { ...rightStyle, top: 20 }),\n ...(arrow === 'right-center' && {\n ...rightStyle,\n top: 0,\n bottom: 0,\n margin: 'auto',\n }),\n ...(arrow === 'right-bottom' && { ...rightStyle, bottom: 20 }),\n };\n});\n","import PropTypes from 'prop-types'; // @mui\nimport { menuItemClasses } from '@mui/material/MenuItem';\nimport Popover from '@mui/material/Popover';\n//\nimport { getPosition } from './utils';\nimport { StyledArrow } from './styles';\n\n// ----------------------------------------------------------------------\n\nexport default function CustomPopover({\n open,\n children,\n arrow = 'top-right',\n hiddenArrow,\n sx,\n ...other\n}) {\n const { style, anchorOrigin, transformOrigin } = getPosition(arrow);\n\n return (\n \n {!hiddenArrow && }\n\n {children}\n \n );\n}\n\nCustomPopover.propTypes = {\n sx: PropTypes.object,\n open: PropTypes.object,\n children: PropTypes.node,\n hiddenArrow: PropTypes.bool,\n disabledArrow: PropTypes.bool,\n arrow: PropTypes.oneOf([\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n 'left-top',\n 'left-center',\n 'left-bottom',\n 'right-top',\n 'right-center',\n 'right-bottom',\n ]),\n};\n","export { default as usePopover } from './use-popover';\n\nexport { default } from './custom-popover';\n","import { useCallback } from 'react';\nimport { m } from 'framer-motion';\n// @mui\nimport MenuItem from '@mui/material/MenuItem';\nimport IconButton from '@mui/material/IconButton';\n// components\nimport Iconify from 'src/components/iconify';\nimport { varHover } from 'src/components/animate';\nimport CustomPopover, { usePopover } from 'src/components/custom-popover';\n\n// ----------------------------------------------------------------------\n\nexport const allLangs = [\n {\n label: 'English',\n value: 'en',\n icon: 'flagpack:gb-nir',\n },\n {\n label: 'French',\n value: 'fr',\n icon: 'flagpack:fr',\n },\n {\n label: 'Vietnamese',\n value: 'vi',\n icon: 'flagpack:vn',\n },\n {\n label: 'Chinese',\n value: 'cn',\n icon: 'flagpack:cn',\n },\n {\n label: 'Arabic',\n value: 'ar',\n icon: 'flagpack:sa',\n },\n];\n\nexport default function LanguagePopover() {\n const popover = usePopover();\n\n const currentLang = allLangs[0];\n\n const handleChangeLang = useCallback(() => {\n popover.onClose();\n }, [popover]);\n\n return (\n <>\n \n \n \n\n \n {allLangs.map((option) => (\n \n \n\n {option.label}\n \n ))}\n \n \n );\n}\n","import { createSvgIcon } from '@mui/material/utils';\n\nexport const TabIcon = createSvgIcon(\n \n \n \n);\n","import PropTypes from 'prop-types';\nimport { useState } from 'react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\n\nimport { useResponsive } from 'src/hooks/use-responsive';\n\nimport { useSettingsContext } from 'src/components/settings';\nimport StyledTooltip from 'src/components/tooltip';\nimport { TabIcon } from '../../assets/icons/tab';\n\nexport default function NavToggleButton({ sx, isMini, ...other }) {\n const [open, setOpen] = useState(false);\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n const theme = useTheme();\n\n const settings = useSettingsContext();\n\n return (\n \n }\n onClick={() => {\n settings.onUpdate(\n 'themeLayout',\n settings.themeLayout === 'vertical' ? 'mini' : 'vertical'\n );\n handleClose();\n }}\n sx={{\n px: 3,\n py: 1.5,\n color: '#ffffff',\n justifyContent: 'flex-start',\n lineHeight: '150%',\n\n '&:hover': {\n bgcolor: theme.palette.action.hoverOpacity,\n borderRadius: 0,\n },\n '& .MuiButton-startIcon': {\n ml: 0,\n mr: isMini ? 0 : 1,\n transform: isMini ? 'scale(-1)' : 'scale(1)',\n\n },\n\n ...sx,\n }}\n {...other}\n >\n \n Hide sidebar\n \n \n \n );\n}\n\nNavToggleButton.propTypes = {\n sx: PropTypes.object,\n isMini: PropTypes.bool,\n};\n","export { default as Searchbar } from './searchbar';\nexport { default as NavUpgrade } from './nav-upgrade';\nexport { default as LoginButton } from './login-button';\nexport { default as HeaderShadow } from './header-shadow';\nexport { default as HeaderSimple } from './header-simple';\nexport { default as SettingsButton } from './settings-button';\n\nexport { default as LanguagePopover } from './language-popover';\n\nexport { default as NavToggleButton } from './nav-toggle-button';\n","// ----------------------------------------------------------------------\n\nexport const HEADER = {\n H_MOBILE: 64,\n H_DESKTOP: 80,\n H_DESKTOP_OFFSET: 80 - 16,\n};\n\nexport const NAV = {\n W_VERTICAL: 216,\n W_MINI: 68,\n};\n","import FactCheckIcon from '@mui/icons-material/FactCheck';\nimport MedicalInformationIcon from '@mui/icons-material/MedicalInformation';\nimport ShieldIcon from '@mui/icons-material/Shield';\nimport SummarizeIcon from '@mui/icons-material/Summarize';\nimport InsertDriveFileRoundedIcon from '@mui/icons-material/InsertDriveFileRounded';\nimport AccountTreeIcon from '@mui/icons-material/AccountTree';\nimport {\n SyncAlt as SyncAltIcon,\n Tune as TuneIcon,\n PrecisionManufacturing as PrecisionManufacturingIcon,\n} from '@mui/icons-material';\nimport { useMemo } from 'react';\n\nimport { useAuthContext } from 'src/auth/hooks';\nimport SvgColor from 'src/components/svg-color';\nimport { LAB_APPLICATION_TYPES, UserRoles } from 'src/constants';\nimport { paths } from 'src/routes/paths';\n\n// ----------------------------------------------------------------------\n\nconst icon = (name) => (\n \n // OR\n // \n // https://icon-sets.iconify.design/solar/\n // https://www.streamlinehq.com/icons\n);\n\nconst ICONS = {\n work: icon('ic_workFilled'),\n photo: icon('ic_photoLibraryFilled'),\n business: icon('ic_businessFilled'),\n settings: icon('ic_fliptoFrontFilled'),\n stains: icon('ic_textSnippetFilled'),\n templates: icon('ic_fliptoFrontFilled'),\n insurance: ,\n insuranceMapping: ,\n billing: icon('ic_billing'),\n billingSettings: icon('ic_payment'),\n caseList: ,\n pendingList: ,\n abnormalList: ,\n labMetrics: ,\n testPanelList: ,\n instrumentList: ,\n referenceRange: ,\n};\n\n// ----------------------------------------------------------------------\n\nexport function useNavData() {\n const { selectedUser } = useAuthContext();\n const { role } = selectedUser;\n\n const data = useMemo(() => {\n const appTypes = selectedUser?.applications;\n\n const pathologist = [UserRoles.PATHOLOGIST, UserRoles.TC_PATHOLOGIST];\n const lab_user = [UserRoles.LAB_USER, UserRoles.LAB_DIRECTOR, UserRoles.LAB_MANAGER];\n const billing_user = [UserRoles.BILLING_STAFF, UserRoles.BILLING_ADMINISTRATOR];\n return [\n // OVERVIEW\n // ----------------------------------------------------------------------\n {\n subheader: 'Anatomical Pathology',\n items: [\n {\n title: 'Accession List',\n path: paths.dashboard.accessionList,\n icon: ICONS.work,\n roles: [\n UserRoles.LAB_ADMINISTRATOR,\n UserRoles.LAB_DIRECTOR,\n UserRoles.OFFICE_USER,\n UserRoles.PHYSICIAN,\n UserRoles.SALES_PERSON,\n ...billing_user,\n ...lab_user,\n ...pathologist,\n ],\n },\n {\n title: 'Grossing',\n path: paths.dashboard.grossing,\n icon: ICONS.work,\n roles: [UserRoles.LAB_USER, UserRoles.LAB_MANAGER, UserRoles.LAB_ADMINISTRATOR],\n appType: LAB_APPLICATION_TYPES.BILLING,\n },\n {\n title: 'Shared Accessions',\n path: paths.dashboard.sharedAccessions,\n icon: ICONS.work,\n roles: [...pathologist, UserRoles.LAB_ADMINISTRATOR],\n },\n {\n title: 'Image List',\n path: paths.dashboard.imageList,\n icon: ICONS.photo,\n appType: LAB_APPLICATION_TYPES.IMS,\n roles: [UserRoles.LAB_ADMINISTRATOR, ...lab_user],\n },\n {\n title: 'Model Review',\n path: paths.dashboard.modelReview,\n icon: ICONS.photo,\n roles: [UserRoles.TECHNICIAN, UserRoles.LAB_ADMINISTRATOR],\n },\n {\n title: 'Stain List',\n path: paths.dashboard.stainList,\n icon: ICONS.stains,\n appType: LAB_APPLICATION_TYPES.LIS,\n roles: [UserRoles.LAB_ADMINISTRATOR],\n },\n {\n title: 'Stain Requests',\n path: paths.dashboard.stainRequests,\n icon: ICONS.photo,\n appType: LAB_APPLICATION_TYPES.LIS,\n roles: [UserRoles.LAB_ADMINISTRATOR, ...pathologist, ...lab_user],\n },\n {\n title: 'Templates',\n path: paths.dashboard.templateList,\n icon: ICONS.templates,\n appType: LAB_APPLICATION_TYPES.LIS,\n roles: [UserRoles.LAB_ADMINISTRATOR, UserRoles.LAB_DIRECTOR, ...pathologist],\n },\n {\n title: 'Interface Tracking',\n path: paths.dashboard.interfaceTracking,\n icon: ICONS.templates,\n appType: LAB_APPLICATION_TYPES.LIS,\n roles: [UserRoles.LAB_ADMINISTRATOR, ...lab_user],\n },\n ].filter(\n (item) =>\n (!item.appType || appTypes?.includes(item.appType)) &&\n (!item.roles || item.roles.includes(role))\n ),\n },\n\n // CLINICAL\n // ----------------------------------------------------------------------\n {\n subheader: 'Clinical Pathology',\n items: [\n {\n title: 'Clinical Accessions',\n path: paths.dashboard.caseList,\n icon: ICONS.caseList,\n roles: [\n UserRoles.LAB_ADMINISTRATOR,\n UserRoles.CP_STAFF,\n UserRoles.CP_ADMINISTRATOR,\n UserRoles.CP_OFFICE_USER,\n UserRoles.SALES_PERSON,\n ],\n appType: LAB_APPLICATION_TYPES.CP,\n },\n {\n title: 'Sample Pending List',\n path: paths.dashboard.pendingList,\n icon: ICONS.pendingList,\n roles: [\n UserRoles.LAB_ADMINISTRATOR,\n UserRoles.CP_STAFF,\n UserRoles.CP_ADMINISTRATOR,\n UserRoles.CP_OFFICE_USER,\n UserRoles.SALES_PERSON,\n ],\n appType: LAB_APPLICATION_TYPES.CP,\n },\n {\n title: 'Abnormal Test List',\n path: paths.dashboard.abnormalList,\n icon: ICONS.abnormalList,\n roles: [\n UserRoles.LAB_ADMINISTRATOR,\n UserRoles.CP_STAFF,\n UserRoles.CP_ADMINISTRATOR,\n UserRoles.CP_OFFICE_USER,\n UserRoles.SALES_PERSON,\n ],\n appType: LAB_APPLICATION_TYPES.CP,\n },\n {\n title: 'Clinical Reports',\n path: paths.dashboard.clinicalReports,\n icon: ICONS.caseList,\n roles: [\n UserRoles.LAB_ADMINISTRATOR,\n UserRoles.CP_STAFF,\n UserRoles.CP_ADMINISTRATOR,\n UserRoles.CP_OFFICE_USER,\n UserRoles.SALES_PERSON,\n ],\n appType: LAB_APPLICATION_TYPES.CP,\n },\n {\n title: 'Clinical Settings',\n path: paths.dashboard.clinicalSettings,\n icon: ICONS.settings,\n roles: [UserRoles.LAB_ADMINISTRATOR, UserRoles.CP_ADMINISTRATOR],\n appType: LAB_APPLICATION_TYPES.CP,\n },\n ].filter(\n (item) =>\n (!item.appType || appTypes?.includes(item.appType)) &&\n (!item.roles || item.roles.includes(role))\n ),\n },\n\n // BILLING\n // ----------------------------------------------------------------------\n {\n subheader: 'Billing',\n items: [\n {\n title: 'Billing',\n path: paths.dashboard.billing,\n icon: ICONS.billing,\n roles: [\n UserRoles.BILLING_STAFF,\n UserRoles.BILLING_ADMINISTRATOR,\n UserRoles.LAB_ADMINISTRATOR,\n ],\n appType: LAB_APPLICATION_TYPES.BILLING,\n },\n {\n title: 'Billing Settings',\n path: paths.dashboard.billingSettings,\n icon: ICONS.billingSettings,\n roles: [UserRoles.BILLING_ADMINISTRATOR, UserRoles.LAB_ADMINISTRATOR],\n appType: LAB_APPLICATION_TYPES.BILLING,\n },\n ].filter(\n (item) =>\n (!item.appType || appTypes?.includes(item.appType)) &&\n (!item.roles || item.roles.includes(role))\n ),\n },\n\n // MANAGEMENT\n // ----------------------------------------------------------------------\n {\n subheader: 'Administration',\n items: [\n {\n title: 'Migrated Cases List',\n path: paths.dashboard.administration.migrateCases,\n icon: ICONS.work,\n roles: [UserRoles.LAB_DIRECTOR, UserRoles.LAB_ADMINISTRATOR, UserRoles.LAB_MANAGER],\n },\n {\n title: 'Clients',\n path: paths.dashboard.administration.clients,\n icon: ICONS.business,\n roles: [UserRoles.CP_ADMINISTRATOR, UserRoles.LAB_ADMINISTRATOR],\n },\n {\n title: 'Insurance',\n path: paths.dashboard.administration.insurance,\n icon: ICONS.insurance,\n roles: [UserRoles.CP_ADMINISTRATOR, UserRoles.LAB_ADMINISTRATOR],\n appType: LAB_APPLICATION_TYPES.LIS,\n },\n {\n title: 'Insurance Mapping',\n path: paths.dashboard.administration.insuranceMapping,\n icon: ICONS.insuranceMapping,\n roles: [UserRoles.LAB_ADMINISTRATOR],\n appType: LAB_APPLICATION_TYPES.LIS,\n },\n {\n title: 'Lab Metrics',\n path: paths.dashboard.administration.labMetrics,\n icon: ICONS.labMetrics,\n roles: [UserRoles.CP_ADMINISTRATOR, UserRoles.LAB_ADMINISTRATOR],\n appType: LAB_APPLICATION_TYPES.LIS,\n },\n ].filter(\n (item) =>\n (!item.appType || appTypes?.includes(item.appType)) &&\n (!item.roles || item.roles.includes(role))\n ),\n },\n ];\n }, [role, selectedUser?.applications]);\n\n return data.filter((group) => group?.items?.length);\n}\n","import { forwardRef } from 'react';\nimport Link from 'next/link';\n\n// ----------------------------------------------------------------------\n\nconst RouterLink = forwardRef(({ ...other }, ref) => );\n\nexport default RouterLink;\n","export { default as RouterLink } from './router-link';\n","export { useParams } from 'next/navigation';\n","export { useRouter } from 'next/navigation';\n","export { usePathname } from 'next/navigation';\n","export { useSearchParams } from 'next/navigation';\n","export { useActiveLink } from './use-active-link';\n//\nexport { useParams } from './use-params';\nexport { useRouter } from './use-router';\nexport { usePathname } from './use-pathname';\nexport { useSearchParams } from './use-search-params';\n","import { usePathname } from 'next/navigation';\n\n// ----------------------------------------------------------------------\n\nexport function useActiveLink(path, deep = true) {\n const pathname = usePathname();\n\n const checkPath = path.startsWith('#');\n\n const currentPath = path === '/' ? '/' : `${path}/`;\n\n const normalActive = !checkPath && pathname === currentPath;\n\n const deepActive = !checkPath && pathname.includes(currentPath);\n\n return deep ? deepActive : normalActive;\n}\n","// ----------------------------------------------------------------------\n\nconst ROOTS = {\n AUTH: '/auth',\n DASHBOARD: '/dashboard',\n};\n\n// ----------------------------------------------------------------------\n\nexport const paths = {\n minimalUI: 'https://mui.com/store/items/minimal-dashboard/',\n error: {\n notFound: '/not-found',\n },\n // AUTH\n auth: {\n jwt: {\n login: `${ROOTS.AUTH}/jwt/login/`,\n register: `${ROOTS.AUTH}/jwt/register/`,\n },\n selectInstance: '/select-instance/',\n },\n // DASHBOARD\n dashboard: {\n root: '/accession-list/',\n accessionList: `/accession-list/`,\n grossing: `/grossing/`,\n sharedAccessions: `/shared-accessions/`,\n imageList: `/image-list/`,\n modelReview: `/model-review/`,\n laboratoryList: `/laboratory-list/`,\n settings: `/settings/`,\n stainList: `/stain-list/`,\n stainRequests: `/stain-requests/`,\n templateList: `/template-list/`,\n interfaceTracking: `/interface-tracking/`,\n billing: `/billing`,\n billingSettings: `/billing-settings/`,\n caseList: `/clinical-accessions/`,\n pendingList: `/pending-list/`,\n abnormalList: `/abnormal-list/`,\n clinicalReports: `/clinical-reports/`,\n clinicalSettings: `/clinical-settings/`,\n\n administration: {\n root: `/clients/`,\n migrateCases: `/migrate-cases`,\n clients: `/clients/`,\n insurance: `/insurance-list/`,\n insuranceMapping: `/insurance-mapping/`,\n labMetrics: `/lab-metrics/`,\n },\n },\n};\n"],"names":["AuthContext","createContext","useAuthContext","context","useContext","useCurrentUserRoleDescription","selectedUser","useMemo","role","applications","isLIS","includes","isLISOnly","length","isIMS","isIMSOnly","isOfficeUser","UserRoles","OFFICE_USER","isSalesPerson","SALES_PERSON","isPhysician","PHYSICIAN","isBillingUser","BILLING_STAFF","BILLING_ADMINISTRATOR","isAnyPathologist","PATHOLOGIST","TC_PATHOLOGIST","isLabManager","LAB_MANAGER","isLabAdministrator","LAB_ADMINISTRATOR","isLabHighPositionMember","LAB_DIRECTOR","isTechnician","TECHNICIAN","isLabUser","LAB_USER","isBillingStaff","isLabDirector","isPathologist","isSystemAdministrator","SYSTEM_ADMINISTRATOR","CurrentUserRoleDescriptionPropType","shape","oneOf","Object","values","isRequired","arrayOf","string","bool","varTranEnter","duration","props","durationIn","ease","easeIn","varTranExit","durationOut","easeOut","varBounce","in","initial","animate","scale","opacity","transition","exit","inUp","y","scaleY","inDown","inLeft","x","scaleX","inRight","out","outUp","outDown","outLeft","outRight","varHover","hover","tap","varContainer","staggerIn","delayIn","staggerOut","staggerChildren","delayChildren","staggerDirection","MotionContainer","param","action","children","other","jsx_runtime","jsx","Box","component","m","div","variants","PropTypes","propTypes","Logo","styled","variant","defaultProps","img","src","concat","width","alt","_templateObject","logo","StyledTooltip","className","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","Tooltip","classes","popper","tooltipClasses","tooltip","borderRadius","fontSize","letterSpacing","lineHeight","backgroundColor","marginLeft","arrow","color","__webpack_exports__","Z","process","env","NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID","PATH_AFTER_LOGIN","paths","auth","selectInstance","PATH_AFTER_SELECT_INSTANCE","dashboard","root","roleGroups","billing","cp","CP_ADMINISTRATOR","CP_OFFICE_USER","CP_STAFF","tech","sysAdmin","laboratoryList","caseList","modelReview","useBoolean","defaultValue","value","setValue","useState","onTrue","useCallback","onFalse","onToggle","prev","useOffSetTop","top","options","scrollY","useScroll","onOffSetTop","on","scrollHeight","useEffect","memoizedValue","useResponsive","query","start","end","theme","useTheme","mediaUp","useMediaQuery","breakpoints","up","mediaDown","down","mediaBetween","between","mediaOnly","only","CALLBACK_BY_LISTENER","useAppRouter","shouldWarn","acceptAction","setAcceptAction","undefined","push","useRouter","id","addListener","callback","uuid","acceptActionWhenReady","listeners","forEach","listener","route","StyledLabel","ownerState","isLight","palette","mode","filledVariant","outlinedVariant","softVariant","defaultStyle","common","white","grey","text","primary","border","secondary","alpha","colorStyle","contrastText","main","height","minWidth","cursor","alignItems","whiteSpace","display","justifyContent","textTransform","padding","spacing","typography","pxToRem","fontWeight","fontWeightBold","transitions","create","shorter","Label","forwardRef","ref","startIcon","endIcon","sx","iconStyle","objectFit","jsxs","pl","pr","mr","ml","SettingsIcon","createSvgIcon","svg","viewBox","fill","xmlns","path","d","StyledItem","ListItemButton","shouldForwardProp","prop","active","NavUpgrade","isMini","isAccessionPage","settingsPath","settings","useActiveLink","Stack","title","placement","disableHoverListener","Link","href","RouterLink","onClick","underline","disableGutters","px","py","ListItemText","primaryTypographyProps","noWrap","visibility","HeaderShadow","left","right","bottom","zIndex","position","boxShadow","customShadows","z8","SettingsButton","useSettingsContext","Badge","invisible","canReset","badgeClasses","badge","rotate","open","repeat","Infinity","IconButton","button","whileTap","whileHover","aria-label","Iconify","icon","HeaderSimple","offsetTop","HEADER","H_DESKTOP","AppBar","Toolbar","xs","H_MOBILE","md","easing","easeInOut","bgBlur","background","default","H_DESKTOP_OFFSET","direction","topStyle","transform","bottomStyle","leftStyle","rightStyle","borderBottomLeftRadius","SIZE","clipPath","black","paper","margin","TabIcon","NavToggleButton","setOpen","handleClose","onClose","onOpen","Button","fullWidth","onUpdate","themeLayout","bgcolor","hoverOpacity","span","style","flexShrink","overflow","NAV","W_VERTICAL","W_MINI","SvgColor","name","ICONS","work","photo","business","stains","templates","insurance","ShieldIcon","insuranceMapping","AccountTreeIcon","billingSettings","SummarizeIcon","pendingList","FactCheckIcon","abnormalList","MedicalInformationIcon","labMetrics","InsertDriveFileRoundedIcon","testPanelList","TuneIcon","instrumentList","PrecisionManufacturingIcon","referenceRange","SyncAltIcon","useNavData","data","appTypes","pathologist","lab_user","billing_user","subheader","items","accessionList","roles","grossing","appType","LAB_APPLICATION_TYPES","BILLING","sharedAccessions","imageList","IMS","stainList","LIS","stainRequests","templateList","interfaceTracking","filter","item","CP","clinicalReports","clinicalSettings","administration","migrateCases","clients","group","router_link","deep","pathname","usePathname","checkPath","startsWith","currentPath","normalActive","deepActive","ROOTS","AUTH","minimalUI","error","notFound","jwt","login","register"],"sourceRoot":""}