{"version":3,"file":"static/js/GoogleMap.ed5e11ae.js","mappings":"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","sources":["icons/close28.svg","icons/closeSmall28.svg","components/GoogleMap/GoogleMap.styled.ts","components/GoogleMap/img/cluster56.svg","components/GoogleMap/img/external28.svg","components/GoogleMap/img/location105.svg","components/GoogleMap/img/location140.svg","components/GoogleMap/img/location56.svg","components/GoogleMap/GoogleMap.tsx","utils/getMapsLocationUrl.ts"],"sourcesContent":["var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgClose28 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 28,\n height: 28,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M24.854 3.854a.5.5 0 0 0-.708-.708L14 13.293 3.854 3.146a.5.5 0 1 0-.708.708L13.293 14 3.146 24.146a.5.5 0 0 0 .708.708L14 14.707l10.146 10.147a.5.5 0 0 0 .708-.708L14.707 14 24.854 3.854Z\",\n clipRule: \"evenodd\"\n})));\nexport { SvgClose28 as ReactComponent };\nexport default __webpack_public_path__ + \"e2c95e7fb628c9e1632bd60e22d4ab6c.svg\";","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgCloseSmall28 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 28,\n height: 28,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M21.854 6.854a.5.5 0 0 0-.708-.708L14.5 12.793 7.854 6.146a.5.5 0 1 0-.708.708l6.647 6.646-6.647 6.646a.5.5 0 0 0 .708.708l6.646-6.647 6.646 6.647a.5.5 0 0 0 .708-.708L15.207 13.5l6.647-6.646Z\",\n clipRule: \"evenodd\"\n})));\nexport { SvgCloseSmall28 as ReactComponent };\nexport default __webpack_public_path__ + \"51ef26bb35e2913aca96ba74ae58c34a.svg\";","import { styled, css } from \"styled-components\";\n\nimport { StyledLinkProps, styledLink } from \"components/Link/Link.styled\";\nimport close28 from \"icons/close28.svg\";\nimport closeSmall28 from \"icons/closeSmall28.svg\";\nimport {\n styleBodyM,\n styleHeadingS,\n styleMapCluster,\n} from \"style/components/Typography\";\nimport { MQ } from \"style/mediaQueries\";\n\nexport const Container = styled.div`\n .clusterLabel {\n ${styleMapCluster};\n }\n\n .gm-style-iw {\n border-radius: 0.25rem;\n padding: 0;\n transition: width ease-in-out 0.2s;\n ${(props) =>\n props.mapWidth &&\n props.mapWidth > 0 &&\n css`\n width: calc((${props.mapWidth}px / 4) * 3 - 1.75rem);\n\n ${MQ.FROM_M} {\n width: calc((${props.mapWidth}px / 12) * 5 - 2.1875rem);\n }\n\n ${MQ.FROM_L} {\n width: calc((${props.mapWidth}px / 7) * 4 - 2.1875rem);\n }\n\n ${MQ.FROM_XL} {\n width: calc((${props.mapWidth}px / 7) * 3 - 3.5rem);\n }\n `};\n\n button.gm-ui-hover-effect {\n height: 1.75rem !important;\n opacity: 1;\n right: 0.875rem !important;\n top: 0.875rem !important;\n width: 1.75rem !important;\n\n > span {\n mask-image: url(${closeSmall28}) !important;\n background-color: var(--color-blue);\n height: 1.75rem !important;\n margin: 0 !important;\n width: 1.75rem !important;\n\n ${MQ.FROM_M} {\n mask-image: url(${close28}) !important;\n }\n }\n }\n\n &-d {\n overflow: auto !important;\n }\n\n &-tc {\n filter: none;\n height: 0.5rem;\n width: 0.875rem;\n\n &::after {\n background-color: var(--color-cyan-l80);\n height: 0.5rem;\n width: 0.875rem;\n }\n }\n }\n`;\n\nexport const InfoWindow = styled.div`\n align-items: flex-start;\n background-color: var(--color-cyan-l80);\n border-radius: 0.25rem;\n color: black;\n display: flex;\n flex-direction: column;\n font-feature-settings: \"salt\" on;\n padding: 0.875rem 2.1875rem 0.875rem 0.875rem;\n\n ${MQ.FROM_M} {\n padding: 1.3125rem 3.5rem 1.3125rem 1.3125rem;\n }\n\n ${MQ.FROM_L} {\n padding: 1.75rem 3.5rem 1.75rem 1.75rem;\n }\n`;\n\nexport const InfoWindowHeading = styled.a`\n ${styleHeadingS};\n ${styledLink};\n transform: none;\n`;\n\nexport const InfoWindowText = styled.div`\n ${styleBodyM};\n`;\n\nexport const InfoWindowFindUs = styled.a`\n ${styleBodyM};\n ${styledLink};\n margin-top: 0.875rem;\n\n img {\n vertical-align: middle;\n }\n`;\ninterface ContainerProps {\n mapWidth?: number;\n}\n","var _rect, _rect2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgCluster56 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 56,\n height: 56,\n fill: \"none\"\n}, props), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 42,\n height: 42,\n x: 7,\n y: 7,\n fill: \"#FF617E\",\n rx: 21\n})), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 49,\n height: 49,\n x: 3.5,\n y: 3.5,\n stroke: \"#FF617E\",\n strokeOpacity: 0.4,\n strokeWidth: 7,\n rx: 24.5\n})));\nexport { SvgCluster56 as ReactComponent };\nexport default __webpack_public_path__ + \"58e169886af39fcdd21ee34abcd882a1.svg\";","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgExternal28 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 28,\n height: 28,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#002D72\",\n fillRule: \"evenodd\",\n d: \"M20.962 7.309A.5.5 0 0 0 20.5 7h-7a.5.5 0 0 0 0 1h5.793L7.146 20.146a.5.5 0 0 0 .708.708L20 8.707V14.5a.5.5 0 0 0 1 0V7.497a.5.5 0 0 0-.038-.188Z\",\n clipRule: \"evenodd\"\n})));\nexport { SvgExternal28 as ReactComponent };\nexport default __webpack_public_path__ + \"457c381674eb1e5d5ee084e5bbcc128a.svg\";","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgLocation105 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 105,\n height: 105,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FF617E\",\n fillRule: \"evenodd\",\n d: \"M21 41.5C21 21.574 37.262 10 52.5 10S84 21.574 84 41.5c0 5.39-1.963 11.434-4.949 17.498C76.07 65.055 72.088 71.09 68.1 76.45c-3.989 5.36-7.978 10.035-10.971 13.371-1.496 1.668-2.743 3-3.615 3.915-.436.457-.778.81-1.011 1.049l-.002.002-.002-.002c-.233-.239-.575-.592-1.011-1.049a178.297 178.297 0 0 1-3.615-3.915c-2.993-3.336-6.983-8.011-10.97-13.37-3.99-5.361-7.972-11.397-10.953-17.454C22.963 52.934 21 46.889 21 41.5Zm31.146 54.353.354-.353.354.353a.501.501 0 0 1-.708 0Zm0 0 .354-.353.354.353.006-.006.018-.018.07-.07.269-.274c.236-.241.58-.597 1.02-1.058.878-.921 2.131-2.26 3.635-3.937 3.007-3.351 7.017-8.051 11.03-13.441 4.01-5.39 8.028-11.479 11.047-17.61C82.963 53.317 85 47.112 85 41.5 85 20.926 68.19 9 52.5 9 36.81 9 20 20.926 20 41.5c0 5.61 2.037 11.816 5.051 17.94C28.07 65.57 32.09 71.66 36.1 77.049c4.012 5.39 8.022 10.09 11.029 13.441a179.081 179.081 0 0 0 3.635 3.937 116.824 116.824 0 0 0 1.29 1.332l.07.07.017.018.005.005.001.001ZM43 41.5a9.5 9.5 0 1 1 19 0 9.5 9.5 0 0 1-19 0ZM52.5 31C46.701 31 42 35.701 42 41.5S46.701 52 52.5 52 63 47.299 63 41.5 58.299 31 52.5 31Z\",\n clipRule: \"evenodd\"\n})));\nexport { SvgLocation105 as ReactComponent };\nexport default __webpack_public_path__ + \"925f1fedcf0669b491f7d8bec5d0af93.svg\";","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgLocation140 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 140,\n height: 140,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FF617E\",\n fillRule: \"evenodd\",\n d: \"M26 55.69C26 28.048 48.466 12 69.5 12S113 28.048 113 55.69c0 7.34-2.712 15.599-6.823 23.887-4.107 8.28-9.588 16.548-15.078 23.898-5.488 7.347-10.978 13.767-15.096 18.35a248.304 248.304 0 0 1-4.974 5.381c-.6.629-1.071 1.115-1.392 1.443l-.137.139-.137-.139c-.32-.328-.792-.814-1.392-1.443-1.2-1.258-2.915-3.09-4.974-5.381-4.118-4.583-9.608-11.003-15.096-18.35-5.49-7.35-10.971-15.618-15.078-23.898C28.713 71.289 26 63.03 26 55.69Zm43.854 74.164-.354-.354.319.319.035.035ZM69.5 130c.133 0 .26-.053.354-.146l.002-.003.03-.03.096-.097.37-.376c.323-.331.797-.819 1.4-1.452a247.146 247.146 0 0 0 4.995-5.403c4.132-4.598 9.642-11.042 15.154-18.42 5.51-7.377 11.029-15.698 15.172-24.052C111.212 71.675 114 63.254 114 55.69 114 27.404 90.99 11 69.5 11S25 27.404 25 55.69c0 7.564 2.788 15.985 6.927 24.331 4.143 8.354 9.662 16.675 15.172 24.052 5.512 7.378 11.022 13.822 15.154 18.42 2.066 2.3 3.788 4.139 4.995 5.403a152.793 152.793 0 0 0 1.77 1.828l.096.097.03.03.002.003a.503.503 0 0 0 .354.146ZM54 55.5C54 46.94 60.94 40 69.5 40 78.06 40 85 46.94 85 55.5 85 64.06 78.06 71 69.5 71 60.94 71 54 64.06 54 55.5ZM69.5 39C60.387 39 53 46.387 53 55.5S60.387 72 69.5 72 86 64.613 86 55.5 78.613 39 69.5 39Z\",\n clipRule: \"evenodd\"\n})));\nexport { SvgLocation140 as ReactComponent };\nexport default __webpack_public_path__ + \"6ba5e753d34a5ead3ccaa057de081d71.svg\";","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgLocation56 = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 56,\n height: 56,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FF617E\",\n fillRule: \"evenodd\",\n d: \"M13 22.5C13 12.699 20.994 7 28.5 7S44 12.699 44 22.5c0 2.64-.963 5.621-2.449 8.639-1.481 3.01-3.462 6.014-5.452 8.688a95.9 95.9 0 0 1-7.599 8.958 88.789 88.789 0 0 1-2.128-2.291 95.9 95.9 0 0 1-5.47-6.667c-1.99-2.674-3.972-5.678-5.453-8.688C13.963 28.12 13 25.139 13 22.5Zm15.146 27.353.354-.353.354.354a.5.5 0 0 1-.708 0Zm0 0 .354-.353c.354.354.354.353.355.353l.011-.012.035-.036a43.73 43.73 0 0 0 .648-.669 96.917 96.917 0 0 0 7.352-8.713c2.01-2.701 4.03-5.759 5.548-8.843C43.963 28.504 45 25.36 45 22.5 45 12.051 36.458 6 28.5 6S12 12.051 12 22.5c0 2.86 1.037 6.004 2.551 9.08 1.519 3.084 3.537 6.142 5.548 8.843a96.917 96.917 0 0 0 7.864 9.244l.136.138.035.036.012.012ZM24 22.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Zm4.5-5.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Z\",\n clipRule: \"evenodd\"\n})));\nexport { SvgLocation56 as ReactComponent };\nexport default __webpack_public_path__ + \"da454bcb1f5ab1189c7909c438f2b4f3.svg\";","import {\n Cluster,\n GridAlgorithm,\n MarkerClusterer,\n} from \"@googlemaps/markerclusterer\";\nimport { Wrapper } from \"@googlemaps/react-wrapper\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport isEqual from \"react-fast-compare\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport {\n useBreakpoint,\n useGoogleMapsKey,\n useMap,\n useSetMapOptions,\n} from \"hooks\";\nimport { getMapsLocationUrl } from \"utils/getMapsLocationUrl\";\n\nimport {\n Container,\n InfoWindow,\n InfoWindowFindUs,\n InfoWindowHeading,\n InfoWindowText,\n} from \"./GoogleMap.styled\";\nimport GoogleMapProps from \"./GoogleMapProps\";\nimport cluster56 from \"./img/cluster56.svg\"; // eslint-disable-line import/no-unresolved\nimport external28 from \"./img/external28.svg\"; // eslint-disable-line import/no-unresolved\nimport location105 from \"./img/location105.svg\"; // eslint-disable-line import/no-unresolved\nimport location140 from \"./img/location140.svg\"; // eslint-disable-line import/no-unresolved\nimport location56 from \"./img/location56.svg\"; // eslint-disable-line import/no-unresolved\n\nconst Map: React.FC = React.memo(\n ({ className, markers, options }: GoogleMapProps) => {\n type iconProps = {\n url: string;\n anchor: google.maps.Point;\n };\n const ref = useRef(null);\n const [map, setMap] = useState();\n const [icon, setIcon] = useState(undefined);\n const [mapMarkers, setMapMarkers] = useState<\n (google.maps.Marker | undefined)[] | undefined\n >();\n\n const breakpoint = useBreakpoint();\n\n useMap(ref, setMap, map);\n useSetMapOptions(map, options);\n\n useEffect(() => {\n let anchorPoint: google.maps.Point;\n let iconUrl: string;\n\n switch (breakpoint) {\n case \"XL\":\n iconUrl = location140;\n anchorPoint = new google.maps.Point(70, 130);\n break;\n case \"L\":\n case \"M\":\n iconUrl = location105;\n anchorPoint = new google.maps.Point(52.5, 96);\n break;\n default:\n iconUrl = location56;\n anchorPoint = new google.maps.Point(28, 56);\n }\n const svgMarker = {\n url: iconUrl,\n anchor: anchorPoint,\n };\n setIcon(svgMarker);\n }, [breakpoint]);\n\n useEffect(() => {\n if (map && icon && markers) {\n if (mapMarkers)\n mapMarkers?.forEach((marker) => marker?.setMap(null));\n setMapMarkers(\n markers.map((markerOptions) => {\n if (\n markerOptions.position?.lng &&\n markerOptions.position?.lat\n ) {\n const position = {\n lat: markerOptions.position.lat,\n lng: markerOptions.position.lng,\n } as google.maps.LatLngLiteral;\n\n const marker = new google.maps.Marker({\n position,\n map,\n icon: icon,\n });\n\n return marker;\n }\n }),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [icon, map, markers]);\n\n return ;\n },\n);\nMap.displayName = \"Map\";\n\nconst MapWithCluster: React.FC = React.memo(\n ({ className, markers, options, l18n }: GoogleMapProps) => {\n const ref = useRef(null);\n const [map, setMap] = useState();\n const [width, setWidth] = useState(0);\n const [clusterer, setClusterer] = useState();\n const [infowindow, _setInfoWindow] = useState(\n new google.maps.InfoWindow({}),\n );\n const [mapMarkers, setMapMarkers] = useState([]);\n const findUs = l18n?.findUs || \"Find us\";\n useMap(ref, setMap, map);\n useSetMapOptions(map, options);\n\n useEffect(() => {\n const updateMapWidth = () => {\n if (\n map &&\n ref.current?.clientWidth &&\n ref.current.clientWidth > 0\n ) {\n setWidth(ref.current?.clientWidth);\n }\n };\n\n if (map && width === 0) updateMapWidth();\n window.addEventListener(\"resize\", updateMapWidth);\n\n return () => {\n window.removeEventListener(\"resize\", updateMapWidth);\n };\n }, [map, width]);\n\n const addMarkers = useCallback(() => {\n if (clusterer) {\n const newMapMarkers: google.maps.Marker[] = [];\n infowindow.addListener(\"closeclick\", () => {\n // Handle focus manually.\n });\n\n markers?.forEach((options) => {\n const InfoWindowContent = (\n \n \n {options.url && options.officeName && (\n \n {options.officeName}\n \n )}\n {options.addressRow1 && (\n \n {options.addressRow1}\n \n )}\n {(options.postalCode || options.city) && (\n \n {[\n options.postalCode,\n options.city,\n ].join(\" \")}\n \n )}\n \n {findUs}\n \n \n \n \n );\n\n infowindow.setContent(\n ReactDOMServer.renderToString(InfoWindowContent),\n );\n\n const marker = new google.maps.Marker({\n ...options,\n //map,\n icon: {\n url: location56,\n anchor: new google.maps.Point(28, 56),\n },\n });\n\n marker.addListener(\"click\", () => {\n infowindow.setContent(\n ReactDOMServer.renderToString(InfoWindowContent),\n );\n\n infowindow.open({\n anchor: marker,\n map,\n });\n });\n\n clusterer.addMarker(marker);\n newMapMarkers.push(marker);\n });\n\n setMapMarkers(newMapMarkers);\n }\n }, [clusterer, findUs, infowindow, map, markers]);\n\n if (mapMarkers.length === 0) addMarkers();\n\n const removeMarkers = () => {\n if (clusterer) {\n mapMarkers &&\n mapMarkers?.forEach((marker) => {\n clusterer.removeMarker(marker);\n });\n setMapMarkers([]);\n }\n };\n\n const centerMap = useCallback(() => {\n if (map && mapMarkers) {\n const bounds = new google.maps.LatLngBounds();\n mapMarkers.forEach((marker) => {\n const position = marker.getPosition();\n position && bounds.extend(position);\n });\n clusterer?.render();\n setTimeout(() => map.fitBounds(bounds), 500); // Wait half a second to fit the bounds to avoid frontend issue\n\n // Fix zoom bug where clusters are hidden above zoom 16.\n map.setZoom(Math.min(map.getZoom() || 16, 16));\n }\n }, [clusterer, map, mapMarkers]);\n\n useEffect(() => {\n if (map && !clusterer) {\n google.maps.event.addListener(map, \"click\", () => {\n infowindow.close();\n });\n\n const renderer = {\n render: ({ count, position }: Cluster) =>\n new google.maps.Marker({\n label: {\n text: String(count),\n className: \"clusterLabel\",\n },\n icon: {\n url: cluster56,\n },\n position,\n zIndex:\n Number(google.maps.Marker.MAX_ZINDEX) + count,\n }),\n };\n\n const clusterer = new MarkerClusterer({\n map,\n renderer,\n algorithm: new GridAlgorithm({ gridSize: 45 }),\n });\n\n google.maps.event.addListener(clusterer, \"click\", () => {\n infowindow.close(); // close the info window if a cluster is clicked.\n });\n\n setClusterer(clusterer);\n }\n }, [map, setClusterer, clusterer, infowindow]);\n\n useEffect(() => {\n if (markers) {\n removeMarkers(); // Check if it can be refactored to not force exhaustive-deps\n addMarkers();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [addMarkers, markers]);\n\n useEffect(() => {\n if (mapMarkers) {\n centerMap();\n }\n }, [centerMap, mapMarkers]);\n\n return (\n \n );\n },\n isEqual,\n);\nMapWithCluster.displayName = \"MapWithCluster\";\n\nconst GoogleMap = ({\n className,\n markers,\n useCluster = false,\n options,\n l18n,\n}: GoogleMapProps) => {\n const googleMapsKey = useGoogleMapsKey();\n\n return (\n <>\n {googleMapsKey ? (\n \n {useCluster ? (\n \n ) : (\n \n )}\n \n ) : (\n <> //If no apiKey is provided, the map will not be rendered\n )}\n \n );\n};\n\nexport default React.memo(GoogleMap, isEqual);\n","export const getMapsLocationUrl = (\n zoom: number,\n latitude?: number | undefined,\n longitude?: number | undefined,\n postalCode?: string | undefined,\n city?: string | undefined,\n addressRow1?: string | undefined,\n): string | undefined => {\n const encodedAddress =\n addressRow1 && postalCode && city\n ? encodeURIComponent(`${addressRow1}, ${postalCode}, ${city}`)\n : undefined;\n return latitude && longitude && 1 <= zoom && zoom <= 20\n ? `https://maps.google.com/?q=${latitude},${longitude}&ll=${latitude},${longitude}&z=${zoom}`\n : encodedAddress && 1 <= zoom && zoom <= 20\n ? `https://maps.google.com/?q=${encodedAddress}&z=${zoom}`\n : undefined;\n};\n"],"names":["_path","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgClose28","props","xmlns","width","height","fill","fillRule","d","clipRule","SvgCloseSmall28","Container","styled","div","withConfig","componentId","styleMapCluster","mapWidth","css","MQ","FROM_M","FROM_L","FROM_XL","closeSmall28","close28","InfoWindow","InfoWindowHeading","a","styleHeadingS","styledLink","InfoWindowText","styleBodyM","InfoWindowFindUs","Map","React","className","markers","options","ref","useRef","map","setMap","useState","icon","setIcon","undefined","mapMarkers","setMapMarkers","breakpoint","useBreakpoint","useMap","useSetMapOptions","useEffect","anchorPoint","iconUrl","location140","google","maps","Point","location105","location56","url","anchor","forEach","marker","markerOptions","_markerOptions$positi","_markerOptions$positi2","position","lng","lat","Marker","_jsx","displayName","MapWithCluster","l18n","setWidth","clusterer","setClusterer","infowindow","_setInfoWindow","findUs","updateMapWidth","_ref$current","_ref$current2","current","clientWidth","window","addEventListener","removeEventListener","addMarkers","useCallback","newMapMarkers","addListener","InfoWindowContent","ThemeProvider","theme","contentTheme","actionTheme","children","_jsxs","officeName","href","title","$hoverSpan","addressRow1","postalCode","city","join","getMapsLocationUrl","latitude","longitude","src","external28","alt","setContent","ReactDOMServer","open","addMarker","push","centerMap","bounds","LatLngBounds","getPosition","extend","render","setTimeout","fitBounds","setZoom","Math","min","getZoom","event","close","renderer","count","label","text","String","cluster56","zIndex","Number","MAX_ZINDEX","MarkerClusterer","algorithm","GridAlgorithm","gridSize","removeMarker","isEqual","GoogleMap","useCluster","googleMapsKey","useGoogleMapsKey","_Fragment","Wrapper","apiKey","zoom","encodedAddress","encodeURIComponent"],"sourceRoot":""}