1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5356],{3784:function(e,t,s){s.r(t),s.d(t,{default:function(){return w}});var n=s(7154),r=s.n(n),l=s(4575),i=s.n(l),o=s(3913),a=s.n(o),u=s(1506),c=s.n(u),p=s(2205),d=s.n(p),h=s(8585),g=s.n(h),v=s(9754),m=s.n(v),f=s(9713),E=s.n(f),b=s(4579),k={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},L=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],x=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],y=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],F="undefined"!=typeof window&&void 0!==window.document?window.document:{},I="fullscreenEnabled"in F&&Object.keys(k)||L[0]in F&&L||x[0]in F&&x||y[0]in F&&y||[],S={requestFullscreen:function(e){return e[I[k.requestFullscreen]]()},requestFullscreenFunction:function(e){return e[I[k.requestFullscreen]]},get exitFullscreen(){return F[I[k.exitFullscreen]].bind(F)},get fullscreenPseudoClass(){return":"+I[k.fullscreen]},addEventListener:function(e,t,s){return F.addEventListener(I[k[e]],t,s)},removeEventListener:function(e,t,s){return F.removeEventListener(I[k[e]],t,s)},get fullscreenEnabled(){return Boolean(F[I[k.fullscreenEnabled]])},set fullscreenEnabled(e){},get fullscreenElement(){return F[I[k.fullscreenElement]]},set fullscreenElement(e){},get onfullscreenchange(){return F[("on"+I[k.fullscreenchange]).toLowerCase()]},set onfullscreenchange(e){return F[("on"+I[k.fullscreenchange]).toLowerCase()]=e},get onfullscreenerror(){return F[("on"+I[k.fullscreenerror]).toLowerCase()]},set onfullscreenerror(e){return F[("on"+I[k.fullscreenerror]).toLowerCase()]=e}};var T=s(296),M=s.n(T),C=s(1782);function A(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var s,n=m()(e);if(t){var r=m()(this).constructor;s=Reflect.construct(n,arguments,r)}else s=n.apply(this,arguments);return g()(this,s)}}var w=function(e){d()(s,e);var t=A(s);function s(e){var n,r=e.el,l=e.mapOptionOverrides,o=void 0===l?{}:l,a=e.mapElSelector,u=void 0===a?"[data-map]":a,p=e.listingSelector,d=void 0===p?"[data-map-item]":p,h=e.groupDisabledClass,g=void 0===h?"group--disabled":h,v=e.padIndex,m=void 0!==v&&v;return i()(this,s),n=t.call(this,{el:r,mapOptionOverrides:o,mapElSelector:u,listingSelector:d}),E()(c()(n),"ariaLiveEl",null),E()(c()(n),"popoverEl",null),E()(c()(n),"popoverContentEl",null),E()(c()(n),"groupsHolderEl",null),E()(c()(n),"groupsEl",null),E()(c()(n),"groupsToggleEl",null),E()(c()(n),"openListingButtonEl",null),E()(c()(n),"openMarker",null),E()(c()(n),"restoreFocusEl",null),E()(c()(n),"listingButtons",[]),E()(c()(n),"map",null),E()(c()(n),"groupDisabledClass",void 0),E()(c()(n),"listingElHoverClass","hover"),E()(c()(n),"animationDuration",500),E()(c()(n),"fauxFullscreenDocumentClass","fullscreen--map"),E()(c()(n),"fauxFullscreenClass","grouped-map--fullscreen"),E()(c()(n),"padIndex",void 0),E()(c()(n),"inertBoss",void 0),E()(c()(n),"placeholderEl",null),E()(c()(n),"fauxFullscreenIsOpen",!1),n.groupDisabledClass=g,n.padIndex=m,n.inertBoss=new C.Z,n.ariaLiveEl=document.createElement("div"),n.ariaLiveEl.setAttribute("aria-live","polite"),n.el.appendChild(n.ariaLiveEl),n.ariaLiveEl.innerText="Loading the grouped map.",n.setUpPopover(),n.setUpMap(),n}return a()(s,[{key:"handleMapReady",value:function(e,t){this.map=e,this.markers=t,this.setUpMarkersAndListings(),this.setUpGroups(),this.setUpFullscreenToggle(),this.setUpLocationToggle()}},{key:"setUpFullscreenToggle",value:function(){var e=this,t=document.createElement("button");t.innerHTML="Toggle Fullscreen",t.classList.add("custom-map-control"),this.map.controls[google.maps.ControlPosition.TOP_RIGHT].push(t);var s=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e?(t.innerHTML='<svg class="icon icon--shrink" role="presentation"><use xlink:href="/svg/sprite.svg#shrink"></use></svg>',t.setAttribute("title","Exit fullscreen mode")):(t.innerHTML='<svg class="icon icon--enlarge" role="presentation"><use xlink:href="/svg/sprite.svg#enlarge"></use></svg>',t.setAttribute("title","Enter fullscreen mode"))};this.listenerBoss.register(S,"fullscreenchange",(function(){var e=null!==S.fullscreenElement;s(e)})),this.listenerBoss.register(window,"keydown",(function(t){e.fauxFullscreenIsOpen&&("Escape"!==t.key&&"Esc"!==t.key&&27!==t.keyCode||e.closeFauxFullscreen())})),this.listenerBoss.register(t,"click",(function(){if(S.fullscreenEnabled)null!==S.fullscreenElement?S.exitFullscreen():S.requestFullscreen(e.el);else{var n=!document.documentElement.classList.contains(e.fauxFullscreenDocumentClass);n?e.openFauxFullscreen():e.closeFauxFullscreen(),t.focus(),s(n)}})),s(!1)}},{key:"openFauxFullscreen",value:function(){this.placeholderEl||(this.placeholderEl=document.createElement("div"),this.placeholderEl.classList.add("grouped-map__placeholder")),document.documentElement.classList.add(this.fauxFullscreenDocumentClass),this.el.parentNode.insertBefore(this.placeholderEl,this.el),document.body.append(this.el),this.el.classList.add(this.fauxFullscreenClass),this.inertBoss.makeBodyDirectChildrenInertExcept(this.el),this.fauxFullscreenIsOpen=!0}},{key:"closeFauxFullscreen",value:function(){this.inertBoss.makeBodyDirectChildrenNotInert(),document.documentElement.classList.remove(this.fauxFullscreenDocumentClass),this.el.classList.remove(this.fauxFullscreenClass),this.placeholderEl.parentNode.insertBefore(this.el,this.placeholderEl),this.el.parentNode.removeChild(this.placeholderEl),this.fauxFullscreenIsOpen=!1,this.el.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}},{key:"setUpLocationToggle",value:function(){var e=this;if(navigator.geolocation){var t=!1,s=null,n=document.createElement("button");n.innerHTML='<svg class="icon icon--target" role="presentation"><use xlink:href="/svg/sprite.svg#target"></use></svg>',n.classList.add("custom-map-control"),this.map.controls[google.maps.ControlPosition.TOP_RIGHT].push(n);var r="custom-map-control--active-location",l=function(e){e?(n.classList.add(r),n.setAttribute("title","Hide your location")):(n.classList.remove(r),n.setAttribute("title","Show your location"))};this.listenerBoss.register(n,"click",(function(){if(t){if(s){var n=!s.getVisible();s.setVisible(n),l(n),e.basicMapInstance.updateMapBounds(!0),e.basicMapInstance.centerMap(),n?(requestAnimationFrame((function(){s.setAnimation(google.maps.Animation.DROP)})),e.ariaLiveEl.innerText="Your location marker has been re-added to the map."):e.ariaLiveEl.innerText="Your location marker has been removed from the map."}}else navigator.geolocation.getCurrentPosition((function(n){t=!0,s=new google.maps.Marker({map:e.map,position:{lat:n.coords.latitude,lng:n.coords.longitude},title:"My location",zIndex:900}),e.setUpMarkerIconAndLabel(s,"blue","Me"),e.basicMapInstance.markers.push(s),l(!0),e.basicMapInstance.updateMapBounds(!0),e.basicMapInstance.centerMap(),requestAnimationFrame((function(){s.setAnimation(google.maps.Animation.DROP)})),e.ariaLiveEl.innerText="Your location marker has been added to the map."}),(function(){alert("The geolocation service failed. Please make sure your browser has location privileges.")}))}))}}},{key:"setUpGroups",value:function(){var e=this,t=this.el.querySelectorAll("[data-map-group]"),s=t.length,n=0;t.forEach((function(t){var s=t.getAttribute("data-map-group"),r=t.getAttribute("data-group-heading"),l=t.querySelector("[data-map-group-toggle]"),i=t.querySelector("[data-map-group-items]"),o=t.querySelector("[data-map-group-count]"),a=0;if(o){var u=i.querySelectorAll("[data-map-item]");a=u.length,n+=a,a&&(o.innerText="(".concat(a,")"),o.setAttribute("aria-label",a+" points"))}e.listenerBoss.register(l,"change",(function(){l.checked?(t.classList.remove(e.groupDisabledClass),i.hidden=!1,e.setGroupMarkersVisibility(s,!0),e.ariaLiveEl.innerText="The ".concat(r," group is enabled. Showing its ").concat(a," locations.")):(t.classList.add(e.groupDisabledClass),i.hidden=!0,e.setGroupMarkersVisibility(s,!1),e.ariaLiveEl.innerText="The ".concat(r," group is disabled. Hiding its ").concat(a," locations."))}))})),n&&(this.ariaLiveEl.innerText="Set up ".concat(s," groups with a total of ").concat(n," locations")),this.groupsHolderEl=this.el.querySelector("[data-grouped-map-groups-holder]"),this.groupsEl=this.el.querySelector("[data-grouped-map-groups]"),this.groupsToggleEl=this.el.querySelector("[data-grouped-map-groups-toggle]"),this.groupsToggleEl&&this.listenerBoss.register(this.groupsToggleEl,"click",(function(){"false"===e.groupsToggleEl.getAttribute("aria-expanded")?e.openGroups():e.closeGroups()})),this.groupsToggleEl.hidden=!1;var r=function(){var t;t=e.groupsToggleEl,"none"==window.getComputedStyle(t).display?e.groupsEl.setAttribute("aria-hidden","false"):e.closeGroups()};this.listenerBoss.register(window,"resize",(function(){M()((function(){r()}),100)})),r()}},{key:"openGroups",value:function(){this.groupsToggleEl.setAttribute("aria-expanded","true"),this.groupsEl.setAttribute("aria-hidden","false"),this.groupsToggleEl.innerHTML='<svg class="icon icon--enlarge" role="presentation"><use xlink:href="/svg/sprite.svg#down-arrow"></use></svg> Hide List',this.groupsHolderEl.classList.add("isOpen")}},{key:"closeGroups",value:function(){this.groupsToggleEl.setAttribute("aria-expanded","fal
1se"),this.groupsEl.setAttribute("aria-hidden","true"),this.groupsToggleEl.innerHTML='<svg class="icon icon--enlarge" role="presentation"><use xlink:href="/svg/sprite.svg#up-arrow"></use></svg> Show List',this.groupsHolderEl.classList.remove("isOpen")}},{key:"setGroupMarkersVisibility",value:function(e,t){var s=this;this.markers.forEach((function(s){s.customGroupId===e&&s.setVisible(t)})),requestAnimationFrame((function(){s.basicMapInstance.updateMapBounds(!0),s.basicMapInstance.centerMap()}))}},{key:"setUpMarkersAndListings",value:function(){var e=this;this.listingEls.length&&this.listingEls.forEach((function(t,s){var n=String(s+1);e.padIndex&&(n=n.padStart(2,"0")),t.setAttribute("data-map-item",n);var r=t.querySelector("[data-map-item-icon]");r&&(r.innerText=n)}));var t=this.markers.length;t&&this.markers.forEach((function(s,n){var l=s.point.listingEl,i=l.querySelector("[data-map-item-button]"),o=l.querySelector("[data-map-item-content]");i.marker=s;var a=l.getAttribute("data-map-item"),u=l.getAttribute("data-color"),c=l.getAttribute("data-hover-color"),p=l.getAttribute("data-group");s.customGroupId=p,i.customGroupId=p;var d=l.getAttribute("data-title");d&&s.setTitle(d),i.isSelected=!1,s.isSelected=!1,e.setUpMarkerIconAndLabel(s,u,a);var h=s.getIcon();s.customDefaultIcon=h;var g=r()({},h);g.fillColor=c,s.customHoverIcon=g,s.customZIndex=t-n,s.setZIndex(s.customZIndex),s.addListener("mouseover",(function(){e.selectPair(i,s)})),s.addListener("mouseout",(function(){e.deselectPair(i,s)})),s.addListener("click",(function(){l.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}),e.openListingInPopover(i,o,s)}))})),this.listingEls.length&&this.listingEls.forEach((function(t){var s,n=t.querySelector("[data-map-item-button]");e.listingButtons.push(n);var r=null!==(s=null==n?void 0:n.marker)&&void 0!==s?s:null,l=t.querySelector("[data-map-item-content]");e.listenerBoss.register(n,"mouseover",(function(){e.selectPair(n,r)})),e.listenerBoss.register(n,"mouseout",(function(){e.deselectPair(n,r)})),e.listenerBoss.register(n,"click",(function(){"false"===n.getAttribute("aria-expanded")?e.openListingInPopover(n,l,r):e.closePopover(!1)}))}))}},{key:"setUpPopover",value:function(){var e=this;this.popoverEl=this.el.querySelector("[data-map-popover]"),this.popoverContentEl=this.popoverEl.querySelector("[data-map-popover-content]");var t=this.popoverEl.querySelector("[data-close]");this.listenerBoss.register(t,"click",(function(){e.closePopover()}))}},{key:"openListingInPopover",value:function(e,t){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.restoreFocusEl=document.activeElement;var n=!this.popoverEl.hidden;this.closePopover(!1,!1),this.openListingButtonEl=e,this.openMarker=s,this.selectPair(e,s,901),e.setAttribute("aria-expanded","true"),this.popoverContentEl.innerHTML=t.innerHTML,this.popoverEl.hidden=!1,this.ariaLiveEl.innerText="Opened the location details dialog";var r=this.popoverEl.querySelector("h1");r?r.setAttribute("tabindex","-1"):this.popoverEl.querySelector("[data-close]"),r&&r.focus(),n||this.popoverEl.animate([{left:"-100%"},{left:0}],{duration:this.animationDuration,easing:"ease"})}},{key:"closePopover",value:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=!this.popoverEl.hidden;if(this.openListingButtonEl&&this.openListingButtonEl.setAttribute("aria-expanded","false"),this.openListingButtonEl&&this.openMarker&&this.deselectPair(this.openListingButtonEl,this.openMarker,!0),this.openListingButtonEl=null,this.openMarker=null,t&&this.restoreFocusEl&&this.restoreFocusEl.focus(),n&&s){var r=this.popoverEl.animate([{left:0},{left:"-100%"}],{duration:this.animationDuration,easing:"ease"});r.addEventListener("finish",(function(){e.popoverEl.hidden=!0,e.popoverContentEl.innerHTML=""}),{once:!0,passive:!0})}else this.popoverEl.hidden=!0,this.popoverContentEl.innerHTML="";n||(this.ariaLiveEl.innerText="Closed the location detail dialog")}},{key:"selectPair",value:function(e,t){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:900;
1if(this.deselectAll(),e.isSelected=!0,e.classList.add(this.listingElHoverClass),t){t.isSelected=!0,t.setIcon(t.customHoverIcon);var n=t.getLabel();n.className="marker-label hover",t.setLabel(n),t.setZIndex(s)}}},{key:"deselectPair",value:function(e,t){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if((e!==this.openListingButtonEl||s)&&(e.isSelected=!1,e.classList.remove(this.listingElHoverClass),t)){t.isSelected=!1,t.setIcon(t.customDefaultIcon);var n=t.getLabel();n.className="marker-label",t.setLabel(n),t.setZIndex(t.customZIndex)}}},{key:"deselectAll",value:function(){var e=this;this.listingButtons.length&&this.listingButtons.forEach((function(t){t.isSelected&&t!==e.openListingButtonEl&&(t.classList.remove(e.listingElHoverClass),t.isSelected=!1)})),this.markers.length&&this.markers.forEach((function(t){t.isSelected&&t!==e.openMarker&&(t.setIcon(t.customDefaultIcon),t.isSelected=!1)}))}}]),s}(b.Z)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.