{"version":3,"file":"static/js/app_components_PortalHeader_PortalHeader_jsx.bundle.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAGA;AAEA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AAAA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAUA;AACA;AAIA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAGA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;AC3PA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;;AAEA;AACA;AAEA;AADA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAEA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AAGA;AAGA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAEA;AAUA;AACA;AACA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAGA;AAGA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAIA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;ACrUA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AAGA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;ACjBA;AAEA;;;;;;;;;;;;;;;ACFA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA","sources":["/app/app/components/PortalAppBar/PortalAppBar.jsx","/app/app/components/PortalAppBar/index.js","/app/app/components/PortalDrawer/PortalDrawer.jsx","/app/app/components/PortalDrawer/PortalDrawerContainer.js","/app/app/components/PortalDrawer/index.js","/app/app/components/PortalDrawer/languageModule.jsx","/app/app/components/PortalHeader/PortalHeader.jsx"],"sourcesContent":["/**\n *\n * PortalAppBar\n *\n * @version 1.0.0\n * @author giuseppe.paternostro\n * @since 22-Feb-2023\n */\n\nimport React, { useEffect, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createUseStyles } from 'react-jss';\nimport style from './PortalAppBar.scss';\n// import component\nimport PortalButton from '../PortalButton/PortalButton';\nimport { getIconsAsset, getBankAssets } from 'Utility/assetProvider';\n// import MUI component\nimport { AppBar, Grid, Typography, IconButton, CircularProgress } from '@mui/material';\n// import component mui for header sticky\nimport useScrollTrigger from '@mui/material/useScrollTrigger';\nimport Slide from '@mui/material/Slide';\nimport { ReactSVG } from 'react-svg';\nimport { getObjBankInServicing } from '../../utils/strings';\nimport { useNavigate } from 'react-router-dom';\n\nfunction HideOnScroll(props) {\n const { children, window } = props;\n const trigger = useScrollTrigger({\n target: window ? window() : undefined,\n });\n\n return (\n \n {children}\n \n );\n}\n\nHideOnScroll.propTypes = {\n children: PropTypes.element.isRequired,\n window: PropTypes.func,\n};\n\nconst PortalAppBar = (props) => {\n const [logo, setLogo] = useState(null);\n const retryToExtracLogoCounter = useRef();\n retryToExtracLogoCounter.current = 0;\n const navigate = useNavigate();\n\n const getLogo = (intervalId) => {\n if (retryToExtracLogoCounter.current < 3) {\n // extract logo\n const extractedLogo = getBankAssets(\n props.tenantName,\n props.projectName,\n getObjBankInServicing(props.bank, 'cmsBankInitialization'),\n 'logo_dark',\n 'svg',\n );\n\n // try to render the svg\n // if svg is loaded correctly, then I stop the interval and set logo\n // else I increment the counter\n const image = new Image();\n image.onload = () => {\n setLogo(extractedLogo);\n clearInterval(intervalId);\n retryToExtracLogoCounter.current = 3;\n };\n image.onerror = () => {\n retryToExtracLogoCounter.current += 1;\n clearInterval(intervalId);\n const newIntervalId = setInterval(() => {\n getLogo(newIntervalId);\n }, 1000);\n };\n\n //load the src into image\n image.src = extractedLogo || '';\n } else clearInterval(intervalId);\n };\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n getLogo(intervalId);\n }, 1000);\n return () => {\n clearInterval(intervalId);\n retryToExtracLogoCounter.current = null;\n };\n }, []);\n\n const useStyles = createUseStyles({\n svgColor: {\n '& *': {\n fill: props.theme['C1-1'],\n },\n },\n });\n\n const loadingColor = createUseStyles({\n customCircularProgress: {\n color: props.theme['C1-1'],\n },\n });\n\n const clickOnLogo = () => {\n props.drawerOpen ? props.handleOpenDrawerFunction() : '';\n navigate(props.pathLogoNavigation);\n };\n\n const loadingLogoColor = loadingColor();\n const classes = useStyles();\n\n return (\n !props.hasNoHeader &&\n props.enableData && (\n \n \n {/* section that contain hamburger menu and logo */}\n \n \n \n \n \n \n {!logo ? (\n {\n if (event.key === 'Enter') {\n clickOnLogo();\n }\n }}\n className={`${style.logo} ${loadingLogoColor.customCircularProgress}`}\n tabIndex={0}\n disableShrink\n alt={props.tenantName}\n />\n ) : (\n {\n if (event.key === 'Enter') {\n clickOnLogo();\n }\n }}>\n \n \n )}\n \n {props.multiplePosition && (\n \n \n \n {props.currentPositionLabel}\n \n \n {props.currentPositionValue}\n \n \n \n \n \n \n )}\n \n \n \n \n )\n );\n};\n\nPortalAppBar.propTypes = {\n // Add here some propTypes\n // and set a minimal description i.e.\n /** Description of prop \"baz\". */\n positionArray: PropTypes.array.isRequired,\n handleOpenDrawerFunction: PropTypes.func.isRequired,\n switchPositionFunc: PropTypes.func.isRequired,\n drawerOpen: PropTypes.bool.isRequired,\n pathLogoNavigation: PropTypes.string,\n hasNoHeader: PropTypes.bool,\n enableData: PropTypes.bool,\n classHeaderContainer: PropTypes.string,\n currentPositionLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n currentPositionValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tenantName: PropTypes.string,\n projectName: PropTypes.string,\n bank: PropTypes.string,\n multiplePosition: PropTypes.bool,\n handleKeyDropDown: PropTypes.func,\n actions: PropTypes.object,\n theme: PropTypes.object,\n};\n\nPortalAppBar.defaultProps = {\n // Add here some default propTypes values\n pathLogoNavigation: '',\n positionArray: [],\n hasNoHeader: false,\n enableData: false,\n drawerOpen: false,\n multiplePosition: true,\n tenantName: '',\n projectName: '',\n actions: {},\n theme: {},\n bank: '',\n};\n\nexport default PortalAppBar;\n","import PortalAppBar from './PortalAppBar';\n\nexport default PortalAppBar;\n","/**\n *\n * PortalDrawer\n *\n * @version 1.0.0\n * @author giuseppe.paternostro\n * @since 22-Feb-2023\n */\n\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport style from './PortalDrawer.scss';\nimport main from '../../styles/scss/main.scss';\nimport formattedMessage from './languageModule';\n// navigation\nimport { useNavigate } from 'react-router-dom';\n// import component\nimport PortalAnchorButton from '../PortalAnchorButton';\nimport PortalButton from '../PortalButton/PortalButton';\n// import MUI component\nimport { Drawer, Grid, Typography, ListItemIcon } from '@mui/material';\n// icon\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\n// extract name for every service\nimport { serviceIdEnumMapKey, serviceIdEnumMapValue } from '../../../utils/serviceResolver';\nimport { formatMessage, checkEnrollmentStatusForService } from '../../utils/globalMethods';\nimport { routesList } from 'Utility/strings';\nimport { useIntl } from 'react-intl';\n// this array could be passed by backand for a dynamic header\nconst headerLink = [\n {\n label: 'Program',\n translationLabel: formattedMessage.program,\n url: '',\n haveSecondLevel: false,\n secondLevelType: '',\n type: 'link',\n },\n {\n label: 'Our offer',\n translationLabel: formattedMessage.ourOffer,\n url: '/',\n haveSecondLevel: true,\n secondLevelType: 'packages',\n type: 'noLink',\n },\n {\n label: 'Services',\n translationLabel: formattedMessage.services,\n url: '/',\n haveSecondLevel: true,\n secondLevelType: 'services',\n type: 'noLink',\n },\n {\n label: 'Support',\n translationLabel: formattedMessage.support,\n url: 'support',\n haveSecondLevel: false,\n secondLevelType: '',\n type: 'link',\n },\n {\n label: 'Settings',\n translationLabel: formattedMessage.settings,\n url: 'profile',\n haveSecondLevel: false,\n secondLevelType: '',\n type: 'link',\n },\n];\n\nconst PortalDrawer = (props) => {\n // enable navigation\n const navigate = useNavigate();\n // state for dropDown\n const intl = useIntl();\n const homepage = window.location.pathname === '/';\n const [openDropDown, setDropDownToOpen] = useState(-1);\n\n // function for navigation\n const navigation = (url, label, cardDetails, dictionaryId) => () => {\n // this action close the drawer\n props.handleOpenDrawerFunction();\n // this action popolate service or package details\n if (url === 'package-details') {\n navigate(routesList.packageDetailsRoutes.goToPackageDetails, {\n state: { packageDetails: cardDetails, dictionaryId: dictionaryId },\n });\n } else if (url === 'service/details') {\n // navigate at the url\n navigate(`/${url}`);\n } else {\n navigate(`/${url}`);\n }\n // this is for analytics\n props.actions.doAnalyticsMenuClick({\n url: url,\n label: label,\n secondLevel: cardDetails !== undefined,\n fromLevel: 'Our offer',\n });\n };\n\n // function that switch dropDown\n const dropDownOpen = (index) => () => {\n let newDropDownValue = index === openDropDown ? -1 : index;\n setDropDownToOpen(newDropDownValue);\n };\n // extract correct name for service\n const serviceIdHandler = (id) => {\n const serviceType = serviceIdEnumMapKey(id);\n const serviceName = { id: `t.app.global.${serviceType}.service.title` };\n return serviceName;\n };\n\n const goToServiceDetails = (id) => {\n props.actions.doAnalyticsMenuClick({\n url: routesList.serviceRoutes.goToServiceDetails,\n label: intl.formatMessage(serviceIdHandler(id)),\n secondLevel: true,\n fromLevel: 'Services',\n });\n if (\n props.subscribeStatus === 'T1' &&\n checkEnrollmentStatusForService(props.serviceList, id).status\n ) {\n navigate(routesList.serviceRoutes.goToServiceCatalogue, {\n state: { serviceType: serviceIdEnumMapKey(id) },\n });\n } else {\n navigate(routesList.serviceRoutes.goToServiceDetails, {\n state: { serviceType: serviceIdEnumMapKey(id) },\n });\n }\n\n props.handleOpenDrawerFunction();\n };\n\n const handleKeyDown = (index) => (event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n dropDownOpen(index)();\n }\n };\n\n // render main header without dropdown (first level)\n const renderDrawerSection = (\n { translationLabel, url, haveSecondLevel, label, secondLevelType, type },\n index,\n ) => (\n \n \n {haveSecondLevel && (\n <>\n \n \n \n \n {renderDropdownLinks(secondLevelType)}\n \n >\n )}\n \n );\n // render dropdown link (second level)\n const renderDropdownLinks = (secondLevelType) => {\n let check = '';\n let toEvaluate = '';\n let dropdownData = [];\n if (secondLevelType === 'packages') {\n check = 'id';\n toEvaluate = props.packageId;\n dropdownData = props.planList;\n } else if (secondLevelType === 'services') {\n check = 'idFormatEng';\n toEvaluate = serviceIdEnumMapValue(props.serviceId, 'key');\n dropdownData = props.serviceList;\n }\n // map the dropDown with some different things like path\n return dropdownData.map((element, index) => (\n goToServiceDetails(element?.idFormatEng)\n }\n />\n ));\n };\n\n return (\n \n \n \n {props.multiplePosition && (\n \n \n {formatMessage(formattedMessage.currentPosition)}\n \n \n {props.currentPositionLabel}{' '}\n {props.currentPositionValue}\n \n \n \n )}\n {headerLink.map(renderDrawerSection)}\n \n {props.hasButton ? (\n \n props.handleOpenDrawerFunction(),\n },\n }}\n />\n \n ) : (\n ''\n )}\n \n \n );\n};\n\nPortalDrawer.propTypes = {\n // Add here some propTypes\n // and set a minimal description i.e.\n /** Description of prop \"baz\". */\n drawerOpen: PropTypes.bool.isRequired,\n handleOpenDrawerFunction: PropTypes.func.isRequired,\n planList: PropTypes.array,\n serviceList: PropTypes.array,\n currentPositionLabel: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n currentPositionValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n multiplePosition: PropTypes.bool,\n switchPositionFunc: PropTypes.func,\n locationPath: PropTypes.string,\n locationHeaderDetails: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n actions: PropTypes.objectOf(PropTypes.func),\n packageId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n serviceId: PropTypes.string,\n subscribeStatus: PropTypes.string,\n hasButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n};\n\nPortalDrawer.defaultProps = {\n // Add here some default propTypes values\n actions: {},\n drawerOpen: false,\n planList: [],\n serviceList: [],\n locationHeaderDetails: '',\n packageId: '',\n serviceId: '',\n subscribeStatus: '',\n hasButton: false,\n};\n\nexport default PortalDrawer;\n","import { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport * as GlobalStore from 'Store/actions/enhancers';\nimport PortalDrawer from './PortalDrawer';\nimport { doMenuClick } from '../../store/actions/analytics';\nimport { nullSafe } from 'Utility/globalMethods';\n\nconst mapDispatchToProps = (dispatch) => ({\n ...bindActionCreators(GlobalStore, dispatch),\n doAnalyticsMenuClick: (payload) => dispatch(doMenuClick(payload)),\n});\n\nconst mapStateToProps = () => ({});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps,\n (stateProps, dispatchProps, ownProps) => ({ ...stateProps, ...ownProps, actions: dispatchProps }),\n)(PortalDrawer);\n","import PortalDrawer from './PortalDrawerContainer';\n\nexport default PortalDrawer;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n logout: {\n id: 't.app.global.exit',\n defaultMessage: 'Exit',\n },\n program: {\n id: 't.app.header.program.anchor',\n defaultMessage: 'Program',\n },\n ourOffer: {\n id: 't.app.header.ourOffer.anchor',\n defaultMessage: 'Our offer',\n },\n services: {\n id: 't.app.header.services.anchor',\n defaultMessage: 'services',\n },\n support: {\n id: 't.app.header.support.anchor',\n defaultMessage: 'Support',\n },\n settings: {\n id: 't.app.header.settings.anchor',\n defaultMessage: 'settings',\n },\n contact: {\n id: 't.app.header.contact.anchor',\n defaultMessage: 'contact',\n },\n switchPosition: {\n id: 't.app.header.switchPosition.button',\n defaultMessage: 'Switch position',\n },\n currentPosition: {\n id: 't.app.header.currentPosition.title',\n defaultMessage: 'Current position:'\n }\n});\n","/**\n *\n * PortalHeader\n *\n * @version 1.0.0\n * @author Vittorio\n * @since 19-Oct-2022\n */\n\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport PortalAppBar from '../PortalAppBar';\nimport PortalDrawer from '../PortalDrawer';\nimport { getObjBankInServicing } from 'utils/strings';\nimport { formatMessage } from 'utils/globalMethods';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nconst PortalHeader = (props) => {\n // location used to extract the path and highlight the navigation position\n const location = useLocation();\n const navigate = useNavigate();\n const positionName = props.bank ? getObjBankInServicing(props.bank, 'positionName') : '';\n const positionNameId = positionName ? { id: positionName } : '';\n // split the path to extract the right path\n const splitPath = location.pathname.split('/');\n const path = splitPath[splitPath.length - 1];\n // state\n const [openHeaderNavigation, setOpenHeaderNavigation] = useState(false);\n // for accessibility: allows you to open the dropdown from the keyboard\n const handleKeyDown = (event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n // check the key pressed \"Enter\" o \"Space\"\n event.preventDefault();\n handleNav(); // open or clod drower\n }\n };\n\n const handleNav = () => {\n setOpenHeaderNavigation(!openHeaderNavigation);\n };\n\n const openSwitchPositionModal = () => {\n props.actions.doSwitchPosition({\n bank: props.bank,\n currentPosition: props.currentPosition,\n allPosition: props.positionList,\n });\n };\n\n return (\n <>\n \n {/* drawer */}\n \n >\n );\n};\n\nPortalHeader.propTypes = {\n // Add here some propTypes\n // and set a minimal description i.e.\n /** Description of prop \"baz\". */\n logoNavigation: PropTypes.string,\n hasNoHeader: PropTypes.bool,\n receivedData: PropTypes.bool,\n currentPositionDetails: PropTypes.object,\n planList: PropTypes.array,\n serviceList: PropTypes.array,\n haveMultiplePosition: PropTypes.bool,\n tenantName: PropTypes.string,\n projectName: PropTypes.string,\n positionList: PropTypes.array,\n actions: PropTypes.object,\n currentPosition: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n packageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n serviceId: PropTypes.string,\n bank: PropTypes.string,\n subscribeStatus: PropTypes.string,\n theme: PropTypes.object,\n};\n\nPortalHeader.defaultProps = {\n // Add here some default propTypes values\n hasNoHeader: false,\n logoNavigation: '/',\n receivedData: false,\n planList: [],\n serviceList: [],\n tenantName: '',\n projectName: '',\n positionList: [],\n actions: {},\n currentPositionDetails: {},\n currentPosition: '',\n packageId: '',\n serviceId: '',\n bank: '',\n subscribeStatus: '',\n theme: {},\n};\n\nexport default PortalHeader;\n"],"names":[],"sourceRoot":""}