{"version":3,"file":"static/js/3576.6a5c501c.chunk.js","mappings":"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","sources":["components/shared/PeriodRangeSlider.js","components/landing/FrontEndMainPeriodSelector.js","components/landing/FrontEndMainPyramidSelector.js","components/lightbox/styles.js","components/lightbox/Lightbox.js","components/carousel/CarouselDots.js","components/carousel/Icon.js","components/carousel/CarouselArrows.js","components/carousel/CarouselArrowIndex.js","components/carousel/index.js","components/landing/FrontEndMainEntityDisplay.js","components/map/styles.js","components/map/map-popup.js","components/map/map-control.js","components/landing/GeoMapPopUp.js","components/landing/viewport-animation/index.js","components/landing/NewGeoMap.js","sections/home/HomeHero.js","pages/Home.js","pages/admin/dashboard/items/PopulationWidget.js","pages/admin/dashboard/items/Widget.js","theme/css.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Slider } from '@mui/material';\n\nPeriodRangeSlider.propTypes = {\n currentPeriod: PropTypes.object,\n sliderType: PropTypes.string,\n valueLabelDisplay: PropTypes.string,\n publishedPeriods: PropTypes.array,\n setCurrentPeriod: PropTypes.func,\n disabled: PropTypes.bool\n};\n\nconst setDefaultPeriodValue = (publishedPeriods, sliderType, currentPeriod) => {\n let defaultPeriodValue = {};\n if (currentPeriod === undefined) {\n if (sliderType === 'Single') {\n defaultPeriodValue = [publishedPeriods.length];\n } else {\n defaultPeriodValue = [publishedPeriods.length - process.env.REACT_APP_NUM_PERIODS, publishedPeriods.length];\n }\n } else {\n const startIndex =\n publishedPeriods.findIndex(\n (period) => period.startDate === currentPeriod.start.startDate && period.endDate === currentPeriod.start.endDate\n ) + 1;\n if (sliderType === 'Single') {\n defaultPeriodValue = [startIndex];\n } else {\n const endIndex =\n publishedPeriods.findIndex(\n (period) => period.startDate === currentPeriod.end.startDate && period.endDate === currentPeriod.end.endDate\n ) + 1;\n\n defaultPeriodValue = [startIndex, endIndex];\n }\n }\n return defaultPeriodValue;\n};\n\nexport default function PeriodRangeSlider({\n sliderType,\n valueLabelDisplay,\n publishedPeriods,\n setCurrentPeriod,\n currentPeriod,\n disabled = false\n}) {\n const [value, setValue] = useState([]);\n const [valueLabelSX, setValueLabelSX] = useState({\n marginLeft: 1,\n marginRight: 1,\n width: 'calc(100% - 16px)',\n '& .MuiSlider-markLabel': {\n color: 'primary.contrastText',\n fontSize: '0.75rem'\n }\n });\n\n const handlePeriodCommit = (event, newValue) => {\n const periodStart = publishedPeriods[newValue[0] - 1];\n const periodEnd = publishedPeriods[newValue[1] - 1];\n\n setCurrentPeriod({\n start: periodStart,\n end: sliderType === 'Single' ? periodStart : periodEnd\n });\n };\n\n const handlePeriodChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const sdfsdfsdf = (sliderType, value) => {\n let sx = {};\n if (sliderType === 'Single') {\n if (value[0] === 1) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': {\n marginLeft: '110px',\n '&::before': {\n left: '12px'\n }\n }\n };\n } else if (value[0] === publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': {\n marginRight: '110px',\n '&::before': {\n left: 'calc(100% - 12px)'\n }\n }\n };\n } else {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': undefined\n };\n }\n } else if (sliderType === 'Range') {\n if (value[0] === 1 && value[1] === publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': {\n marginLeft: '110px',\n '&::before': {\n left: '12px'\n }\n },\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': {\n marginRight: '110px',\n '&::before': {\n left: 'calc(100% - 12px)'\n }\n }\n };\n } else if (value[0] !== value[1] && value[0] === 1 && value[1] !== publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': {\n marginLeft: '110px',\n '&::before': {\n left: '12px'\n }\n },\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': undefined\n };\n } else if (value[0] !== value[1] && value[0] !== 1 && value[1] !== publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': undefined,\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': undefined\n };\n } else if (value[0] !== value[1] && value[0] !== 1 && value[1] === publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': undefined,\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': {\n marginRight: '110px',\n '&::before': {\n left: 'calc(100% - 12px)'\n }\n }\n };\n } else if (value[0] === value[1] && value[0] > 1 && value[1] < publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': undefined,\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': undefined\n };\n } else if (value[0] === value[1] && value[0] === 1) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': {\n marginLeft: '110px',\n '&::before': {\n left: '12px'\n }\n },\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': {\n marginLeft: '110px',\n '&::before': {\n left: '12px'\n }\n }\n };\n } else if (value[0] === value[1] && value[1] === publishedPeriods.length) {\n sx = {\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"0\"] .MuiSlider-valueLabel': {\n marginRight: '110px',\n '&::before': {\n left: 'calc(100% - 12px)'\n }\n },\n '&.MuiSlider-root .MuiSlider-thumb[data-index=\"1\"] .MuiSlider-valueLabel': {\n marginRight: '110px',\n '&::before': {\n left: 'calc(100% - 12px)'\n }\n }\n };\n }\n }\n return sx;\n };\n\n useEffect(() => {\n setValue(setDefaultPeriodValue(publishedPeriods, sliderType, currentPeriod));\n }, [currentPeriod]); // eslint-disable-line\n\n useEffect(() => {\n setValueLabelSX({\n ...valueLabelSX,\n ...sdfsdfsdf(sliderType, value)\n });\n }, [value]); // eslint-disable-line\n\n return (\n publishedPeriods !== undefined && (\n <>\n {/*
{JSON.stringify(valueLabelSX, null, 2)}
*/}\n {/*
{value[0]}
*/}\n {/*
{value[value.length - 1]}
*/}\n {/*
{publishedPeriods.length}
*/}\n publishedPeriods?.find((p, i) => i + 1 === v)?.label || ''}\n max={publishedPeriods?.length || 1}\n min={1}\n marks={publishedPeriods?.map((pp, i) => ({\n value: i + 1\n }))}\n sx={valueLabelSX}\n />\n \n )\n );\n}\n","// material\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box, Typography, Skeleton } from '@mui/material';\nimport { isNil } from 'lodash';\n\nimport PeriodRangeSlider from '../shared/PeriodRangeSlider';\n\nimport { useDispatch, useSelector } from '../../redux/store';\nimport { setCurrentPeriod } from '../../redux/slices/frontend';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(() => ({\n width: '100%'\n // top: theme.spacing(12)\n // right: theme.spacing(1),\n // padding: theme.spacing(1)\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function FrontEndMainPeriodSelector() {\n const dispatch = useDispatch();\n const { publishedPeriods, currentPeriod } = useSelector((state) => state.frontend);\n\n const setCurrentFrontEndPeriod = (period) => {\n dispatch(setCurrentPeriod(period));\n };\n\n return (\n \n alpha(theme.palette.grey[200], 0.95)\n }}\n >\n {isNil(currentPeriod) || isNil(currentPeriod.start) || isNil(currentPeriod.start.label) ? (\n <>\n \n \n \n ) : (\n <>\n \n {`${currentPeriod.start.label} -- ${currentPeriod.end.label}`}\n \n pp.kind === 'DataElement')}\n currentPeriod={currentPeriod}\n setCurrentPeriod={setCurrentFrontEndPeriod}\n valueLabelDisplay=\"auto\"\n />\n \n )}\n \n \n );\n}\n","import { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { alpha, styled } from '@mui/material/styles';\nimport TreeItem, { treeItemClasses } from '@mui/lab/TreeItem';\nimport { TreeView } from '@mui/lab';\nimport { PromisePool } from '@supercharge/promise-pool';\nimport { Box, Skeleton, Collapse } from '@mui/material';\nimport { isNilOrBlank } from '../../utils/core';\nimport Iconify from '../Iconify';\n// import { Scrollbar } from '../scrollbar';\nimport { useDispatch, useSelector } from '../../redux/store';\nimport {\n setActiveLeaf,\n setCurrentEntityId,\n updateFrontEndChart,\n setExpandedPyramidNodes,\n setSelectedPyramidNodes\n} from '../../redux/slices/frontend';\n\n// ----------------------------------------------------------------------\n\nFrontEndMainPyramidSelector.propTypes = {\n hasPadding: PropTypes.bool,\n textColor: PropTypes.string,\n hasBgColor: PropTypes.bool\n};\n\nfunction TransitionComponent(props) {\n return ;\n}\n\nTransitionComponent.propTypes = {\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool\n};\n\nconst StyledTreeItem = styled((props) => )(\n ({ theme }) => ({\n [`& .${treeItemClasses.content}`]: {\n borderTopRightRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(2),\n // paddingRight: theme.spacing(1),\n '&.Mui-expanded': {\n fontWeight: theme.typography.fontWeightBold,\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.selected})`,\n color: 'var(--tree-view-color)'\n }\n },\n [`& .${treeItemClasses.iconContainer}`]: {\n '& .close': {\n opacity: 0.3\n }\n }\n })\n);\n\n/* eslint-disable */\n\nconst renderTree = (nodes) =>\n nodes.map((node) => {\n const childrenNodes =\n node.children !== undefined && Array.isArray(node.children) && node.children.length > 0\n ? renderTree(node.children)\n : [
];\n const nodeId = node.parent_id !== null ? String(node.parent_id + '-' + node.value) : String(node.value);\n\n return (\n \n ) : node.leaf === false && node.value === 1 ? (\n \n ) : (\n \n )\n }\n expandIcon={\n node.leaf ? (\n \n ) : (\n \n )\n }\n >\n {childrenNodes}\n \n );\n });\n\n/* eslint-enable */\n\nexport default function FrontEndMainPyramidSelector({ hasBgColor, textColor, hasPadding }) {\n const dispatch = useDispatch();\n const { widgets, pyramid, selectedPyramidNodes, currentPeriod, currentEntity, currentEntityId } = useSelector(\n (state) => state.frontend\n );\n\n const handleNodeSelect = async (event, nodeId) => {\n const currentNode = nodeId.split('-');\n if (currentNode.length === 1) {\n const jobs = [dispatch(setSelectedPyramidNodes(null)), dispatch(setCurrentEntityId(Number(currentNode[0])))];\n\n await PromisePool.for(jobs)\n .withConcurrency(4)\n .process(async (job) => job);\n }\n };\n\n const handleNodeToggle = async (event, nodesIds) => {\n if (nodesIds.length > 0) {\n const currentNode = nodesIds[0].split('-');\n if (Array.isArray(currentNode) && currentNode.length > 1) {\n const jobs = [\n dispatch(setExpandedPyramidNodes(nodesIds)),\n dispatch(setCurrentEntityId(Number(currentNode[1])))\n ];\n if (!isNilOrBlank(widgets) && widgets.length > 0) {\n widgets.forEach((widget) => {\n jobs.push(\n dispatch(\n updateFrontEndChart([\n { value: true, field: 'isLoading', itemId: widget.id },\n { value: Number(currentNode[1]), field: 'entity_id', itemId: widget.id },\n { value: true, field: 'touched', itemId: widget.id }\n ])\n )\n );\n });\n }\n\n await PromisePool.for(jobs)\n .withConcurrency(4)\n .process(async (job) => job);\n }\n }\n };\n\n useEffect(() => {\n if (!isNilOrBlank(currentEntity) && currentEntity.status === 'active_leaf') {\n dispatch(setActiveLeaf(currentEntity));\n } else {\n dispatch(setActiveLeaf(null));\n }\n }, [currentEntity]); // eslint-disable-line\n\n return (\n alpha(theme.palette.grey[200], 0.95) : undefined,\n color: textColor\n }}\n >\n {isNilOrBlank(pyramid) ||\n isNilOrBlank(currentPeriod) ||\n isNilOrBlank(currentPeriod.start) ||\n isNilOrBlank(currentPeriod.start.label) ? (\n <>\n \n {[...Array(10)].map((_, si) => (\n \n ))}\n \n ) : (\n }\n defaultExpandIcon={}\n sx={{ flexGrow: 1, overflowY: 'auto' }}\n >\n {renderTree(pyramid.tree)}\n \n )}\n \n );\n}\n","// @mui\nimport { useTheme, alpha } from '@mui/material/styles';\nimport { GlobalStyles } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function StyledLightbox() {\n const theme = useTheme();\n\n const ICON_SIZE = 28;\n\n const ICON_COLOR = theme.palette.grey[500].replace('#', '');\n\n const ICON_COLOR_HOVER = theme.palette.common.white.replace('#', '');\n\n const icon = (name) => {\n const common = {\n width: 40,\n height: 40,\n backgroundSize: ICON_SIZE,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center',\n transition: theme.transitions.create('background')\n };\n return {\n background: `url('https://api.iconify.design/carbon/${name}.svg?color=%23${ICON_COLOR}')`,\n ...common,\n '&:hover': {\n background: `url('https://api.iconify.design/carbon/${name}.svg?color=%23${ICON_COLOR_HOVER}')`,\n ...common\n }\n };\n };\n\n const inputGlobalStyles = (\n \n );\n\n return inputGlobalStyles;\n}\n","import PropTypes from 'prop-types';\nimport { useEffect } from 'react';\nimport ReactLightbox from 'react-image-lightbox';\n// @mui\nimport { Typography } from '@mui/material';\n//\nimport StyledLightbox from './styles';\n\n// ----------------------------------------------------------------------\n\nLightbox.propTypes = {\n open: PropTypes.bool,\n images: PropTypes.array,\n photoIndex: PropTypes.number,\n setPhotoIndex: PropTypes.func\n};\n\nexport default function Lightbox({ images, photoIndex, setPhotoIndex, open, ...other }) {\n useEffect(() => {\n if (open) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n }, [open]);\n\n const showIndex = (\n \n {photoIndex + 1} {'/'} {images.length}\n \n );\n\n const toolbarButtons = [showIndex];\n\n const customStyles = {\n overlay: {\n zIndex: 9999\n }\n };\n\n return (\n <>\n \n\n {open && (\n setPhotoIndex((photoIndex + images.length - 1) % images.length)}\n onMoveNextRequest={() => setPhotoIndex((photoIndex + 1) % images.length)}\n toolbarButtons={toolbarButtons}\n reactModalStyle={customStyles}\n wrapperClassName=\"react-lightbox\"\n {...other}\n />\n )}\n \n );\n}\n","// @mui\nimport { styled } from '@mui/material/styles';\nimport { Box, Stack } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst StyledRoot = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'rounded'\n})(({ rounded, theme }) => ({\n zIndex: 9,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: theme.palette.primary.main,\n '& li': {\n width: 18,\n height: 18,\n opacity: 0.32,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n '&.slick-active': {\n opacity: 1,\n ...(rounded && {\n '& span': {\n width: 16,\n borderRadius: 6\n }\n })\n }\n }\n}));\n\nconst StyledDot = styled('span')(({ theme }) => ({\n width: 8,\n height: 8,\n borderRadius: '50%',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.short\n })\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function CarouselDots(props) {\n const rounded = props?.rounded || false;\n\n const sx = props?.sx;\n\n return {\n appendDots: (dots) => (\n <>\n \n {dots}\n \n \n ),\n customPaging: () => (\n \n \n \n )\n };\n}\n","import PropTypes from 'prop-types';\nimport Iconify from '../Iconify';\n\n// ----------------------------------------------------------------------\n\nLeftIcon.propTypes = {\n isRTL: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n};\n\nexport function LeftIcon({ icon = 'eva:arrow-ios-forward-fill', isRTL }) {\n return (\n \n );\n}\n\nRightIcon.propTypes = {\n isRTL: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n};\n\nexport function RightIcon({ icon = 'eva:arrow-ios-forward-fill', isRTL }) {\n return (\n \n );\n}\n","import PropTypes from 'prop-types';\n// @mui\nimport { useTheme, styled, alpha } from '@mui/material/styles';\nimport { Stack, IconButton } from '@mui/material';\n//\nimport { LeftIcon, RightIcon } from './Icon';\n\n// ----------------------------------------------------------------------\n\nconst StyledIconButton = styled(IconButton, {\n shouldForwardProp: (prop) => prop !== 'filled' && prop !== 'hasChildren' && prop !== 'shape'\n})(({ filled, shape, hasChildren, theme }) => ({\n color: 'inherit',\n transition: theme.transitions.create('all', {\n duration: theme.transitions.duration.shorter\n }),\n ...(shape === 'rounded' && {\n borderRadius: Number(theme.shape.borderRadius) * 1.5\n }),\n ...(!filled && {\n opacity: 0.48,\n '&:hover': {\n opacity: 1\n }\n }),\n ...(filled && {\n color: alpha(theme.palette.common.white, 0.8),\n backgroundColor: alpha(theme.palette.grey[900], 0.48),\n '&:hover': {\n color: theme.palette.common.white,\n backgroundColor: theme.palette.grey[900]\n }\n }),\n ...(hasChildren && {\n zIndex: 9,\n top: '50%',\n position: 'absolute',\n marginTop: theme.spacing(-2.5)\n })\n}));\n\n// ----------------------------------------------------------------------\n\nCarouselArrows.propTypes = {\n sx: PropTypes.object,\n filled: PropTypes.bool,\n onNext: PropTypes.func,\n children: PropTypes.node,\n onPrevious: PropTypes.func,\n leftButtonProps: PropTypes.object,\n rightButtonProps: PropTypes.object,\n shape: PropTypes.oneOf(['circular', 'rounded']),\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n};\n\nexport default function CarouselArrows({\n shape = 'circular',\n filled = false,\n icon,\n onNext,\n onPrevious,\n children,\n leftButtonProps,\n rightButtonProps,\n sx,\n ...other\n}) {\n const theme = useTheme();\n\n const isRTL = theme.direction === 'rtl';\n\n const hasChildren = !!children;\n\n if (hasChildren) {\n return (\n \n \n \n \n\n {children}\n\n \n \n \n \n );\n }\n\n return (\n \n \n \n \n\n \n \n \n \n );\n}\n","import PropTypes from 'prop-types';\n// @mui\nimport { useTheme, styled } from '@mui/material/styles';\nimport { Typography, Box, IconButton } from '@mui/material';\n// utils\nimport { bgBlur } from '../../utils/cssStyles';\n//\nimport { LeftIcon, RightIcon } from './Icon';\n\n// ----------------------------------------------------------------------\n\nconst StyledRoot = styled(Box)(({ theme }) => ({\n ...bgBlur({\n opacity: 0.48,\n color: theme.palette.grey[900]\n }),\n zIndex: 9,\n display: 'inline-flex',\n alignItems: 'center',\n position: 'absolute',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n padding: theme.spacing(0.25),\n color: theme.palette.common.white,\n borderRadius: theme.shape.borderRadius\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: 28,\n height: 28,\n padding: 0,\n opacity: 0.48,\n '&:hover': { opacity: 1 }\n});\n\n// ----------------------------------------------------------------------\n\nCarouselArrowIndex.propTypes = {\n sx: PropTypes.object,\n onNext: PropTypes.func,\n index: PropTypes.number,\n total: PropTypes.number,\n onPrevious: PropTypes.func,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n};\n\nexport default function CarouselArrowIndex({ index, total, onNext, onPrevious, icon, sx, ...other }) {\n const theme = useTheme();\n\n const isRTL = theme.direction === 'rtl';\n\n return (\n \n \n \n \n\n \n {index + 1}/{total}\n \n\n \n \n \n \n );\n}\n","import Carousel from 'react-slick';\n\nexport { default as CarouselDots } from './CarouselDots';\nexport { default as CarouselArrows } from './CarouselArrows';\nexport { default as CarouselArrowIndex } from './CarouselArrowIndex';\n\nexport default Carousel;\n","import { m } from 'framer-motion';\nimport { useState, useRef } from 'react';\n// material\nimport { alpha, styled, useTheme } from '@mui/material/styles';\nimport { Box, Typography, Card } from '@mui/material';\nimport { isNilOrBlank } from '../../utils/core';\n\nimport Image from '../image';\nimport Lightbox from '../lightbox/Lightbox';\nimport Carousel, { CarouselArrowIndex } from '../carousel';\n\nimport { MotionContainer, varFade } from '../animate';\nimport useLocales from '../../hooks/useLocales';\n\nimport { useSelector } from '../../redux/store';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(() => ({\n width: '100%'\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function FrontEndMainEntityDisplay() {\n const theme = useTheme();\n const carouselRef = useRef(null);\n const { translate: t } = useLocales();\n const { activeLeaf, levelPictures } = useSelector((state) => state.frontend);\n const [currentIndex, setCurrentIndex] = useState(0);\n const [openLightbox, setOpenLightbox] = useState(false);\n const [selectedImage, setSelectedImage] = useState(0);\n const basicCarouselSettings = {\n dots: false,\n arrows: false,\n autoplay: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n rtl: Boolean(theme.direction === 'rtl')\n };\n const leafCarouselSettings = {\n ...basicCarouselSettings,\n beforeChange: (current, next) => setCurrentIndex(next)\n };\n\n const levelCarouselSettings = {\n ...basicCarouselSettings,\n fade: true,\n infinite: true,\n speed: 5000\n };\n\n const handlePrev = () => {\n carouselRef.current?.slickPrev();\n };\n\n const handleNext = () => {\n carouselRef.current?.slickNext();\n };\n\n const handleOpenLightbox = (url) => {\n const selectedImage = levelPictures.findIndex((index) => index === url);\n setOpenLightbox(true);\n setSelectedImage(selectedImage);\n };\n\n const handleCloseLightbox = () => {\n setOpenLightbox(false);\n };\n\n return (\n <>\n {levelPictures.length > 0 && isNilOrBlank(activeLeaf) && (\n \n \n \n alpha(theme.palette.grey[200], 0.95),\n mt: 1\n }}\n >\n \n \n {levelPictures.map((picture, pi) => (\n handleOpenLightbox(picture)}\n alt={''}\n src={picture}\n ratio=\"16/9\"\n />\n ))}\n \n \n \n \n \n \n \n )}\n {!isNilOrBlank(activeLeaf) && (\n \n \n \n alpha(theme.palette.grey[200], 0.95),\n mt: 1\n }}\n >\n {!isNilOrBlank(activeLeaf.pictures) && activeLeaf.pictures.length > 0 && (\n \n \n {activeLeaf.pictures.map((picture) => (\n \n ))}\n \n\n {activeLeaf.pictures.length > 1 && (\n \n )}\n \n )}\n \n \n {activeLeaf.full_name}\n \n \n {t('home.entityType')}: {activeLeaf.group_name}\n \n {!isNilOrBlank(activeLeaf.address) && activeLeaf.address !== '' && (\n \n {t('home.entityAddress')}: {activeLeaf.address}\n \n )}\n {!isNilOrBlank(activeLeaf.contact_person) && activeLeaf.contact_person !== '' && (\n \n {t('home.entityContactPerson')}: \n {activeLeaf.contact_person}\n \n )}\n {!isNilOrBlank(activeLeaf.phone_number) && activeLeaf.phone_number !== '' && (\n \n {t('home.entityPhoneNumber')}: {activeLeaf.phone_number}\n \n )}\n {!isNilOrBlank(activeLeaf.email) && activeLeaf.email !== '' && (\n \n {t('home.entityContactEmail')}: {activeLeaf.email}\n \n )}{' '}\n \n \n \n \n \n )}\n \n );\n}\n","import { Popup } from 'react-map-gl';\n\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport { styled, useTheme, alpha } from '@mui/material/styles';\n\nimport { bgBlur } from '../../theme/css';\n\n// ----------------------------------------------------------------------\n\nexport function StyledMapControls() {\n const theme = useTheme();\n\n const inputGlobalStyles = (\n \n );\n\n return inputGlobalStyles;\n}\n\n// ----------------------------------------------------------------------\n\nexport const StyledPopup = styled(Popup)(({ theme }) => {\n const isRTL = theme.direction === 'rtl';\n\n return {\n '& .mapboxgl-popup-content': {\n width: 250,\n padding: theme.spacing(1),\n boxShadow: theme.customShadows.primary,\n borderRadius: theme.shape.borderRadius,\n backgroundColor: alpha(theme.palette.grey[200], 0.95)\n },\n '& .mapboxgl-popup-close-button': {\n display: 'none',\n width: 24,\n height: 24,\n fontSize: 16,\n opacity: 0.48,\n // color: theme.palette.common.white,\n right: isRTL && '0',\n left: isRTL && 'auto',\n '&:hover': {\n opacity: 1\n },\n '&:focus': {\n outline: 'none'\n }\n },\n '&.mapboxgl-popup-anchor-top .mapboxgl-popup-tip': {\n marginBottom: -1,\n borderBottomColor: alpha(theme.palette.grey[200], 0.95)\n },\n '&.mapboxgl-popup-anchor-right .mapboxgl-popup-tip': {\n marginLeft: -1,\n borderLeftColor: alpha(theme.palette.grey[200], 0.95)\n },\n '&.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip': {\n marginTop: -1,\n borderTopColor: alpha(theme.palette.grey[200], 0.95)\n },\n '&.mapboxgl-popup-anchor-left .mapboxgl-popup-tip': {\n marginRight: -1,\n borderRightColor: alpha(theme.palette.grey[200], 0.95)\n }\n };\n});\n\n// ----------------------------------------------------------------------\n\nexport const StyledControlPanel = styled('div')(({ theme }) => ({\n ...bgBlur({ color: theme.palette.primary.darker }),\n zIndex: 9,\n minWidth: 300,\n position: 'absolute',\n top: theme.spacing(1),\n right: theme.spacing(1),\n padding: theme.spacing(2),\n borderRadius: theme.shape.borderRadius\n}));\n","import PropTypes from 'prop-types';\n\nimport { StyledPopup } from './styles';\n\n// ----------------------------------------------------------------------\n\nexport default function MapPopup({ sx, children, ...other }) {\n return (\n \n {children}\n \n );\n}\n\nMapPopup.propTypes = {\n children: PropTypes.node,\n sx: PropTypes.object\n};\n","import PropTypes from 'prop-types';\nimport { ScaleControl, GeolocateControl, NavigationControl, FullscreenControl } from 'react-map-gl';\n\nimport { StyledMapControls } from './styles';\n\n// ----------------------------------------------------------------------\n\nexport default function MapControl({\n hideScaleControl,\n hideGeolocateControl,\n hideFullscreenControl,\n hideNavigationnControl\n}) {\n return (\n <>\n \n\n {!hideGeolocateControl && }\n\n {!hideFullscreenControl && }\n\n {!hideScaleControl && }\n\n {!hideNavigationnControl && }\n \n );\n}\n\nMapControl.propTypes = {\n hideFullscreenControl: PropTypes.bool,\n hideGeolocateControl: PropTypes.bool,\n hideNavigationnControl: PropTypes.bool,\n hideScaleControl: PropTypes.bool\n};\n","import PropTypes from 'prop-types';\nimport { Box, Typography, LinearProgress } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { isNil } from 'lodash';\nimport useLocales from '../../hooks/useLocales';\nimport { useSelector } from '../../redux/store';\n\nGeoMapPopUp.propTypes = {\n hoverInfo: PropTypes.object\n};\n\nexport default function GeoMapPopUp({ hoverInfo }) {\n const { translate: t } = useLocales();\n const { mapIsFetching } = useSelector((state) => state.frontend);\n const theme = useTheme();\n\n return (\n hoverInfo !== null && (\n \n \n {mapIsFetching && (\n \n \n \n )}\n {!isNil(hoverInfo.feature) &&\n !isNil(hoverInfo.feature.geometry) &&\n !isNil(hoverInfo.feature.geometry.type) &&\n hoverInfo.feature.geometry.type === 'Point' ? (\n \n \n \n {hoverInfo.feature.properties.full_name}\n \n \n {!isNil(hoverInfo.feature.properties.group) && hoverInfo.feature.properties.group !== '' && (\n \n {t('home.entityType')}: {hoverInfo.feature.properties.group.name}\n \n )}\n {!isNil(hoverInfo.feature.properties.address) && hoverInfo.feature.properties.address !== '' && (\n \n {t('home.entityAddress')}: {hoverInfo.feature.properties.address}\n \n )}\n {!isNil(hoverInfo.feature.properties.contact_person) &&\n hoverInfo.feature.properties.contact_person !== '' && (\n \n {t('home.entityContactPerson')}: {hoverInfo.feature.properties.contact_person}\n \n )}\n {!isNil(hoverInfo.feature.properties.phone_number) && hoverInfo.feature.properties.phone_number !== '' && (\n \n {t('home.entityPhoneNumber')}: {hoverInfo.feature.properties.phone_number}\n \n )}\n {!isNil(hoverInfo.feature.properties.email) && hoverInfo.feature.properties.email !== '' && (\n \n {t('home.entityContactEmail')}: {hoverInfo.feature.properties.email}\n \n )}\n {!isNil(hoverInfo.feature.properties.pictures) &&\n JSON.parse(hoverInfo.feature.properties.pictures).length > 0 && (\n \n )}\n \n ) : (\n \n \n {t('home.entityName')}: {hoverInfo.feature.properties.name}\n \n \n {t('home.entityShortName')}: \n {hoverInfo.feature.properties.short_name}\n \n \n )}\n \n \n )\n );\n}\n","import Map, { Layer, Source } from 'react-map-gl';\nimport PropTypes from 'prop-types';\nimport { memo, useRef, useEffect, useState, useCallback } from 'react';\nimport { useTheme } from '@mui/material/styles';\nimport bbox from '@turf/bbox';\nimport { Backdrop, CircularProgress } from '@mui/material';\nimport { MapControl, StyledControlPanel, MapPopup } from '../../map';\nimport FrontEndMainPyramidSelector from '../FrontEndMainPyramidSelector';\nimport { useSelector } from '../../../redux/store';\nimport { isNilOrBlank } from '../../../utils/core';\nimport GeoMapPopUp from '../GeoMapPopUp';\n\n// ----------------------------------------------------------------------\n\nfunction MapViewportAnimation({ ...other }) {\n const theme = useTheme();\n const mapRef = useRef(null);\n const { mapFeatures, currentEntity, boundingEntity, mapIsFetching } = useSelector((state) => state.frontend);\n const [hoverInfo, setHoverInfo] = useState(null);\n const handleMouseMove = useCallback((event) => {\n const { features } = event;\n if (features && features.length > 0) {\n setHoverInfo({\n feature: features[0],\n longitude: event.lngLat.lng,\n latitude: event.lngLat.lat\n });\n } else {\n setHoverInfo(null); // Clear hover info when not hovering over features\n }\n }, []);\n\n const pointLayer = {\n id: 'point',\n type: 'circle',\n paint: {\n 'circle-radius': [\n 'case',\n ['==', ['get', 'status'], 'active_leaf'], // Check if status equals 'active_leaf'\n 8, // if true\n 6 // if false\n ],\n 'circle-opacity': 0.8,\n 'circle-stroke-color': '#000000',\n 'circle-stroke-width': ['case', ['==', ['get', 'status'], 'active_leaf'], 3, 1],\n 'circle-color': [\n 'case',\n ['!=', ['get', 'color', ['get', 'group', ['properties']]], null],\n ['get', 'color', ['get', 'group', ['properties']]],\n theme.palette.primary.main // Default color\n ]\n }\n };\n\n const lineLayer = {\n id: 'outline',\n type: 'line',\n paint: {\n 'line-width': 0.8,\n 'line-color': theme.palette.primary.main,\n 'line-dasharray': [5, 3]\n }\n };\n\n const boundingLineLayer = {\n id: 'bounding-line',\n type: 'line',\n paint: {\n 'line-width': 1.6,\n 'line-color': theme.palette.primary.main\n }\n };\n\n const boundingFillLayer = {\n id: 'bounding-fill',\n type: 'fill',\n paint: {\n 'fill-color': theme.palette.primary.main,\n 'fill-opacity': 0.02\n }\n };\n\n useEffect(() => {\n if (!isNilOrBlank(boundingEntity) && !isNilOrBlank(boundingEntity?.coordinates)) {\n const [minLng, minLat, maxLng, maxLat] = bbox({\n type: 'Feature',\n geometry: boundingEntity?.coordinates\n });\n mapRef.current?.fitBounds(\n [\n [minLng, minLat],\n [maxLng, maxLat]\n ],\n { padding: { top: 50, bottom: 50, left: 5, right: 280 }, duration: 1000 }\n );\n }\n }, [currentEntity]); // eslint-disable-line\n\n return (\n !isNilOrBlank(boundingEntity) && (\n \n \n {mapFeatures && (\n <>\n \n \n \n \n f.geometry.type !== 'Point' && f.properties.id !== boundingEntity.id\n )\n }}\n >\n \n \n f.geometry.type === 'Point')\n }}\n >\n \n \n \n )}\n {!isNilOrBlank(hoverInfo) && (\n {}}>\n \n \n )}\n\n theme.zIndex.drawer + 1 }}\n open={mapIsFetching}\n >\n \n \n \n \n \n \n )\n );\n}\n\nMapViewportAnimation.propTypes = {\n data: PropTypes.array\n};\n\nexport default memo(MapViewportAnimation);\n","import { styled } from '@mui/material/styles';\nimport MapViewportAnimation from './viewport-animation';\n\nconst StyledMapContainer = styled('div')(({ theme }) => ({\n zIndex: 0,\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n // borderRadius: theme.shape.borderRadius,\n '& .mapboxgl-ctrl-logo, .mapboxgl-ctrl-bottom-right': {\n display: 'none'\n }\n}));\n\nexport default function NewGeoMap() {\n return (\n \n \n \n );\n}\n","import { useEffect, useRef, Fragment } from 'react';\nimport { styled, alpha, useTheme } from '@mui/material/styles';\n\nimport { Box, Grid } from '@mui/material';\nimport { PromisePool } from '@supercharge/promise-pool';\nimport FrontEndMainPeriodSelector from '../../components/landing/FrontEndMainPeriodSelector';\nimport FrontEndMainPyramidSelector from '../../components/landing/FrontEndMainPyramidSelector';\nimport FrontEndMainEntityDisplay from '../../components/landing/FrontEndMainEntityDisplay';\nimport Widget from '../../pages/admin/dashboard/items/Widget';\nimport PopulationWidget from '../../pages/admin/dashboard/items/PopulationWidget';\nimport Carousel from '../../components/carousel';\nimport { isNilOrBlank } from '../../utils/core';\n\nimport useResponsive from '../../hooks/useResponsive';\nimport { HEADER } from '../../config';\n\nimport NewGeoMap from '../../components/landing/NewGeoMap';\n\nimport { useDispatch, useSelector } from '../../redux/store';\n\nimport { getMapFeatures, getDashBoardBlock } from '../../redux/slices/frontend';\n\n// ----------------------------------------------------------------------\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n position: 'relative',\n [theme.breakpoints.up('md')]: {\n top: 0,\n left: 0,\n width: '100%',\n height: '100vh',\n position: 'fixed',\n backgroundColor: alpha(theme.palette.primary.darker, 0.12)\n }\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function HomeHero() {\n const theme = useTheme();\n const dispatch = useDispatch();\n const isDesktop = useResponsive('up', 'md');\n const carouselRef = useRef(null);\n const { currentEntityId, currentPeriod, widgets } = useSelector((state) => state.frontend);\n\n const levelCarouselSettings = {\n dots: false,\n arrows: false,\n autoplay: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n rtl: Boolean(theme.direction === 'rtl'),\n fade: true,\n infinite: true,\n speed: 2000\n };\n\n const refreshHero = async () => {\n const jobs = [\n dispatch(\n getMapFeatures({\n entityId: currentEntityId,\n year: currentPeriod.end?.year || new Date().getFullYear(),\n quarter: currentPeriod.end?.quarter || 4\n })\n )\n ];\n\n if (!isNilOrBlank(widgets) && widgets.length > 0) {\n widgets.forEach((widget) =>\n jobs.push(\n dispatch(\n getDashBoardBlock({\n itemParams: {\n ...widget,\n entity_id: [currentEntityId],\n isLoading: widget.isLoading !== undefined ? widget.isLoading : false,\n touched: false,\n data: widget.data !== undefined ? widget.data : undefined,\n period: {\n start: {\n index: 0,\n value: 1,\n quarter: 1,\n year: 2015,\n startDate: '2015-01-01',\n endDate: '2015-03-31'\n },\n end: {\n index: 1,\n value: 1,\n quarter: 1,\n year: 2015,\n startDate: '2015-01-01',\n endDate: '2015-03-31'\n }\n }\n }\n })\n )\n )\n );\n }\n\n await PromisePool.for(jobs)\n .withConcurrency(jobs.length)\n .process(async (job) => job);\n };\n\n useEffect(() => {\n if (!isNilOrBlank(currentEntityId) && !isNilOrBlank(currentPeriod)) {\n refreshHero();\n }\n }, [currentEntityId, currentPeriod]); // eslint-disable-line\n\n return (\n <>\n \n \n \n {isDesktop && (\n \n \n \n )}\n\n \n \n {!isDesktop && }\n \n {!isNilOrBlank(widgets) && widgets.length > 0 && !isNilOrBlank(currentEntityId) && (\n <>\n {widgets.slice(0, 2).map((widget, wIndex) => (\n \n {widget.format === 'PopulationWidget' && (\n \n )}\n {widget.format === 'Widget' && }\n \n ))}\n \n {widgets.slice(2).map((widget, wIndex) => (\n \n {widget.format === 'PopulationWidget' && (\n \n )}\n {widget.format === 'Widget' && }\n \n ))}\n \n \n )}\n \n \n \n \n \n \n );\n}\n","import { Suspense, useEffect, lazy } from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { PromisePool } from '@supercharge/promise-pool';\nimport { m, useScroll, useSpring } from 'framer-motion';\n// @mui\nimport { useTheme } from '@mui/material/styles';\n\n// components\nimport { CircularProgress, Stack, Box } from '@mui/material';\n// sections\nimport HomeHero from '../sections/home/HomeHero';\nimport useLocales from '../hooks/useLocales';\n\nimport { useDispatch, useSelector } from '../redux/store';\nimport { getPyramid, getWidgets, getPublishedPeriods, getRootEntity } from '../redux/slices/frontend';\nimport { isNilOrBlank } from '../utils/core';\n\nconst LandingHugePackElements = lazy(() => import('../components/landing/LandingHugePackElements'));\nconst ResultsCharts = lazy(() => import('./public/kyrgyz/ResultsCharts'));\nconst Contents = lazy(() => import('./public/shared/contents/Contents'));\n\n// redux\n\nconst components = {\n kyrgyz: [\n { label: 'Results', component: },\n { label: 'Other charts', component: },\n { label: 'CMS Contents', component: }\n ],\n djibouti: [{ label: 'CMS Contents', component: }],\n lesotho: [{ label: 'CMS Contents', component: }],\n comoros: [{ label: 'CMS Contents', component: }],\n kobikisa: [{ label: 'CMS Contents', component: }],\n tchad: [{ label: 'CMS Contents', component: }],\n liberia: [{ label: 'CMS Contents', component: }]\n};\n\n// ----------------------------------------------------------------------\n\nexport default function HomePage() {\n const { translate: t } = useLocales();\n const dispatch = useDispatch();\n const { currentEntityId } = useSelector((state) => state.frontend);\n const theme = useTheme();\n const { scrollYProgress } = useScroll();\n const scaleX = useSpring(scrollYProgress, {\n stiffness: 100,\n damping: 30,\n restDelta: 0.001\n });\n\n const progress = (\n \n );\n\n const loadHome = async () => {\n await PromisePool.for([\n dispatch(getRootEntity()),\n dispatch(getPyramid()),\n dispatch(getPublishedPeriods()),\n dispatch(getWidgets())\n ])\n .withConcurrency(4)\n .process(async (job) => job);\n };\n\n useEffect(() => {\n if (isNilOrBlank(currentEntityId)) {\n loadHome();\n }\n }, [currentEntityId]); // eslint-disable-line\n\n return (\n <>\n \n {`${t(`shared.projectMainTitle.${process.env.REACT_APP_PROJECT_NAME}`)} - ${t(\n `shared.projectMainSubTitle.${process.env.REACT_APP_PROJECT_NAME}`\n )}`}\n \n\n {progress}\n\n \n\n \n {/*\n
\n            
\n
\n
\n {JSON.stringify(widgets, null, 2)}\n
\n */}\n {components[process.env.REACT_APP_PROJECT_NAME] !== undefined &&\n components[process.env.REACT_APP_PROJECT_NAME].map((config, configIndex) => (\n \n \n \n }\n >\n {config.component}\n \n ))}\n
\n \n );\n}\n","import { reverse, sortBy } from 'lodash';\n// material\nimport { styled, useTheme } from '@mui/material/styles';\nimport { Box, Card, CardHeader, Typography, Stack } from '@mui/material';\n// utils\nimport { fNumber } from '../../../../utils/formatNumber';\nimport Iconify from '../../../../components/Iconify';\n\n// ----------------------------------------------------------------------\n\nconst IconWrapperStyle = styled('div')(() => ({\n // width: 24,\n height: 24,\n display: 'flex',\n // borderRadius: '50%',\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: -5.5,\n marginLeft: -5.5,\n // paddingLeft: theme.spacing(-5),\n // paddingRight: -2,\n marginTop: -1.5,\n paddingTop: -4\n // color: theme.palette.success.main\n // backgroundColor: alpha(theme.palette.success.main, 0.16)\n}));\n\n// ----------------------------------------------------------------------\n\nconst POPULATION = reverse(\n sortBy(\n [\n { label: 'Hospital without payment', value: 1352773, color: '' },\n { label: 'Hospital with payment', value: 1539601, color: '' }\n ],\n 'value'\n )\n);\n\nexport default function PopulationWidget() {\n const theme = useTheme();\n\n const colors = [\n theme.palette.primary.main,\n '#ed1b2e', // theme.palette.chart.yellow[0],\n theme.palette.chart.blue[0],\n theme.palette.chart.violet[0],\n theme.palette.chart.green[0],\n theme.palette.chart.red[0]\n ];\n\n const total = POPULATION.reduce((acc, curr) => acc + curr.value, 0);\n\n return (\n \n \n \n POPULATION\n \n\n \n \n \n \n }\n title=\"Total catchment population\"\n subheader={fNumber(total)}\n />\n }\n />\n \n {POPULATION.map((population, pI) => (\n \n {Array(\n Math.round((population.value / POPULATION[0].value) * 24) < 1\n ? 1\n : Math.round((population.value / POPULATION[0].value) * 24)\n )\n .fill()\n .map((pop, popI) => (\n \n \n \n ))}\n \n ))}\n \n {POPULATION.map((population, pI) => (\n \n \n \n }\n title={population.label}\n subheader={fNumber(population.value)}\n />\n }\n />\n ))}\n \n \n \n );\n}\n","import { memo, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport NumberFormat from 'react-number-format';\n\n// material\nimport { alpha, useTheme, styled } from '@mui/material/styles';\nimport { Box, Grid, Card, Typography, Stack, Skeleton } from '@mui/material';\n// utils\nimport Chart, { useChart } from '../../../../components/chart';\nimport { fNumber, fPercent, fShortenNumber } from '../../../../utils/formatNumber';\n// import { useDispatch, useSelector } from '../../../../redux/store';\n\nimport Iconify from '../../../../components/Iconify';\nimport { isNilOrBlank } from '../../../../utils/core';\nimport useAuth from '../../../../hooks/useAuth';\n// ----------------------------------------------------------------------\n\nconst IconWrapperStyle = styled('div')(({ theme }) => ({\n width: 24,\n height: 24,\n display: 'flex',\n borderRadius: '50%',\n alignItems: 'center',\n justifyContent: 'center',\n color: theme.palette.success.main,\n backgroundColor: alpha(theme.palette.success.main, 0.16)\n}));\n\n// ----------------------------------------------------------------------\n\n//\nWidget.propTypes = {\n params: PropTypes.object,\n editItem: PropTypes.func\n};\n\nfunction Widget({ params, editItem }) {\n const theme = useTheme();\n const { ability } = useAuth();\n const [miniChatData, setMiniChatData] = useState(undefined);\n const [percent, setPercent] = useState(0);\n\n const [chartOptions, setChartOptions] = useState(\n useChart({\n colors: [theme.palette.primary.main],\n // Stroke\n stroke: {\n show: true,\n width: ['widget-bar', 'N/A', 'N/ A'].includes(params.chart_type) ? 0.2 : 2.2,\n curve: 'straight',\n lineCap: 'round'\n // colors: ['transparent']\n },\n fill: {\n type: 'gradient',\n gradient: {\n colorStops: [\n { offset: 0, color: theme.palette.primary.main, opacity: 1 },\n { offset: 100, color: theme.palette.primary.light, opacity: 1 }\n ]\n }\n },\n chart: {\n toolbar: { show: false },\n animations: {\n enabled: true\n },\n sparkline: {\n enabled: true\n }\n },\n plotOptions: { bar: { columnWidth: '68%', borderRadius: 2 } },\n tooltip: {\n x: { show: true },\n y: {\n formatter: (seriesName) => fNumber(seriesName),\n title: {\n formatter: () => ''\n }\n },\n marker: { show: true }\n }\n })\n );\n\n useEffect(() => {\n if (!isNilOrBlank(params.data) && !isNilOrBlank(params.data.values) && Array.isArray(params.data.values)) {\n const values = params.data.values.map((v) => v.value);\n const { length } = values;\n setChartOptions({ ...chartOptions, labels: params.data.values.map((v) => v.period_label) });\n setMiniChatData([{ data: values }]);\n setPercent(values[length - 1] === 0 ? null : (values[length - 1] - values[length - 2]) / values[length - 1]);\n }\n }, [params.data]); // eslint-disable-line\n\n return (\n <>\n {params.isLoading === true && (\n \n \n \n \n \n \n )}\n {!isNilOrBlank(params.data) &&\n !isNilOrBlank(params.data.values) &&\n !isNilOrBlank(miniChatData) &&\n miniChatData.length > 0 &&\n params.isLoading === false && (\n {\n if (editItem !== undefined) {\n if (ability.can('create_item', 'Dashboard') && ability.can('update_item', 'Dashboard')) {\n editItem(params);\n }\n }\n }}\n >\n \n \n {params.title !== undefined && (\n \n {params.title}\n \n )}\n\n \n \n \n \n = 0 || Number.isNaN(percent) ? 'eva:trending-up-fill' : 'eva:trending-down-fill'\n }\n width={16}\n height={16}\n />\n \n \n {percent > 0 && '+'}\n {!Number.isNaN(percent) && fPercent(percent)}\n \n \n \n \n \n \n {/*
{JSON.stringify(miniChatData, null, 2)}
*/}\n
\n\n \n (\n <>\n {params.prefix !== undefined && (\n \n {params.prefix}\n \n )}\n {fShortenNumber(value)}\n {params.suffix !== undefined && (\n \n {params.suffix}\n \n )}\n \n )}\n />\n \n
\n
\n \n )}\n \n );\n}\n\nexport default memo(Widget);\n","import { alpha } from '@mui/material/styles';\nimport { dividerClasses } from '@mui/material/Divider';\nimport { checkboxClasses } from '@mui/material/Checkbox';\nimport { menuItemClasses } from '@mui/material/MenuItem';\nimport { autocompleteClasses } from '@mui/material/Autocomplete';\n\n// ----------------------------------------------------------------------\n\nexport const paper = ({ theme, bgcolor, dropdown }) => ({\n ...bgBlur({\n blur: 20,\n opacity: 0.9,\n color: theme.palette.background.paper,\n ...(!!bgcolor && {\n color: bgcolor\n })\n }),\n backgroundImage: 'url(/assets/cyan-blur.png), url(/assets/red-blur.png)',\n backgroundRepeat: 'no-repeat, no-repeat',\n backgroundPosition: 'top right, left bottom',\n backgroundSize: '50%, 50%',\n ...(theme.direction === 'rtl' && {\n backgroundPosition: 'top left, right bottom'\n }),\n ...(dropdown && {\n padding: theme.spacing(0.5),\n boxShadow: theme.customShadows.dropdown,\n borderRadius: theme.shape.borderRadius * 1.25\n })\n});\n\n// ----------------------------------------------------------------------\n\nexport const menuItem = (theme) => ({\n ...theme.typography.body2,\n padding: theme.spacing(0.75, 1),\n borderRadius: theme.shape.borderRadius * 0.75,\n '&:not(:last-of-type)': {\n marginBottom: 4\n },\n [`&.${menuItemClasses.selected}`]: {\n fontWeight: theme.typography.fontWeightSemiBold,\n backgroundColor: theme.palette.action.selected,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n },\n [`& .${checkboxClasses.root}`]: {\n padding: theme.spacing(0.5),\n marginLeft: theme.spacing(-0.5),\n marginRight: theme.spacing(0.5)\n },\n [`&.${autocompleteClasses.option}[aria-selected=\"true\"]`]: {\n backgroundColor: theme.palette.action.selected,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n },\n [`&+.${dividerClasses.root}`]: {\n margin: theme.spacing(0.5, 0)\n }\n});\n\n// ----------------------------------------------------------------------\n\nexport function bgBlur(props) {\n const color = props?.color || '#000000';\n const blur = props?.blur || 6;\n const opacity = props?.opacity || 0.8;\n const imgUrl = props?.imgUrl;\n\n if (imgUrl) {\n return {\n position: 'relative',\n backgroundImage: `url(${imgUrl})`,\n '&:before': {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 9,\n content: '\"\"',\n width: '100%',\n height: '100%',\n backdropFilter: `blur(${blur}px)`,\n WebkitBackdropFilter: `blur(${blur}px)`,\n backgroundColor: alpha(color, opacity)\n }\n };\n }\n\n return {\n backdropFilter: `blur(${blur}px)`,\n WebkitBackdropFilter: `blur(${blur}px)`,\n backgroundColor: alpha(color, opacity)\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function bgGradient(props) {\n const direction = props?.direction || 'to bottom';\n const startColor = props?.startColor;\n const endColor = props?.endColor;\n const imgUrl = props?.imgUrl;\n const color = props?.color;\n\n if (imgUrl) {\n return {\n background: `linear-gradient(${direction}, ${startColor || color}, ${endColor || color}), url(${imgUrl})`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center'\n };\n }\n\n return {\n background: `linear-gradient(${direction}, ${startColor}, ${endColor})`\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport function textGradient(value) {\n return {\n background: `-webkit-linear-gradient(${value})`,\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent'\n };\n}\n\n// ----------------------------------------------------------------------\n\nexport const hideScroll = {\n x: {\n msOverflowStyle: 'none',\n scrollbarWidth: 'none',\n overflowX: 'scroll',\n '&::-webkit-scrollbar': {\n display: 'none'\n }\n },\n y: {\n msOverflowStyle: 'none',\n scrollbarWidth: 'none',\n overflowY: 'scroll',\n '&::-webkit-scrollbar': {\n display: 'none'\n }\n }\n};\n"],"names":["PeriodRangeSlider","sliderType","valueLabelDisplay","publishedPeriods","setCurrentPeriod","currentPeriod","disabled","value","setValue","useState","valueLabelSX","setValueLabelSX","marginLeft","marginRight","width","color","fontSize","useEffect","defaultPeriodValue","undefined","length","process","startIndex","findIndex","period","startDate","start","endDate","end","setDefaultPeriodValue","sx","left","sdfsdfsdf","size","onChange","event","newValue","onChangeCommitted","periodStart","periodEnd","valueLabelFormat","v","find","p","i","label","max","min","marks","map","pp","RootStyle","styled","FrontEndMainPeriodSelector","dispatch","useDispatch","useSelector","state","frontend","borderRadius","paddingTop","paddingLeft","paddingRight","paddingBottom","backgroundColor","theme","alpha","palette","grey","isNil","Skeleton","animation","height","Typography","variant","textAlign","filter","kind","TransitionComponent","props","Collapse","StyledTreeItem","TreeItem","treeItemClasses","borderTopRightRadius","spacing","borderBottomRightRadius","fontWeight","typography","fontWeightBold","action","selected","opacity","renderTree","nodes","node","childrenNodes","children","Array","isArray","nodeId","parent_id","String","collapseIcon","leaf","Iconify","icon","expandIcon","FrontEndMainPyramidSelector","hasBgColor","textColor","hasPadding","widgets","pyramid","selectedPyramidNodes","currentEntity","currentEntityId","isNilOrBlank","status","setActiveLeaf","alignItems","_","si","TreeView","onNodeToggle","async","nodesIds","currentNode","split","jobs","setExpandedPyramidNodes","setCurrentEntityId","Number","forEach","widget","push","updateFrontEndChart","field","itemId","id","PromisePool","withConcurrency","job","onNodeSelect","setSelectedPyramidNodes","expanded","defaultCollapseIcon","defaultExpandIcon","flexGrow","overflowY","tree","StyledLightbox","useTheme","ICON_COLOR","replace","ICON_COLOR_HOVER","common","white","name","backgroundSize","backgroundRepeat","backgroundPosition","transition","transitions","create","background","GlobalStyles","styles","justifyContent","display","Lightbox","images","photoIndex","setPhotoIndex","open","other","document","body","style","overflow","toolbarButtons","animationDuration","nextSrc","prevSrc","onMovePrevRequest","onMoveNextRequest","reactModalStyle","overlay","zIndex","wrapperClassName","Box","shouldForwardProp","prop","rounded","primary","main","cursor","easing","sharp","duration","short","LeftIcon","isRTL","transform","RightIcon","IconButton","filled","shape","hasChildren","shorter","top","position","marginTop","StyledRoot","bgBlur","bottom","right","padding","StyledIconButton","CarouselArrowIndex","index","total","onNext","onPrevious","direction","onClick","component","mx","Carousel","FrontEndMainEntityDisplay","carouselRef","useRef","translate","t","useLocales","activeLeaf","levelPictures","currentIndex","setCurrentIndex","openLightbox","setOpenLightbox","selectedImage","setSelectedImage","basicCarouselSettings","dots","arrows","autoplay","slidesToShow","slidesToScroll","rtl","Boolean","leafCarouselSettings","beforeChange","current","next","levelCarouselSettings","fade","infinite","speed","m","viewport","once","variants","varFade","inLeft","mt","Card","ref","picture","pi","url","handleOpenLightbox","alt","src","ratio","mainSrc","onCloseRequest","pictures","full_name","slickNext","slickPrev","group","group_name","address","contact_person","phone_number","email","StyledMapControls","boxShadow","customShadows","z8","borderTop","divider","border","lineHeight","backgroundImage","StyledPopup","Popup","outline","marginBottom","borderBottomColor","borderLeftColor","borderTopColor","borderRightColor","StyledControlPanel","darker","minWidth","MapPopup","anchor","MapControl","hideScaleControl","hideGeolocateControl","hideFullscreenControl","hideNavigationnControl","positionOptions","enableHighAccuracy","GeoMapPopUp","hoverInfo","mapIsFetching","mb","LinearProgress","feature","geometry","type","properties","short_name","JSON","parse","objectFit","MapViewportAnimation","mapRef","mapFeatures","boundingEntity","setHoverInfo","handleMouseMove","useCallback","features","longitude","lngLat","lng","latitude","lat","pointLayer","paint","lineLayer","boundingLineLayer","boundingFillLayer","coordinates","minLng","minLat","maxLng","maxLat","bbox","fitBounds","initialViewState","bearing","pitch","onMouseMove","interactiveLayerIds","data","f","onClose","Backdrop","invisible","drawer","CircularProgress","memo","StyledMapContainer","NewGeoMap","mapboxAccessToken","mapStyle","breakpoints","up","HomeHero","isDesktop","useResponsive","getMapFeatures","entityId","year","Date","getFullYear","quarter","getDashBoardBlock","itemParams","entity_id","isLoading","touched","refreshHero","Grid","container","item","xs","md","HEADER","slice","wIndex","Fragment","format","PopulationWidget","title","params","Widget","LandingHugePackElements","lazy","ResultsCharts","Contents","components","kyrgyz","djibouti","lesotho","comoros","kobikisa","tchad","liberia","HomePage","scrollYProgress","useScroll","scaleX","useSpring","stiffness","damping","restDelta","progress","transformOrigin","getRootEntity","getPyramid","getPublishedPeriods","getWidgets","loadHome","bgcolor","config","configIndex","Suspense","fallback","IconWrapperStyle","POPULATION","reverse","sortBy","colors","chart","blue","violet","green","red","reduce","acc","curr","flexWrap","disableTypography","titleTypographyProps","subheaderTypographyProps","avatar","subheader","fNumber","population","pI","Math","round","fill","pop","popI","success","editItem","ability","useAuth","miniChatData","setMiniChatData","percent","setPercent","chartOptions","setChartOptions","useChart","stroke","show","includes","chart_type","curve","lineCap","gradient","colorStops","offset","light","toolbar","animations","enabled","sparkline","plotOptions","bar","columnWidth","tooltip","x","y","formatter","seriesName","marker","values","labels","period_label","px","py","onDoubleClick","can","error","isNaN","fPercent","series","options","current_value","displayType","thousandSeparator","renderText","prefix","noWrap","fShortenNumber","suffix","blur","imgUrl","content","backdropFilter","WebkitBackdropFilter","bgGradient","startColor","endColor"],"sourceRoot":""}