(()=>{var e={327:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappAutocomplete:()=>m});var o=n(55);const a=React.createElement,{Fragment:i,useCallback:l,useEffect:s,useLayoutEffect:r,useMemo:p,useRef:c,useState:u}=React,{__,sprintf}=wp.i18n;function m(e){e={buttonLabel:null,className:"",delay:null,focus:!1,onFetch:null,onSelect:null,placeholder:"",selected:null,suggestions:[],title:"",value:null,...e};const t=c(null),n=c(null),[i,l]=u({isOpen:!1,searchTerm:e.value?e.value:"",selected:null});function r(e){l((t=>({...t,...e})))}function p(e){if(e){}else i.isOpen&&r({isOpen:!1})}function m(){let t;r({isOpen:!1}),e.suggestions&&(t=null==i.selected?e.suggestions[0]:e.suggestions[i.selected]),e.onSelect({suggestion:t,value:d})}(0,o.useClickOutside)(t,(()=>p())),(0,o.useDebounce)((()=>{e.onFetch&&e.onFetch(i.searchTerm)}),[i.searchTerm],e.delay),s((()=>{e.focus&&n.current&&n.current.focus()}),[]),s((()=>{i.map&&setMapTypeId(e.mapTypeId)}),[e.mapTypeId,i.map]);const d=i.selected>=0&&e.suggestions&&e.suggestions[i.selected]?e.suggestions[i.selected].value:i.searchTerm;return a("div",{className:"mapp-autocomplete",ref:t},a("div",{className:"mapp-autocomplete-wrapper"},a("input",{className:e.className,onChange:t=>{!function(t){r({selected:null,searchTerm:t}),e.onChange&&e.onChange(t)}(t.target.value)},onKeyDownCapture:t=>function(t){if("Escape"!=t.code)switch(t.stopPropagation(),t.code){case"Backspace":r({isOpen:i.searchTerm.length>1});break;case"Enter":m();break;case"ArrowUp":if(t.preventDefault(),e.suggestions&&0!=i.selected){const t=null==i.selected?e.suggestions.length-1:i.selected-1;e.suggestions[t]&&r({isOpen:!0,selected:t})}else r({selected:null});break;case"ArrowDown":if(e.suggestions&&i.selected{const o="mapp-autocomplete-item"+(i.selected==n?" mapp-selected":"");return a("div",{className:o,index:n,key:n,onClick:()=>function(t,n){r({isOpen:!1,selected:n}),e.onSelect({suggestion:t})}(t,n)},t.value)})))}()),e.buttonLabel&&a("div",{className:"mapp-submit-button",onClick:()=>m()},e.buttonLabel))}},393:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Checkbox:()=>p,Checkboxes:()=>c,Container:()=>r,Control:()=>s,Input:()=>u,Radio:()=>m,Radios:()=>d,Select:()=>g,Textarea:()=>f});const o=React.createElement,{Fragment:a,useEffect:i,useState:l}=React;function s({controlType:e,value:t,...n}){const a=e=>"string"==typeof e?e.split(",").map((e=>e.trim())):e,i=e=>Array.isArray(e)?e.sort().join(","):e;switch(e){case"checkbox":return o(p,{checked:i(t),...n});case"checkboxes":return o(c,{selected:a(t),...n});case"radios":return o(d,{selected:a(t),...n});case"select":return o(g,{value:i(t),...n});case"textarea":return o(f,{value:i(t),...n});default:return o(u,{value:i(t),...n})}}function r({className:e,help:t,label:n,labelLeft:i,labelRight:l,labelTop:s,type:r,...p}){let c="mapp-control";r&&(c+=" mapp-control-"+r),e&&(c+=" "+e);const u=t&&t.text?o("div",{className:"mapp-help-text"+(r?" mapp-help-"+r:"")},t.text):null,m=Array.isArray(p.children)?a:"label";return o("div",{className:c},s&&o("div",{className:"mapp-label-top"},s),o(m,null,i?o("span",{className:"mapp-label-left",dangerouslySetInnerHTML:{__html:i}}):null,p.children,n||l?o("span",{className:"mapp-label-right",dangerouslySetInnerHTML:{__html:n||l}}):null),u)}function p({checked:e,className:t,disabled:n,onChange:a,value:i,...l}){return o(r,{className:t,type:"checkbox",...l},o("input",{checked:void 0!==e&&!1!==e&&e,disabled:n,onChange:e=>a(e.target.checked),type:"checkbox",value:i}))}function c({className:e,label:t,onChange:n,options:a,selected:i,...l}){let s=i||[];return o(r,{className:e,type:"checkboxes",...l},a?.map(((e,t)=>{const a=s.indexOf(e.value);return o(p,{key:t,label:e.label?e.label:e.value,checked:a>=0,disabled:e.disabled,onChange:t=>{t&&-1==a?s=s.concat(e.value):!t&&a>=0&&s.splice(a,1),n(s)},value:e.value})})))}function u({autoFocus:e,className:t,disabled:n,max:a,min:i,name:l,onBlur:s,onChange:p,placeholder:c,size:u,title:m,trim:d,type:g,value:f,...h}){return o(r,{className:t,type:"input",...h},o("input",{autoFocus:e,disabled:n,max:a,min:i,name:l,onBlur:e=>{if(s){const t=d?e.target.value.trim():e.target.value;s(t)}},onChange:e=>{if(p){const t=d?e.target.value.trim():e.target.value;p(t)}},placeholder:c,size:u,title:m,type:g||"text",value:f||""}))}function m({checked:e,className:t,disabled:n,onChange:a,value:i,...l}){return o(r,{className:t,type:"radio",...l},o("input",{checked:e,disabled:n,onChange:e=>a(e.target.value),type:"radio",value:i}))}function d({className:e,label:t,onChange:n,options:a,placeholder:i,selected:l,...s}){let p=a?[...a]:[];return void 0!==i&&p.unshift({value:"",label:i}),o(r,{className:e,type:"radios",...s},p.map(((e,t)=>{if(!e.hide)return o(m,{key:t,value:e.value,checked:l==e.value||null==l&&""==e.value,onChange:t=>n(e.value),disabled:e.disabled,label:e.label?e.label:e.value})})))}function g({className:e,onChange:t,options:n,placeholder:a,value:i,...l}){let s=n?[...n]:[];void 0!==a&&s.unshift({value:"",label:a});let p="";return s.map((e=>{p+='"})),o(r,{className:e,type:"select",...l},o("select",{value:null!=i?i:"",onChange:e=>t(e.target.value)},s.map(((e,t)=>o("option",{key:t,value:e.value,disabled:e.disabled,dangerouslySetInnerHTML:{__html:e.label}})))))}function f({className:e,onChange:t,placeholder:n,rows:a,value:i,...l}){return o(r,{className:e,type:"textarea",...l},o("textarea",{onChange:e=>t(e.target.value),rows:a,value:null!=i?i:""}))}},875:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappDialog:()=>c});n(760);const o=React.createElement,a=ReactDOM.createPortal,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=React,{__,sprintf}=wp.i18n;function c(e){e={className:null,isModal:null,noCancel:null,noPadding:null,onClose:null,title:null,toolbar:null,...e};const t=React.createRef(),n=React.createRef();l((()=>{const o=t.current,a=getComputedStyle(document.body).overflow,i=o.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),l=i[0],s=i[i.length-1],r=e=>{"Tab"===e.key&&(e.shiftKey&&document.activeElement===l?(e.preventDefault(),s.focus()):e.shiftKey||document.activeElement!==s||(e.preventDefault(),l.focus()))};return e.isModal?o.showModal():(n.current=document.activeElement,o.show(),o.addEventListener("keydown",r)),"hidden"!=a&&document.body.classList.add("mapp-dialog-noscroll"),()=>{"hidden"!=a&&document.body.classList.remove("mapp-dialog-noscroll"),n.current&&n.current.focus(),e.isModal||o.removeEventListener("keydown",r),o.close()}}),[]);let s="mapp-dialog";return s+=e.isModal?"":" mapp-gt-dialog",s+=e.noPadding?" mapp-dialog-nopad":"",s+=e.className?" "+e.className:"",a(o(i,null,o("dialog",{className:s,ref:t,onClick:n=>function(n){if(n.clientY&&n.clientX&&t.current){const o=t.current.getBoundingClientRect();(n.clientYo.bottom||n.clientXo.right)&&(n.stopPropagation(),e.onClose())}}(n),onClose:t=>function(t){t.stopPropagation(),e.onClose()}(t),onKeyDown:t=>function(t){"Escape"==t.key&&(t.stopPropagation(),e.isModal||e.onClose())}(t),tabIndex:0},e.isModal?null:o("div",{className:"mapp-gt-dialog-backdrop"}),o("div",{className:"mapp-dialog-close",onClick:()=>e.onClose()},"×"),function(){if(e.title)return o("div",{className:"mapp-dialog-title"},e.title)}(),o("div",{className:"mapp-dialog-content"},e.children),function(){if(e.toolbar)return o("div",{className:"mapp-dialog-toolbar"},e.toolbar)}())),window.parent.document.body)}},45:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappDirections:()=>c});var o=n(760);const a=React.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=React,{__,sprintf}=wp.i18n;function c(e){e={from:null,onClose:null,to:null,...e};const[t,n]=p({from:e.from?e.from:"",to:e.to?e.to:""});function i(e){n((t=>({...t,...e})))}function l(){e.onClose&&e.onClose()}function s(){o.mappLib.getDirections(t.from,t.to),l()}function r(e){13==e?s():27==e&&l()}return a("div",{className:"mapp-directions"},a("div",{className:"mapp-close",onClick:()=>l()}),a("div",{className:"mapp-dir-content"},a("div",{className:"mapp-dir-from-to"},a("input",{className:"mapp-dir-from",onChange:e=>i({from:e.target.value}),onKeyPress:e=>r(e.which),tabIndex:"1",placeholder:__("My location","mappress-google-maps-for-wordpress"),value:t.from}),a("input",{className:"mapp-dir-to",onChange:e=>i({to:e.target.value}),onKeyPress:e=>r(e.which),tabIndex:"2",value:t.to})),a("div",{className:"mapp-dir-arrows",title:__("Swap start and end","mappress-google-maps-for-wordpress"),onClick:()=>{i({from:t.to,to:t.from})}})),a("div",{className:"mapp-dir-toolbar"},a("div",{className:"mapp-submit-button",onClick:()=>s()},__("Get Directions","mappress-google-maps-for-wordpress"))))}},522:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappDropdown:()=>m});var o=n(55);const a=React.createElement,{Fragment:i,useCallback:l,useEffect:s,useLayoutEffect:r,useMemo:p,useRef:c,useState:u}=React;function m(e){e={className:null,isDisabled:null,maxHeight:null,maxWidth:null,renderContent:null,renderToggle:null,...e};const[t,n]=u({isOpen:!!e.isOpen&&e.isOpen,isResized:!1});function i(e){n((t=>({...t,...e})))}const l=c(),p=c(),m=c();(0,o.useClickOutside)(l,(()=>{t.isOpen&&i({isOpen:!1})}));const d=c();function g(){e.isDisabled||i({isOpen:!1})}function f(){e.isDisabled||i({isOpen:!t.isOpen})}d.current=()=>{t.isOpen&&t.isResized?i({isOpen:!1}):i({isResized:!0})},s((()=>{const e=new ResizeObserver((()=>{d.current()}));return e.observe(m.current.offsetParent),()=>e.disconnect()}),[]),r((()=>{if(t.isOpen){const e=l.current,t=p.current;m.current;t.style.maxHeight=e.offsetParent.offsetHeight-t.offsetTop+"px",e.offsetLeft>e.offsetParent.clientWidth/2?t.style.right="0px":t.style.left="0px"}}),[t.isOpen]);const h="mapp-dropdown"+(e.className?" "+e.className:"");return a("div",{ref:l,className:h},a("div",{className:"mapp-dropdown-toggle",ref:m},e.renderToggle({onToggle:f})),t.isOpen?a("div",{className:"mapp-dropdown-content",ref:p},e.renderContent({onClose:g})):null)}},900:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappFilters:()=>d});var o=n(393),a=n(522),i=n(760),l=n(55);const s=React.createElement,{Fragment:r,useEffect:p,useLayoutEffect:c,useRef:u,useState:m}=React,{__,sprintf}=wp.i18n,d=e=>{e={onChange:null,filterType:null,name:null,poiCount:null,query:null,...e};const[t,n]=m({selected:e.selected?e.selected:{},filters:mappl10n.options.filters?.[e.filterType]?mappl10n.options.filters?.[e.filterType]:[],isBusy:!0});function c(e){n((t=>({...t,...e})))}function u(e){return s("div",{key:e.key,className:"mapp-filter-"+e.key},s("div",{className:"mapp-filter-label"},e.label),function(e){let n="";"radios"==e.format?n=e.placeholder?e.placeholder:__("All","mappress-google-maps-for-wordpress"):"select"!=e.format&&"input"!=e.format||(n=e.placeholder?e.placeholder:"");return s("div",{className:"mapp-filter-values"},s(o.Control,{controlType:e.format,onChange:n=>function(e,n){const o={...t.selected};!n||Array.isArray(n)&&0==n.length?delete o[e]:o[e]=n,c({selected:o})}(e.key,n),options:e.values,placeholder:n,value:t.selected[e.key]}))}(e))}return(0,l.useDebounce)((()=>{e.onChange&&e.onChange(t.selected)}),[t.selected],"poi"==e.filterType?0:500),p((()=>{"poi"==e.filterType?c({filters:mappl10n.options.poiFields,isBusy:!1}):(c({isBusy:!0}),i.mappLib.ajax({method:"GET",data:{action:"mapp_filters_get",nonce:mappl10n.options.nonce,type:e.filterType,name:e.name,query:e.query},callback:e=>{e&&"OK"==e.status?c({filters:e.data}):console.error("MapPress: unable to fetch filters"),c({isBusy:!1})}}))}),[]),function(){const n="mapp-button mapp-filter-button"+(t.isBusy?" mapp-button-disabled":"");return s(a.MappDropdown,{className:"mapp-filter",isDisabled:t.isBusy,isOpen:e.isOpen,maxHeight:e.maxHeight,maxWidth:e.maxWidth,refContainer:e.refContainer,renderToggle:({onToggle:e})=>s("div",{className:n,onClick:()=>e()},__("Filter","mappress-google-maps-for-wordpress")),renderContent:({onClose:n})=>s(r,null,s("div",{className:"mapp-filter-wrapper"},t.filters.map((e=>u(e)))),function(n,o){let a=sprintf(e.poiCount>1?__("%d Results","mappress-google-maps-for-wordpress"):__("%d Result","mappress-google-maps-for-wordpress"),e.poiCount?e.poiCount:0);return s("div",{className:"mapp-filter-toolbar"},s("div",{className:"mapp-link-button",onClick:()=>function(e){const n={...t.selected};e?delete n[e]:t.filters.forEach((e=>{e.separate||delete n[e.key]})),c({selected:n})}(n?n.key:null)},__("Reset","mappress-google-maps-for-wordpress")),s("div",{className:"mapp-filter-count"},a),s("div",{className:"mapp-submit-button",onClick:()=>o()},__("Done","mappress-google-maps-for-wordpress")))}(null,n))})}()}},296:(e,t,n)=>{"use strict";n.r(t),n.d(t,{useGeocoding:()=>u});const o=n(760).mappLib.toJSON,{Fragment:a,useCallback:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=(React.createElement,React),{__,sprintf}=wp.i18n,c={google:function(){this.token=null;const e=document.createElement("div");this.placesService=new google.maps.places.PlacesService(e),this.autocompleteService=new google.maps.places.AutocompleteService}};c.google.prototype={getDetails:function({suggestion:e,callback:t}){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var n={fields:["formatted_address","name","geometry"],placeId:e.place_id,sessionToken:this.token};this.placesService.getDetails(n,(function(e,n){if("OK"==n&&e&&e.geometry){if(e.geometry.location&&(e.geometry.location=o(e.geometry.location)),e.geometry.viewport){var a=o(e.geometry.viewport);e.geometry.viewport={sw:{lat:a.south,lng:a.west},ne:{lat:a.north,lng:a.east}}}t(e)}else t(null)}))},getFirstPrediction:function({map:e,value:t,callback:n}){this.getPredictions({map:e,value:t,callback:e=>{e&&Array.isArray(e)?this.getDetails({suggestion:e[0],callback:e=>n(e)}):n(null)}})},getPredictions:function({map:e,value:t,includeBusinesses:n,callback:o}){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var a=e?e.getBounds():null;"leaflet"==mappl10n.options.engine&&(a=new google.maps.LatLngBounds(new google.maps.LatLng(a.getSouthWest().lat,a.getSouthWest().lng),new google.maps.LatLng(a.getNorthEast().lat,a.getNorthEast().lng)));var i={input:t,locationBias:a=a||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:n?null:["geocode"]};this.autocompleteService.getPlacePredictions(i,(function(e,t){"OK"==t&&e&&e.length?(e=(e=e.map((e=>(e.value=e.description,e)))).filter((e=>e.place_id)),o(e)):(t==google.maps.places.PlacesServiceStatus.REQUEST_DENIED?alert("Google Maps API Key error: please enable the Places API in the Google Developer Console."):t==google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT&&alert("Google Maps API Key has exceeded its query limit"),o(null))}))}},c.liq=function(){},c.liq.prototype={getDetails:function({suggestion:e,callback:t}){let n=e.display_name,o=n.indexOf(","),a=n.indexOf(",",o+1);o>0&&(n=parseInt(n.substr(0,o))?n.substr(0,a).replace(",",""):n.substr(0,o));let i=e.boundingbox&&4==e.boundingbox.length?{sw:{lat:e.boundingbox[0],lng:e.boundingbox[2]},ne:{lat:e.boundingbox[1],lng:e.boundingbox[3]}}:null;t({formatted_address:e.display_name,name:n,geometry:{location:{lat:e.lat,lng:e.lon},viewport:i}})},getFirstPrediction:function({map:e,value:t,callback:n}){this.getPredictions({map:e,value:t,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>n(e)}):n(null)}})},getPredictions:function({map:e,value:t,callback:n}){var o="https://us1.locationiq.com/v1/search?key="+mappl10n.options.liq+"&dedupe=1&format=json&limit=5&q="+encodeURIComponent(t);if(o=mappl10n.options.country?o+"&countrycodes="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&accept-language="+mappl10n.options.language.toLowerCase():o,mappl10n.options.searchBox)o+="&viewbox="+mappl10n.options.searchBox,o+="&bounded=1";else{var a=e?e.getBounds():null;if(a){let e=a.getSouthWest().wrap(),t=a.getNorthEast().wrap();o+="&viewbox="+e.lng+","+e.lat+","+t.lng+","+t.lat}}fetch(o).then((e=>e.json())).then((e=>{e&&e.length?(e=e.map((e=>(e.value=e.display_name,e))),n(e)):n(null)}))}},c.mapbox=function(){},c.mapbox.prototype={getDetails:function({suggestion:e,callback:t}){let n=e.place_name,o=n.indexOf(","),a=n.indexOf(",",o+1);o>0&&(n=parseInt(n.substr(0,o))?n.substr(0,a).replace(",",""):n.substr(0,o));let i=e.bbox&&4==e.bbox.length?{sw:{lat:e.bbox[1],lng:e.bbox[0]},ne:{lat:e.bbox[3],lng:e.bbox[2]}}:null;t({formatted_address:e.place_name,name:n,geometry:{location:{lat:e.center[1],lng:e.center[0]},viewport:i}})},getFirstPrediction:function({map:e,value:t,callback:n}){this.getPredictions({map:e,value:t,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>n(e)}):n(null)}})},getPredictions:function({map:e,value:t,callback:n}){var o="https://api.mapbox.com/geocoding/v5/mapbox.places/"+t+".json?access_token="+mappl10n.options.mapbox;o=mappl10n.options.country?o+"&country="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&language="+mappl10n.options.language.toLowerCase():o;var a=e?e.getCenter():null;a&&(o+="&proximity="+a.lng+","+a.lat),mappl10n.options.searchBox&&(o+="&bbox="+mappl10n.options.searchBox),fetch(o).then((e=>e.json())).then((e=>{e&&e.features&&e.features.length>0?(e.features=e.features.map((e=>(e.value=e.label=e.place_name,e))),n(e.features)):n(null)}))}},c.nominatim=function(){},c.nominatim.prototype={getDetails:function({suggestion:e,callback:t}){let n=e.display_name,o=n.indexOf(","),a=n.indexOf(",",o+1);o>0&&(n=parseInt(n.substr(0,o))?n.substr(0,a).replace(",",""):n.substr(0,o));let i=e.boundingbox&&4==e.boundingbox.length?{sw:{lat:e.boundingbox[0],lng:e.boundingbox[2]},ne:{lat:e.boundingbox[1],lng:e.boundingbox[3]}}:null;t({formatted_address:e.display_name,name:n,geometry:{location:{lat:e.lat,lng:e.lon},viewport:i}})},getFirstPrediction:function({map:e,value:t,callback:n}){this.getPredictions({map:e,value:t,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>n(e)}):n(null)}})},getPredictions:function({map:e,value:t,callback:n}){var o="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(t);if(o=mappl10n.options.country?o+"&countrycodes="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&accept-language="+mappl10n.options.language.toLowerCase():o,mappl10n.options.searchBox)o+="&viewbox="+mappl10n.options.searchBox,o+="&bounded=1";else{var a=e?e.getBounds():null;if(a){let e=a.getSouthWest().wrap(),t=a.getNorthEast().wrap();o+="&viewbox="+e.lng+","+e.lat+","+t.lng+","+t.lat}}fetch(o).then((e=>e.json())).then((e=>{e&&e.length?(e=e.map((e=>(e.value=e.display_name,e))),n(e)):n(null)}))}};const u=({includeBusinesses:e})=>{function t(){let e="";return e="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"nominatim",new c[e]}return{geocode:function({map:n,suggestion:o,value:a,callback:i}){const l=t();a="string"==typeof a?a.trim():a,o||a?function({map:e,value:t,callback:n}){if(!t)return void n(null);if("string"!=typeof t){return void n(t.lat&&t.lng?{geometry:{location:{lat:t.lat,lng:t.lng}}}:null)}if("http"==t.substring(0,4))return void n(t);const o=t.split(",");if(2==o.length){const e=parseFloat(o[0]),t=parseFloat(o[1]);if(!isNaN(e)&&!isNaN(t))return void n({name:e+", "+t,geometry:{location:{lat:e,lng:t}}})}n(null)}({map:n,value:a,callback:t=>{t?i(t):o?l.getDetails({suggestion:o,callback:i}):l.getFirstPrediction({map:n,value:a,includeBusinesses:e,callback:i})}}):i(null)},geolocate:function(e,t){navigator&&navigator.geolocation||(alert(__("Unable to get your location","mappress-google-maps-for-wordpress")),e(null)),navigator.geolocation.getCurrentPosition((function(t){var n={lat:t.coords.latitude,lng:t.coords.longitude};e({name:n.lat+", "+n.lng,geometry:{location:n}})}),(function(n){if(!t){var o=n&&n.message?" : "+n.message:"";alert(__("Unable to get your location","mappress-google-maps-for-wordpress")+" "+o)}e(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},getPredictions:function({map:n,value:o,callback:a}){t().getPredictions({map:n,value:o,includeBusinesses:e,callback:a})}}}},55:(e,t,n)=>{"use strict";n.r(t),n.d(t,{useClickOutside:()=>c,useDebounce:()=>u,useIntersectionObserver:()=>d,useResizeObserver:()=>m,useTimeout:()=>g});React.createElement;const{Fragment:o,useCallback:a,useEffect:i,useLayoutEffect:l,useMemo:s,useRef:r,useState:p}=React,{__,sprintf}=wp.i18n;function c(e,t){i((()=>{const n=n=>{e.current&&!e.current.contains(n.target)&&t(n)};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n)}}))}function u(e,t,n){const o=r(!1),a=r(null);React.useEffect((()=>{if(o.current)return clearTimeout(a.current),a.current=setTimeout((()=>{e()}),n),()=>{clearTimeout(a.current)};o.current=!0}),t)}function m(e,t,n){const[o,a]=p(!1),l=r();l.current=t,i((()=>{let t=0;if(!e)return;const o=new ResizeObserver(((e,o)=>{!n||t?l.current():t++}));return o.observe(e),()=>{o.disconnect()}}),[e])}function d({container:e,element:t,options:n,callback:o}){const a=r(null),l=r(null);l.current=o,i((()=>(!a.current&&t&&e&&(a.current=new IntersectionObserver((e=>{e[0].isIntersecting&&l.current()}),{...n,root:e}),a.current.observe(t)),()=>{a.current&&(a.current.disconnect(),a.current=null)})),[e,t])}function g(e,t){const n=React.useRef(null),o=React.useRef(e);return i((()=>{o.current=e}),[e]),i((()=>(t>0&&(n.current=window.setTimeout((()=>o.current()),t)),()=>{n.current&&window.clearTimeout(n.current)})),[t]),n}},760:(e,t,n)=>{"use strict";n.r(t),n.d(t,{mappEvent:()=>a,mappLib:()=>o,mappPoi:()=>i});const o={ajax:function(e){if("POST"==(e={cache:"no-cache",credentials:"same-origin",data:null,method:e.method?e.method:"GET",mode:"cors",redirect:"follow",referrerPolicy:"no-referrer",responseType:"json",url:e.url?e.url:mappl10n.options.ajaxurl,...e}).method)if(e.data instanceof FormData)e.body=e.data;else{const t=new FormData;t.append("action",e.data.action),t.append("nonce",e.data.nonce),t.append("data",JSON.stringify(e.data)),e.body=t}else"GET"==e.method&&(e.url+="?"+o.jQueryParam(e.data));fetch(e.url,e).then((t=>{if("html"==e.responseType)return t.text();if(t.ok)return t.json();throw Error(`Request rejected with status ${t.status}`)})).then((t=>{e.url!=mappl10n.options.ajaxurl||t&&"OK"==t.status||o.alert(t.status),t.output&&o.alert("MapPress: invalid output from a plugin or theme file. Deactivate plugins to find the problem. Output:\r\n"+t.output),e.callback&&e.callback(t)})).catch((t=>{if(e.error)return void e.error();const n=void 0!==t.message?t.message:t.statusText;o.alert("AJAX error -- "+n)}))},alert:function(e){mappl10n.options.admin||mappl10n.options.debug?alert(e):window.console&&console.error(e)},boundsToViewport:function(e){return e?{sw:o.toJSON(e.getSouthWest()),ne:o.toJSON(e.getNorthEast())}:null},createRoot:function(e,t,n){if(void 0!==ReactDOM.createRoot){const o=ReactDOM.createRoot(e,n);return t&&o.render(t),o}t&&ReactDOM.render(t,e)},getDirections:function(e,t){let n=mappl10n.options.directionsServer;e=e?e.trim():"",t=t?t.trim():"",n="https://maps.google.com"==n?"https://www.google.com":n,-1==n.toLowerCase().indexOf("http")&&(n="https://"+n),n+="/maps/dir/?api=1&origin="+encodeURIComponent(e)+"&destination="+encodeURIComponent(t),window.open(n)},getDistance(e,t){const n=this.toJSON(e),o=this.toJSON(t);var a=n.lat*(Math.PI/180),i=o.lat*(Math.PI/180),l=i-a,s=(o.lng-n.lng)*(Math.PI/180),r=7917.6*Math.asin(Math.sqrt(Math.sin(l/2)*Math.sin(l/2)+Math.cos(a)*Math.cos(i)*Math.sin(s/2)*Math.sin(s/2)));return r=r.toFixed(1)},getIcon:function(e){{const t=this.getIconUrl(e);return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:t,iconAnchor:[16,32],iconSize:[32,32]}):{url:t}}},getIconUrl:function(e){return"geolocation"==e?mappl10n.options.baseurl+"/images/geolocation.svg":mappl10n.options.baseurl+"/images/red-dot.png"},jQueryParam:function(e){var t=[],n=function(e,n){n=null==(n="function"==typeof n?n():n)?"":n,t[t.length]=encodeURIComponent(e)+"="+encodeURIComponent(n)},o=function(e,a){var i,l,s;if(e)if(Array.isArray(a))for(i=0,l=a.length;i{const o=!isArrayLike(e)&&keys(e),a=(o||e).length;let i=Array(a);for(let n=0;n{let t="",n=e;for(;n--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},pointToLatLng:function(e){return e?"leaflet"==mappl10n.options.engine?L.latLng(e):new google.maps.LatLng(e.lat,e.lng):null},slugify:function(e){return e?e.replace(/[^a-z0-9]/gi,"").toLowerCase():e},template:function(e,t){if(o.templates=o.templates?o.templates:{},!o.templates[e]){var n=document.getElementById("mapp-tmpl-"+e).innerHTML;if(!n)return"";o.templates[e]=this.templateParse(n)}return o.templates[e](t)},templateParse(e,t){const n={escape:e=>e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")};var o=/(.)^/,a={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},i=/\\|'|\r|\n|\u2028|\u2029/g;function l(e){return"\\"+a[e]}var s=RegExp([(/\{\{([^\}]+?)\}\}(?!\})/g||o).source,(/\{\{\{([\s\S]+?)\}\}\}/g||o).source,(/<#([\s\S]+?)#>/g||o).source].join("|")+"|$","g"),r=0,p="__p+='";e.replace(s,(function(t,n,o,a,s){return p+=e.slice(r,s).replace(i,l),r=s+t.length,n?p+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":o?p+="'+\n((__t=("+o+"))==null?'':__t)+\n'":a&&(p+="';\n"+a+"\n__p+='"),t})),p+="';\n";var c,u=t;if(u){if(!/^\s*(\w|\$)+\s*$/.test(u))throw new Error("variable is not a bare identifier: "+u)}else p="with(obj||{}){\n"+p+"}\n",u="obj";p="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+p+"return __p;\n";try{c=new Function(u,"_",p)}catch(e){throw e.source=p,e}var m=function(e){return c.call(this,e,n)};return m.source="function("+u+"){\n"+p+"}",m},toJSON:e=>e.toJSON?e.toJSON():e&&e.hasOwnProperty("lat")&&e.hasOwnProperty("lng")||"undefined"!=typeof L&&e instanceof L.LatLng?{lat:e.lat,lng:e.lng}:"undefined"!=typeof L&&L.LatLngBounds&&e instanceof L.LatLngBounds?{south:e.getSouth(),west:e.getWest(),north:e.getNorth(),east:e.getEast()}:null,toUrlValue(e){return e.toUrlValue?e.toUrlValue():"undefined"!=typeof L&&e instanceof L.LatLng?Math.round(1e6*this.lat)/1e6+", "+Math.round(1e6*this.lng)/1e6:null},viewportToBounds:function(e){return e&&e.sw&&e.ne?"leaflet"==mappl10n.options.engine?new L.LatLngBounds(L.latLng(e.sw.lat,e.sw.lng),L.latLng(e.ne.lat,e.ne.lng)):new google.maps.LatLngBounds(new google.maps.LatLng(e.sw.lat,e.sw.lng),new google.maps.LatLng(e.ne.lat,e.ne.lng)):null}},a={addListener:function(e,t,n){let o=[];t=t.split(" ");for(var a=0;a{"use strict";n.r(t);var o=n(760),a=n(351);window.mapp=window.mapp||{};const{Fragment:i}=React,l=React.createElement;class s extends HTMLElement{constructor(){super(),this.count=0}parseLatLng(e){if(!e)return null;const t="string"==typeof e?e.split(","):[];return 2==t.length?{lat:t[0],lng:t[1]}:4==t.length?{sw:{lat:t[0],lng:t[1]},ne:{lat:t[2],lng:t[3]}}:null}parseAttributes(e,t){const n=Object.values(e).filter((e=>"style"!=e.name&&"class"!=e.name));let o={};return n.map((e=>{const n=e.value?e.value.substring(0,1):null,a=t&&void 0!==t[e.name]?t[e.name]:e.name;let i=e.value;if("["==n||"{"==n)try{i=JSON.parse(e.value)}catch(t){console.log("Unable to parse map attribute: \r\nNAME="+e.name+"\r\nVALUE="+e.value+" \r\nERROR="+t)}o[a]=i})),o}connectedCallback(){const e=this.parseAttributes(this.attributes,{initialopeninfo:"initialOpenInfo",mapopts:"mapOpts",maptypeid:"mapTypeId",poilist:"poiList"});if(0==this.count){this.count+=1,e.center=this.parseLatLng(e.center),e.container=this,e.pois=[];for(let t=0;t{e.pois&&e.pois.map((e=>{e.id=o.mappLib.nanoid()})),t?o.mappLib.createRoot(t,l(a.MappMap,{...e,container:t})):console.log("Missing container for map "+e.name)};if(mapp.data)for(;mapp.data.length;){const t=mapp.data.pop();e({data:t,container:document.getElementById(t.name)})}},mapp.load()},516:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappFullscreenControl:()=>c,MappGeolocateControl:()=>u});const{Fragment:o,useCallback:a,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=React,p=React.createElement,{__,sprintf}=wp.i18n;function c(e){if(e={isFullscreen:null,onChange:null,layoutNode:null,...e},i((()=>{if(!e.layoutNode)return;const t=()=>{const t=document.fullscreenElement==e.layoutNode;t!=e.isFullscreen&&e.onChange(t)};return e.layoutNode.addEventListener("fullscreenchange",t),()=>{e.layoutNode&&e.layoutNode.removeEventListener("fullscreenchange",t)}})),void 0===document.fullscreenEnabled||!document.fullscreenEnabled)return null;const t="mapp-"+mappl10n.options.engine+"-control mapp-"+mappl10n.options.engine+"-fullscreen";return p("div",{className:t,onClick:()=>{e.layoutNode&&(document.fullscreenElement==e.layoutNode?document.exitFullscreen():e.layoutNode.requestFullscreen())},title:__("Toggle fullscreen view","mappress-google-maps-for-wordpress")},p("div",null))}function u(e){if(e={onClick:null,...e},!mappl10n.options.ssl)return null;const t="mapp-"+mappl10n.options.engine+"-control mapp-"+mappl10n.options.engine+"-geolocate"+name;return p("div",{className:t,onClick:()=>e.onClick(),title:__("Your Location","mappress-google-maps-for-wordpress")},p("div",null))}},351:(e,t,n)=>{"use strict";function o(e,t,n,o){return new(n||(n=Promise))((function(a,i){function l(e){try{r(o.next(e))}catch(e){i(e)}}function s(e){try{r(o.throw(e))}catch(e){i(e)}}function r(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,s)}r((o=o.apply(e,t||[])).next())}))}function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}n.r(t),n.d(t,{MappMap:()=>F}),"function"==typeof SuppressedError&&SuppressedError;var i=a((function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,a,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(a=o;0!=a--;)if(!e(t[a],n[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(a=o;0!=a--;)if(!Object.prototype.hasOwnProperty.call(n,i[a]))return!1;for(a=o;0!=a--;){var l=i[a];if(!e(t[l],n[l]))return!1}return!0}return t!=t&&n!=n}));const l="__googleMapsScriptId";var s;!function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"}(s||(s={}));class r{constructor({apiKey:e,authReferrerPolicy:t,channel:n,client:o,id:a=l,language:s,libraries:p=[],mapIds:c,nonce:u,region:m,retries:d=3,url:g="https://maps.googleapis.com/maps/api/js",version:f}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=t,this.channel=n,this.client=o,this.id=a||l,this.language=s,this.libraries=p,this.mapIds=c,this.nonce=u,this.region=m,this.retries=d,this.url=g,this.version=f,r.instance){if(!i(this.options,r.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(r.instance.options)}`);return r.instance}r.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?s.FAILURE:this.done?s.SUCCESS:this.loading?s.LOADING:s.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise(((e,t)=>{this.loadCallback((n=>{n?t(n.error):e(window.google)}))}))}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,t;if(document.getElementById(this.id))return void this.callback();const n={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(n).forEach((e=>!n[e]&&delete n[e])),(null===(t=null===(e=null===window||void 0===window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{let t,n,a,i="The Google Maps JavaScript API",l="google",s="importLibrary",r="__ib__",p=document,c=window;c=c[l]||(c[l]={});const u=c.maps||(c.maps={}),m=new Set,d=new URLSearchParams,g=()=>t||(t=new Promise(((s,c)=>o(this,void 0,void 0,(function*(){var o;for(a in yield n=p.createElement("script"),n.id=this.id,d.set("libraries",[...m]+""),e)d.set(a.replace(/[A-Z]/g,(e=>"_"+e[0].toLowerCase())),e[a]);d.set("callback",l+".maps."+r),n.src=this.url+"?"+d,u[r]=s,n.onerror=()=>t=c(Error(i+" could not load.")),n.nonce=this.nonce||(null===(o=p.querySelector("script[nonce]"))||void 0===o?void 0:o.nonce)||"",p.head.append(n)})))));u[s]?console.warn(i+" only loads once. Ignoring:",e):u[s]=(e,...t)=>m.add(e)&&g().then((()=>u[s](e,...t)))})(n);const a=this.libraries.map((e=>this.importLibrary(e)));a.length||a.push(this.importLibrary("core")),Promise.all(a).then((()=>this.callback()),(e=>{const t=new ErrorEvent("error",{error:e});this.loadErrorCallback(t)}))}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const e=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout((()=>{this.deleteScript(),this.setScript()}),e)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach((e=>{e(this.onerrorEvent)})),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading||(this.loading=!0,this.setScript())}}}var p=n(760),c=(n(875),n(45)),u=(n(900),n(516)),m=n(28),d=n(195),g=n(727),f=n(191),h=n(660);const v=React.createElement,{Fragment:y,useEffect:b,useLayoutEffect:w,useMemo:k,useRef:E,useState:C}=React;function O(e){e={anchor:null,className:null,content:null,map:null,onMouseEnter:null,onMouseLeave:null,point:null,...e};const t=E(null),[n,o]=C({isLoaded:null,mapDiv:"leaflet"==mappl10n.options.engine?e.map.getContainer():e.map.getDiv(),overlayView:null});function a(e){o((t=>({...t,...e})))}function i(){const o=t.current;if(!o)return;let a;o.style.left=0,o.style.bottom=0;const{width:i,height:l}=o.getBoundingClientRect(),s=p.mappLib.pointToLatLng(e.point);if("leaflet"==mappl10n.options.engine)a=e.map.latLngToContainerPoint(s);else{const e=n.overlayView.getProjection();if(!e)return;a=e.fromLatLngToContainerPixel(s)}o.style.bottom=n.mapDiv.clientHeight-a.y-e.anchor.y+"px",o.style.left=a.x-i/2+e.anchor.x+"px"}return w((()=>{"google"==mappl10n.options.engine?n.overlayView||(n.overlayView=new google.maps.OverlayView,n.overlayView.onAdd=function(){a({isLoaded:!0})},n.overlayView.setMap(e.map)):(e.map.stop(),a({isLoaded:!0}))}),[]),w((()=>{if(!n.isLoaded)return;let t;return"google"==mappl10n.options.engine?n.overlayView.draw=()=>i():t=p.mappEvent.addListener(e.map,"move",(e=>i())),()=>{"google"==mappl10n.options.engine?n.overlayView.draw=null:p.mappEvent.removeListener(t)}})),w((()=>{n.isLoaded&&(!function(){const o=t.current;if(!o)return;const a=30,i=n.mapDiv.clientWidth,l=n.mapDiv.clientHeight;o.style.left=0,o.style.bottom=0;const{width:s,height:r}=o.getBoundingClientRect(),c=p.mappLib.pointToLatLng(e.point);let u;if("leaflet"==mappl10n.options.engine)u=e.map.latLngToContainerPoint(c);else{const e=n.overlayView.getProjection();u=e?e.fromLatLngToContainerPixel(c):null}if(!u)return;var m={x:u.x,y:u.y};u.x+s/2+e.anchor.x>i-a?m.x=Math.max(i-s/2-e.anchor.x-a,i/2-e.anchor.x):u.x-s/2+e.anchor.x=l&&(m.y=l-a);const d={x:u.x-m.x,y:u.y-m.y};(d.x<=-1||d.x>=1||d.y<=-1||d.y>=1)&&("leaflet"==mappl10n.options.engine?e.map.panBy([d.x,d.y]):e.map.panBy(d.x,d.y))}(),i())}),[n.isLoaded,e.point.lat,e.point.lng]),n.isLoaded?v("div",{className:"mapp-ib-wrapper",ref:t,onMouseEnter:()=>{e.onMouseEnter&&e.onMouseEnter()},onMouseLeave:()=>{e.onMouseLeave&&e.onMouseLeave()}},v("div",{className:"mapp-ib-content"},v("div",{className:"mapp-ib"},v("div",{className:"mapp-iw "+(e.className?e.className:"")},e.content)),v("div",{className:"mapp-ib-tip"}))):null}var x=n(477),M=n(296),N=n(55);const P=p.mappLib.toJSON,{Fragment:S,useCallback:R,useEffect:I,useLayoutEffect:_,useRef:T,useState:D}=React,A=React.createElement,{__,sprintf}=wp.i18n;function F(e){e={alignment:null,center:null,centerPoi:null,container:null,geolocate:null,filter:null,height:null,initialOpenInfo:null,isEditable:null,layers:null,layout:null,lines:null,mapid:null,mapTypeId:null,metaKey:null,mapOpts:null,name:null,oid:null,otype:null,onDragDrop:null,onDrawingEvent:null,onPoiChange:null,onPopupHover:null,onRenderPopup:null,onRenderSidebar:null,onSearch:null,onViewportChange:null,poiList:null,poiListOpen:null,poiListPageSize:null,pois:null,popupStyle:null,query:null,search:null,width:null,zoom:null,...e};const[t,n]=D({clusterer:null,clustererDefaultRenderer:null,directionsTo:null,drawingManager:null,filters:mappl10n.options.filterParams?mappl10n.options.filterParams:{},hovered:null,hoveredDelay:null,hoveredPopup:null,init:null,isDirectionsOpen:null,isFetching:null,isFullscreen:null,isGeolocating:null,isHidden:!1,isLoaded:null,isMounted:null,isMini:null,isSidebarOpen:null!=e.poiListOpen?e.poiListOpen:mappl10n.options.poiListOpen,isStreetView:!1,kmlEvent:null,layers:{},layout:e.layout?e.layout:mappl10n.options.layout,map:null,opened:null,oid:e.oid?e.oid:mappl10n.options.oid,otype:e.otype?e.otype:mappl10n.options.otype,overlays:[],page:1,pageCount:0,parsedCenter:null,poiList:void 0!==e.poiList&&null!=e.poiList?e.poiList:mappl10n.options.poiList,pois:[],polyline:null,templates:e.query?"user"==e.otype?{item:"user-mashup-item",popup:"user-mashup-popup"}:{item:"mashup-item",popup:"mashup-popup"}:{item:"map-item",popup:"map-popup"},userLocation:null}),o=window.parent?new URLSearchParams(window.parent.location.search):new URLSearchParams(window.location.search),a=mappl10n.options.searchParam&&o.has(mappl10n.options.searchParam)?o.get(mappl10n.options.searchParam):null,i=T(e.container),l=T(null),s=T(null),{geocode:v,geolocate:y}=(T(),(0,M.useGeocoding)({includeBusinesses:e.isEditable}));function b(e){n((t=>({...t,...e})))}(0,N.useResizeObserver)(l.current,(function(){if(i.current&&0==i.current.offsetHeight)return;if(!t.map)return;"leaflet"==mappl10n.options.engine?t.map.invalidateSize():p.mappEvent.trigger(t.map,"resize")})),(0,N.useResizeObserver)(i.current,(function(e){if(i.current&&0==i.current.offsetHeight)return void(void 0===t.isHidden&&b({isHidden:!0}));t.isHidden&&(b({isHidden:!1}),$());if(t.poiList&&"inline"!=t.layout&&i.current){const e=i.current.clientWidth{switch(t.init){case null:if("google"!=mappl10n.options.engine&&"google"!=mappl10n.options.geocoder)return void b({init:1});const n=async()=>{await google.maps.importLibrary("places"),await google.maps.importLibrary("drawing"),b({init:1})};if("undefined"==typeof google||void 0===google.maps){new r({apiKey:mappl10n.options.apikey,version:mappl10n.options.dev?"beta":"3",language:mappl10n.options.language}).load().then(n())}else console.warn("Mappress WARNING: Another plugin or theme has loaded google maps with a different API key.\r\nDisable it to use the key defined in the MapPress settings."),n();break;case 1:!function(){const e=[__("MapPress FAQ","mappress-google-maps-for-wordpress")+": http://mappresspro.com/mappress-faq",__("Support","mappress-google-maps-for-wordpress")+": http://mappresspro.com/contact",__("Get an API Key","mappress-google-maps-for-wordpress")+": https://mappresspro.com/how-to-get-a-google-maps-api-key"];let t=[{condition:"leaflet"==mappl10n.options.engine&&("undefined"==typeof L||void 0===L.LatLng),title:__("Leaflet library not loaded","mappress-google-maps-for-wordpress"),text:__("A theme or plugin is preventing the Leaflet library from loading.","mappress-google-maps-for-wordpress")},{condition:"google"==mappl10n.options.engine&&"undefined"==typeof google,title:__("Google Maps API not loaded","mappress-google-maps-for-wordpress"),text:__("A theme or plugin is preventing Google Maps from loading.","mappress-google-maps-for-wordpress")},{condition:"google"==mappl10n.options.engine&&!mappl10n.options.apikey,title:__("Google Maps API key required","mappress-google-maps-for-wordpress")},{condition:document.querySelectorAll('script[src*="https://maps.googleapis.com/maps/api/js?v="]').length>1,title:__("Google Maps API loaded multiple times","mappress-google-maps-for-wordpress"),text:__("A theme or plugin has loaded Google Maps twice","mappress-google-maps-for-wordpress")}];t=t.filter((e=>e.condition));let n=t.map((e=>e.title+" : "+e.text));n.length&&(console.log(__("Map Error","mappress-google-maps-for-wordpress")+"\n----------------\n"+n.join("\n")+"\n----------------\n"+e.join("\n")),mappl10n.options.admin&&alert(__("Map error: please see the developer console (F12 in most browsers) for details.","mappress-google-maps-for-wordpress")))}();const o=window.location.origin;if(o&&o.includes("nfg.org")&&mappl10n.options.version>="2.85")return;let i,s={...e.mapOpts};if(s.minZoom=isNaN(parseInt(s.minZoom))?0:parseInt(s.minZoom),void 0===s.streetViewControl&&(s.streetViewControl=mappl10n.options.streetViewControl),"leaflet"==mappl10n.options.engine?(i=new L.Map(l.current,{attribution:'©OpenStreetMap',minZoom:0,scrollWheelZoom:mappl10n.options.scrollWheel,worldCopyJump:!0,zoomControl:null,...s}),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(i),i.attributionControl.setPrefix('MapPress')):i=new google.maps.Map(l.current,{backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,minZoom:0,scaleControl:!0,scrollWheelZoom:mappl10n.options.scrollWheel,streetViewControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM},...s}),b({map:i}),mappl10n.options.userLocation&&mappl10n.options.ssl&&y((e=>{e&&e.geometry&&e.geometry.location&&b({userLocation:e.geometry.location})}),!0),mappl10n.options.geolocate||e.geolocate||"user"==e.center)return void y((e=>{e&&e.geometry&&e.geometry.location&&b({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),b({init:2})}));v({value:e.center,callback:e=>{e&&e.geometry&&e.geometry.location&&b({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),b({init:2})}}),b({init:2});break;case 2:oe(e.mapTypeId),function(){if(e.isEditable&&"google"==mappl10n.options.engine&&google.maps.drawing){const e={fillColor:"#0000FF",fillOpacity:.4,strokeColor:"#0000FF",strokeOpacity:1,strokeWeight:2};t.drawingManager=new google.maps.drawing.DrawingManager({drawingControlOptions:{position:google.maps.ControlPosition.TOP_CENTER,drawingModes:[google.maps.drawing.OverlayType.MARKER,google.maps.drawing.OverlayType.POLYGON,google.maps.drawing.OverlayType.POLYLINE,google.maps.drawing.OverlayType.RECTANGLE,google.maps.drawing.OverlayType.CIRCLE]},circleOptions:e,polygonOptions:e,polylineOptions:e,rectangleOptions:e}),t.drawingManager.setMap(t.map)}}(),e.query&&!t.isIframe?k((()=>b({init:3}))):(b({pois:e.pois?e.pois:[]}),b({init:3}));break;case 3:const c="leaflet"==mappl10n.options.engine?"load":"tilesloaded";if(p.mappEvent.addListenerOnce(t.map,c,(()=>{b({bounds:R()}),function(){if(mappl10n.options.clustering&&!e.isEditable){let e,n=mappl10n.options.clusteringOptions?mappl10n.options.clusteringOptions:{};if(void 0!==n.disableClusteringAtZoom&&""==n.disableClusteringAtZoom&&(n.disableClusteringAtZoom=null),"leaflet"==mappl10n.options.engine)e=L.markerClusterGroup(n),t.map.addLayer(e);else{new markerClusterer.DefaultRenderer;n.maxZoom=void 0!==n.maxZoom&&n.maxZoom?parseInt(n.maxZoom):void 0;const o=new markerClusterer.SuperClusterAlgorithm(n);e=new markerClusterer.MarkerClusterer({map:t.map,markers:[],algorithm:o})}b({clusterer:e})}}(),w(),(e.initialOpenInfo||mappl10n.options.initialOpenInfo)&&!e.isEditable&&t.pois&&t.pois.length&&("leaflet"==mappl10n.options.engine?setTimeout((()=>K(t.pois[0])),100):K(t.pois[0])),b({isLoaded:!0}),"google"==mappl10n.options.engine&&t.map.getStreetView().addListener("visible_changed",(()=>{b({isStreetView:t.map.getStreetView().getVisible()})}))})),a)return void v({value:a,callback:e=>{Z(e)}});$()}}),[t.init]);(0,N.useTimeout)((()=>{b({hoveredDelay:0}),t.hoveredPopup||b({hovered:null})}),t.hoveredDelay);function w(){if(e.isEditable||!e.lines&&!mappl10n.options.lines||t.pois.length<2)return;t.polyline&&("leaflet"==mappl10n.options.engine?t.polyline.remove():t.polyline.setMap(null),b({polyline:null}));const n={...mappl10n.options.lineOpts},o=[];if(t.pois.map((e=>{o.push(j(e))})),"leaflet"==mappl10n.options.engine)b({polyline:new L.Polyline(o,n).addTo(t.map)});else{const e={strokeColor:n.color,strokeWeight:n.weight,strokeOpacity:n.opacity};n.icons&&(n.icons.map((e=>{e.icon.path=parseInt(e.icon.path)})),n.icons[0].repeat="50px"),b({polyline:new google.maps.Polyline({map:t.map,path:o,...n,...e})}),n.animate&&n.icons&&n.icons.length&&function(){let e=0;const n=t.polyline.get("icons");n[0].repeat.replace("%","").replace("px","");window.setInterval((()=>{e+=1;n[0].offset=e+(n[0].repeat.indexOf("%")>=0?"%":"px"),t.polyline.set("icons",n)}),20)}()}}function k(e){}function E(e){return t.pois.find((t=>t.id==e))}function C(e){return t.map.fitBounds(e)}function R(){try{return t.map.getBounds()}catch(e){return null}}function _(){let e;try{e=t.map.getCenter()}catch(t){e=null}return e?P(e):null}function F(){if(e.embed)return{width:"100%",height:"100%"};const t=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0],n=e=>"string"==typeof e&&(e.indexOf("px")>=0||e.indexOf("%")>=0||e.indexOf("vh")>=0||e.indexOf("vw")>=0)?e:e+"px";return{width:e.width?n(e.width):n(t.width),height:e.height?n(e.height):n(t.height)}}function B(e){let t;switch("leaflet"==mappl10n.options.engine&&"kml"!=e.type?null:e.type){case"polygon":t=new google.maps.LatLngBounds,e.poly.paths.map((e=>{e.map((e=>{t.extend(e)}))}));break;case"polyline":t=new google.maps.LatLngBounds,e.poly.path.map((e=>{t.extend(e)}));break;case"circle":const n=new google.maps.Circle({center:e.point,radius:e.poly.radius});t=n.getBounds();break;default:t=p.mappLib.viewportToBounds(e.viewport)}return t}function j(e,t){if(e.point&&!e.type)return"leaflet"==mappl10n.options.engine?L.latLng(e.point):new google.maps.LatLng(e.point.lat,e.point.lng);if("kml"==e.type&&t&&t.latLng)return t.latLng;const n=B(e);return"leaflet"==mappl10n.options.engine?n&&n.isValid()?n.getCenter():new L.latLng(0,0):n?n.getCenter():new google.maps.LatLng(0,0)}function V(){let e;try{e=t.map.getZoom()}catch(t){e=null}return e?parseInt(e):null}function z(){return!!(e.isEditable||e.search||mappl10n.options.search&&e.query)}function H(e){let t="";if(e.address)t=e.address;else{const n=P(j(e));t=n.lat+", "+n.lng}"inline"==mappl10n.options.directions?b({isDirectionsOpen:!0,directionsTo:t}):p.mappLib.getDirections("",t)}function U(t,n){let o;if("poi"!=mappl10n.options.mashupClick&&e.query&&"post"==t.otype&&t.oid&&t.url)switch(mappl10n.options.mashupClick){case"post":return void window.top.location.assign(t.url);case"postnew":return void window.open(t.url);case"postmodal":const e=document.createElement("div");document.body.appendChild(e),o=p.mappLib.createRoot(e);const n=A(x.MappPopupModal,{onClose:()=>{o?o.unmount():ReactDOM.unmountComponentAtNode(e),e.remove()},poi:t});if(!o)return ReactDOM.render(n,e);o.render(n)}else K(t,n)}function G(){b({hovered:null,opened:null,isDirectionsOpen:!1})}function W(e,n){e&&e.id==t.opened||t.opened||b(e?{hovered:e.id,hoveredDelay:0}:n?{hoveredDelay:300}:{hovered:null,hoveredDelay:0})}function K(e,n){G(),t.isMini&&J(!1),b({kmlEvent:n,opened:e.id})}function q(e){e?b({hoveredPopup:e.id,hoveredDelay:0}):(b({hoveredPopup:null}),t.hovered&&!t.opened&&b({hoveredDelay:300}))}function Z(e){if(!e||!e.geometry)return;const t=e.geometry.location?e.geometry.location:null,n=e.geometry.viewport?e.geometry.viewport:null;let o;if("leaflet"==mappl10n.options.engine){const e=new L.LatLng(t.lat,t.lng);o=n?new L.LatLngBounds(new L.LatLng(n.sw.lat,n.sw.lng),new L.LatLng(n.ne.lat,n.ne.lng)):e.toBounds(1e3*mappl10n.options.radius)}else{const e=new google.maps.Circle({center:t,radius:1e3*mappl10n.options.radius});o=n?new google.maps.LatLngBounds(new google.maps.LatLng(n.sw.lat,n.sw.lng),new google.maps.LatLng(n.ne.lat,n.ne.lng)).union(e.getBounds()):e.getBounds()}o&&C(o),ae(t)}function J(e){b({isSidebarOpen:e=void 0!==e?e:!t.isSidebarOpen})}function $(n){n=void 0===n?t.parsedCenter:n;const o=e.zoom&&parseInt(e.zoom)?parseInt(e.zoom):null;if(n)return void ae(n,o||1);if(0==t.pois.length)return void ae({lat:0,lng:0},o||1);if(1==t.pois.length&&!t.pois[0].type)return void ae(j(t.pois[0]),o||mappl10n.options.poiZoom);let a="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds;for(var i=0;i{b({isDirectionsOpen:!1,directionsTo:null})}}):null}function X(){if(z())return t.isLoaded?A("div",{className:"mapp-header"},z()&&t.map?A(d.MappPlaces,{buttonLabel:e.isEditable?__("Add to map","mappress-google-maps-for-wordpress"):A("img",{src:mappl10n.options.baseurl+"/images/search.png",alt:"search"}),focus:e.isEditable,includeBusinesses:e.isEditable,map:t.map,onSearch:t=>{e.onSearch?e.onSearch(t):Z(t)},placeholder:!e.isEditable&&mappl10n.options.searchPlaceholder?mappl10n.options.searchPlaceholder:__("Search","mappress-google-maps-for-wordpress"),value:a}):null,"top"==mappl10n.options.filtersPos&&null):A("div",{className:"mapp-header"})}function Q(){return A(S,null,t.isFetching||t.isGeolocating?A(S,null,A("div",{className:"mapp-spinner-overlay"}),A("div",{className:"mapp-spinner"})):null,X(),A("div",{className:"mapp-main"},"inline"!=t.layout&&ne(),A("div",{className:"mapp-canvas-panel"+("google"==mappl10n.options.engine?" mapp-google":" mapp-leaflet")},A("div",{className:"mapp-canvas",ref:l}),t.isLoaded&&t.userLocation?A(g.MappPoi,{isClusterable:!1,isEditable:!1,isOpen:!1,key:"user",map:t.map,poi:{point:t.userLocation,iconid:"geolocation"}}):null,function(){if(!t.isLoaded)return;const n=[],o=(e,o,a)=>{t.clusterer&&(o&&n.push(e),a==t.pois.length-1&&b({overlays:n}))};return t.pois.map(((n,a)=>{const i=n.id==t.hovered,l=n.id==t.opened||i&&mappl10n.options.tooltips&&!e.isEditable,s=mappl10n.options.tooltips&&!e.isEditable;return A(g.MappPoi,{key:n.id,isClusterable:!!t.clusterer&&!n.type,isEditable:!!e.isEditable,isHovered:i,isOpen:l,map:t.map,onChange:t=>{e.onPoiChange&&e.onPoiChange(n.id,t)},onClick:e=>U(n,e),onMouseOut:()=>{W(null,s)},onMouseOver:()=>W(n),onOverlayAdd:(e,t)=>o(e,t,a),onRenderPopup:"sidebar"==e.popupStyle?null:(n,o)=>function(n,o){const a=function(e){if(!t.clusterer)return;if("leaflet"==mappl10n.options.engine){var n=t.clusterer.getVisibleParent(e);return n&&n!=e?n.getLatLng():null}const o=t.clusterer.clusters;for(var a=0;a1)for(let n=0;n0&&mappl10n.options.iconScale[1])>0?{w:mappl10n.options.iconScale[0],h:mappl10n.options.iconScale[1]}:{w:32,h:32});let s,r,p=P(a||i),c={x:0,y:0};a?c="leaflet"==mappl10n.options.engine?{x:0,y:-14}:{x:0,y:-32}:n.type?"kml"==n.type&&(c={x:0,y:-32}):c={x:0,y:0-l.h};t.kmlEvent&&("leaflet"==mappl10n.options.engine?(p=P(t.kmlEvent.latlng),t.kmlEvent&&t.kmlEvent.propagatedFrom&&t.kmlEvent.propagatedFrom.feature&&t.kmlEvent.propagatedFrom.feature.properties&&(s=t.kmlEvent.propagatedFrom.feature.properties)):(p=P(t.kmlEvent.latLng),t.kmlEvent.pixelOffset&&(c={x:t.kmlEvent.pixelOffset.width,y:t.kmlEvent.pixelOffset.height}),t.kmlEvent.featureData&&(s=t.kmlEvent.featureData)));r=e.onRenderPopup?e.onRenderPopup(n,G):A(f.MappPoiContent,{center:_(),context:"popup",feature:s,isEditable:e.isEditable,onDirectionsClick:()=>H(n),poi:n,template:t.templates.popup,thumbs:mappl10n.options.thumbsPopup});let u=!e.isEditable&&mappl10n.options.thumbsPopup?"mapp-thumb-"+mappl10n.options.thumbsPopup:"";return u+=n.images&&n.images.length?" mapp-has-thumb":"",A(O,{anchor:c,className:u,content:r,map:t.map,onMouseEnter:()=>q(n),onMouseLeave:()=>q(null),point:p})}(n,o),poi:n})}))}(),mappl10n.options.menuControl&&!e.isEditable&&"leaflet"!=mappl10n.options.engine&&t.map?t.isStreetView?null:A(m.MappMenuControl,{layer:e.layers,map:t.map,onCenter:()=>{G(),$()}}):null,e.isEditable?null:A(u.MappFullscreenControl,{onChange:t=>function(t){b({isFullscreen:t,layout:t?"left":e.layout||mappl10n.options.layout})}(t),isFullscreen:t.isFullscreen,layoutNode:i.current}),A(u.MappGeolocateControl,{onClick:()=>(b({isGeolocating:!0}),void y((e=>{b({isGeolocating:!1}),e&&e.geometry&&e.geometry.location&&ae(e.geometry.location,mappl10n.options.poiZoom),b({userLocation:e.geometry.location})}),!1))}))),t.poiList&&"inline"!=t.layout&&t.isMini?A("div",{className:"mapp-footer"},!t.isSidebarOpen&&A("div",{className:"mapp-button mapp-view-list",onClick:()=>J(!0)},A("img",{alt:"list",src:mappl10n.options.baseurl+"/images/outline_format_list_bulleted_black_18dp.png"}),__("List","mappress-google-maps-for-wordpress")),t.isSidebarOpen&&A("div",{className:"mapp-button mapp-view-map",onClick:()=>J(!1)},A("img",{alt:"map",src:mappl10n.options.baseurl+"/images/outline_map_black_18dp.png"}),__("Map","mappress-google-maps-for-wordpress"))):null)}function ee(){const e=F(),n=t.isFullscreen?{height:"100%"}:{paddingBottom:e.height};return A(S,null,A("div",{className:"mapp-wrapper",style:n},A("div",{className:"mapp-content"},Q())),"inline"==t.layout&&ne())}function te(){if(!t.poiList||!t.isLoaded||t.isDirectionsOpen)return null;const n=(z()||mappl10n.options.poiListViewport)&&t.bounds&&!e.isEditable;let o=[];return o=n?t.pois.filter(((e,n)=>t.bounds.contains(j(e)))):t.pois,mappl10n.options.poiListKml||(o=o.filter(((e,t)=>"kml"!=e.type))),t.pageCount!=o.length&&b({pageCount:o.length}),A(h.MappPoiList,{className:!e.isEditable&&mappl10n.options.thumbsList?" mapp-thumb-"+mappl10n.options.thumbsList:"",hovered:t.hovered,isEditable:e.isEditable,isFiltered:n,isPaged:!!e.query,onClick:e=>U(E(e)),onDirectionsClick:e=>H(E(e)),onDragDrop:({from:t,to:n})=>function(t,n){e.onDragDrop&&e.onDragDrop(t,n)}(t,n),onMouseEnter:e=>W(E(e)),onMouseLeave:e=>W(null),onPage:e=>{b({page:e})},opened:t.opened,page:t.page,pois:o,template:e.isEditable?null:t.templates.item})}function ne(){const n=t.isSidebarOpen||t.isDirectionsOpen;let o="mapp-sidebar";if(o+="inline"==t.layout?" mapp-sidebar-inline":"",o+=n?" mapp-sidebar-open":"",t.isDirectionsOpen)return A("div",{className:o,ref:s},Y());if("sidebar"==e.popupStyle&&t.opened&&e.onRenderPopup){const n=E(t.opened);return A("div",{className:o,ref:s},e.onRenderPopup(n,G))}return t.poiList?A("div",{className:o,ref:s},A("div",{className:"mapp-sidebar-toggle",onClick:()=>J()}),"list"==mappl10n.options.filtersPos&&null,e.onRenderSidebar&&e.onRenderSidebar(),Y(),te()):void 0}function oe(e){const n=mappl10n.options.standardStyles.concat(mappl10n.options.userStyles);let o=n.find((t=>t.id==e));if(!mappl10n.options.style||"roadmap"!=e&&"streets"!=e&&o||(o=n.find((e=>e.id==mappl10n.options.style))),o=o||n[0],"mapbox"!=o.provider||mappl10n.options.mapbox||(o=n[0]),"leaflet"==mappl10n.options.engine){let e=mappl10n.options.tileProviders[o.provider],n={...e,...o};L.tileLayer(e.url,n).addTo(t.map)}else if(t.map.setMapTypeId("standard"==o.type?o.id:"roadmap"),o.json){let e=null;try{e=JSON.parse(o.json)}catch(e){console.log("Invalid JSON in map style")}t.map.setOptions({styles:e||null})}else t.map.setOptions({styles:null})}function ae(e,n,o){"leaflet"==mappl10n.options.engine?(null==n&&(n=t.map.getZoom()?t.map.getZoom():0),t.map.setView(e,n,o)):(e=P(e),e={lat:parseFloat(e.lat),lng:parseFloat(e.lng)},n=n?parseInt(n):null,e&&t.map.setCenter(e),n&&t.map.setZoom(n)),ie(e)}function ie(n){if(!mappl10n.options.sort||!n||e.isEditable)return;let o=[...t.pois];"distance"==mappl10n.options.sort?(o=o.map((e=>{const t=p.mappLib.getDistance(n,j(e));return{...e,distance:t}})),o.sort(((e,t)=>e.distance-t.distance))):"title"==mappl10n.options.sort&&o.sort(((e,t)=>e.titlet.title?1:0)),b({pois:o})}return I((()=>{t.isLoaded&&!e.query&&b({pois:e.pois?e.pois:[]})}),[e.pois]),I((()=>{t.clusterer&&("leaflet"==mappl10n.options.engine?(t.clusterer.clearLayers(),t.clusterer.addLayers(t.overlays)):(t.clusterer.clearMarkers(),t.clusterer.addMarkers(t.overlays)))}),[t.clusterer,t.overlays]),I((()=>{t.isLoaded&&e.query&&k()}),[e.query]),I((()=>{if(t.isLoaded&&e.query)k();else if(e.pois&&t.filters){b({pois:e.pois.filter((e=>{for(const[n,o]of Object.entries(t.filters)){if(!e.data||!e.data[n])return!1;const t=Array.isArray(e.data[n])?e.data[n]:[e.data[n]];if(!(Array.isArray(o)?o:[o]).some((e=>t.includes(e))))return!1}return!0}))})}}),[t.filters]),I((()=>{t.isLoaded&&null==e.center&&$(null)}),[e.center]),I((()=>{t.isLoaded&&oe(e.mapTypeId)}),[e.mapTypeId]),I((()=>{if(t.isLoaded&&e.centerPoi){const t=e.centerPoi.poi;let o=null;if(e.centerPoi.zoom)if(t.viewport){var n=t.viewport.ne.lng-t.viewport.sw.lng;n<0&&(n+=360),o=Math.floor(Math.log(360*l.current.clientWidth/n/256)/Math.LN2)}else o=mappl10n.options.poiZoom;ae(j(t),o)}}),[e.centerPoi]),I((()=>{t.isLoaded&&w()}),[t.pois]),I((()=>{if(!t.isLoaded)return;let n,o,a;return n=p.mappEvent.addListener(t.map,"moveend idle",(t=>(b({bounds:R(),page:1}),void(e.onViewportChange&&e.onViewportChange({center:_(),zoom:V()}))))),o=p.mappEvent.addListener(t.map,"click dragstart zoom_changed zoomstart",(e=>{"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||G()})),t.drawingManager&&(a=p.mappEvent.addListener(t.drawingManager,"overlaycomplete",(n=>{t.drawingManager.setDrawingMode(null),W(null),e.onDrawingEvent&&e.onDrawingEvent(n)}))),e.name&&(window[e.name]={getMap:()=>t.map,getPois:()=>t.pois,poiOpen:e=>b({opened:"string"==typeof e?e:e.id})}),()=>{p.mappEvent.removeListener,p.mappEvent.removeListener(n),p.mappEvent.removeListener(o),a&&p.mappEvent.removeListener(a)}})),e.container?mappl10n.options.webComponent?Q(e.container):ee():function(){const t=F();e.name&&e.name;let n="mapp-layout";const o=e.alignment?e.alignment:mappl10n.options.alignment;o&&!document.body.classList.contains("block-editor-page")&&(n+=" align"+o,n+=" mapp-align-"+o);let a="full"==e.alignment?{width:"auto"}:{width:t.width};return A("div",{className:n,style:a,ref:i,tabIndex:"-1"},ee())}()}},473:(e,t,n)=>{"use strict";n.r(t),n.d(t,{mappMarker:()=>a});var o=n(760);function a(e){this.anchorPoint=null,this.div=null,this.draggable=null,this.icon=null,this.map=null,this.position=null,this.visible=!0,this.zIndex=0,this.setValues(e),this.overlayView=new google.maps.OverlayView,this.overlayView.draw=()=>this.draw(),this.overlayView.onAdd=()=>this.onAdd(),this.overlayView.onRemove=()=>this.onRemove(),this.div=document.createElement("div"),this.div.classList.add("mapp-marker")}a.prototype={draw:function(){if(!this.div||!this.icon)return;let e=this.overlayView.getProjection();if(e){let t=e.fromLatLngToDivPixel(this.position),n=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.left=t.x-n.width/2+"px",this.div.style.top=t.y-n.height+"px"}},getDiv:function(){return this.div},getDraggable:function(){return this.draggable},getMap:function(){return this.map},getPosition:function(){return this.position},getVisible:function(){return this.visible},handleEvent:function(e){let t="on"+e.type[0].toUpperCase()+e.type.slice(1);this[t]&&this[t](e)},onAdd:function(){let e=this.overlayView.getPanes();e&&(this.div||(this.div=document.createElement("div"),this.div.classList.add("mapp-marker")),e.overlayMouseTarget.append(this.div),this.icon&&this.setIcon(),google.maps.OverlayView.preventMapHitsAndGesturesFrom(this.div),this.div.addEventListener("click",(()=>{(!this.dragging||this.dragging&&!this.dragging.moved)&&o.mappEvent.trigger(this,"click"),this.dragging=null})),this.div.addEventListener("mouseenter",this),this.div.addEventListener("mouseleave",this),this.setDraggable(this.draggable))},onMouseenter:function(e){o.mappEvent.trigger(this,"mouseover")},onMouseleave:function(e){o.mappEvent.trigger(this,"mouseout")},onPointerdown:function(e){const t=this.map.getDiv().getBoundingClientRect(),n=this.overlayView.getProjection().fromLatLngToContainerPixel(this.position);this.dragging={moved:!1,startPixel:{x:e.clientX,y:e.clientY},offset:{x:n.x-(e.clientX-t.left),y:n.y-(e.clientY-t.top)}},this.toggleDragEvents(!0)},onPointermove:function(e){if(Math.abs(e.clientX-this.dragging.startPixel.x)+Math.abs(e.clientY-this.dragging.startPixel.y)<3)return;const t=this.map.getDiv().getBoundingClientRect();let n={x:e.clientX-t.left+this.dragging.offset.x,y:e.clientY-t.top+this.dragging.offset.y};this.setPosition(this.overlayView.getProjection().fromContainerPixelToLatLng(n)),this.dragging.moved=!0,o.mappEvent.trigger(this,"dragstart")},onPointercancel:function(e){this.onPointerup(e)},onPointerup:function(e){this.dragging&&this.dragging.moved&&o.mappEvent.trigger(this,"dragend"),this.toggleDragEvents(!1)},onRemove:function(){this.div&&(this.toggleDragEvents(!1),this.div.remove(),this.div=null)},set:function(e,t){let n="set"+e[0].toUpperCase()+e.slice(1);this[n]&&this[n](t)},setDraggable:function(e){this.draggable=e,this.map&&this.div&&(this.div.removeEventListener("pointerdown",this,{passive:!0}),e&&this.div.addEventListener("pointerdown",this,{passive:!0}))},setIcon:function(e){if(void 0!==e&&(this.icon=e),this.icon&&this.div){const e=this.icon.title?this.icon.title:"mappress marker";let t=''+e+'';this.div.innerHTML=t;let n=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.width=n.width+"px",this.div.style.height=n.height+"px",this.setZIndex(),this.draw()}},setMap:function(e){this.map=e,this.overlayView.setMap(e)},setPosition:function(e){this.position=e,this.draw()},setValues:function(e){for(const t in e)this.set(t,e[t])},setVisible:function(e){this.visible=e,this.div&&(this.div.style.visibility=e?"visible":"hidden")},setZIndex:function(e){this.zIndex=void 0!==e?e:this.zIndex,this.div&&(this.div.style.zIndex=e)},toggleDragEvents(e){document.removeEventListener("pointermove",this,{passive:!0}),document.removeEventListener("pointerup",this,{passive:!0}),document.removeEventListener("pointercancel",this,{passive:!0}),e&&(document.addEventListener("pointermove",this,{passive:!0}),document.addEventListener("pointerup",this,{passive:!0}),document.addEventListener("pointercancel",this,{passive:!0}))}}},28:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappMenuControl:()=>c});var o=n(55);const a=React.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=React,{__,sprintf}=wp.i18n;function c(e){e={layer:null,map:null,onCenter:null,...e};const[t,n]=p({activeLayer:null,activeType:null,layers:[],isOpen:!1}),s=r(null);function c(e){n((t=>({...t,...e})))}function u(){c({isOpen:!1}),e.onCenter()}function m(){c({isOpen:!t.isOpen})}function d(){let n=[{id:google.maps.MapTypeId.SATELLITE,label:__("Satellite","mappress-google-maps-for-wordpress")},{id:google.maps.MapTypeId.TERRAIN,label:__("Terrain","mappress-google-maps-for-wordpress")}];return a(i,null,t.layers.map((e=>{const n=t.activeLayer==e.id?"mapp-menu-item mapp-active":"mapp-menu-item";return a("div",{className:n,key:name,onClick:()=>{return n=e.id,void(t.activeLayer==n?c({activeLayer:null}):c({activeLayer:n}));var n}},e.label)})),a("div",{className:"mapp-menu-separator"}),a("div",{className:"mapp-menu-item",onClick:()=>u()},__("Center map","mappress-google-maps-for-wordpress")),a("div",{className:"mapp-menu-separator"}),n.map((n=>{const o=t.activeType==n.id?"mapp-menu-item mapp-active":"mapp-menu-item";return a("div",{className:o,onClick:()=>{return o=n.id,void(t.activeType==o?(e.map.setMapTypeId(google.maps.MapTypeId.ROADMAP),c({activeType:null})):(e.map.setMapTypeId(o),c({activeType:o})));var o}},n.label)})))}return(0,o.useClickOutside)(s,(()=>{t.isOpen&&m()})),l((()=>{if("google"==mappl10n.options.engine){c({layers:[{id:"traffic",googleLayer:new google.maps.TrafficLayer,label:__("Traffic","mappress-google-maps-for-wordpress")},{id:"bicycling",googleLayer:new google.maps.BicyclingLayer,label:__("Bicycling","mappress-google-maps-for-wordpress")},{id:"transit",googleLayer:new google.maps.TransitLayer,label:__("Transit","mappress-google-maps-for-wordpress")}],activeLayer:e.layer})}}),[]),l((()=>{t.layers&&(t.layers.forEach((n=>{n.id==t.activeLayer?n.googleLayer.setMap(e.map):n.googleLayer.setMap(null)})),c({isOpen:!1}))}),[t.activeLayer]),a("div",{ref:s},a("div",{className:"mapp-menu-toggle",onClick:()=>m()}),t.isOpen&&a("div",{className:"mapp-menu"},a("div",{className:"mapp-menu-items"},e.map&&"google"==mappl10n.options.engine?d():renderLeafletMenu()),a("div",{className:"mapp-menu-footer"},a("a",{className:"mapp-menu-help",href:"https://mappresspro.com/mappress-documentation",target:"_blank"},a("span",null,__("Help","mappress-google-maps-for-wordpress"))))))}},558:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPaginate:()=>p});const o=React.createElement,{Fragment:a,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=React,{__,sprintf}=wp.i18n;function p(e){function t(t,n){const o=Math.ceil(e.count/e.pageSize);switch(t){case"first":e.onChange(1);break;case"last":e.onChange(o);break;case"next":e.page1&&e.onChange(e.page-1)}}return function(){const n=Math.ceil(e.count/e.pageSize),a=e.isBusy||e.page<=1,i=e.isBusy||e.page>=n,l=a?"mapp-paginate-button mapp-disabled":"mapp-paginate-button",s=i?"mapp-paginate-button mapp-disabled":"mapp-paginate-button",r=sprintf(__("%d of %d","mappress-google-maps-for-wordpress"),e.page,n);return o("div",{className:"mapp-paginate"},o("div",{className:l,onClick:()=>{a||t("first")}},"«"),o("div",{className:l,onClick:()=>{a||t("prev")}},"‹"),o("div",{className:"mapp-paginate-count"},r),o("div",{className:s,onClick:()=>{i||t("next")}},"›"),o("div",{className:s,onClick:()=>{i||t("last")}},"»"))}()}},195:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPlaces:()=>m});var o=n(327),a=n(296);const i=React.createElement,{Fragment:l,useCallback:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:u}=React,{__,sprintf}=wp.i18n;function m(e){e={buttonLabel:null,focus:!1,includeBusinesses:!1,map:null,onChange:null,onSearch:null,placeholder:null,value:null,...e};const{geocode:t,getPredictions:n}=(0,a.useGeocoding)({map:e.map,includeBusinesses:e.includeBusinesses}),[l,s]=u({suggestions:[]});return i(o.MappAutocomplete,{buttonLabel:e.buttonLabel,className:"mapp-places",delay:"google"==mappl10n.options.geocoder||"mapbox"==mappl10n.options.geocoder?50:500,focus:e.focus,onChange:t=>function(t){e.onChange&&e.onChange(t)}(t),onFetch:function(t){n({map:e.map,value:t,callback:e=>{var t;t={suggestions:e},s((e=>({...e,...t})))}})},onSelect:function({suggestion:n,value:o}){t({map:e.map,suggestion:n,value:o,callback:t=>{t&&e.onSearch(t)}})},placeholder:e.placeholder,suggestions:l.suggestions,title:__("Enter an address, place, KML file URL, or lat,lng","mappress-google-maps-for-wordpress"),value:e.value})}},191:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoiContent:()=>u});var o=n(760);const a=React.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:r,useRef:p,useState:c}=React,{__,sprintf}=wp.i18n;function u(e){e={center:null,context:null,feature:null,isEditable:null,onDirectionsClick:null,poi:null,template:null,thumbs:null,...e};const[t,n]=c({imageNumber:0});function l(e){n((t=>({...t,...e})))}function s(){if("popup"!=e.context)return null;e.poi.data&&e.poi.data;const t=mappl10n.options.poiFields?mappl10n.options.poiFields:[];let n='
';return t.forEach((t=>{n+=function(t){let n=e.poi?.data?e.poi.data[t.key]:null,o="";if(null==n)return"";Array.isArray(t.values)&&t.values.length?(n=Array.isArray(n)?n:[n],o=t.values.filter((e=>n.indexOf(e.value)>=0)).map((e=>e.label||e.value)).join(", ")):o=n;return'
'+(t.label?t.label:t.key)+'
'+o+"
"}(t)})),n}return a(i,null,function(){const n="list"!=e.context&&mappl10n.options.thumbWidth&&mappl10n.options.thumbHeight?{width:mappl10n.options.thumbWidth+"px",height:mappl10n.options.thumbHeight+"px"}:null,o=e.thumbs&&e.poi.images&&e.poi.images.length&&e.poi.images[t.imageNumber]?e.poi.images[t.imageNumber]:null;if(!o)return null;const i=function(e){switch(e.type){case"avatar":if(e.html)return a("div",{className:"mapp-avatar",dangerouslySetInnerHTML:{__html:e.html}});break;case"embed":return a("div",{className:"mapp-embed",dangerouslySetInnerHTML:{__html:e.html}});default:if("image"==e.type||!e.type){const t=e.size?{src:e.url,width:e.size[0]+"px",height:e.size[1]+"px",alt:"mappress thumbnail"}:{src:e.url,alt:"mappress thumbnail"};return a("img",t)}}}(o);return a("div",{className:"mapp-thumbnail",onClick:()=>function(t){e.isEditable||"popup"!=e.context||"embed"==t.type||e.poi.url&&window.top.open(e.poi.url,"_blank")}(o),style:n},t.imageNumber>=1&&a("div",{className:"mapp-gallery-previous",onClick:e=>function(e){t.imageNumber>0&&(l({imageNumber:t.imageNumber-1}),e.stopPropagation())}(e)}),i,t.imageNumberfunction(n){t.imageNumber=0))return"popup"==e.context&&mappl10n.options.directionsPopup||"list"==e.context&&mappl10n.options.directionsList?a("div",{className:"mapp-dir-wrapper"},a("span",{className:"mapp-dir",onClick:t=>function(t){t.stopPropagation(),e.onDirectionsClick()}(t)},__("Get Directions","mappress-google-maps-for-wordpress"))):void 0}()))}},660:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoiList:()=>d});var o=n(760),a=n(558),i=n(191);const l=React.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useMemo:c,useRef:u,useState:m}=React,{__,sprintf}=wp.i18n;function d(e){e={className:null,hovered:null,isEditable:!1,isFiltered:null,isPaged:!1,onClick:null,onDragDrop:null,onDirectionsClick:null,onMouseEnter:null,onMouseLeave:null,onPage:null,opened:null,page:1,pois:null,template:null,...e};const[t,n]=m({dragging:null,dragover:null,pageSize:!e.isEditable&&mappl10n.options.poiListPageSize?parseInt(mappl10n.options.poiListPageSize):20});function r(e){n((t=>({...t,...e})))}function p(n){let a,p="mapp-item";return e.opened!=n.id&&e.hovered!=n.id||(p+=" mapp-selected"),p+=t.dragover==n.id?" mapp-dragover":"",a=e.isEditable?l(s,null,l("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(n.iconid)}),l("div",{className:"mapp-title"},n.title)):l(i.MappPoiContent,{context:"list",onDirectionsClick:()=>e.onDirectionsClick(n.id),poi:n,template:e.template,thumbs:mappl10n.options.thumbsList}),l("div",{className:p,dangerouslySetInnerHTML:null,draggable:e.isEditable,key:n.id,onClick:()=>e.onClick(n.id),onDragOver:e=>e.preventDefault(),onDragStart:e=>r({dragging:n.id}),onDragEnter:e=>r({dragover:n.id}),onDragEnd:e=>r({dragging:null,dragover:null}),onDrop:o=>{return a=n.id,void(e.onDragDrop&&e.onDragDrop({from:t.dragging,to:a}));var a},onMouseEnter:t=>{e.onMouseEnter(n.id)},onMouseLeave:t=>{e.onMouseLeave(n.id)}},a)}return l("div",{className:"mapp-list "+(e.className?e.className:"")},(e.isPaged||e.isFiltered)&&function(){let t=1!=e.pois.length?__("%d Results","mappress-google-maps-for-wordpress"):__("%d Result","mappress-google-maps-for-wordpress");return t=sprintf(t,e.pois.length),l("div",{className:"mapp-list-header"},l("div",{className:"mapp-list-count"},t))}(),function(){const n=t.pageSize*(e.page-1),o=n+t.pageSize-1;return l("div",{className:"mapp-items",key:e.page},e.pois.map(((t,a)=>{if(!e.isPaged||a>=n&&a<=o)return p(t)})))}(),e.isPaged&&(!e.isPaged||e.pois.length<=t.pageSize?null:l("div",{className:"mapp-list-footer"},l(a.MappPaginate,{count:e.pois.length,onChange:t=>e.onPage(t),page:e.page,pageSize:t.pageSize}))))}},727:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoi:()=>u});var o=n(760),a=n(473);React.createElement;const{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:r,useRef:p,useState:c}=React,{__,sprintf}=wp.i18n;function u(e){e={isClusterable:null,isEditable:null,isHovered:null,isOpen:null,map:null,onMouseOut:null,onMouseOver:null,onOverlayAdd:null,poi:null,...e};const t=p(null),[n,i]=c({overlay:null});function s(){return"google"==mappl10n.options.engine&&-1!=["polyline","polygon","circle","rectangle"].indexOf(e.poi.type)}function r(){const t=o.mappPoi.parseOverlay(e.poi.type,n.overlay);e.onChange(t)}function u(e,t){const n={};return e&&"object"==typeof e&&t&&Array.isArray(t)?(t.map((t=>{void 0!==e[t]&&(n[t]=e[t])})),n):n}function m(t,n){n?"leaflet"==mappl10n.options.engine?t.addTo(e.map):t.setMap(e.map):"leaflet"==mappl10n.options.engine?t.remove():t.setMap(null)}function d(t){"kml"==e.poi.type&&(t?"leaflet"==mappl10n.options.engine?(o.mappEvent.addListenerOnce(n.overlay,"ready",(()=>{if(e.isEditable&&!e.poi.viewport){const t=n.overlay.getBounds();t&&(e.map.fitBounds(t),r())}})),o.mappEvent.addListenerOnce(n.overlay,"error",(t=>{alert(__("Error reading KML file.","mappress-google-maps-for-wordpress")+" "+__("This may be a CORS error. See the MapPress FAQ for help.","mappress-google-maps-for-wordpress")+" : "+e.poi.kml.url)}))):(o.mappEvent.addListener(n.overlay,"defaultviewport_changed",(()=>{if(e.isEditable&&!e.poi.viewport){const t=n.overlay.getDefaultViewport();t&&e.map.fitBounds(t)}r()})),o.mappEvent.addListener(n.overlay,"status_changed",(()=>{"OK"!=n.overlay.getStatus()&&alert(__("Error reading KML file.","mappress-google-maps-for-wordpress")+" : "+e.poi.kml.url)}))):o.mappEvent.clearListeners(n.overlay,"ready error defaultviewport_changed status_changed"))}function g(t){s()&&"google"==mappl10n.options.engine&&e.isEditable&&("rectangle"==e.poi.type&&(o.mappEvent.clearListeners(n.overlay,"bounds_changed"),t&&o.mappEvent.addListener(n.overlay,"bounds_changed",(()=>{r()}))),"circle"==e.poi.type&&(o.mappEvent.clearListeners(n.overlay,"center_changed radius_changed"),t&&o.mappEvent.addListener(n.overlay,"center_changed radius_changed",(()=>{r()}))),"polygon"!=e.poi.type&&"polyline"!=e.poi.type||(o.mappEvent.clearListeners(n.overlay,"rightclick"),o.mappEvent.clearListeners(n.overlay.getPath(),"insert_at remove_at set_at"),t&&(o.mappEvent.addListener(n.overlay,"rightclick",(e=>{null!=e.vertex&&n.overlay.getPath().getLength()>2&&(n.overlay.getPath().removeAt(e.vertex),r())})),o.mappEvent.addListener(n.overlay.getPath(),"insert_at remove_at set_at",(()=>{r()})))))}return l((()=>{if(!n.overlay||!e.poi.point||e.poi.type)return;const t=o.mappLib.pointToLatLng(e.poi.point);"google"==mappl10n.options.engine?n.overlay.setPosition(t):n.overlay.setLatLng(t)}),[e.poi.point]),l((()=>{const n="leaflet"==mappl10n.options.engine&&"kml"!=e.poi.type?null:e.poi.type,l=u(e.poi.poly,["strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity"]);let r;switch(n){case"polygon":r=new google.maps.Polygon({paths:e.poi.poly.paths,...l});break;case"polyline":r=new google.maps.Polyline({path:e.poi.poly.path,...l});break;case"circle":const t=new google.maps.LatLng(e.poi.point.lat,e.poi.point.lng);r=new google.maps.Circle({center:t,radius:parseFloat(e.poi.poly.radius),...l});break;case"rectangle":r=new google.maps.Rectangle({bounds:o.mappLib.viewportToBounds(e.poi.viewport),...l});break;case"kml":const n=e.poi.kml&&e.poi.kml.url?e.poi.kml.url:"";r="leaflet"==mappl10n.options.engine?n&&n.includes(".gpx")?omnivore.gpx(n):omnivore.kml(n):new google.maps.KmlLayer({url:n,preserveViewport:!0,suppressInfoWindows:!0});break;default:r="leaflet"==mappl10n.options.engine?L.marker([e.poi.point.lat,e.poi.point.lng]):new a.mappMarker({position:new google.maps.LatLng(e.poi.point.lat,e.poi.point.lng)});const i=o.mappLib.getIcon(e.poi.iconid);r.setIcon(i)}var p;return p={overlay:r},i((e=>({...e,...p}))),"kml"!=e.poi.type&&("leaflet"==mappl10n.options.engine?r.options.draggable=e.isEditable:r.setDraggable(e.isEditable)),s()&&r.setEditable(e.isEditable),e.isClusterable?"google"==mappl10n.options.engine&&m(r,e.map):m(r,e.map),e.onOverlayAdd&&e.onOverlayAdd(r,e.isClusterable),t.current=r,()=>{m(t.current,null)}}),[]),l((()=>{if(n.overlay){const t=u(e.poi.poly,["strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity"]);n.overlay.setOptions({...t})}}),[e.poi.poly]),l((()=>{n.overlay&&"kml"!=e.poi.type&&n.overlay.setIcon(o.mappLib.getIcon(e.poi.iconid))}),[e.poi.iconid]),l((()=>{n.overlay&&function(t){if("kml"==e.poi.type)return;if(s())return void(e.isEditable&&n.overlay.setEditable(t));if("icon"==mappl10n.options.highlight&&"leaflet"==mappl10n.options.engine&&e.isEditable)return;var a="leaflet"==mappl10n.options.engine?n.overlay._icon:n.overlay.getDiv();if(!a)return;switch(e.isEditable?"circle":mappl10n.options.highlight){case"circle":a.classList.toggle("mapp-marker-circle",t);break;case"icon":var i=t?o.mappLib.getIcon(mappl10n.options.highlightIcon):o.mappLib.getIcon(e.poi.iconid);if("leaflet"==mappl10n.options.engine&&n.overlay.getIcon().options.iconUrl==i.options.iconUrl)return;n.overlay.setIcon(i);break;case"scale":a.classList.add("mapp-marker"),a.classList.toggle("mapp-marker-scale",t)}const l=t?1e4:0;"leaflet"==mappl10n.options.engine?e.poi.type||n.overlay.setZIndexOffset(l):n.overlay.set("zIndex",l)}(e.isHovered||e.isOpen)}),[e.isHovered,e.isOpen,n.overlay]),l((()=>{if(n.overlay)return o.mappEvent.addListener(n.overlay,"click",(t=>{e.onClick(t)})),o.mappEvent.addListener(n.overlay,"mouseover",(t=>{e.onMouseOver&&e.onMouseOver(t)})),o.mappEvent.addListener(n.overlay,"mouseout",(t=>{e.onMouseOut&&e.onMouseOut(t)})),g(!0),d(!0),e.isEditable&&(o.mappEvent.addListener(n.overlay,"dragstart",(()=>(g(!1),void(e.onChange&&e.onChange({viewport:null}))))),o.mappEvent.addListener(n.overlay,"dragend",(()=>(r(),void g(!0))))),()=>{o.mappEvent.clearListeners(n.overlay,"click mouseover mouseout dragstart dragend"),g(!1),d(!1)}})),e.isOpen&&e.onRenderPopup?e.onRenderPopup(e.poi,n.overlay):null}},477:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPopupModal:()=>u});var o=n(875),a=n(760);const i=React.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useRef:p,useState:c}=(ReactDOM.createPortal,React),{__,sprintf}=wp.i18n;function u(e){e={onClose:null,poi:null,...e};const[t,n]=c({isBusy:!1,html:null});function l(e){n((t=>({...t,...e})))}return s((()=>{e.poi.oid&&(l({isBusy:!0}),a.mappLib.ajax({method:"GET",data:{action:"mapp_get_post",oid:e.poi.oid,nonce:mappl10n.options.nonce},responseType:"html",callback:e=>{l({isBusy:!1,html:e})}}))}),[e.poi.oid]),i(o.MappDialog,{className:"mapp-modal",closeOnClickOutside:!0,isModal:!0,onClose:()=>e.onClose()},t.isBusy&&i("div",{className:"mapp-modal-spinner"}),!t.isBusy&&i("div",{className:"mapp-modal-template",dangerouslySetInnerHTML:{__html:t.html}}))}}},t={};function n(o){var a=t[o];if(void 0!==a)return a.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(327),n(393),n(875),n(45),n(522),n(900),n(296),n(55),n(760),n(351),n(516),n(473),n(28),n(558),n(195),n(727),n(191),n(660),n(477),n(756)})();