{"version":3,"file":"stockistLocator.bundle.js","mappings":"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","sources":["webpack://enjoy-digital-frontend-foundation/./assets/src/js/modules/stockistLocatorMapStyles.js","webpack://enjoy-digital-frontend-foundation/./assets/src/js/pages/stockistLocator.js","webpack://enjoy-digital-frontend-foundation/./assets/src/js/modules/faq.js"],"sourcesContent":["const normalIconSvg = `\n`;\n\nconst selectedIconSvg = `\n`;\n\nexport const normalIcon = {\n url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(normalIconSvg),\n scaledSize: new google.maps.Size(36, 44),\n anchor: new google.maps.Point(18, 44),\n};\n\nexport const selectedIcon = {\n url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(selectedIconSvg),\n scaledSize: new google.maps.Size(36, 44),\n anchor: new google.maps.Point(18, 44),\n};\n\n// https://snazzymaps.com/style/4069/navigation\nexport const mapStyles = [\n {\n \"featureType\": \"all\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#ffffff\"\n }\n ]\n },\n {\n \"featureType\": \"all\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"gamma\": 0.01\n },\n {\n \"lightness\": 20\n }\n ]\n },\n {\n \"featureType\": \"all\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"saturation\": -31\n },\n {\n \"lightness\": -33\n },\n {\n \"weight\": 2\n },\n {\n \"gamma\": 0.8\n }\n ]\n },\n {\n \"featureType\": \"all\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.locality\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#050505\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.locality\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"color\": \"#fef3f3\"\n },\n {\n \"weight\": \"3.01\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.neighborhood\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#0a0a0a\"\n },\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.neighborhood\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"color\": \"#fffbfb\"\n },\n {\n \"weight\": \"3.01\"\n },\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"landscape\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"lightness\": 30\n },\n {\n \"saturation\": 30\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"saturation\": 20\n }\n ]\n },\n {\n \"featureType\": \"poi.attraction\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"lightness\": 20\n },\n {\n \"saturation\": -20\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"lightness\": 10\n },\n {\n \"saturation\": -30\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"saturation\": 25\n },\n {\n \"lightness\": 25\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#a1a1a1\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#292929\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#202020\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#ffffff\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n },\n {\n \"hue\": \"#0006ff\"\n },\n {\n \"saturation\": \"-100\"\n },\n {\n \"lightness\": \"13\"\n },\n {\n \"gamma\": \"0.00\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#686868\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n },\n {\n \"color\": \"#8d8d8d\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#353535\"\n },\n {\n \"lightness\": \"6\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#ffffff\"\n },\n {\n \"weight\": \"3.45\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#d0d0d0\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"lightness\": \"2\"\n },\n {\n \"visibility\": \"on\"\n },\n {\n \"color\": \"#999898\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#383838\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"color\": \"#faf8f8\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"lightness\": -20\n }\n ]\n }\n]","import FAQ from '../modules/faq'\nimport { mapStyles, normalIcon, selectedIcon } from '../modules/stockistLocatorMapStyles'\n\nconst form = document.querySelector('.stockist-locator-form');\nconst results = document.querySelector('.stockist-locator-results');\n\nif (form) {\n const myLocation = form.querySelector('.my-location');\n const latInput = form.querySelector('input[name=\"Latitude\"]');\n const longInput = form.querySelector('input[name=\"Longitude\"]');\n const postCodeInput = form.querySelector('input[type=\"text\"]');\n const mapContainer = document.querySelector('.map-container');\n const mapElememt = mapContainer.querySelector('#map'); \n const resultsContainer = document.querySelector('.stockist-locator-result-container');\n let mapLocationText = \"\";\n let geocoder = null;\n let infowindow = null;\n let map = null;\n\n myLocation.addEventListener(\"click\", function (e) {\n e.preventDefault();\n getLocation();\n mapLocationText = this.getAttribute('data-location');\n });\n\n form.querySelector('button[type=\"submit\"]').addEventListener(\"click\", function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n let input = postCodeInput.value;\n\n storeLocator(input);\n });\n\n function getLocation() {\n\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(success, error, {\n timeout: 10000,\n maximumAge: 300000\n });\n }\n\n function success(pos) {\n const crd = pos.coords;\n form.classList.remove('location-error');\n setLocationData(crd.latitude, crd.longitude);\n }\n\n function error(err) {\n form.classList.add('location-error');\n console.warn(`ERROR(${err.code}): ${err.message}`);\n }\n }\n\n function initMap(currentLat, currentLong, locationsList) {\n\n console.log(\"locations\", locationsList);\n\n let markers = [];\n\n if (currentLat == undefined && currentLong == undefined) {\n let mapCenter = mapElememt.getAttribute(\"data-mapcentre\");\n if (mapCenter.length > 0) {\n var geoParts = mapCenter.split(',');\n console.log(geoParts);\n console.log(geoParts[0]);\n console.log(geoParts[1]);\n currentLat = parseFloat(geoParts[0]);\n currentLong = parseFloat(geoParts[1]);\n }\n else {\n currentLat = 51.476529;\n currentLong = -0.182871;\n }\n \n }\n\n geocoder = new google.maps.Geocoder();\n infowindow = new window.google.maps.InfoWindow();\n map = new google.maps.Map(mapElememt, {\n center: {\n lat: currentLat,\n lng: currentLong\n },\n zoom: 11,\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n styles: mapStyles,\n fullscreenControl: false,\n streetViewControl: false,\n mapTypeControl: false\n });\n\n if (locationsList != undefined && locationsList.length > 0) {\n\n var bounds = new google.maps.LatLngBounds();\n\n for (let index = 0; index < locationsList.length; index++) {\n const location = locationsList[index];\n const lat = parseFloat(location.getAttribute('data-lat'));\n const long = parseFloat(location.getAttribute('data-lon'));\n console.log(\"lat\", lat);\n console.log(\"lon\", long);\n let myLatLng = new google.maps.LatLng(lat, long);\n console.log(myLatLng);\n\n let marker = new google.maps.Marker({\n icon: index === 0 ? selectedIcon : normalIcon,\n position: myLatLng,\n animation: google.maps.Animation.DROP,\n label: {\n text: location.getAttribute('id'),\n color: 'rgba(0, 0, 0, 0)',\n },\n map: map,\n normalIcon: normalIcon,\n selectedIcon: selectedIcon\n });\n\n markers.push(marker);\n\n bounds.extend(myLatLng);\n attachClickHandler(marker, markers)\n map.fitBounds(bounds);\n }\n\n // Store markers on the map object for access by accordion handlers\n map.markers = markers;\n\n results.querySelector('.map-count').innerHTML = locationsList.length;\n\n if (postCodeInput.value != \"\") {\n mapLocationText = postCodeInput.value;\n }\n\n results.querySelector('.map-location').innerHTML = mapLocationText;\n mapContainer.classList.remove('hidden');\n\n window.scroll({\n top: mapContainer.getBoundingClientRect().top + document.documentElement.scrollTop - 100,\n behavior: \"smooth\"\n });\n }\n }\n\n initMap();\n\n\n function attachClickHandler(marker, markers) {\n google.maps.event.addListener(marker, 'click', function () {\n markers.forEach(m => {\n m.setIcon(m.normalIcon);\n });\n marker.setIcon(marker.selectedIcon);\n\n var text = '#' + marker.label.text;\n var elem = document.querySelector(text);\n\n let openAccordions = [];\n if (resultsContainer) {\n openAccordions = resultsContainer.querySelectorAll('.accordion.active');\n }\n\n openAccordions.forEach(accordion => {\n accordion.click();\n });\n\n if (elem) {\n elem.click();\n }\n\n const time = openAccordions.length > 0 ? 500 : 0;\n\n setTimeout(() => {\n if (elem) {\n window.scroll({\n top: elem.getBoundingClientRect().top + document.documentElement.scrollTop - 100,\n behavior: \"smooth\"\n });\n }\n }, time);\n });\n }\n\n function storeLocator(address) {\n let locale = document.querySelector('html').getAttribute(\"lang\");\n\n var str = locale.substring(3, 5);\n\n geocoder.geocode({\n //componentRestrictions: {\n // country: str,\n // postalCode:address\n //}\n 'address': address + ', ' + str,\n 'region': str,\n 'language':locale\n }, function (results, status) {\n if (status === google.maps.GeocoderStatus.OK) {\n form.classList.remove('location-error');\n setLocationData(results[0].geometry.location.lat(), results[0].geometry.location.lng());\n } else {\n form.classList.add('location-error');\n }\n });\n }\n\n function setLocationData(lat, long) {\n latInput.value = lat;\n longInput.value = long;\n\n\n var formData = new FormData(form);\n let searchUrl = resultsContainer.getAttribute(\"data-searchurl\");\n fetch(searchUrl, {\n method: 'POST',\n headers: {\n 'X-Requested-With': 'XMLHttpRequest'\n },\n body: formData\n })\n .then(response => response.text())\n .then(html => {\n resultsContainer.innerHTML = html\n FAQ();\n\n //clear filters - if there are any\n const stockistFilterContainer = document.querySelector(\".stockist-filters\");\n if (stockistFilterContainer) {\n let stockistFilters = document.querySelectorAll(\".stockist-filter\");\n\n stockistFilters.forEach(element => {\n element.checked = false;\n });\n }\n\n let locationList = resultsContainer.querySelectorAll('[data-map-id]');\n initMap(lat, long, locationList);\n attachAccordionClickHandlers();\n })\n .catch(error => console.log(error.message))\n .finally();\n }\n\n function attachAccordionClickHandlers() {\n const accordions = resultsContainer.querySelectorAll('.accordion');\n\n accordions.forEach(accordion => {\n accordion.addEventListener('click', function() {\n const stockistId = this.id;\n const accordionIsActive = accordion.classList.contains('active');\n\n // Find the corresponding marker by its label text\n const markers = map?.markers || [];\n const targetMarker = markers.find(marker => marker.label.text === stockistId);\n\n if (targetMarker) {\n // Reset all markers to normal icon\n markers.forEach(m => {\n m.setIcon(m.normalIcon);\n });\n\n // Set the target marker to selected\n if(accordionIsActive) {\n targetMarker.setIcon(targetMarker.selectedIcon);\n }\n }\n\n accordions.forEach(acc => {\n if (acc !== this && acc.classList.contains('active')) {\n acc.classList.remove('active');\n }\n });\n if(accordionIsActive) {\n setTimeout(() => { \n window.scroll({\n top: accordion.getBoundingClientRect().top + document.documentElement.scrollTop - 100,\n behavior: \"smooth\"\n }); \n }, 500);\n }\n });\n });\n }\n\n}","import { simulateClickHandler } from \"./simulateClick\";\n\nexport default function FAQ() {\n accordion() \n}\n\n//\n// Define your functions here\n//\nfunction accordion() {\n var accordion = document.querySelectorAll('.accordion');\n\n accordion.forEach(accordionItem => {\n accordionItem.addEventListener('click', function() {\n accordionItem.classList.toggle('active');\n });\n\n accordionItem.addEventListener('keyup', function(event) {\n if (event.keyCode === 13) {\n accordionItem.classList.toggle('active');\n }\n });\n });\n}"],"names":["normalIcon","url","encodeURIComponent","scaledSize","google","maps","Size","anchor","Point","selectedIcon","mapStyles","form","document","querySelector","results","myLocation","latInput","longInput","postCodeInput","mapContainer","mapElememt","resultsContainer","mapLocationText","geocoder","infowindow","map","initMap","currentLat","currentLong","locationsList","console","log","markers","undefined","mapCenter","getAttribute","length","geoParts","split","parseFloat","Geocoder","window","InfoWindow","Map","center","lat","lng","zoom","mapTypeId","MapTypeId","ROADMAP","styles","fullscreenControl","streetViewControl","mapTypeControl","bounds","LatLngBounds","index","location","long","myLatLng","LatLng","marker","Marker","icon","position","animation","Animation","DROP","label","text","color","push","extend","attachClickHandler","fitBounds","innerHTML","value","classList","remove","scroll","top","getBoundingClientRect","documentElement","scrollTop","behavior","event","addListener","forEach","m","setIcon","elem","openAccordions","querySelectorAll","accordion","click","time","setTimeout","storeLocator","address","locale","str","substring","geocode","status","GeocoderStatus","OK","setLocationData","geometry","add","formData","FormData","searchUrl","fetch","method","headers","body","then","response","html","accordionItem","addEventListener","toggle","keyCode","element","checked","locationList","attachAccordionClickHandlers","catch","error","message","finally","accordions","stockistId","this","id","accordionIsActive","contains","targetMarker","find","acc","e","preventDefault","navigator","geolocation","getCurrentPosition","pos","crd","coords","latitude","longitude","err","warn","code","timeout","maximumAge","stopPropagation"],"sourceRoot":""}