{"version":3,"file":"static/chunks/5392.498a5c2855d8d925.js","mappings":"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","sources":["webpack://_N_E/./components/CookieOverlay/CookieOverlay.js","webpack://_N_E/./components/CookieOverlay/index.js","webpack://_N_E/./components/Map/Map.js","webpack://_N_E/./components/Map/index.js","webpack://_N_E/./components/MapInfoWindow/MapInfoWindow.js","webpack://_N_E/./components/MapInfoWindow/index.js","webpack://_N_E/./components/CookieOverlay/CookieOverlay.module.scss","webpack://_N_E/./components/Map/Map.module.scss","webpack://_N_E/./components/MapInfoWindow/MapInfoWindow.module.scss"],"sourcesContent":["import PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport styles from './CookieOverlay.module.scss';\nimport Button from '../Button';\n\nconst CookieOverlay = ({\n text,\n buttonText,\n modifiers = [],\n handleClick,\n icon,\n}) => {\n const classes = classNames(\n styles['CookieOverlay'],\n modifiers.map((modifier) => styles[`CookieOverlay--${modifier}`])\n );\n\n return (\n
\n \n \n
\n );\n};\n\nCookieOverlay.propTypes = {\n text: PropTypes.string,\n buttonText: PropTypes.string,\n modifiers: PropTypes.arrayOf(PropTypes.string),\n handleClick: PropTypes.func,\n icon: PropTypes.string,\n};\n\nCookieOverlay.defaultProps = {};\n\nexport default CookieOverlay;\n","import CookieOverlay from './CookieOverlay';\n\nexport default CookieOverlay;\n","import React, { useEffect, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport { renderToString } from 'react-dom/server';\nimport PropTypes from 'prop-types';\nimport styles from './Map.module.scss';\nimport GoogleMapReact from 'google-map-react';\nimport BaseContext from '../../containers/BasePage/BaseContext';\nimport CookieOverlay from '../CookieOverlay';\nimport MapInfoWindow from '../MapInfoWindow';\nimport { CookieStateContext } from '../../containers/BasePage/state';\nimport { useTranslation } from 'next-i18next';\n\nconst createMapOptions = () => {\n return {\n clickableIcons: false,\n clickableLabels: false,\n fullscreenControl: false,\n maxZoom: 17,\n };\n};\n\nconst Map = ({\n apiKey,\n items = [],\n newTab = false,\n zoomLevel = 17,\n untranslatedModifiers = [],\n}) => {\n const { googleMapsApiKey } = useContext(BaseContext);\n const mapApiKey = apiKey || googleMapsApiKey;\n\n const { t } = useTranslation('common');\n\n const [map, setMap] = useState(null);\n const [maps, setMaps] = useState(null);\n const [isMapReady, setIsMapReady] = useState(false);\n const [mapBounds, setMapBounds] = useState(null);\n const [infoWindow, setInfoWindow] = useState(null);\n const [showMapWithoutCookieConsent, setShowMapWithoutCookieConsent] =\n useState(false);\n\n const { state } = useContext(CookieStateContext) || {};\n const cookieConsent = state?.categories?.includes('targeting');\n\n const itemGroups =\n items && items.length > 0\n ? items.reduce((acc, item) => {\n const key = item?.type === 'route' ? 'routes' : 'pois';\n if (!acc[key]) {\n acc[key] = [];\n }\n acc[key].push(item);\n return acc;\n }, {})\n : {};\n\n const pois = itemGroups?.pois || [];\n const routes = itemGroups?.routes || [];\n const readMoreText = t('map.readMore');\n\n const triggerInfoWindow = ({ lat, lng, text, address, href, readMore }) => {\n infoWindow.setPosition({ lat: parseFloat(lat), lng: parseFloat(lng) });\n infoWindow.setContent(\n renderToString(\n \n )\n );\n infoWindow.open(map);\n };\n\n useEffect(() => {\n if (infoWindow && items.length === 1) {\n const item = items[0];\n triggerInfoWindow(item);\n }\n }, [infoWindow]);\n\n useEffect(() => {\n if (!maps || !map) return;\n\n if (pois.length === 1 && routes.length <= 0) {\n /* Center map on single point */\n const center = new maps.LatLng(items[0].lat, items[0].lng);\n map.setCenter(center);\n setIsMapReady(true);\n } else if (items.length >= 1) {\n let bounds = new maps.LatLngBounds();\n let processedRoutesCount = 0;\n let kmlLayers = [];\n\n items.forEach(({ lat, lng }) => {\n bounds.extend(\n new maps.LatLng(parseFloat(lat), parseFloat(lng))\n );\n });\n\n if (routes.length > 0) {\n // Load each KML layer and check if it's loaded\n routes.forEach((item) => {\n const routeTitle = item.text || item.address;\n const kmlLayer = new maps.KmlLayer({\n url: `https://www.google.com/maps/d/kml?mid=${item.route}`,\n map: map,\n title: routeTitle,\n suppressInfoWindows: true, // Disable default info window\n });\n kmlLayers.push(kmlLayer);\n\n maps.event.addListener(kmlLayer, 'click', () => {\n triggerInfoWindow(item);\n });\n\n // Listen for when metadata (including viewport) is ready\n maps.event.addListenerOnce(\n kmlLayer,\n 'metadata_changed',\n () => {\n if (kmlLayer.getDefaultViewport()) {\n bounds.union(kmlLayer.getDefaultViewport());\n }\n processedRoutesCount++;\n\n // If all routes are processed (successfully or failed), finalize bounds\n if (processedRoutesCount === routes.length) {\n setMapBounds(bounds);\n setIsMapReady(true);\n }\n }\n );\n\n // Handle KML layer errors explicitly\n maps.event.addListener(kmlLayer, 'status_changed', () => {\n if (kmlLayer.getStatus() !== maps.KmlLayerStatus.OK) {\n console.error(\n `Failed to load route: ${routeTitle}`\n );\n processedRoutesCount++; // Count failed loads too\n\n if (processedRoutesCount === routes.length) {\n setMapBounds(bounds);\n setIsMapReady(true);\n }\n }\n });\n });\n } else {\n // If no routes, fit bounds with only item positions\n setMapBounds(bounds);\n setIsMapReady(true);\n }\n }\n }, [maps, map]);\n\n // Fit map bounds when ready\n useEffect(() => {\n if (isMapReady && mapBounds) {\n map.fitBounds(mapBounds);\n }\n }, [isMapReady, mapBounds]);\n\n const center = {\n lat: parseFloat(60.95),\n lng: parseFloat(20.33),\n };\n\n const classes = classNames(\n styles['Map'],\n 'Map',\n untranslatedModifiers.map((x) => styles[x])\n );\n\n return (\n
\n
\n {!(cookieConsent || showMapWithoutCookieConsent) && (\n {\n setShowMapWithoutCookieConsent(true);\n }}\n />\n )}\n {(cookieConsent || showMapWithoutCookieConsent) && (\n {\n if (infoWindow) {\n infoWindow.close();\n }\n }}\n defaultCenter={center}\n options={createMapOptions}\n bootstrapURLKeys={{ key: mapApiKey }}\n yesIWantToUseGoogleMapApiInternals\n tabIndex={-1}\n onGoogleApiLoaded={({ map, maps }) => {\n setMap(map);\n setMaps(maps);\n setInfoWindow(new maps.InfoWindow());\n }}\n defaultZoom={zoomLevel}>\n {pois.map((item, i) => (\n triggerInfoWindow(item)}\n {...item}\n />\n ))}\n \n )}\n
\n
\n );\n};\n\nMap.propTypes = {\n items: PropTypes.array.isRequired,\n apiKey: PropTypes.string.isRequired,\n newTab: PropTypes.bool,\n zoomLevel: PropTypes.number,\n untranslatedModifiers: PropTypes.arrayOf(PropTypes.string),\n};\n\nconst Pin = ({ lng, lat, onClick }) => {\n return (\n \n );\n};\n\nPin.propTypes = {\n map: PropTypes.object,\n lng: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n lat: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n title: PropTypes.string,\n href: PropTypes.string,\n newTab: PropTypes.bool,\n};\n\nexport default Map;\n","import Map from './Map';\n\nexport default Map;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\nimport classNames from 'classnames';\nimport { serializeImage } from '../../utils/SerializeImage';\nimport BackgroundImage from '../BackgroundImage';\nimport styles from './MapInfoWindow.module.scss';\n\nconst MapInfoWindow = ({\n href = '',\n readMore,\n title = '',\n image = {},\n newTab = false,\n}) => {\n const { t } = useTranslation('common');\n\n const isExternalLink = href && !href.includes('.visitsweden.');\n const isGoogleMapsLink = href && href.includes('maps.google.com');\n const url = href && !isExternalLink ? `${href}?from_map=1` : href;\n\n // These translations doesn't seem to work, maybe loaded too late, so make sure text is passed to this component\n const defaultReadMore = isGoogleMapsLink\n ? t('mapInfoWindow.goToMap')\n : t('mapInfoWindow.readMore');\n const readMoreText = readMore || defaultReadMore;\n\n const serializedImage = serializeImage(image);\n const sizes = '95px';\n const hasImage = image && image?.src;\n\n const classes = classNames(\n styles['MapInfoWindow'],\n { [styles['MapInfoWindow--HasImage']]: hasImage },\n { [styles['MapInfoWindow--External']]: isExternalLink }\n );\n\n return (\n
\n \n
\n {hasImage && (\n
\n \n
\n )}\n
\n
{title}
\n
\n {readMoreText}\n
\n
\n
\n
\n );\n};\n\nMapInfoWindow.propTypes = {\n href: PropTypes.string,\n title: PropTypes.string,\n image: PropTypes.object,\n newTab: PropTypes.bool,\n};\n\nMapInfoWindow.defaultProps = {\n href: '',\n title: '',\n image: {},\n newTab: false,\n};\n\nexport default MapInfoWindow;\n","import MapInfoWindow from './MapInfoWindow';\n\nexport default MapInfoWindow;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CookieOverlay\":\"CookieOverlay_CookieOverlay__IOd5K\",\"CookieOverlay--Map\":\"CookieOverlay_CookieOverlay--Map__eDiam\",\"CookieOverlay--VideoSegment\":\"CookieOverlay_CookieOverlay--VideoSegment__j_A7v\",\"CookieOverlay__Text\":\"CookieOverlay_CookieOverlay__Text__b0dqw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Map\":\"Map_Map__mQv1G\",\"Map__Container\":\"Map_Map__Container__DhtCh\",\"Map__Poi\":\"Map_Map__Poi__CCJNu\",\"Map--InExpander\":\"Map_Map--InExpander__UjBSQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"MapInfoWindow__Text\":\"MapInfoWindow_MapInfoWindow__Text__WFD72\",\"MapInfoWindow\":\"MapInfoWindow_MapInfoWindow__1wlBM\",\"MapInfoWindow__Link\":\"MapInfoWindow_MapInfoWindow__Link__aA8Et\",\"MapInfoWindow__Container\":\"MapInfoWindow_MapInfoWindow__Container__gR1VW\",\"MapInfoWindow__Content\":\"MapInfoWindow_MapInfoWindow__Content__7OWmt\",\"MapInfoWindow__Image\":\"MapInfoWindow_MapInfoWindow__Image__K60Ai\",\"MapInfoWindow__ReadMore\":\"MapInfoWindow_MapInfoWindow__ReadMore__swvYi\",\"MapInfoWindow--External\":\"MapInfoWindow_MapInfoWindow--External__B8XLs\"};"],"names":["CookieOverlay","text","buttonText","modifiers","handleClick","icon","param","classes","classNames","styles","map","concat","modifier","jsx_runtime","jsxs","div","className","jsx","p","dangerouslySetInnerHTML","__html","Button","type","onClick","propTypes","PropTypes","defaultProps","components_CookieOverlay","createMapOptions","clickableIcons","clickableLabels","fullscreenControl","maxZoom","Map","state","apiKey","items","newTab","zoomLevel","untranslatedModifiers","googleMapsApiKey","useContext","BaseContext","t","useTranslation","setMap","useState","maps","setMaps","isMapReady","setIsMapReady","mapBounds","setMapBounds","infoWindow","setInfoWindow","showMapWithoutCookieConsent","setShowMapWithoutCookieConsent","CookieStateContext","cookieConsent","categories","includes","itemGroups","length","reduce","acc","item","key","push","pois","routes","readMoreText","triggerInfoWindow","lat","lng","address","href","readMore","setPosition","parseFloat","setContent","renderToString","MapInfoWindow","title","open","useEffect","center","LatLng","setCenter","bounds","LatLngBounds","processedRoutesCount","kmlLayers","forEach","extend","routeTitle","kmlLayer","KmlLayer","url","route","suppressInfoWindows","event","addListener","addListenerOnce","getDefaultViewport","union","getStatus","KmlLayerStatus","OK","console","error","fitBounds","x","GoogleMapReact","close","defaultCenter","options","bootstrapURLKeys","yesIWantToUseGoogleMapApiInternals","tabIndex","onGoogleApiLoaded","InfoWindow","defaultZoom","i","Pin","isRequired","button","components_Map","image","isExternalLink","isGoogleMapsLink","defaultReadMore","serializedImage","serializeImage","hasImage","src","a","target","rel","aria-label","BackgroundImage","sizes","quality","shouldLazyLoad","hideAlt","components_MapInfoWindow","module","exports"],"sourceRoot":""}