{"version":3,"file":"static/js/9354.f1ed5b83.chunk.js","mappings":"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","sources":["components/map/styles.js","components/map/map-popup.js","components/map/map-marker.js","components/map/map-control.js","_mock/map/countries.js","sections/_examples/extra/map-view/clusters/layers.js","sections/_examples/extra/map-view/clusters/index.js","sections/_examples/extra/map-view/interaction/control-panel.js","sections/_examples/extra/map-view/map-highlight-by-filter.js","sections/_examples/extra/map-view/index.js","utils/mapboxgl.js"],"sourcesContent":["import { Popup } from 'react-map-gl';\n// @mui\nimport { useTheme, styled } from '@mui/material/styles';\nimport GlobalStyles from '@mui/material/GlobalStyles';\n// theme\nimport { bgBlur } from 'src/theme/css';\n\n// ----------------------------------------------------------------------\n\nexport function StyledMapControls() {\n  const theme = useTheme();\n\n  const inputGlobalStyles = (\n    <GlobalStyles\n      styles={{\n        '.mapboxgl-ctrl.mapboxgl-ctrl-group': {\n          borderRadius: '8px',\n          boxShadow: theme.customShadows.z8,\n        },\n        '.mapboxgl-ctrl-zoom-in': {\n          borderRadius: '8px 8px 0 0',\n        },\n        '.mapboxgl-ctrl-compass': {\n          borderRadius: '0 0 8px 8px',\n        },\n        '.mapboxgl-ctrl-fullscreen': {\n          '.mapboxgl-ctrl-icon': {\n            transform: ' scale(0.75)',\n          },\n        },\n        '.mapboxgl-ctrl-group button+button': {\n          borderTop: `1px solid ${theme.palette.divider}`,\n        },\n        '.mapboxgl-ctrl.mapboxgl-ctrl-scale': {\n          border: 'none',\n          lineHeight: '14px',\n          borderRadius: '4px',\n          color: theme.palette.common.white,\n          fontWeight: theme.typography.fontWeightBold,\n          backgroundImage: `linear-gradient(to right, #8a2387, #e94057, #f27121)`,\n        },\n      }}\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      maxWidth: 180,\n      padding: theme.spacing(1),\n      boxShadow: theme.customShadows.z20,\n      borderRadius: theme.shape.borderRadius,\n      backgroundColor: theme.palette.grey[800],\n    },\n    '& .mapboxgl-popup-close-button': {\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: theme.palette.grey[800],\n    },\n    '&.mapboxgl-popup-anchor-right .mapboxgl-popup-tip': {\n      marginLeft: -1,\n      borderLeftColor: theme.palette.grey[800],\n    },\n    '&.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip': {\n      marginTop: -1,\n      borderTopColor: theme.palette.grey[800],\n    },\n    '&.mapboxgl-popup-anchor-left .mapboxgl-popup-tip': {\n      marginRight: -1,\n      borderRightColor: theme.palette.grey[800],\n    },\n  };\n});\n\n// ----------------------------------------------------------------------\n\nexport const StyledControlPanel = styled('div')(({ theme }) => ({\n  ...bgBlur({ color: theme.palette.grey[900] }),\n  zIndex: 9,\n  minWidth: 200,\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","// @mui\n//\nimport PropTypes from 'prop-types';\nimport { StyledPopup } from './styles';\n\n// ----------------------------------------------------------------------\n\nexport default function MapPopup({ sx, children, ...other }) {\n  return (\n    <StyledPopup anchor=\"bottom\" sx={sx} {...other}>\n      {children}\n    </StyledPopup>\n  );\n}\n\nMapPopup.propTypes = {\n  children: PropTypes.node,\n  sx: PropTypes.object,\n};\n","import { Marker } from 'react-map-gl';\n// @mui\nimport Box from '@mui/material/Box';\n\n// ----------------------------------------------------------------------\n\nconst SIZE = 20;\n\nconst ICON = `M20.2,15.7L20.2,15.7c1.1-1.6,1.8-3.6,1.8-5.7c0-5.6-4.5-10-10-10S2,4.5,2,10c0,2,0.6,3.9,1.6,5.4c0,0.1,0.1,0.2,0.2,0.3\n  c0,0,0.1,0.1,0.1,0.2c0.2,0.3,0.4,0.6,0.7,0.9c2.6,3.1,7.4,7.6,7.4,7.6s4.8-4.5,7.4-7.5c0.2-0.3,0.5-0.6,0.7-0.9\n  C20.1,15.8,20.2,15.8,20.2,15.7z`;\n\n// ----------------------------------------------------------------------\n\nexport default function MapMarker({ ...other }) {\n  return (\n    <Marker {...other}>\n      <Box\n        component=\"svg\"\n        viewBox=\"0 0 24 24\"\n        sx={{\n          height: SIZE,\n          stroke: 'none',\n          cursor: 'pointer',\n          fill: (theme) => theme.palette.error.main,\n          transform: `translate(${-SIZE / 2}px,${-SIZE}px)`,\n        }}\n      >\n        <path d={ICON} />\n      </Box>\n    </Marker>\n  );\n}\n","import PropTypes from 'prop-types';\nimport { NavigationControl, FullscreenControl, ScaleControl, GeolocateControl } 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      <StyledMapControls />\n\n      {!hideGeolocateControl && (\n        <GeolocateControl position=\"top-left\" positionOptions={{ enableHighAccuracy: true }} />\n      )}\n\n      {!hideFullscreenControl && <FullscreenControl position=\"top-left\" />}\n\n      {!hideScaleControl && <ScaleControl position=\"bottom-left\" />}\n\n      {!hideNavigationnControl && <NavigationControl position=\"bottom-left\" />}\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 { _mock } from '../_mock';\n\n// ----------------------------------------------------------------------\n\nexport const countries = [\n  {\n    timezones: ['America/Aruba'],\n    latlng: [12.5, -69.96666666],\n    name: 'Aruba',\n    country_code: 'AW',\n    capital: 'Oranjestad',\n    photoUrl: _mock.image.cover(1),\n  },\n  {\n    timezones: ['Asia/Kabul'],\n    latlng: [33, 65],\n    name: 'Afghanistan',\n    country_code: 'AF',\n    capital: 'Kabul',\n    photoUrl: _mock.image.cover(2),\n  },\n  {\n    timezones: ['Africa/Luanda'],\n    latlng: [-12.5, 18.5],\n    name: 'Angola',\n    country_code: 'AO',\n    capital: 'Luanda',\n    photoUrl: _mock.image.cover(3),\n  },\n  {\n    timezones: ['Pacific/Efate'],\n    latlng: [-16, 167],\n    name: 'Vanuatu',\n    country_code: 'VU',\n    capital: 'Port Vila',\n    photoUrl: _mock.image.cover(4),\n  },\n  {\n    timezones: ['Pacific/Wallis'],\n    latlng: [-13.3, -176.2],\n    name: 'Wallis and Futuna',\n    country_code: 'WF',\n    capital: 'Mata-Utu',\n    photoUrl: _mock.image.cover(5),\n  },\n  {\n    timezones: ['Pacific/Apia'],\n    latlng: [-13.58333333, -172.33333333],\n    name: 'Samoa',\n    country_code: 'WS',\n    capital: 'Apia',\n    photoUrl: _mock.image.cover(6),\n  },\n  {\n    timezones: ['Asia/Aden'],\n    latlng: [15, 48],\n    name: 'Yemen',\n    country_code: 'YE',\n    capital: \"Sana'a\",\n    photoUrl: _mock.image.cover(7),\n  },\n  {\n    timezones: ['Africa/Johannesburg'],\n    latlng: [-29, 24],\n    name: 'South Africa',\n    country_code: 'ZA',\n    capital: 'Pretoria',\n    photoUrl: _mock.image.cover(8),\n  },\n  {\n    timezones: ['Africa/Lusaka'],\n    latlng: [-15, 30],\n    name: 'Zambia',\n    country_code: 'ZM',\n    capital: 'Lusaka',\n    photoUrl: _mock.image.cover(9),\n  },\n  {\n    timezones: ['Africa/Harare'],\n    latlng: [-20, 30],\n    name: 'Zimbabwe',\n    country_code: 'ZW',\n    capital: 'Harare',\n    photoUrl: _mock.image.cover(10),\n  },\n];\n","// ----------------------------------------------------------------------\n\nexport const clusterLayer = {\n  id: 'clusters',\n  type: 'circle',\n  source: 'earthquakes',\n  filter: ['has', 'point_count'],\n  paint: {\n    'circle-color': ['step', ['get', 'point_count'], '#51bbd6', 100, '#f1f075', 750, '#f28cb1'],\n    'circle-radius': ['step', ['get', 'point_count'], 20, 100, 30, 750, 40],\n  },\n};\n\nexport const clusterCountLayer = {\n  id: 'cluster-count',\n  type: 'symbol',\n  source: 'earthquakes',\n  filter: ['has', 'point_count'],\n  layout: {\n    'text-field': '{point_count_abbreviated}',\n    'text-font': ['DIN Offc Pro Medium', 'Arial Unicode MS Bold'],\n    'text-size': 12,\n  },\n};\n\nexport const unclusteredPointLayer = {\n  id: 'unclustered-point',\n  type: 'circle',\n  source: 'earthquakes',\n  filter: ['!', ['has', 'point_count']],\n  paint: {\n    'circle-color': '#11b4da',\n    'circle-radius': 4,\n    'circle-stroke-width': 1,\n    'circle-stroke-color': '#FFFFFF',\n  },\n};\n","import { useRef, memo } from 'react';\nimport Map, { Layer, Source } from 'react-map-gl';\n//\nimport { clusterLayer, clusterCountLayer, unclusteredPointLayer } from './layers';\n\n// ----------------------------------------------------------------------\n\nfunction MapClusters({ ...other }) {\n  const mapRef = useRef(null);\n\n  const onClick = (event) => {\n    const feature = event.features?.[0];\n\n    const clusterId = feature?.properties?.cluster_id;\n\n    const mapboxSource = mapRef.current?.getSource('earthquakes');\n\n    mapboxSource.getClusterExpansionZoom(clusterId, (error, zoom) => {\n      if (error) {\n        return;\n      }\n\n      if (feature?.geometry.type === 'Point') {\n        mapRef.current?.easeTo({\n          center: feature?.geometry.coordinates,\n          zoom: Number.isNaN(zoom) ? 3 : zoom,\n          duration: 500,\n        });\n      }\n    });\n  };\n\n  return (\n    <Map\n      initialViewState={{\n        latitude: 40.67,\n        longitude: -103.59,\n        zoom: 3,\n      }}\n      interactiveLayerIds={[clusterLayer.id || '']}\n      onClick={onClick}\n      ref={mapRef}\n      {...other}\n    >\n      <Source\n        id=\"earthquakes\"\n        type=\"geojson\"\n        data=\"https://docs.mapbox.com/mapbox-gl-js/assets/earthquakes.geojson\"\n        cluster\n        clusterMaxZoom={14}\n        clusterRadius={50}\n      >\n        <Layer {...clusterLayer} />\n        <Layer {...clusterCountLayer} />\n        <Layer {...unclusteredPointLayer} />\n      </Source>\n    </Map>\n  );\n}\n\nexport default memo(MapClusters);\n","import PropTypes from 'prop-types';\nimport { memo } from 'react';\n// @mui\nimport { styled, alpha } from '@mui/material/styles';\nimport Switch from '@mui/material/Switch';\nimport InputBase from '@mui/material/InputBase';\nimport Typography from '@mui/material/Typography';\n// components\nimport { StyledControlPanel } from 'src/components/map';\n\n// ----------------------------------------------------------------------\n\nconst StyledRow = styled('div')(({ theme }) => ({\n  display: 'flex',\n  alignItems: 'center',\n  textTransform: 'capitalize',\n  justifyContent: 'space-between',\n  color: theme.palette.common.white,\n  '&:not(:last-of-type)': {\n    marginBottom: theme.spacing(1),\n  },\n}));\n\n// ----------------------------------------------------------------------\n\nconst camelPattern = /(^|[A-Z])[a-z]*/g;\n\nfunction formatSettingName(name) {\n  return name.match(camelPattern)?.join(' ');\n}\n\nfunction ControlPanel({ settings, onChange }) {\n  const renderSetting = (name, value) => {\n    switch (typeof value) {\n      case 'boolean':\n        return (\n          <StyledRow key={name}>\n            <Typography variant=\"body2\">{formatSettingName(name)}</Typography>\n            <Switch\n              size=\"small\"\n              checked={value}\n              onChange={(event) => onChange(name, event.target.checked)}\n            />\n          </StyledRow>\n        );\n      case 'number':\n        return (\n          <StyledRow key={name}>\n            <Typography variant=\"body2\">{formatSettingName(name)}</Typography>\n            <InputBase\n              value={value}\n              onChange={(event) => onChange(name, Number(event.target.value))}\n              inputProps={{ type: 'number' }}\n              sx={{\n                '& input': {\n                  py: 0.25,\n                  width: 40,\n                  fontSize: 14,\n                  borderRadius: 0.5,\n                  textAlign: 'center',\n                  color: 'common.white',\n                  bgcolor: (theme) => alpha(theme.palette.grey[500], 0.12),\n                },\n              }}\n            />\n          </StyledRow>\n        );\n      default:\n        return null;\n    }\n  };\n\n  return (\n    <StyledControlPanel>\n      {Object.keys(settings).map((name) => renderSetting(name, settings[name]))}\n    </StyledControlPanel>\n  );\n}\n\nControlPanel.propTypes = {\n  onChange: PropTypes.func,\n  settings: PropTypes.string,\n};\n\nexport default memo(ControlPanel);\n","import { useState, useCallback, useMemo, memo } from 'react';\nimport Map, { Layer, Source } from 'react-map-gl';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n// components\nimport { MapPopup, MapControl } from 'src/components/map';\n\n// ----------------------------------------------------------------------\n\nfunction MapHighlightByFilter({ ...other }) {\n  const theme = useTheme();\n\n  const countiesLayer = {\n    id: 'counties',\n    type: 'fill',\n    'source-layer': 'original',\n    paint: {\n      'fill-outline-color': theme.palette.grey[900],\n      'fill-color': theme.palette.grey[900],\n      'fill-opacity': 0.12,\n    },\n  };\n\n  const highlightLayer = {\n    id: 'counties-highlighted',\n    type: 'fill',\n    source: 'counties',\n    'source-layer': 'original',\n    paint: {\n      'fill-outline-color': theme.palette.error.main,\n      'fill-color': theme.palette.error.main,\n      'fill-opacity': 0.48,\n    },\n  };\n\n  const [hoverInfo, setHoverInfo] = useState(null);\n\n  const onHover = useCallback((event) => {\n    const county = event.features && event.features[0];\n\n    setHoverInfo({\n      longitude: event.lngLat.lng,\n      latitude: event.lngLat.lat,\n      countyName: county && county.properties?.COUNTY,\n    });\n  }, []);\n\n  const selectedCounty = (hoverInfo && hoverInfo.countyName) || '';\n\n  const filter = useMemo(() => ['in', 'COUNTY', selectedCounty], [selectedCounty]);\n\n  return (\n    <Map\n      initialViewState={{\n        latitude: 38.88,\n        longitude: -98,\n        zoom: 3,\n      }}\n      minZoom={2}\n      onMouseMove={onHover}\n      interactiveLayerIds={['counties']}\n      {...other}\n    >\n      <MapControl />\n\n      <Source type=\"vector\" url=\"mapbox://mapbox.82pkq93d\">\n        <Layer beforeId=\"waterway-label\" {...countiesLayer} />\n        <Layer beforeId=\"waterway-label\" {...highlightLayer} filter={filter} />\n      </Source>\n\n      {selectedCounty && hoverInfo && (\n        <MapPopup longitude={hoverInfo.longitude} latitude={hoverInfo.latitude} closeButton={false}>\n          <Typography variant=\"body2\" sx={{ color: 'common.white' }}>\n            {selectedCounty}\n          </Typography>\n        </MapPopup>\n      )}\n    </Map>\n  );\n}\n\nexport default memo(MapHighlightByFilter);\n","import 'src/utils/mapboxgl';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport Card from '@mui/material/Card';\nimport Stack from '@mui/material/Stack';\nimport Container from '@mui/material/Container';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardContent from '@mui/material/CardContent';\n// routes\nimport { paths } from 'src/routes/paths';\n// config\nimport { MAPBOX_API } from 'src/config-global';\n// _mock\nimport { cities as CITIES } from 'src/_mock/map/cities';\nimport { countries as COUNTRIES } from 'src/_mock/map/countries';\n// components\nimport CustomBreadcrumbs from 'src/components/custom-breadcrumbs';\n//\nimport MapHeatmap from './heatmap';\nimport MapClusters from './clusters';\nimport MapInteraction from './interaction';\nimport MapSideBySide from './side-by-side';\nimport MapChangeTheme from './change-theme';\nimport MapMarkersPopups from './map-markers-popups';\nimport MapDraggableMarkers from './draggable-markers';\nimport MapViewportAnimation from './viewport-animation';\nimport MapGeoJSONAnimation from './map-geo-json-animation';\nimport MapHighlightByFilter from './map-highlight-by-filter';\n\n// ----------------------------------------------------------------------\n\nconst THEMES = {\n  streets: 'mapbox://styles/mapbox/streets-v11',\n  outdoors: 'mapbox://styles/mapbox/outdoors-v11',\n  light: 'mapbox://styles/mapbox/light-v10',\n  dark: 'mapbox://styles/mapbox/dark-v10',\n  satellite: 'mapbox://styles/mapbox/satellite-v9',\n  satelliteStreets: 'mapbox://styles/mapbox/satellite-streets-v11',\n};\n\nconst baseSettings = {\n  mapboxAccessToken: MAPBOX_API,\n  minZoom: 1,\n};\n\nconst StyledMapContainer = styled('div')(({ theme }) => ({\n  zIndex: 0,\n  height: 560,\n  overflow: 'hidden',\n  position: 'relative',\n  borderRadius: theme.shape.borderRadius,\n  '& .mapboxgl-ctrl-logo, .mapboxgl-ctrl-bottom-right': {\n    display: 'none',\n  },\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function MapView() {\n  return (\n    <>\n      <Box\n        sx={{\n          py: 5,\n          bgcolor: (theme) => (theme.palette.mode === 'light' ? 'grey.200' : 'grey.800'),\n        }}\n      >\n        {/* \n        <Container>\n          <CustomBreadcrumbs\n            heading=\"Map\"\n            links={[\n              {\n                name: 'Components',\n                href: paths.components,\n              },\n              { name: 'Map' },\n            ]}\n            moreLink={[\n              'http://visgl.github.io/react-map-gl',\n              'http://visgl.github.io/react-map-gl/examples',\n            ]}\n          />\n        </Container>\n        */}\n      </Box>\n\n      <Container sx={{ my: 10 }}>\n        <Stack spacing={5}>\n          {/*\n          <Card>\n            <CardHeader title=\"Change Theme\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapChangeTheme {...baseSettings} themes={THEMES} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n\n          <Card>\n            <CardHeader title=\"Markers & Popups\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapMarkersPopups {...baseSettings} data={COUNTRIES} mapStyle={THEMES.light} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n          \n          <Card>\n            <CardHeader title=\"Draggable Markers\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapDraggableMarkers {...baseSettings} mapStyle={THEMES.light} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n          \n          <Card>\n            <CardHeader title=\"Geojson Animation\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapGeoJSONAnimation {...baseSettings} mapStyle={THEMES.satelliteStreets} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n          <Card>\n            <CardHeader title=\"Interaction\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapInteraction {...baseSettings} mapStyle={THEMES.light} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n\n          <Card>\n            <CardHeader title=\"Viewport Animation\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapViewportAnimation\n                  {...baseSettings}\n                  data={CITIES.filter((city) => city.state === 'Texas')}\n                  mapStyle={THEMES.light}\n                />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n\n          <Card>\n            <CardHeader title=\"Heatmap\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapHeatmap {...baseSettings} mapStyle={THEMES.light} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n\n          <Card>\n            <CardHeader title=\"Side By Side\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapSideBySide {...baseSettings} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n          */}\n          <Card>\n            <CardHeader title=\"Highlight By Filter\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapHighlightByFilter {...baseSettings} mapStyle={THEMES.light} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n          <Card>\n            <CardHeader title=\"Clusters\" />\n            <CardContent>\n              <StyledMapContainer>\n                <MapClusters {...baseSettings} mapStyle={THEMES.light} />\n              </StyledMapContainer>\n            </CardContent>\n          </Card>\n        </Stack>\n      </Container>\n    </>\n  );\n}\n","import mapboxgl from 'mapbox-gl';\n\n// @ts-ignore\n// eslint-disable-next-line\nmapboxgl.workerClass = require('worker-loader!mapbox-gl/dist/mapbox-gl-csp-worker')?.default;\n"],"names":["StyledMapControls","theme","useTheme","_jsx","GlobalStyles","styles","borderRadius","boxShadow","customShadows","z8","transform","borderTop","concat","palette","divider","border","lineHeight","color","common","white","fontWeight","typography","fontWeightBold","backgroundImage","StyledPopup","styled","Popup","_ref","isRTL","direction","maxWidth","padding","spacing","z20","shape","backgroundColor","grey","width","height","fontSize","opacity","right","left","outline","marginBottom","borderBottomColor","marginLeft","borderLeftColor","marginTop","borderTopColor","marginRight","borderRightColor","_ref2","_objectSpread","bgBlur","zIndex","minWidth","position","top","MapPopup","sx","children","other","_objectWithoutProperties","_excluded","anchor","SIZE","ICON","MapMarker","Object","assign","_objectDestructuringEmpty","Marker","Box","component","viewBox","stroke","cursor","fill","error","main","d","MapControl","hideScaleControl","hideGeolocateControl","hideFullscreenControl","hideNavigationnControl","_jsxs","_Fragment","GeolocateControl","positionOptions","enableHighAccuracy","FullscreenControl","ScaleControl","NavigationControl","_mock","image","cover","clusterLayer","id","type","source","filter","paint","clusterCountLayer","layout","unclusteredPointLayer","MapClusters","mapRef","useRef","Map","initialViewState","latitude","longitude","zoom","interactiveLayerIds","onClick","event","_event$features","_feature$properties","_mapRef$current","feature","features","clusterId","properties","cluster_id","current","getSource","getClusterExpansionZoom","_mapRef$current2","geometry","easeTo","center","coordinates","Number","isNaN","duration","ref","Source","data","cluster","clusterMaxZoom","clusterRadius","Layer","memo","display","alignItems","textTransform","justifyContent","MapHighlightByFilter","countiesLayer","highlightLayer","_useState","useState","_useState2","_slicedToArray","hoverInfo","setHoverInfo","onHover","useCallback","_county$properties","county","lngLat","lng","lat","countyName","COUNTY","selectedCounty","useMemo","minZoom","onMouseMove","url","beforeId","closeButton","Typography","variant","THEMES","streets","outdoors","light","dark","satellite","satelliteStreets","baseSettings","mapboxAccessToken","MAPBOX_API","StyledMapContainer","overflow","MapView","py","bgcolor","mode","Container","my","Stack","Card","CardHeader","title","CardContent","mapStyle","mapboxgl","_require","require","default"],"sourceRoot":""}