{"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":""}