{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./interaktcontour/assets/react.js","webpack:///./interaktcontour/assets/scripts/components/GoogleMapsStyles.jsx","webpack:///./interaktcontour/assets/scripts/components/ReactGoogleMaps.jsx","webpack:///./interaktcontour/assets/scripts/utils/debounce.jsx"],"names":["COMPONENTS","ReactGoogleMaps","renderComponentInElement","el","id","dataset","Component","props","Object","assign","childNodes","cloneNode","ReactDOM","render","Array","from","document","querySelectorAll","forEach","ostyles","lightStyles","darkStyles","computeDistance","lat1","lng1","lat2","lng2","src_coordinates","google","maps","LatLng","dst_coordinates","dist","geometry","spherical","computeDistanceBetween","Math","round","Location","location","e","setActiveMarker","url","name","distance","close","preventDefault","address","postal_code","city","telephone","waitingTime","useLocation","useSearchParams","filterParams","setFilterParams","useState","additionalParams","setAdditionalParams","interacted","setInteracted","apiLoaded","setApiLoaded","config","setConfig","map","setMap","geocoder","setGeocoder","filterActive","setFilterActive","currentMarkers","setCurrentMarkers","theme","setTheme","careAndLivingCount","setCareAndLivingCount","daytimeActivitiesCount","setDaytimeActivitiesCount","therapyCount","setTherapyCount","directlyAvailableCount","setDirectlyAvailableCount","accentColor","setAccentColor","markerFillColor","setMarkerFillColor","strokeColor","setStrokeColor","activeStrokeColor","setActiveStrokeColor","activeMarker","mapActive","setMapActive","all","setAll","search","length","defaultFilters","split","includes","careAndLiving","setCareAndLiving","daytimeActivities","setDaytimeActivities","therapy","setTherapy","directlyAvailable","setDirectlyAvailable","fullWidth","small","setSmall","filterChecked","setFilterChecked","searchVal","setSearch","searchLocation","setSearchLocation","useDebounce","LUT","setLUT","filterItems","defaultFilterItemStrings","currentMarker","find","o","extraData","useEffect","centerCoords","rawUrlParams","urlParams","value","param","resetFilters","countLocationAmounts","locations","filter","filteredLocations","normalize","replace","toLowerCase","parseFloat","lat","lng","sort","a","b","ref","useRef","filterOptions","title","identifier","svgMarker","encodeURIComponent","fillOpacity","strokeWeight","rotation","scale","anchor","Point","currentSvgMarker","isDetailView","geocode","language","res","status","result","center","bounds","getCenter","LatLngBounds","extend","setCenter","fitBounds","panToBounds","script","createElement","src","GOOGLE_MAPS_API_KEY","async","defer","window","head","appendChild","targetNode","getElementsByTagName","mapsElm","loc","innerHTML","querySelector","defaultAccentColor","getComputedStyle","getPropertyValue","trim","defaultMarkerFillColor","defaultStrokeColor","defaultActiveStrokeColor","defaultTheme","selectedFilters","style","display","attributes","childList","subtree","callback","mutationsList","observer","mutation","MutationObserver","observe","Map","getElementById","zoom","mapTypeControl","zoomControl","fullscreenControl","streetViewControl","zoomControlOptions","position","ControlPosition","LEFT_BOTTOM","Geocoder","marker","setIcon","icon","setZIndex","scrollIntoView","behavior","block","inline","panTo","locationMarkers","i","Marker","addListener","push","setOptions","styles","some","every","filteredLocs","setVisible","filterParamItems","keys","querystring","stringify","cx","target","idx","key","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;;ACvJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0B;AACO;AACgB;AAEwB;;AAEzE;;AAEE;AACA,IAAMA,UAAU,GAAG;EACfC,eAAe,EAAfA,uFAAeA;AACnB,CAAC;AAED,SAASC,wBAAwB,CAACC,EAAE,EAAE;EAElC,IAAIC,EAAE,GAAGD,EAAE,CAACE,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK;EAC9C,IAAIC,SAAS,GAAGN,UAAU,CAACI,EAAE,CAAC;EAE9B,IAAI,CAACE,SAAS,EAAE;;EAEhB;EACA,IAAIC,KAAK,GAAGC,MAAM,CAACC,MAAM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","file":"react.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"react\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./interaktcontour/assets/react.js\",\"vendors~react\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from \"react-router-dom\";\n\nimport {ReactGoogleMaps} from \"./scripts/components/ReactGoogleMaps.jsx\";\n\n// document.addEventListener('DOMContentLoaded', (event) => {\n\n // load react app later\n const COMPONENTS = {\n ReactGoogleMaps,\n };\n\n function renderComponentInElement(el) {\n\n let id = el.dataset['reactComponent'] || false;\n let Component = COMPONENTS[id];\n\n if (!Component) return;\n\n // get props from elements data attribute, like the post_id\n let props = Object.assign({}, el.dataset);\n props.childNodes = el.cloneNode(true);\n\n ReactDOM.render(\n \n \n \n ,el\n );\n }\n\n // populate React components\n Array.from(document.querySelectorAll('.__react-root')).forEach(renderComponentInElement);\n// })\n","export const ostyles = [\n {\n \"featureType\":\"administrative\",\n \"elementType\":\"labels.text.fill\",\n \"stylers\":[\n {\n \"color\":\"#686767\"\n }\n ]\n },\n {\n \"featureType\":\"landscape\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"color\":\"#dfdbd4\"\n }\n ]\n },\n {\n \"featureType\":\"poi\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"road\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"saturation\":-100\n },\n {\n \"lightness\":45\n }\n ]\n },\n {\n \"featureType\":\"road\",\n \"elementType\":\"labels\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"road.highway\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"visibility\":\"simplified\"\n },\n {\n \"color\":\"#f9f8f6\"\n }\n ]\n },\n {\n \"featureType\":\"road.highway\",\n \"elementType\":\"labels\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"road.arterial\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"weight\":\"0.98\"\n },\n {\n \"visibility\":\"simplified\"\n }\n ]\n },\n {\n \"featureType\":\"road.arterial\",\n \"elementType\":\"geometry.stroke\",\n \"stylers\":[\n {\n \"weight\":\"1.08\"\n }\n ]\n },\n {\n \"featureType\":\"road.arterial\",\n \"elementType\":\"labels.text\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"road.arterial\",\n \"elementType\":\"labels.icon\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"road.local\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"visibility\":\"simplified\"\n },\n {\n \"lightness\":\"81\"\n },\n {\n \"saturation\":\"0\"\n }\n ]\n },\n {\n \"featureType\":\"road.local\",\n \"elementType\":\"labels\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"transit\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"visibility\":\"off\"\n }\n ]\n },\n {\n \"featureType\":\"water\",\n \"elementType\":\"all\",\n \"stylers\":[\n {\n \"color\":\"#f8f6f3\"\n },\n {\n \"visibility\":\"on\"\n }\n ]\n }\n];\n\nexport const lightStyles = [\n {\n \"featureType\": \"administrative\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#686767\"\n }\n ]\n },\n {\n \"featureType\": \"landscape\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"color\": \"#dfdbd4\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"saturation\": -100\n },\n {\n \"lightness\": 45\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n },\n {\n \"color\": \"#f9f8f6\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"weight\": \"0.98\"\n },\n {\n \"visibility\": \"simplified\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"weight\": \"1.08\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.text\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n },\n {\n \"lightness\": \"81\"\n },\n {\n \"saturation\": \"0\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"transit\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"color\": \"#efede8\"\n },\n {\n \"visibility\": \"on\"\n }\n ]\n }\n];\n\nexport const darkStyles = [\n {\n \"featureType\": \"administrative\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"invert_lightness\": true\n },\n {\n \"lightness\": \"22\"\n },\n {\n \"gamma\": \"1.30\"\n }\n ]\n },\n {\n \"featureType\": \"administrative\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#f4eee6\"\n },\n {\n \"lightness\": \"-7\"\n },\n {\n \"saturation\": \"-54\"\n }\n ]\n },\n {\n \"featureType\": \"landscape\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"color\": \"#5f5b55\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"saturation\": \"-100\"\n },\n {\n \"lightness\": \"58\"\n },\n {\n \"invert_lightness\": true\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n },\n {\n \"color\": \"#f9f8f6\"\n },\n {\n \"invert_lightness\": true\n },\n {\n \"lightness\": \"18\"\n },\n {\n \"saturation\": \"-100\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.text\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway.controlled_access\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway.controlled_access\",\n \"elementType\": \"labels.text\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway.controlled_access\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"weight\": \"0.98\"\n },\n {\n \"lightness\": \"16\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"weight\": \"1.08\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.text\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n },\n {\n \"lightness\": \"18\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"simplified\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"transit\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"all\",\n \"stylers\": [\n {\n \"color\": \"#333333\"\n },\n {\n \"visibility\": \"on\"\n }\n ]\n }\n];\n","import React, {useState, useEffect, useRef} from 'react';\nimport {darkStyles, lightStyles} from \"./GoogleMapsStyles.jsx\";\nimport cx from \"classnames\";\nimport { useLocation, useSearchParams } from \"react-router-dom\";\nimport querystring from 'querystring'\nimport {useDebounce} from \"../utils/debounce.jsx\";\n\nconst computeDistance = (lat1,lng1, lat2,lng2) => {\n\n let src_coordinates = new google.maps.LatLng(lat1, lng1);\n let dst_coordinates = new google.maps.LatLng(lat2, lng2);\n let dist = google.maps.geometry.spherical.computeDistanceBetween(src_coordinates, dst_coordinates);\n\n dist = Math.round(dist/100)/10; //round to 1 decimal\n return dist;\n}\n\n\n\nconst Location = props => {\n const {location} = props;\n return (\n props?.setActiveMarker && props.setActiveMarker(location.url)}\n >\n
\n
\n

\n {location.name}\n

\n {location?.distance > 0 && location?.distance < 999 && <> {location.distance} km}\n
\n {props?.close && typeof props.close === 'function' && (\n \n )}\n
\n
\n
\n
\n \n Adres\n \n \n
\n

\n {location.address || \"\"}
\n {location.postal_code || \"\"} {location.city || \"\"}\n

\n
\n
\n {location.telephone && (\n
\n \n Telefoonnummer\n \n \n {location.telephone} \n
\n )}\n {location.waitingTime && (\n
\n \n Wachttijd\n \n \n {location.waitingTime}\n
\n )}\n
\n \n Bekijk locatie\n \n
\n \n )\n}\n\nexport const ReactGoogleMaps = (props) => {\n\n const location = useLocation();\n const [filterParams, setFilterParams] = useSearchParams();\n // additionalParams could be UTM codes\n const [additionalParams, setAdditionalParams] = useState({});\n const [interacted, setInteracted] = useState(false);\n\n const [ apiLoaded, setApiLoaded ] = useState(false);\n const [ config, setConfig] = useState(false);\n const [ map, setMap ] = useState(false);\n const [ geocoder, setGeocoder] = useState(false);\n\n const [ filterActive, setFilterActive] = useState(false);\n const [ currentMarkers, setCurrentMarkers ] = useState([]);\n const [ theme , setTheme ] = useState(\"light\");\n\n const [ careAndLivingCount, setCareAndLivingCount] = useState(0);\n const [ daytimeActivitiesCount, setDaytimeActivitiesCount ] = useState(0);\n const [ therapyCount, setTherapyCount] = useState(0);\n const [ directlyAvailableCount, setDirectlyAvailableCount] = useState(0);\n\n const [ accentColor, setAccentColor] = useState(false);\n const [ markerFillColor, setMarkerFillColor ] = useState(false);\n const [ strokeColor, setStrokeColor] = useState(false);\n const [ activeStrokeColor, setActiveStrokeColor] = useState(false);\n\n const [activeMarker, setActiveMarker] = useState(false);\n const [mapActive, setMapActive] = useState(true);\n\n const [all, setAll] = useState(true);\n\n // We need to check if urlParams are present, if they are the defaultFilters should not be used at all.\n const [careAndLiving, setCareAndLiving] = useState(location.search?.length === 0 ? props?.defaultFilters?.split(\",\")?.includes(\"careAndLiving\") : false);\n const [daytimeActivities, setDaytimeActivities] = useState(location.search?.length === 0 ? props?.defaultFilters?.split(\",\")?.includes(\"daytimeActivities\") : false);\n const [therapy, setTherapy] = useState(location.search?.length === 0 ? props?.defaultFilters?.split(\",\")?.includes(\"therapy\") : false);\n\n const [directlyAvailable, setDirectlyAvailable] = useState(false);\n\n const [small, setSmall] = useState(props?.fullWidth === \"False\");\n const [filterChecked, setFilterChecked] = useState(true);\n\n const [ searchVal, setSearch] = useState(\"\")\n const [ searchLocation, setSearchLocation] = useState({});\n const search = useDebounce(searchVal, 500);\n\n // LookUpTable for distances\n const [LUT, setLUT] = useState({});\n\n const filterItems = [careAndLiving, daytimeActivities, therapy];\n const defaultFilterItemStrings = ['all', 'careAndLiving', 'directlyAvailable', 'daytimeActivities', 'therapy'];\n\n const currentMarker = activeMarker ? currentMarkers?.find(o => o?.extraData?.url === activeMarker) : false;\n\n useEffect(() => {\n // make sure when a default url is passed that when the markers are loaded, the activemarker is set\n if(config?.centerCoords?.url && currentMarkers?.length > 0) {\n setActiveMarker(config?.centerCoords?.url);\n }\n },[config?.centerCoords?.url, currentMarkers]) ;\n\n useEffect(() => {\n // Set the state of the filters with the urlParams if they have been set\n if (location.search?.length > 0) {\n const rawUrlParams = location.search.split(/[?&]/);\n const urlParams = {};\n const additionalParams = {};\n\n rawUrlParams.forEach((value) => {\n let param = value.split('=');\n if (param.length == 2) {\n urlParams[param[0]] = param[1];\n // We need the additional params separately to rebuild the url\n if (!defaultFilterItemStrings.includes(param[0])) {\n additionalParams[param[0]] = param[1];\n }\n }\n });\n\n setAdditionalParams(additionalParams);\n\n setCareAndLiving(urlParams[\"careAndLiving\"] === 'true');\n setDaytimeActivities(urlParams[\"daytimeActivities\"] === 'true');\n setTherapy(urlParams[\"therapy\"] === 'true');\n setDirectlyAvailable(urlParams[\"careAndLiving\"] === 'true' && urlParams[\"directlyAvailable\"] === 'true');\n }\n }, []);\n\n const resetFilters = () =>{\n setCareAndLiving(false);\n setDaytimeActivities(false);\n setTherapy(false);\n setDirectlyAvailable(false);\n }\n\n const countLocationAmounts = (locations) => {\n setCareAndLivingCount(locations?.filter( location => location.careAndLiving === 'True').length);\n setDaytimeActivitiesCount(locations?.filter( location => location.daytimeActivities === 'True').length);\n setTherapyCount(locations?.filter( location => location.therapy === 'True').length);\n setDirectlyAvailableCount(locations?.filter( location => location.directlyAvailable === 'True').length);\n }\n\n const filteredLocations = () => {\n const locations = config.locations?.filter( location =>\n (all)\n ||\n (careAndLiving && !directlyAvailable && location.careAndLiving === \"True\")\n ||\n (careAndLiving && directlyAvailable && location.careAndLiving === \"True\" && location.directlyAvailable === \"True\")\n ||\n (daytimeActivities && location.daytimeActivities === \"True\")\n ||\n (therapy && location.therapy === \"True\")\n ).map( location => {\n if(search !== \"\" && location?.name && location.name.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\").toLowerCase().includes(search.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\").toLowerCase())) {\n return {\n ...location,\n distance: -1,\n };\n } else {\n return {\n ...location,\n distance: LUT[parseFloat(location?.lat.replace(\",\",\".\")) + '+' + parseFloat(location?.lng.replace(\",\",\".\"))] || 999,\n }\n }\n })\n locations?.sort((a,b) => {\n return a.distance < b.distance ? -1 : b.distance < a.distance ? 1 : 0;\n\n });\n\n return locations;\n }\n\n const ref = useRef(null);\n\n const filterOptions = [\n {\n title: \"Alle locaties\",\n identifier: \"all\",\n },\n {\n title: \"Wonen met zorg\",\n identifier: \"careAndLiving\",\n },\n {\n title: \"Behandeling\",\n identifier: \"therapy\",\n },\n {\n title: \"Dagbesteding\",\n identifier: \"daytimeActivities\",\n }\n ]\n\n // The default SVG Marker which is used for google maps markers\n const svgMarker = (accentColor, markerFillColor) => {\n return {\n // path: \"M28.8,14.4 C28.8,25.6 14.4,35.2 14.4,35.2 C14.4,35.2 0,25.6 0,14.4 C0,6.44709969 6.44709969,2.14576721e-07 14.4,2.14576721e-07 C22.3529003,2.14576721e-07 28.8,6.44709969 28.8,14.4 L28.8,14.4 Z\",\n // fillColor: fill,\n // strokeColor: stroke,\n url: 'data:image/svg+xml;UTF-8,' +\n encodeURIComponent(' \\\n \\\n \\\n '),\n fillOpacity: 1,\n strokeWeight: 7,\n rotation: 0,\n scale: 0.75,\n anchor: new google.maps.Point(15, 30)\n }\n };\n\n // The default SVG Marker which is used for google maps markers\n const currentSvgMarker = (accentColor, markerFillColor) => {\n return {\n // path: \"M28.8,14.4 C28.8,25.6 14.4,35.2 14.4,35.2 C14.4,35.2 0,25.6 0,14.4 C0,6.44709969 6.44709969,2.14576721e-07 14.4,2.14576721e-07 C22.3529003,2.14576721e-07 28.8,6.44709969 28.8,14.4 L28.8,14.4 Z\",\n // fillColor: \"#0f0\",\n // strokeColor: stroke,\n // \\\n url: 'data:image/svg+xml;UTF-8,' +\n encodeURIComponent(' \\\n \\\n \\\n '),\n fillOpacity: 1,\n strokeWeight: 7,\n rotation: 0,\n scale: 0.75,\n anchor: new google.maps.Point(15, 30)\n }\n };\n\n const isDetailView = config?.centerCoords?.url && config?.centerCoords.url !== \"\";\n\n // when a searchquery is passed, geocode it to a location and use it\n useEffect(() => {\n\n if(geocoder) {\n geocoder.geocode({\n address: `${search} Netherlands`,\n language: 'nl'\n }, (res, status) => {\n\n let result = res[0];\n let center = false;\n\n // if we selected a region, city or postalcode\n if(result.geometry.bounds) {\n center = result.geometry.bounds.getCenter();\n } else {\n // We probably selected a specific street, or something which google thinks is a specific location instead of a region so use the specific place as center\n center = result.geometry.location;\n }\n\n let lat = center.lat();\n let lng = center.lng();\n setSearchLocation({lat, lng});\n\n });\n }\n\n }, [search]);\n\n // If a location is found for a given searchquery, use it to create an ordered list based on the distance from the search query to the location\n useEffect(() => {\n\n if(searchLocation?.lat && searchLocation?.lng) {\n\n const bounds = new google.maps.LatLngBounds();\n\n bounds.extend(new google.maps.LatLng(searchLocation.lat, searchLocation.lng));\n\n if(config?.locations?.length > 0) {\n\n const LUT = {};\n\n config.locations.forEach( location => {\n\n const lat = parseFloat(location?.lat.replace(\",\",\".\"));\n const lng = parseFloat(location?.lng.replace(\",\",\".\"));\n bounds.extend(new google.maps.LatLng(lat, lng));\n const distance = computeDistance(searchLocation.lat, searchLocation.lng, lat, lng);\n LUT[`${lat}+${lng}`] = distance;\n });\n\n setLUT(LUT);\n\n map.setCenter(bounds.getCenter());\n map.fitBounds(bounds);\n map.panToBounds(bounds);\n }\n }\n }, [searchLocation?.lat, searchLocation?.lng, config?.locations]);\n\n\n useEffect(() => {\n // make sure when a default url is passed that when the markers are loaded, the activemarker is set\n if(config?.centerCoords?.url && currentMarkers?.length > 0) {\n setActiveMarker(config?.centerCoords?.url);\n }\n },[config?.centerCoords?.url, currentMarkers]) ;\n\n // Load the API after first render\n useEffect(() => {\n var script = document.createElement('script');\n script.src = `https://maps.googleapis.com/maps/api/js?key=${GOOGLE_MAPS_API_KEY}&callback=apiLoaded&libraries=places,geometry&v=weekly`;\n script.async = true;\n script.defer = true;\n window.apiLoaded = () => {\n setApiLoaded(true);\n }\n document.head.appendChild(script);\n\n const targetNode = document.getElementsByTagName('html')[0];\n const mapsElm = document.querySelectorAll('.map__location-wrapper')[0];\n const locations = Array.from(mapsElm.querySelectorAll(\".map-location\")).map(loc => Object.assign({}, loc.dataset, {innerHTML: loc.innerHTML}));\n const centerCoords = Object.assign({}, document.querySelector('#map-container')?.dataset || {});\n\n const defaultAccentColor = getComputedStyle(targetNode).getPropertyValue('--color-accent').trim();\n const defaultMarkerFillColor = getComputedStyle(targetNode).getPropertyValue('--color-background-form-input').trim();\n const defaultStrokeColor = getComputedStyle(targetNode).getPropertyValue('--color-background-form-input').trim();\n const defaultActiveStrokeColor = getComputedStyle(targetNode).getPropertyValue('--color-selection-button-active-text').trim();\n const defaultTheme = targetNode.dataset?.theme === \"dark\" ? \"dark\": \"light\";\n const lat = parseFloat(centerCoords?.lat.replace(\",\",\".\"));\n const lng = parseFloat(centerCoords?.lng.replace(\",\",\".\"));\n const url = centerCoords?.url;\n const selectedFilters = centerCoords?.defaultFilters?.split(\",\") || [];\n\n mapsElm.style.display = \"none\"; // Used to hide the list once JS is inited (if we cant load map, we display links)\n\n setConfig({\n defaultAccentColor,\n defaultMarkerFillColor,\n defaultTheme,\n centerCoords: {\n lat,\n lng,\n url,\n },\n locations,\n selectedFilters\n });\n\n setAccentColor(defaultAccentColor);\n setMarkerFillColor(defaultMarkerFillColor);\n setStrokeColor(defaultStrokeColor);\n setActiveStrokeColor(defaultActiveStrokeColor);\n\n // We define settings for a MutationObserver which monitors changes in the dom so we can change according to the colortheme/dark-mode\n const config = { attributes: true, childList: false, subtree: false};\n const callback = function(mutationsList, observer) {\n\n for(const mutation of mutationsList) {\n setTheme(targetNode.dataset?.theme === \"dark\" ? \"dark\": \"light\")\n setAccentColor(getComputedStyle(targetNode).getPropertyValue('--color-accent'));\n }\n }\n\n // create the actual observer and start observing\n const observer = new MutationObserver(callback);\n observer.observe(targetNode, config);\n\n },[]);\n\n useEffect(() => {\n if(apiLoaded && config?.defaultTheme) {\n // The single instance of google maps. After creation only this should be used\n setMap(new google.maps.Map(document.getElementById(\"map\"), {\n zoom: (config?.selectedFilters?.length > 0) && !isDetailView ? 8 : isDetailView ? 9.5 : 8.5,\n center: config?.centerCoords,\n mapTypeControl: false,\n zoomControl: true,\n fullscreenControl: false,\n streetViewControl: false,\n zoomControlOptions: {\n position: google.maps.ControlPosition.LEFT_BOTTOM,\n },\n }));\n setTheme(config?.defaultTheme);\n\n setGeocoder(new google.maps.Geocoder());\n }\n }, [apiLoaded, config]);\n\n useEffect(() => {\n\n currentMarkers.filter(o => o?.extraData?.url !== activeMarker).forEach(marker => {\n marker.setIcon(Object.assign({}, marker.icon, svgMarker(accentColor, markerFillColor)));\n marker.setZIndex(0);\n });\n\n if(activeMarker) {\n let currentMarker = currentMarkers?.find(o => o?.extraData?.url === activeMarker);\n currentMarker.setIcon(Object.assign({}, currentMarker.icon, currentSvgMarker(accentColor, markerFillColor)));\n currentMarker.setZIndex(1);\n document.getElementById(currentMarker.extraData.url)?.scrollIntoView({ behavior: \"smooth\", block: 'nearest', inline:'start'});\n\n map.panTo(new google.maps.LatLng(currentMarker.position.lat(), currentMarker.position.lng()));\n }\n\n }, [activeMarker]);\n\n\n useEffect(() => {\n\n if(map) {\n let locationMarkers = [];\n\n config.locations.map( (location, i) => {\n const lat = parseFloat(location.lat.replace(\",\",\".\"));\n const lng = parseFloat(location.lng.replace(\",\",\".\"));\n\n const marker = new google.maps.Marker({\n position: {\n lat,\n lng,\n },\n map: map, //shouldDisplay ? map : null,\n icon: location.url === config?.centerCoords?.url ? currentSvgMarker(accentColor, markerFillColor) : svgMarker(accentColor, markerFillColor),\n extraData: location,\n });\n\n // default z-index\n marker.setZIndex(0);\n\n // if selected raise the zIndx\n if(location.url === config?.centerCoords?.url) {\n marker.setZIndex(1);\n }\n\n marker.addListener(\"click\", () => {\n setActiveMarker(location.url);\n });\n\n locationMarkers.push(marker);\n\n });\n\n setCurrentMarkers(locationMarkers);\n }\n\n }, [map, accentColor, markerFillColor]);\n\n useEffect(() => {\n if(map) {\n map.setOptions({styles: theme === \"dark\" ? darkStyles : lightStyles});\n }\n },[map, theme]);\n\n\n useEffect(() => {\n if(all) {\n if(filterItems.some(o=> o === true)) {\n setAll(false);\n }\n } else {\n if(filterItems.every(o=> o !== true)) {\n setAll(true);\n }\n }\n\n const filteredLocs = filteredLocations();\n countLocationAmounts(filteredLocs);\n\n currentMarkers.forEach( marker => {\n const loc = filteredLocs.find(o => o.url === marker.extraData.url);\n if(loc) {\n marker.setVisible(true);\n } else {\n marker.setVisible(false);\n }\n });\n\n // Make a list of the filters which are active, this list has to be as small as\n // possible so we need to avoid filters which are set as false\n let filterParamItems = {...additionalParams};\n\n if (all) {filterParamItems[\"all\"] = true}\n if (therapy) { filterParamItems[\"therapy\"] = true}\n if (daytimeActivities) { filterParamItems[\"daytimeActivities\"] = true}\n\n if (careAndLiving) {\n filterParamItems[\"careAndLiving\"] = true;\n if (directlyAvailable) {\n filterParamItems[\"directlyAvailable\"] = true;\n }\n }\n\n // Update the url based on the list of active filters\n if (Object.keys(filterParamItems).length > 0 && apiLoaded && interacted) {\n setFilterParams(\"?\" + querystring.stringify(filterParamItems));\n }\n\n }, [all, careAndLiving, daytimeActivities, therapy, directlyAvailable, currentMarkers]);\n\n if(!apiLoaded || !config) {\n return <>Loading...;\n }\n\n return (\n <>\n
{setInteracted(true)}}>\n
\n\n
\n

Locatie zoeken

\n
\n \n \n
\n
\n\n\n {((small && careAndLiving) || !small ) && (\n\n
\n {!small && (\n <>\n

{ setFilterChecked(!filterChecked) }}>Filter locaties op zorgaanbod

\n
    \n
  • \n {\n if(filterItems.some(o => o === true)) {\n resetFilters();\n } else {\n setAll(true)\n }\n }} />\n \n
  • \n
  • \n setTherapy(!therapy)}/>\n \n
  • \n
  • \n setCareAndLiving(!careAndLiving)} />\n \n
  • \n
  • \n setDaytimeActivities(!daytimeActivities)}/>\n \n
  • \n\n
\n \n )}\n\n {careAndLiving && (\n
    \n
  • \n setDirectlyAvailable(!directlyAvailable)}/>\n \n
  • \n
\n )}\n\n
\n )}\n\n
\n\n setSearch(e?.target?.value || \"\")}/>\n\n
    \n {filteredLocations().map( (location, idx) => {\n return (\n
  • e.key ==='Enter' && setActiveMarker && setActiveMarker(location.url)}>\n
    \n setActiveMarker(marker)}\n />\n
    \n
  • \n )\n\n })}\n
\n
\n
\n\n
\n
\n {currentMarker.extraData && (\n <>\n
\n setActiveMarker(false)}\n />\n
\n \n )}\n
\n
\n \n )\n}\n","import React, {useState, useEffect, useRef} from 'react';\n\nexport function useDebounce(value, delay=200) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n"],"sourceRoot":""}